Advanced Multi-Physics (AMP)
On-Line Documentation
NonlinearFEOperator.h
Go to the documentation of this file.
1#ifndef included_AMP_NonlinearFEOperator
2#define included_AMP_NonlinearFEOperator
3
4// AMP headers
5#include "AMP/mesh/Mesh.h"
6#include "AMP/mesh/MeshElement.h"
7#include "AMP/operators/Operator.h"
8#include "AMP/operators/libmesh/FEOperatorParameters.h"
9
10// Libmesh headers
12#include "libmesh/libmesh_config.h"
13#undef LIBMESH_ENABLE_REFERENCE_COUNTING
14#include "libmesh/elem.h"
16
17#include <vector>
18
19
20namespace AMP::Operator {
21
29{
30public:
33 explicit NonlinearFEOperator( std::shared_ptr<const OperatorParameters> params );
34
37
39 std::string type() const override { return "NonlinearFEOperator"; }
40
49
50protected:
64
72 virtual void postAssembly() = 0;
73
82 virtual void preElementOperation( const AMP::Mesh::MeshElement & ) = 0;
83
90 virtual void postElementOperation() = 0;
91
93
95
96 std::vector<libMesh::Elem *> d_currElemPtrs;
97
99
100 std::shared_ptr<ElementOperation> d_elemOp;
101};
102} // namespace AMP::Operator
103
104#endif
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
Definition Vector.h:60
std::shared_ptr< const Vector > const_shared_ptr
Definition Vector.h:65
NonlinearFEOperator(std::shared_ptr< const OperatorParameters > params)
std::vector< libMesh::Elem * > d_currElemPtrs
virtual void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
virtual ~NonlinearFEOperator()
Destructor.
virtual void preAssembly(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr r)=0
std::string type() const override
Return the name of the operator.
virtual void preElementOperation(const AMP::Mesh::MeshElement &)=0
std::shared_ptr< ElementOperation > d_elemOp
std::shared_ptr< AMP::Operator::Operator > shared_ptr
Definition Operator.h:29
#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