Afeme C++ API 0.0.20261017
Structural finite element solver
Loading...
Searching...
No Matches
AFEME::IAfeme Class Referenceabstract

#include <afeme.h>

Public Member Functions

virtual void setCallback (IAfemeCallback *callback, bool printProgressBar=true)=0
virtual const char * getAfemeErrorDescription (AFEME_ERROR code)=0
 Returns Afeme error description.
virtual AFEME_ERROR addMaterial (float youngModulus, float poissonRatio, float density)=0
virtual AFEME_ERROR updateMaterial (int material, float youngModulus, float poissonRatio, float density)=0
virtual AFEME_ERROR addBeamProperty (int material, int numCoords, float *coords)=0
virtual AFEME_ERROR addShellProperty (int material, float thickness)=0
virtual void addSolidProperty (int material)=0
virtual AFEME_ERROR updateShellProperty (int property, int material, float thickness)=0
virtual AFEME_ERROR updateSolidProperty (int property, int material)=0
virtual void addPointMassProperty (float mass, float Ixx, float Iyy, float Izz, float Ixy=0.0f, float Ixz=0.0f, float Iyz=0.0f)=0
virtual void storeNodes (int numNodes, float *coordinates)=0
virtual void allocateNodes (int numNodes)=0
virtual void addNode (float *coordinates)=0
virtual void addBeamElement (int property, int *elementNodes, float *upVector)=0
virtual void addTriaElement (const int property, const int *elementNodes)=0
virtual void addQuadElement (const int property, const int *elementNodes)=0
virtual void addTetraElement (int property, int *elementNodes)=0
virtual void addHexaElement (int property, int *elementNodes)=0
virtual void addWedgeElement (int property, int *elementNodes)=0
virtual void addPointMassElement (int property, int node, const float *t=nullptr)=0
virtual int getNumDofs ()=0
virtual AFEME_ERROR addConstraint (int node, int dof)=0
virtual AFEME_ERROR addRigidMpc (int masterNode, const int *slaveNodes, int numSlaves, bool tieRotations=true)=0
virtual AFEME_ERROR addAverageMpc (int masterNode, const int *slaveNodes, int numSlaves, const double *weights=nullptr)=0
virtual AFEME_ERROR addForce (int nodeIndex, int nodalDofIndex, float value, int loadCaseIndex=0)=0
virtual AFEME_ERROR addPressure (int elemIndex, int faceIndex, float value, int loadCaseIndex=0)=0
virtual int getNumLoadCases ()=0
virtual void setStorageSystem (AFEME_STORAGE_SYSTEM storageType)=0
virtual void setPressureDistributionType (PRESSURE_DISTRIBUTION_TYPE distributionType)=0
virtual void setEigenvaluePerformanceMode (AFEME_EIGENVALUE_PERFORMANCE_MODE mode)=0
virtual AFEME_ERROR setNfaNumModes (int numModes)=0
virtual int getNfaNumModes ()=0
virtual AFEME_ERROR setNfaLowerFreq (double freqLower)=0
virtual double getNfaLowerFreq ()=0
virtual AFEME_ERROR setNfaUpperFreq (double freqUpper)=0
virtual double getNfaUpperFreq ()=0
virtual AFEME_ERROR setLbaNumModes (int numModes)=0
virtual int getLbaNumModes ()=0
virtual void setLbaLowerEigenvalue (double eigenvalueLower)=0
virtual double getLbaLowerEigenvalue ()=0
virtual void setLbaUpperEigenvalue (double eigenvalueUpper)=0
virtual double getLbaUpperEigenvalue ()=0
virtual void setLbaPressureLoadStiffness (bool include)=0
virtual bool getLbaPressureLoadStiffness ()=0
virtual AFEME_ERROR setStepSize (float stepSize)=0
virtual float getStepSize ()=0
virtual AFEME_ERROR setStructuralDampingCoefficient (float structuralDampingCoefficient)=0
virtual float getStructuralDampingCoefficient ()=0
virtual AFEME_ERROR setStructuralDampingConversionFrequency (float structuralDampingConversionFrequency)=0
virtual float getStructuralDampingConversionFrequency ()=0
virtual AFEME_ERROR runLinearStaticAnalysis ()=0
virtual AFEME_ERROR runNaturalFrequenciesAnalysis ()=0
virtual AFEME_ERROR runLinearBucklingAnalysis ()=0
virtual AFEME_ERROR initializeTransientResponseAnalysis ()=0
virtual AFEME_ERROR runTransientResponseAnalysisStep ()=0
virtual float getProgress ()=0
 Returns progress of supported tasks.
