Advanced Multi-Physics (AMP)
On-Line Documentation
LinearFEOperator.h
Go to the documentation of this file.
1
2#ifndef included_AMP_LinearFEOperator
3#define included_AMP_LinearFEOperator
4
5// AMP files
6#include "AMP/mesh/Mesh.h"
7#include "AMP/mesh/MeshElement.h"
8#include "AMP/operators/LinearOperator.h"
9#include "AMP/operators/libmesh/LinearFEOperatorParameters.h"
10
11// Libmesh headers
13#include "libmesh/libmesh_config.h"
14#undef LIBMESH_ENABLE_REFERENCE_COUNTING
15#include "libmesh/elem.h"
17
18
19namespace AMP::Operator {
20
28{
29public:
32 explicit LinearFEOperator( std::shared_ptr<const OperatorParameters> params );
33
35 virtual ~LinearFEOperator() {}
36
38 std::string type() const override { return "LinearFEOperator"; }
39
48 virtual void preAssembly( std::shared_ptr<const OperatorParameters> ) = 0;
49
56 virtual void postAssembly() = 0;
57
65 virtual void preElementOperation( const AMP::Mesh::MeshElement & ) = 0;
66
73 virtual void postElementOperation() = 0;
74
79 void reset( std::shared_ptr<const OperatorParameters> ) override;
80
81protected:
83
85
87
88 libMesh::Elem *d_currElemPtr;
89
90 std::shared_ptr<ElementOperation> d_elemOp;
91 std::shared_ptr<AMP::Discretization::DOFManager> d_inDofMap;
92 std::shared_ptr<AMP::Discretization::DOFManager> d_outDofMap;
93};
94} // namespace AMP::Operator
95
96#endif
A pointer class to wrap a MeshElementVector.
std::shared_ptr< ElementOperation > d_elemOp
std::shared_ptr< AMP::Discretization::DOFManager > d_outDofMap
AMP::Mesh::MeshElementVectorPtr d_currNodes
virtual void preElementOperation(const AMP::Mesh::MeshElement &)=0
virtual void postElementOperation()=0
std::string type() const override
Return the name of the operator.
virtual void preAssembly(std::shared_ptr< const OperatorParameters >)=0
LinearFEOperator(std::shared_ptr< const OperatorParameters > params)
std::shared_ptr< AMP::Discretization::DOFManager > d_inDofMap
virtual ~LinearFEOperator()
Destructor.
void reset(std::shared_ptr< const OperatorParameters >) override
#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