Advanced Multi-Physics (AMP)
On-Line Documentation
MechanicsLinearFEOperator.h
Go to the documentation of this file.
1#ifndef included_AMP_MechanicsLinearFEOperator
2#define included_AMP_MechanicsLinearFEOperator
3
4/* AMP files */
5#include "AMP/operators/libmesh/LinearFEOperator.h"
6#include "AMP/operators/mechanics/MechanicsConstants.h"
7#include "AMP/operators/mechanics/MechanicsLinearElement.h"
8#include "AMP/operators/mechanics/MechanicsLinearFEOperatorParameters.h"
9#include "AMP/operators/mechanics/MechanicsLinearUpdatedLagrangianElement.h"
10#include "AMP/vectors/Variable.h"
11
12#include <vector>
13
14
15namespace AMP::Operator {
16
27{
28public:
49 explicit MechanicsLinearFEOperator( std::shared_ptr<const OperatorParameters> params );
50
55
59 void preAssembly( std::shared_ptr<const OperatorParameters> params ) override;
60
65 void postAssembly() override;
66
74
80 void postElementOperation() override;
81
90 const std::string &fname );
91
92 std::shared_ptr<MechanicsMaterialModel> getMaterialModel() { return d_materialModel; }
93
94protected:
96 MechanicsLinearFEOperator( std::shared_ptr<const MechanicsLinearFEOperatorParameters>, bool );
97
98protected:
99 std::vector<std::vector<size_t>> d_dofIndices;
101 std::vector<std::vector<double>> d_elementStiffnessMatrix;
103 std::shared_ptr<MechanicsLinearElement> d_mechLinElem;
105 std::shared_ptr<MechanicsLinearUpdatedLagrangianElement>
108 std::shared_ptr<MechanicsMaterialModel> d_materialModel;
113
115};
116} // namespace AMP::Operator
117
118#endif
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
Definition Vector.h:60
std::shared_ptr< MechanicsLinearUpdatedLagrangianElement > d_mechLinULElem
std::shared_ptr< MechanicsMaterialModel > d_materialModel
void printStressAndStrain(AMP::LinearAlgebra::Vector::shared_ptr disp, const std::string &fname)
void preElementOperation(const AMP::Mesh::MeshElement &) override
std::vector< std::vector< size_t > > d_dofIndices
std::shared_ptr< MechanicsMaterialModel > getMaterialModel()
AMP::LinearAlgebra::Vector::shared_ptr d_refXYZ
MechanicsLinearFEOperator(std::shared_ptr< const OperatorParameters > params)
void preAssembly(std::shared_ptr< const OperatorParameters > params) override
AMP::LinearAlgebra::Vector::shared_ptr d_dispVec
std::vector< std::vector< double > > d_elementStiffnessMatrix
std::shared_ptr< MechanicsLinearElement > d_mechLinElem
MechanicsLinearFEOperator(std::shared_ptr< const MechanicsLinearFEOperatorParameters >, bool)
std::shared_ptr< AMP::Operator::Operator > shared_ptr
Definition Operator.h:29



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