virtual void requestStop ()=0
 Requests termination of supported tasks.
virtual void requestPause ()=0
 Requests pause of supported tasks.
virtual void requestResume ()=0
 Requests resume of supported tasks.
virtual AFEME_ERROR getDisplacementValue (const int nodeIndex, const int dofIndex, const int caseIndex, float &displacement, AFEME_ANALYSIS_TYPE analysisType=ANALYSIS_NONE)=0
virtual AFEME_ERROR getNumExtractedModes (int &numExtractedModes, AFEME_ANALYSIS_TYPE analysisType=ANALYSIS_NONE)=0
virtual AFEME_ERROR getEigenvalue (const int modeIndex, float &eigenvalue, AFEME_ANALYSIS_TYPE analysisType=ANALYSIS_NONE)=0
virtual AFEME_ERROR getEigenfrequency (const int modeIndex, float &eigenfrequency, AFEME_ANALYSIS_TYPE analysisType=ANALYSIS_NONE)=0
virtual AFEME_ERROR getEigenvectorValue (const int nodeIndex, const int dofIndex, const int modeIndex, float &eigenvector, AFEME_ANALYSIS_TYPE analysisType)=0
virtual int getNumSteps ()=0
virtual AFEME_ERROR getMaxElemVonMisesStressValue (const int elemIndex, const int caseIndex, float &stress, AFEME_ANALYSIS_TYPE analysisType)=0
virtual void clearMaterials ()=0
 Clears all materials' data.
virtual void clearProperties ()=0
 Clears all properties' data.
virtual void clearNodes ()=0
 Clears all nodes' data.
virtual void clearElements ()=0
 Clears all elements' data.
virtual void clearConstraints ()=0
 Clears all constraints.
virtual void clearMpcs ()=0
 Clears all multi point constraints.
virtual void clearLoad ()=0
 Clears all loads.
virtual void releaseLicense ()=0
virtual const char * getLicenseStamp ()=0

Member Function Documentation

◆ setCallback()

virtual void AFEME::IAfeme::setCallback ( IAfemeCallback * callback,
bool printProgressBar = true )
pure virtual

Sets Afeme callback interface

Parameters
callback- Pointer to callback interface
printProgressBar- Print progress bar

◆ getAfemeErrorDescription()

virtual const char * AFEME::IAfeme::getAfemeErrorDescription ( AFEME_ERROR code)
pure virtual

Returns Afeme error description.

◆ addMaterial()

virtual AFEME_ERROR AFEME::IAfeme::addMaterial ( float youngModulus,
float poissonRatio,
float density )
pure virtual

Adds material

Parameters
youngModulus- Young's modulus
poissonRatio- Poisson's ratio
density- Density
Returns
Error code

◆ updateMaterial()

virtual AFEME_ERROR AFEME::IAfeme::updateMaterial ( int material,
float youngModulus,
float poissonRatio,
float density )
pure virtual

Updates material with new values

Parameters
material- Material
youngModulus- Young's modulus
poissonRatio- Poisson's ratio
density- Density
Returns
Error code

◆ addBeamProperty()

virtual AFEME_ERROR AFEME::IAfeme::addBeamProperty ( int material,
int numCoords,
float * coords )
pure virtual

Adds beam property

Parameters
material- Material index
numCoords- Number of polyline coordinates
coords- Array of polyline coordinates
Returns
Error code

