![]() |
MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
|
Basic class for the mechanical physics plugin object. More...
#include <gmpMechanicalLargeDisplacementSolid.h>


Public Member Functions | |
| GmpMechanicalLargeDisplacementSolid (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 | ~GmpMechanicalLargeDisplacementSolid () |
| Destructor. | |
| 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) |
| Fills the element matrices and vectors for a generic elements. | |
| virtual double | fillBuMatrix (const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmVector &N, const GmMatrix &J, GmMatrix &Bu) |
| Fills the matrix with cartesian partial derivatives Bu using the provided shape function and returns the scaled jacobian determinant. | |
| virtual double | fillBuMatrix (const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmVector &N, const GmMatrix &J, GmMatrix &Bu, const GmMatrix &F)=0 |
| Fills the Bu strain- displacement matrix for large displacements. | |
| virtual void | fillBnlMatrix (const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmVector &N, const GmMatrix &J, GmMatrix &Bnl, const GmMatrix &F)=0 |
| Fills the Bnl strain- displacement matrix for large displacements. | |
| virtual bool | DeformationGradient (const GmElement *e, const GmMatrix &X0, const GmMatrix &Xt, const GmVector &N, const GmMatrix &J0, const GmMatrix &Jt, GmMatrix &F)=0 |
| Fills the F deformation gradient matrix. | |
Public Member Functions inherited from GmpMechanicalSolid | |
| GmpMechanicalSolid (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 | ~GmpMechanicalSolid () |
| Destructor. | |
| virtual bool | beforeElementStiffnessLoop (const GmpFemMatrixSet &elemMatrices, const GmpFemVectorSet &elemVectors) |
| virtual void | fillBodyForce (const GmElement *e, const GmVector *coord, int ip, GmVector &BFc, const GmVector &N, double c) const |
| virtual void | gravityForce (const GmElement *e, const GmVector *coord, int ip, GmVector &Fext_u, const GmVector &N, double c) const |
| virtual void | gravityVector (const GmElement *e, const GmVector *coord, int ip, GmVector &gravComp) const |
| Fill gravity acceleration vector. | |
| virtual bool | calcDerivedResults (bool nonLinearSolver) |
| Calc stress component on nodes and/or Gauss points, ADDING the calculated value to the current result. | |
| virtual bool | checkLoadedData () |
| Checks the loaded data. | |
| virtual bool | addStateItemsToGroup (GmStateDump *state, bool fixedHint, int groupId) |
Public Member Functions inherited from GmpMechanicalPhysics | |
| GmpMechanicalPhysics (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 | ~GmpMechanicalPhysics () |
| Destructor. | |
| virtual const char * | pluginName () const |
| virtual const char * | pluginType () const |
| virtual bool | supportsStateDumping () |
| virtual unsigned | stress_state (void) const |
| Returns the number of stress components. | |
| virtual bool | fixedNodalForcesBc (QVector< int > &nodes, QVector< int > &dof, QVector< double > &values) const |
| See comments on base class. Fills vectors with prescribed nodal concentrated forces. | |
| virtual bool | fixedNodalDofsBc (QVector< int > &nodes, QVector< int > &dof, QVector< double > &values, bool *constantValues) const |
| See comments on base class. Fills vectors with prescribed node displacements. | |
| virtual FemResultType | fillElementDataForBc (const GmElement *e, const GmBoundaryCondition *bc, int bcIndex, int bcListIndex, int border, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors) |
| Fills the element stiffness matrix elemK and/or the force vector elemF for element 'e', taking into account pressure load and/or point generation boundary conditions, as indicated by the bc parameter. | |
| virtual FemResultType | fillElementDataForLoads (const GmElement *e, int loadId, GmpFemVectorSet &elemVectors) |
| virtual FemResultType | fillElementDataPressBc (const GmElement *e, const GmBoundaryCondition *bc, int bcIndex, int bcListIndex, int border, GmMatrix &elemMat, GmVector &elemVec) |
| calc nodal equivalent force vector due uniforme pressure load. | |
| virtual FemResultType | fillElementDataHydPressBc (const GmElement *e, const GmBoundaryCondition *bc, int bcIndex, int bcListIndex, int border, GmMatrix &elemMat, GmVector &elemVec) |
| calc nodal equivalent force vector due hydraulic pressure load. Information is provided from two vertical reference coordinates with the respective | |
| virtual FemResultType | fillElementDataWaterSheepPressBc (const GmElement *e, const GmBoundaryCondition *bc, int bcIndex, int bcListIndex, int border, GmMatrix &elemMat, GmVector &elemVec) |
| calc nodal equivalent force vector due water sheet pressure load. Information is provided from reference coordinates to level of water with the respective | |
| virtual FemResultType | fillContactData (const GmContactBoundaryCondition *cbc, int bcIndex1, int bcIndex2, GmMatrixDof &dofMap, GmpFemMatrixSet &matrixSet, GmpFemVectorSet &vecSet) |
| Fills the contact boundary contribution. | |
| virtual bool | calcMaterialDerivedResults () const |
| The virtual function used by calcDerivedResults() to effectively calculate gauss attributes required by the Material. | |
| 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. | |
| void | fillElementThermalIncrement (const GmElement *e, GmVector &dTe) |
| The virtual function to fill the nodal thermal increment. | |
| virtual double | axisymmetricFactor (const GmElement *e, const GmMatrix &X, const GmVector &N) const |
| Returns the factor that should be applied when using axis symetric elements. 1.0 for other etypes. | |
| virtual bool | isPlaneStress () |
| Returns the factor that should be applied when using axis symetric elements. 1.0 for other etypes. | |
| virtual bool | isAxisymmetric () |
| Returns TRUE only for axisymmetric models. | |
| GmpMechanicPoint * | mechanicPoint () |
| Returns the physics mechanical material point. | |
| virtual bool | evaluatesThermalStrain (const GmElement *e, GmVector &strainT, GmVector &NT, GmVector &dT, double alpha) const |
| Returns The thermal strain. | |
| GmMatrix & | dep () |
| Returns a reference to the physics constitutive tangent matrix. | |
Protected Member Functions | |
| virtual bool | checkAndLoadAttributeAccessors (LuaTable &nodeTable, LuaTable &cellTable, LuaTable &gaussTable) |
| Reimplementation of the common function to init the _mechanicPoint structure. | |
| void | GreenLagrangeStrain (const GmMatrix &F, GmVector &Ev, unsigned sc) |
| returns the lagrangian strains. | |
| void | EulerAlmansiStrain (const GmMatrix &F, GmVector &ev, unsigned sc) const |
| returns the Almansi strains. | |
| void | LogarithmStrain (const GmMatrix &F, GmVector &elog, unsigned sc) const |
| returns the logarithm strains. | |
| void | NLStressStateMatrix (const GmVector &S, GmMatrix &SvM, const GmMatrix &F, int d) const |
| construction of the element stresses matrix form for geometric stiffness | |
| void | CauchyStress (const GmVector &S, GmVector &sv, const GmMatrix &F, int d) const |
Protected Member Functions inherited from GmpMechanicalSolid | |
| virtual void | calcElementDerivedResultAtPoints (const GmElement *e, int resultId, const GmMatrix &evalPoints, bool evalAtIp, GmMatrix &result) |
| The virtual function used by calcDerivedResults() to effectivelly calculate stresses at the given evaluation points. | |
| virtual void | calcElementResetStrains (const GmElement *e) |
| The virtual function used by calcDerivedResults() to effectivelly calculate strain reset to zero. When the displacement are defined as zero, the deformation must also be made zero. | |
| virtual bool | setInitialConditions () |
| Sets the initial conditionrequired by interface elements. | |
| virtual bool | updatesReturnMappingInfo () |
| Updates the number of iteration and substeps of return mapping algorithm. | |
| virtual bool | calcMaterialDerivedResults () |
| The virtual function used by calcDerivedResults() to effectively calculate gauss attributes defined by Material. | |
Protected Attributes | |
| GmTLS< GmMatrix, true > | _F |
| Deformation gradient. | |
Protected Attributes inherited from GmpMechanicalPhysics | |
| GmpMechanicPoint * | _mechanicPoint |
| Access to mechanical material point. | |
| GmTLS< GmMatrix, true > | _Dep |
| Constitutive tangent matrix (2 x 2) | |
| bool | _setInitialCond |
| Sets the initial conditions required by the physics. | |
Basic class for the mechanical physics plugin object.
|
protectedvirtual |
Reimplementation of the common function to init the _mechanicPoint structure.
Reimplemented from GmpMechanicalSolid.
|
virtual |
Fills the matrix with cartesian partial derivatives Bu using the provided shape function and returns the scaled jacobian determinant.
Implements GmpMechanicalPhysics.
|
virtual |
Fills the element matrices and vectors for a generic elements.
Reimplemented from GmpMechanicalSolid.
|
virtual |
Returns a reference for the single mechanical physics attribute map, built when the function is called for the first time.
Reimplemented from GmpMechanicalSolid.