1#ifndef included_AMP_NonlinearFEOperator
2#define included_AMP_NonlinearFEOperator
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"
12#include "libmesh/libmesh_config.h"
13#undef LIBMESH_ENABLE_REFERENCE_COUNTING
14#include "libmesh/elem.h"
39 std::string
type()
const override {
return "NonlinearFEOperator"; }
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
void destroyLibMeshElementList()
void createLibMeshElementList()
NonlinearFEOperator(std::shared_ptr< const OperatorParameters > params)
std::vector< libMesh::Elem * > d_currElemPtrs
virtual void postAssembly()=0
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
virtual void postElementOperation()=0
std::shared_ptr< AMP::Operator::Operator > shared_ptr
#define DISABLE_WARNINGS
Re-enable warnings.
#define ENABLE_WARNINGS
Suppress all warnings.