◆ addShellProperty()

virtual AFEME_ERROR AFEME::IAfeme::addShellProperty ( int material,
float thickness )
pure virtual

Adds shell property

Parameters
material- Material
thickness- Shell thickness
Returns
Error code

◆ addSolidProperty()

virtual void AFEME::IAfeme::addSolidProperty ( int material)
pure virtual

Adds solid property

Parameters
material- Material

◆ updateShellProperty()

virtual AFEME_ERROR AFEME::IAfeme::updateShellProperty ( int property,
int material,
float thickness )
pure virtual

Updates shell property with new material and thickness values

Parameters
property- Property index
material- Material index
thickness- Shell thickness
Returns
Error code

◆ updateSolidProperty()

virtual AFEME_ERROR AFEME::IAfeme::updateSolidProperty ( int property,
int material )
pure virtual

Updates solid property with new material index

Parameters
property- Property index
material- Material index
Returns
Error code

◆ addPointMassProperty()

virtual void AFEME::IAfeme::addPointMassProperty ( float mass,
float Ixx,
float Iyy,
float Izz,
float Ixy = 0.0f,
float Ixz = 0.0f,
float Iyz = 0.0f )
pure virtual

Adds point mass property

Parameters
mass- Mass
Ixx,Iyy,Izz,Ixy,Ixz,Iyz- Inertia tensor at CoG in property local axes (products of inertia 0 if not given)

◆ storeNodes()

virtual void AFEME::IAfeme::storeNodes ( int numNodes,
float * coordinates )
pure virtual

Stores given node coordinates array information

Parameters
numNodes- Number of nodes
coordinates- Array of node coordinates (x1,y1,z1,x2,y2,z2...)

◆ allocateNodes()

virtual void AFEME::IAfeme::allocateNodes ( int numNodes)
pure virtual

Allocates requested number of nodes

Parameters
numNodes- Number of nodes to allocate

◆ addNode()

virtual void AFEME::IAfeme::addNode ( float * coordinates)
pure virtual

Adds node with given coordinates

Parameters
coordinates- Array of node coordinates (x,y,z)

◆ addBeamElement()

virtual void AFEME::IAfeme::addBeamElement ( int property,
int * elementNodes,
float * upVector )
pure virtual

Adds beam element

Parameters
property- Index of element property
elementNodes- Array of constituting node indexes
upVector- Vector defining cross section vertical direction

◆ addTriaElement()

virtual void AFEME::IAfeme::addTriaElement ( const int property,
const int * elementNodes )
pure virtual

Adds triangular element (triangle)

Parameters
property- Index of element property
elementNodes- Array of constituting node indexes

◆ addQuadElement()

virtual void AFEME::IAfeme::addQuadElement ( const int property,
const int * elementNodes )
pure virtual

Adds quadrilateral element (quadrangle)

Parameters
property- Index of element property
elementNodes- Array of constituting node indexes

◆ addTetraElement()

virtual void AFEME::IAfeme::addTetraElement ( int property,
int * elementNodes )
pure virtual

Adds tetrahedral element (tetrahedron)

Parameters
property- Index of element property
elementNodes- Array of constituting node indexes

◆ addHexaElement()

virtual void AFEME::IAfeme::addHexaElement ( int property,
int * elementNodes )
pure virtual

Adds hexahedral element (hexahedron)

Parameters
property- Index of element property
elementNodes- Array of constituting node indexes

◆ addWedgeElement()

virtual void AFEME::IAfeme::addWedgeElement ( int property,
int * elementNodes )
pure virtual

Adds triangular prism element (wedge)

Parameters
property- Index of element property
elementNodes- Array of constituting node indexes

◆ addPointMassElement()

virtual void AFEME::IAfeme::addPointMassElement ( int property,
int node,
const float * t = nullptr )
pure virtual

Adds point mass element

Parameters
property- Index of point mass property
node- Single node index
t- Optional 3x3 row-major rotation local->global

◆ getNumDofs()

