2#ifndef included_AMP_VolumeIntegralOperator
3#define included_AMP_VolumeIntegralOperator
5#include "AMP/matrices/Matrix.h"
6#include "AMP/operators/libmesh/NonlinearFEOperator.h"
7#include "AMP/operators/libmesh/SourceNonlinearElement.h"
8#include "AMP/operators/libmesh/VolumeIntegralOperatorParameters.h"
9#include "AMP/vectors/MultiVariable.h"
42 std::string
type()
const override {
return "VolumeIntegralOperator"; }
47 void reset( std::shared_ptr<const OperatorParameters> )
override;
81 std::shared_ptr<OperatorParameters>
108 void init( std::shared_ptr<const VolumeIntegralOperatorParameters> params );
118 std::vector<AMP::LinearAlgebra::Vector::const_shared_ptr>
121 std::vector<AMP::LinearAlgebra::Vector::const_shared_ptr>
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
A pointer class to wrap a MeshElementVector.
std::shared_ptr< AMP::Operator::Operator > shared_ptr
void getNodeDofIndicesForCurrentElement()
AMP::LinearAlgebra::Vector::shared_ptr d_multiAuxPtr
void postAssembly() override
void setAuxVariable(std::shared_ptr< AMP::LinearAlgebra::MultiVariable > var)
std::shared_ptr< SourceNonlinearElement > d_srcNonlinElem
VolumeIntegralOperator(std::shared_ptr< const VolumeIntegralOperatorParameters > params, bool)
AMP::LinearAlgebra::Vector::shared_ptr d_outVec
std::shared_ptr< SourceNonlinearElement > getSourceElement()
void postElementOperation() override
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
Return the output variable.
void init(std::shared_ptr< const VolumeIntegralOperatorParameters > params)
std::shared_ptr< AMP::LinearAlgebra::MultiVariable > d_inpVariables
AMP::Mesh::MeshElementVectorPtr d_currNodes
std::shared_ptr< AMP::Discretization::DOFManager > d_nodeDofMap
std::shared_ptr< AMP::LinearAlgebra::Variable > d_outVariable
void preAssembly(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr r) override
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
Return the input variable.
virtual ~VolumeIntegralOperator()
std::vector< double > d_elementOutputVector
void preElementOperation(const AMP::Mesh::MeshElement &) override
void reset(std::shared_ptr< const OperatorParameters >) override
std::shared_ptr< AMP::Discretization::DOFManager > d_elementDofMap
VolumeIntegralOperator(std::shared_ptr< const OperatorParameters > params)
std::shared_ptr< AMP::LinearAlgebra::MultiVariable > d_auxVariables
std::vector< size_t > d_dofIndices
std::vector< AMP::LinearAlgebra::Vector::const_shared_ptr > d_inVec
std::shared_ptr< SourcePhysicsModel > d_sourcePhysicsModel
std::shared_ptr< SourcePhysicsModel > getSourcePhysicsModel()
std::string type() const override
Return the name of the operator.
std::vector< AMP::LinearAlgebra::Vector::const_shared_ptr > d_auxVec
std::string d_isInputType
std::shared_ptr< OperatorParameters > getJacobianParameters(AMP::LinearAlgebra::Vector::const_shared_ptr u) override