Advanced Multi-Physics (AMP)
On-Line Documentation
MechanicsElement.h
Go to the documentation of this file.
1#ifndef included_AMP_MechanicsElement
2#define included_AMP_MechanicsElement
3
4// AMP headers
5#include "AMP/operators/ElementOperation.h"
6#include "AMP/operators/mechanics/MechanicsMaterialModel.h"
7
8// Libmesh headers
10#include "libmesh/libmesh_config.h"
11#undef LIBMESH_ENABLE_REFERENCE_COUNTING
12#include "libmesh/elem.h"
13#include "libmesh/fe_base.h"
14#include "libmesh/fe_type.h"
15#include "libmesh/quadrature.h"
17
18#include <memory>
19#include <vector>
20
21
22namespace AMP::Operator {
23
35{
36public:
47 explicit MechanicsElement( std::shared_ptr<const ElementOperationParameters> params );
48
52 virtual ~MechanicsElement() {}
53
62 void initializeForCurrentElement( const libMesh::Elem *elem,
63 std::shared_ptr<MechanicsMaterialModel> materialModel )
64 {
65 d_elem = elem;
66 d_materialModel = materialModel;
67 }
68
72 unsigned int getNumberOfGaussPoints() { return ( d_qrule->n_points() ); }
73
74protected:
78 std::shared_ptr<libMesh::FEType> d_feType;
84 std::shared_ptr<libMesh::FEBase> d_fe;
86 std::shared_ptr<libMesh::QBase>
89 const libMesh::Elem
92 std::shared_ptr<MechanicsMaterialModel>
106
107private:
108};
109} // namespace AMP::Operator
110
111#endif
MechanicsElement(std::shared_ptr< const ElementOperationParameters > params)
void initializeForCurrentElement(const libMesh::Elem *elem, std::shared_ptr< MechanicsMaterialModel > materialModel)
std::shared_ptr< MechanicsMaterialModel > d_materialModel
std::shared_ptr< libMesh::FEBase > d_fe
std::shared_ptr< libMesh::FEType > d_feType
std::shared_ptr< libMesh::QBase > d_qrule
#define DISABLE_WARNINGS
Re-enable warnings.
#define ENABLE_WARNINGS
Suppress all warnings.



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:41.
Comments on this page