virtual int AFEME::IAfeme::getNumDofs ( )
pure virtual

Returns number of DOFs in the system

Returns
Number of DOFs in the system

◆ addConstraint()

virtual AFEME_ERROR AFEME::IAfeme::addConstraint ( int node,
int dof )
pure virtual

Adds constraint to nodal DOF

Parameters
node- Index of node
dof- Node degree of freedom (DOF)
Returns
Error code

◆ addRigidMpc()

virtual AFEME_ERROR AFEME::IAfeme::addRigidMpc ( int masterNode,
const int * slaveNodes,
int numSlaves,
bool tieRotations = true )
pure virtual

Adds rigid multi point constraint: slave nodes follow master node as one rigid body. Master node keeps all six DOFs (it does not need to belong to any element) and can be loaded or constrained as any other node.

Parameters
masterNode- Master node index
slaveNodes- Array of slave node indices
numSlaves- Number of slave nodes
tieRotations- Flag indicating if rotations of slave nodes follow master node too (if false, only their translations do)
Returns
Error code

◆ addAverageMpc()

virtual AFEME_ERROR AFEME::IAfeme::addAverageMpc ( int masterNode,
const int * slaveNodes,
int numSlaves,
const double * weights = nullptr )
pure virtual

Adds average multi point constraint: master node follows weighted average motion of slave nodes (rigid body motion that fits their translations best), while slave nodes stay free. Load applied to master node is distributed to slave nodes as forces, and constraint applied to master node holds the average motion of slave nodes.

Parameters
masterNode- Master node index
slaveNodes- Array of slave node indices
numSlaves- Number of slave nodes
weights- Optional array of weights for each slave node (all slave nodes are weighted equally if not given)
Returns
Error code

◆ addForce()

virtual AFEME_ERROR AFEME::IAfeme::addForce ( int nodeIndex,
int nodalDofIndex,
float value,
int loadCaseIndex = 0 )
pure virtual

Applies (adds) load to requested node and its DOF. Optional case index is applicable only for linear static analysis with 0 being default. In case of transient response it applies load for current step.

Parameters
nodeIndex- Requested node
nodalDofIndex- Requested DOF of the node
value- Load value to apply
loadCaseIndex- Requested load case (applicable for linear static analysis only, default 0)
Returns
Error code

◆ addPressure()

virtual AFEME_ERROR AFEME::IAfeme::addPressure ( int elemIndex,
int faceIndex,
float value,
int loadCaseIndex = 0 )
pure virtual

Applies (adds) pressure to requested element and its face. Optional case index is applicable only for linear static analysis with 0 being default. In case of transient response it applies pressure for current step.

Parameters
elemIndex- Requested element
faceIndex- Requested face
value- Pressure value to apply
loadCaseIndex- Requested load case (applicable for linear static analysis only and default=1)
Returns
Error code

◆ getNumLoadCases()

virtual int AFEME::IAfeme::getNumLoadCases ( )
pure virtual

Returns number of load cases

Returns
Number of load cases

◆ setStorageSystem()

virtual void AFEME::IAfeme::setStorageSystem ( AFEME_STORAGE_SYSTEM storageType)
pure virtual

Sets storage system for system matrices

Parameters
storageType- Matrix storage system

◆ setPressureDistributionType()

virtual void AFEME::IAfeme::setPressureDistributionType ( PRESSURE_DISTRIBUTION_TYPE distributionType)
pure virtual

Sets pressure distribution type

Parameters
distributionType- Pressure distribution type

◆ setEigenvaluePerformanceMode()

virtual void AFEME::IAfeme::setEigenvaluePerformanceMode ( AFEME_EIGENVALUE_PERFORMANCE_MODE mode)
pure virtual

Sets eigenvalue performance mode (favoring speed or accuracy)

Parameters
mode- Eigenvalue performance mode

◆ setNfaNumModes()

virtual AFEME_ERROR AFEME::IAfeme::setNfaNumModes ( int numModes)
pure virtual

Sets number of modes for natural frequency analysis.

