2#ifndef included_AMP_NonlinearBVPOperator
3#define included_AMP_NonlinearBVPOperator
5#include "AMP/operators/BVPOperatorParameters.h"
6#include "AMP/operators/Operator.h"
7#include "AMP/operators/boundary/BoundaryOperator.h"
40 std::string
type()
const override {
return "NonlinearBVPOperator"; }
56 void reset( std::shared_ptr<const OperatorParameters> params )
override;
81 std::shared_ptr<OperatorParameters>
84 std::shared_ptr<OperatorParameters> params =
nullptr )
override;
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
std::shared_ptr< BoundaryOperator > d_boundaryOperator
std::shared_ptr< Operator > d_volumeOperator
virtual ~NonlinearBVPOperator()
void reset(std::shared_ptr< const OperatorParameters > params) override
std::shared_ptr< Operator > getVolumeOperator()
std::shared_ptr< OperatorParameters > getParameters(const std::string &type, AMP::LinearAlgebra::Vector::const_shared_ptr x, std::shared_ptr< OperatorParameters > params=nullptr) override
std::shared_ptr< BoundaryOperator > getBoundaryOperator()
bool isValidVector(AMP::LinearAlgebra::Vector::const_shared_ptr sol) override
void modifyRHSvector(AMP::LinearAlgebra::Vector::shared_ptr rhs)
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
Return the input variable.
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr, AMP::LinearAlgebra::Vector::shared_ptr) override
void modifyInitialSolutionVector(AMP::LinearAlgebra::Vector::shared_ptr sol)
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
Return the output variable.
NonlinearBVPOperator(std::shared_ptr< const OperatorParameters > parameters)
std::string type() const override
Return the name of the operator.
std::shared_ptr< AMP::Operator::Operator > shared_ptr