1#ifndef included_AMP_DirichletVectorCorrection
2#define included_AMP_DirichletVectorCorrection
4#include "AMP/operators/boundary/BoundaryOperator.h"
5#include "AMP/operators/boundary/DirichletVectorCorrectionParameters.h"
34 std::string
type()
const override {
return "DirichletVectorCorrection"; }
70 void reset( std::shared_ptr<const OperatorParameters> params )
override;
91 std::shared_ptr<AMP::LinearAlgebra::Variable>
var );
95 std::shared_ptr<AMP::LinearAlgebra::Variable>
var );
101 std::shared_ptr<OperatorParameters>
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr r) override
void applyZeroValues(AMP::LinearAlgebra::Vector::shared_ptr r)
const auto & getBoundaryIds() const
AMP::LinearAlgebra::Vector::shared_ptr mySubsetVector(AMP::LinearAlgebra::Vector::shared_ptr vec, std::shared_ptr< AMP::LinearAlgebra::Variable > var)
void modifyInitialSolutionVector(AMP::LinearAlgebra::Vector::shared_ptr sol) override
void setVariable(const std::shared_ptr< AMP::LinearAlgebra::Variable > &var)
void setDirichletValues(AMP::LinearAlgebra::Vector::shared_ptr vals)
const auto & getDofIds() const
DirichletVectorCorrection(std::shared_ptr< const OperatorParameters > params)
AMP::LinearAlgebra::Vector::shared_ptr d_dirichletValues2
std::vector< std::vector< double > > d_dirichletValues1
void applyNonZeroValues(AMP::LinearAlgebra::Vector::shared_ptr r)
void reset(std::shared_ptr< const OperatorParameters > params) override
std::shared_ptr< OperatorParameters > getJacobianParameters(AMP::LinearAlgebra::Vector::const_shared_ptr) override
bool d_isAttachedToVolumeOperator
std::vector< short int > d_boundaryIds
std::vector< std::vector< size_t > > d_dofIds
std::string type() const override
Return the name of the operator.
void setRHScorrection(AMP::LinearAlgebra::Vector::shared_ptr rhs) override
void applyResidual(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr r)
virtual ~DirichletVectorCorrection()
std::shared_ptr< AMP::LinearAlgebra::Variable > d_variable
AMP::LinearAlgebra::Vector::const_shared_ptr mySubsetVector(AMP::LinearAlgebra::Vector::const_shared_ptr vec, std::shared_ptr< AMP::LinearAlgebra::Variable > var)
std::shared_ptr< AMP::Operator::Operator > shared_ptr