Number of modes and upper frequency limit select the modes together:

  • both given: the lowest modes within the frequency limits, at most the given number of them. The solver is sized for twice that number of modes, so the limits should not hold more
  • number of modes is 0: all modes within the frequency limits
  • upper frequency limit is 0: the given number of lowest modes (above the lower frequency limit) If either is 0, the modes within a frequency range are first counted exactly (by factorizing the shifted stiffness matrix), and the analysis fails if the solver does not return all of them. Giving both skips that factorization and is the fastest.
Parameters
numModes- Number of requested natural frequency modes (0: all modes within the frequency limits)
Returns
Error code

◆ getNfaNumModes()

virtual int AFEME::IAfeme::getNfaNumModes ( )
pure virtual

◆ setNfaLowerFreq()

virtual AFEME_ERROR AFEME::IAfeme::setNfaLowerFreq ( double freqLower)
pure virtual

Sets lower frequency limit for natural frequency analysis

Parameters
freqLower- Lower frequency limit
Returns
Error code

◆ getNfaLowerFreq()

virtual double AFEME::IAfeme::getNfaLowerFreq ( )
pure virtual

◆ setNfaUpperFreq()

virtual AFEME_ERROR AFEME::IAfeme::setNfaUpperFreq ( double freqUpper)
pure virtual

Sets upper frequency limit for natural frequency analysis

Parameters
freqUpper- Upper frequency limit (0: no limit, the requested number of lowest modes is extracted)
Returns
Error code

◆ getNfaUpperFreq()

virtual double AFEME::IAfeme::getNfaUpperFreq ( )
pure virtual

◆ setLbaNumModes()

virtual AFEME_ERROR AFEME::IAfeme::setLbaNumModes ( int numModes)
pure virtual

Sets number of modes for buckling analysis

Number of modes and upper eigenvalue limit select the modes together:

  • both given: the lowest modes within the eigenvalue limits, at most the given number of them. The solver is sized for twice that number of modes, so the limits should not hold more
  • number of modes is 0: all modes within the eigenvalue limits
  • upper eigenvalue limit is 0 (and the lower one is not negative): the given number of lowest modes above the lower eigenvalue limit If either is 0, the modes within an eigenvalue range are first counted exactly (by factorizing the shifted stiffness matrix), and the analysis fails if the solver does not return all of them. Giving both skips that factorization and is the fastest.
Parameters
numModes- Number of modes (0: all modes within the eigenvalue limits)
Returns
Error code

◆ getLbaNumModes()

virtual int AFEME::IAfeme::getLbaNumModes ( )
pure virtual

◆ setLbaLowerEigenvalue()

virtual void AFEME::IAfeme::setLbaLowerEigenvalue ( double eigenvalueLower)
pure virtual

Sets lower eigenvalue limit for buckling analysis

Parameters
eigenvalueLower- Lower eigenvalue limit

◆ getLbaLowerEigenvalue()

virtual double AFEME::IAfeme::getLbaLowerEigenvalue ( )
pure virtual

◆ setLbaUpperEigenvalue()

virtual void AFEME::IAfeme::setLbaUpperEigenvalue ( double eigenvalueUpper)
pure virtual

Sets upper eigenvalue limit for buckling analysis

Parameters
eigenvalueUpper- Upper eigenvalue limit (0 with lower limit that is not negative: no limit, the requested number of lowest modes is extracted)

◆ getLbaUpperEigenvalue()

virtual double AFEME::IAfeme::getLbaUpperEigenvalue ( )
pure virtual

◆ setLbaPressureLoadStiffness()

virtual void AFEME::IAfeme::setLbaPressureLoadStiffness ( bool include)
pure virtual

Sets whether buckling analysis includes the load stiffness of pressures. A pressure stays normal to its face, so its force turns with the face as the structure deflects; that change enters the geometric stiffness (as Abaqus and Nastran do by default). Without it pressures act as fixed nodal forces, right for a pressure standing for a load that keeps its direction, such as a contact.

