![]() |
Lem
The Lem Plugin
|
Basic class for the mechanical physics plugin object. More...
#include <lemMechanicalPhysics.h>
Public Types | |
enum | PhysicsAttributeIds { ISOPARAMETRIC_ID, NUM_ATTRI_IDS } |
IDs for physics attributes. More... | |
enum | StateVarIds { U_ID, W_ID, NUM_STATEVAR_IDS } |
IDs for Mechanical physics state vars. More... | |
enum | NodeAttributeIds { S_NA_ID, E_NA_ID, NUM_NA_IDS } |
IDs for physics node attributes. More... | |
enum | GaussAttributeIds { S_GA_ID, SOLD_GA_ID, E_GA_ID, EOLD_GA_ID, ST_GA_ID, STOLD_GA_ID, NUM_GA_IDS } |
IDs for physics Gauss attributes. More... | |
enum | ElementPropertyIds { AREA_ID, NUM_PROPER_IDS } |
IDs for physics element properties. More... | |
enum | BoundaryConditionIds { FIXED_U_BC_ID, FIXED_CF_BC_ID, NUM_BC_IDS } |
IDs for accepted boundary condition types. More... | |
enum | BoundaryConditionValueIds { BC_UX_ID, BC_UY_ID, BC_UZ_ID, BC_CF_ID, NUM_BCV_IDS } |
IDs for property values from accepted boundary condition types. More... | |
Public Member Functions | |
LemMechanicalPhysics (const char *pluginType, GmSimulationData *simulation, QString id, QString description, const GmpFemPhysicsCommonMaterialFactory *matFactory, const GmLogCategory &logger) | |
Constructor. Will be called by the plugin loading code. | |
virtual | ~LemMechanicalPhysics () |
Destructor. | |
virtual const char * | pluginName () const |
virtual const char * | pluginType () const |
virtual const QVariantMap * | physicsMetaDataMap () |
Returns a reference for the single mechanical physics attribute map, built when the function is called for the first time. | |
virtual FemResultType | fillElementData (const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)=0 |
virtual bool | fixedNodalForcesBc (QList< int > &nodes, QList< int > &dof, QList< double > &values) const |
See comments on base class. Fills vectors with prescribed nodal concentrated forces. | |
virtual bool | fixedNodalDofsBc (QList< int > &nodes, QList< int > &dof, QList< double > &values, bool *constantValues) const |
See comments on base class. Fills vectors with prescribed node displacements. | |
virtual bool | calcDerivedResults (bool nonLinearSolver) |
Calc stress component on nodes and/or Gauss points, ADDING the calculated value to the current result. | |
virtual double | fillBuMatrix (const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmVector &N, const GmMatrix &J, GmMatrix &Bp)=0 |
Given a point 'ncood', the element coordinate matrix 'X', the point shape functions 'N' and the transformation Jacobian 'J', fills the matrix with cartesian partial derivatives Bu using the provided shape function and returns the scaled jacobian determinant. More... | |
void | fillElementDisplacements (const GmElement *e, GmVector &ue) |
Given an element, fills the vector 'ue' with nodal displacements. The vector should have size equal to n * d where n is the number of element nodes and d is the node dimension. More... | |
virtual void | fillMiddleCoordinates (const GmElement *e, GmMatrix Xnode, GmMatrix &MX) const |
virtual double | axisSymetricFactor (const GmElement *e, const GmMatrix &X, const GmVector &N) |
Returns the factor that should be applied when using axis symetric elements. 1.0 for other etypes. | |
virtual bool | isPlaneStress () const |
Returns TRUE for plane stress analysis and FALSE in other cases. More... | |
virtual unsigned | stress_state (void) |
Returns the number of stress components. More... | |
GmMatrix & | dep () |
Returns a reference to the physics constitutive tangent matrox. | |
Protected Attributes | |
lemMechanicPoint * | _mechanicPoint |
Access to mechanical material point. | |
GmMatrix | _Dep |
Constitutive tangent matrix (2 x 2) | |
Private Attributes | |
const char * | _pluginType |
The plugin type name. | |
Basic class for the mechanical physics plugin object.
IDs for property values from accepted boundary condition types.
IDs for physics Gauss attributes.
|
pure virtual |
Given a point 'ncood', the element coordinate matrix 'X', the point shape functions 'N' and the transformation Jacobian 'J', fills the matrix with cartesian partial derivatives Bu using the provided shape function and returns the scaled jacobian determinant.
The shape function given as parameter is the shape function that should be used to calculate the partial derivatives. It will be a linear function in case of iso-parametric elements and the element shape function otherwise.
Matrices J, X and N should have been calculated using the element shape function even in an iso-parametric setting.
Implemented in LemMechanicalTBeam.
Given an element, fills the vector 'ue' with nodal displacements. The vector should have size equal to n * d where n is the number of element nodes and d is the node dimension.
See comments on base class. Fills the vector ue with nodal displacements.
Values are stored in 'ue' by node. For a two nodes element with 3 dimensions ue is filled with [ux1, uy1, uz1, ux2, uy2, uz2]
|
virtual |
Returns TRUE for plane stress analysis and FALSE in other cases.
Returns TRUE for plane stress analysis.
True --> TimoshenkoPS and FALSE in other cases
|
virtual |
Returns the number of stress components.
True --> TimoshenkoPS and FALSE in other cases