2#ifndef included_AMP_ConstraintsEliminationOperator
3#define included_AMP_ConstraintsEliminationOperator
5#include "AMP/operators/Operator.h"
6#include "AMP/vectors/Variable.h"
7#include "AMP/vectors/Vector.h"
26 AMP_INSIST( params->d_db->keyExists(
"InputVariable" ),
"key not found" );
27 std::string
inpVarName = params->d_db->getString(
"InputVariable" );
30 AMP_INSIST( params->d_db->keyExists(
"OutputVariable" ),
"key not found" );
31 std::string
outVarName = params->d_db->getString(
"OutputVariable" );
41 std::string
type()
const override {
return "ConstraintsEliminationOperator"; }
A description of the data in the vector.
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
std::shared_ptr< AMP::LinearAlgebra::Variable > d_OutputVariable
std::shared_ptr< AMP::LinearAlgebra::Variable > d_InputVariable
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
virtual ~ConstraintsEliminationOperator()
virtual void copyMasterToSlave(AMP::LinearAlgebra::Vector::shared_ptr u)=0
std::string type() const override
Return the name of the operator.
virtual void addSlaveToMaster(AMP::LinearAlgebra::Vector::shared_ptr u)=0
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
std::vector< double > d_SlaveShift
virtual void setSlaveToZero(AMP::LinearAlgebra::Vector::shared_ptr u)
virtual void addShiftToSlave(AMP::LinearAlgebra::Vector::shared_ptr u)
std::vector< size_t > d_SlaveIndices
ConstraintsEliminationOperator(std::shared_ptr< const OperatorParameters > params)
std::shared_ptr< AMP::Operator::Operator > shared_ptr
#define AMP_INSIST(EXP, MSG)
Insist error.