Parameters
include- Include the pressure load stiffness (default true)

◆ getLbaPressureLoadStiffness()

virtual bool AFEME::IAfeme::getLbaPressureLoadStiffness ( )
pure virtual

◆ setStepSize()

virtual AFEME_ERROR AFEME::IAfeme::setStepSize ( float stepSize)
pure virtual

Sets time integration step size for transient response analysis

Parameters
stepSize- Time integration step size
Returns
Error code

◆ getStepSize()

virtual float AFEME::IAfeme::getStepSize ( )
pure virtual

◆ setStructuralDampingCoefficient()

virtual AFEME_ERROR AFEME::IAfeme::setStructuralDampingCoefficient ( float structuralDampingCoefficient)
pure virtual

Sets structural damping coefficient for transient response analysis

Parameters
structuralDampingCoefficient- Structural damping coefficient
Returns
Error code

◆ getStructuralDampingCoefficient()

virtual float AFEME::IAfeme::getStructuralDampingCoefficient ( )
pure virtual

◆ setStructuralDampingConversionFrequency()

virtual AFEME_ERROR AFEME::IAfeme::setStructuralDampingConversionFrequency ( float structuralDampingConversionFrequency)
pure virtual

Sets structural damping conversion frequency for transient response analysis

Parameters
structuralDampingConversionFrequency- Structural damping conversion frequency
Returns
Error code

◆ getStructuralDampingConversionFrequency()

virtual float AFEME::IAfeme::getStructuralDampingConversionFrequency ( )
pure virtual

◆ runLinearStaticAnalysis()

virtual AFEME_ERROR AFEME::IAfeme::runLinearStaticAnalysis ( )
pure virtual

Runs linear static analysis

Returns
Error code

◆ runNaturalFrequenciesAnalysis()

virtual AFEME_ERROR AFEME::IAfeme::runNaturalFrequenciesAnalysis ( )
pure virtual

Runs natural frequencies analysis

Returns
Error code

◆ runLinearBucklingAnalysis()

virtual AFEME_ERROR AFEME::IAfeme::runLinearBucklingAnalysis ( )
pure virtual

Runs linear buckling analysis

Returns
Error code

◆ initializeTransientResponseAnalysis()

virtual AFEME_ERROR AFEME::IAfeme::initializeTransientResponseAnalysis ( )
pure virtual

Initializes transient response analysis

Returns
Error code

◆ runTransientResponseAnalysisStep()

virtual AFEME_ERROR AFEME::IAfeme::runTransientResponseAnalysisStep ( )
pure virtual

Runs transient response analysis step

Returns
Error code

◆ getProgress()

virtual float AFEME::IAfeme::getProgress ( )
pure virtual

Returns progress of supported tasks.

◆ requestStop()

virtual void AFEME::IAfeme::requestStop ( )
pure virtual

Requests termination of supported tasks.

◆ requestPause()

virtual void AFEME::IAfeme::requestPause ( )
pure virtual

Requests pause of supported tasks.

◆ requestResume()

virtual void AFEME::IAfeme::requestResume ( )
pure virtual

Requests resume of supported tasks.

◆ getDisplacementValue()

virtual AFEME_ERROR AFEME::IAfeme::getDisplacementValue ( const int nodeIndex,
const int dofIndex,
const int caseIndex,
float & displacement,
AFEME_ANALYSIS_TYPE analysisType = ANALYSIS_NONE )
pure virtual

Provides displacement value of requested node, DOF, case and task

Parameters
nodeIndex- Requested node
dofIndex- Requested DOF
caseIndex- Requested case
displacement- Displacement value
analysisType- Analysis type (optional, if not provided, active task is assumed)
Returns
Error code

◆ getNumExtractedModes()

virtual AFEME_ERROR AFEME::IAfeme::getNumExtractedModes ( int & numExtractedModes,
AFEME_ANALYSIS_TYPE analysisType = ANALYSIS_NONE )
pure virtual

Provides number of extracted modes for requested task

