#include <MechanicsElement.h>

Public Member Functions | |
| virtual void | apply ()=0 |
| unsigned int | getNumberOfGaussPoints () |
| void | initializeForCurrentElement (const libMesh::Elem *elem, std::shared_ptr< MechanicsMaterialModel > materialModel) |
| MechanicsElement (std::shared_ptr< const ElementOperationParameters > params) | |
| virtual | ~MechanicsElement () |
Protected Attributes | |
| const libMesh::Elem * | d_elem |
| std::shared_ptr< libMesh::FEBase > | d_fe |
| std::shared_ptr< libMesh::FEType > | d_feType |
| int | d_iDebugPrintInfoLevel |
| std::shared_ptr< MechanicsMaterialModel > | d_materialModel |
| std::shared_ptr< libMesh::QBase > | d_qrule |
| bool | d_useFlanaganTaylorElem |
| bool | d_useJaumannRate |
| bool | d_useReducedIntegration |
An abstract base class for representing the element level computation performed within a finite element operator for modelling solid mechanics (elasticity/plasticity). This class just handles some of the data and operations that is required by both the linear and nonlinear mechanics operators to perform their respective element level computations. The actual computation is implemented in the apply() function in the derived classes.
Definition at line 34 of file MechanicsElement.h.
|
explicit |
Constructor. This builds the finite element shape functions. This reads the values for the following keys from the database object contained in the parameter object, params: 1) USE_REDUCED_INTEGRATION (false by default) 2) FE_ORDER (FIRST by default) - Order of the polynomial used in the shape functions. 3) FE_FAMILY (LAGRANGE by default) - Family of the polynomial used in the shape functions. 4) QRULE_TYPE (QGAUSS by default) - Type of numerical integration scheme used. 5) QRULE_ORDER (DEFAULT by default) - Order of the numerical integration scheme.
|
inlinevirtual |
Destructor.
Definition at line 52 of file MechanicsElement.h.
|
pure virtualinherited |
This is where the element level computation in a FE operator is performed. Each derived class must provide an implementation that is appropriate for use within its respective FE operator.
Implemented in AMP::Operator::DiffusionLinearElement, AMP::Operator::DiffusionNonlinearElement, AMP::Operator::MassLinearElement, AMP::Operator::SourceNonlinearElement, AMP::Operator::MechanicsLinearElement, AMP::Operator::MechanicsLinearUpdatedLagrangianElement, AMP::Operator::MechanicsNonlinearElement, and AMP::Operator::MechanicsNonlinearUpdatedLagrangianElement.
|
inline |
Definition at line 72 of file MechanicsElement.h.
References d_qrule.
|
inline |
This function is used by the Linear and Nonlinear mechanics FEOperators to pass the current element and material model to this class during the finite element assembly operation.
| [in] | elem | Pointer to the current element within a finite element assembly. |
| [in] | materialModel | Shared pointer to the mechanics material model used in the current element. |
Definition at line 62 of file MechanicsElement.h.
References d_elem, and d_materialModel.
|
protected |
Pointer to the current element within the finite element assembly.
Definition at line 90 of file MechanicsElement.h.
Referenced by initializeForCurrentElement().
|
protected |
Finite element shape functions.
Definition at line 84 of file MechanicsElement.h.
Referenced by AMP::Operator::MechanicsLinearElement::MechanicsLinearElement(), AMP::Operator::MechanicsLinearUpdatedLagrangianElement::MechanicsLinearUpdatedLagrangianElement(), AMP::Operator::MechanicsNonlinearElement::MechanicsNonlinearElement(), and AMP::Operator::MechanicsNonlinearUpdatedLagrangianElement::MechanicsNonlinearUpdatedLagrangianElement().
|
protected |
Type of polynomial used for the finite element shape functions. This includes both the polynomial order: First order/Second order etc. and polynomial family: Lagrange/Hierarchic/Hermite etc.
Definition at line 78 of file MechanicsElement.h.
|
protected |
< Inside Green-Naghdi stress-rate whether to use Flanagan Taylor stress-srate or not.
Definition at line 105 of file MechanicsElement.h.
|
protected |
Shared pointer to the mechanics material model used in the current element.
Definition at line 93 of file MechanicsElement.h.
Referenced by initializeForCurrentElement().
|
protected |
Quadtrature rule used for numerical integration.
Definition at line 87 of file MechanicsElement.h.
Referenced by getNumberOfGaussPoints().
|
protected |
Definition at line 101 of file MechanicsElement.h.
Referenced by AMP::Operator::MechanicsNonlinearUpdatedLagrangianElement::resetElementInfo().
|
protected |
A flag that checks whether to use Jaumann Rate in Updated Lagrangian formulation or not.
Definition at line 97 of file MechanicsElement.h.
Referenced by AMP::Operator::MechanicsLinearElement::MechanicsLinearElement(), AMP::Operator::MechanicsNonlinearElement::MechanicsNonlinearElement(), and AMP::Operator::MechanicsNonlinearUpdatedLagrangianElement::resetElementInfo().
|
protected |
A flag that is true if reduced integration scheme is used and false otherwise.
Definition at line 75 of file MechanicsElement.h.
Referenced by AMP::Operator::MechanicsLinearElement::apply(), AMP::Operator::MechanicsLinearUpdatedLagrangianElement::apply(), AMP::Operator::MechanicsNonlinearElement::apply(), and AMP::Operator::MechanicsNonlinearUpdatedLagrangianElement::apply().
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:44. Comments on this page |