Parameters
numExtractedModes- Number of extracted modes
analysisType- Analysis type (optional, if not provided, active task is assumed)
Returns
Error code

◆ getEigenvalue()

virtual AFEME_ERROR AFEME::IAfeme::getEigenvalue ( const int modeIndex,
float & eigenvalue,
AFEME_ANALYSIS_TYPE analysisType = ANALYSIS_NONE )
pure virtual

Provides eigenvalue of requested mode and task

Parameters
modeIndex- Requested mode
eigenvalue- Eigenvalue of requested mode index
analysisType- Analysis type (optional, if not provided, active task is assumed)
Returns
Error code

◆ getEigenfrequency()

virtual AFEME_ERROR AFEME::IAfeme::getEigenfrequency ( const int modeIndex,
float & eigenfrequency,
AFEME_ANALYSIS_TYPE analysisType = ANALYSIS_NONE )
pure virtual

Provides eigenfrequency of requested mode index and task

Parameters
modeIndex- Requested mode
eigenfrequency- Eigenfrequency of requested mode
analysisType- Analysis type (optional, if not provided, active task is assumed)
Returns
Error code

◆ getEigenvectorValue()

virtual AFEME_ERROR AFEME::IAfeme::getEigenvectorValue ( const int nodeIndex,
const int dofIndex,
const int modeIndex,
float & eigenvector,
AFEME_ANALYSIS_TYPE analysisType )
pure virtual

Provides eigenvector value of requested node, DOF, mode index and task

Parameters
nodeIndex- Requested node
dofIndex- Requested DOF
modeIndex- Requested mode
eigenvector- Eigenvector value
analysisType- Analysis type (optional, if not provided, active task is assumed)
Returns
Error code

◆ getNumSteps()

virtual int AFEME::IAfeme::getNumSteps ( )
pure virtual

Provides number of run steps for transient response analysis including initial step

Returns
Number of run steps

◆ getMaxElemVonMisesStressValue()

virtual AFEME_ERROR AFEME::IAfeme::getMaxElemVonMisesStressValue ( const int elemIndex,
const int caseIndex,
float & stress,
AFEME_ANALYSIS_TYPE analysisType )
pure virtual

Provides maximum vonMises stress value of requested element, case and task

Parameters
elemIndex- Requested element
caseIndex- Requested case
stress- VonMises stress value
analysisType- Analysis type (optional, if not provided, active task is assumed)
Returns
Error code

◆ clearMaterials()

virtual void AFEME::IAfeme::clearMaterials ( )
pure virtual

Clears all materials' data.

◆ clearProperties()

virtual void AFEME::IAfeme::clearProperties ( )
pure virtual

Clears all properties' data.

◆ clearNodes()

virtual void AFEME::IAfeme::clearNodes ( )
pure virtual

Clears all nodes' data.

◆ clearElements()

virtual void AFEME::IAfeme::clearElements ( )
pure virtual

Clears all elements' data.

◆ clearConstraints()

virtual void AFEME::IAfeme::clearConstraints ( )
pure virtual

Clears all constraints.

◆ clearMpcs()

virtual void AFEME::IAfeme::clearMpcs ( )
pure virtual

Clears all multi point constraints.

◆ clearLoad()

virtual void AFEME::IAfeme::clearLoad ( )
pure virtual

Clears all loads.

◆ releaseLicense()

virtual void AFEME::IAfeme::releaseLicense ( )
pure virtual

Gives the license of the active task back to the license server. The model and its results are kept; the next run takes the license again. To be called when the task this solver belongs to is closed, so that its license is free at once (deleting the solver does the same).

◆ getLicenseStamp()

virtual const char * AFEME::IAfeme::getLicenseStamp ( )
pure virtual

Returns the line that identifies the registered user and the type of the license, as it is put on everything the software produces (asked from the license server).

Returns
Line such as "Made with Afeme 1.0.20261011 - registered to John Doe, Example Ltd - Academic license"

The documentation for this class was generated from the following file:
  • afeme.h