2#ifndef included_AMP_PelletStackOperator
3#define included_AMP_PelletStackOperator
5#include "AMP/operators/libmesh/PelletStackOperatorParameters.h"
16 std::string
type()
const override {
return "PelletStackOperator"; }
32 void reset( std::shared_ptr<const OperatorParameters> params )
override;
59 std::vector<std::shared_ptr<AMP::Mesh::Mesh>>
d_meshes;
61 std::shared_ptr<AMP::LinearAlgebra::Variable>
d_var;
65 std::shared_ptr<AMP::Operator::AsyncMapColumnOperator>
d_n2nMaps;
Provides C++ wrapper around MPI routines.
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
std::shared_ptr< AMP::Operator::Operator > shared_ptr
void computeZscan(AMP::LinearAlgebra::Vector::const_shared_ptr u, std::vector< double > &finalMaxZdispsList)
void applySerial(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr &f)
const auto & getLocalMeshes()
std::vector< std::shared_ptr< AMP::Mesh::Mesh > > d_meshes
PelletStackOperator(std::shared_ptr< const PelletStackOperatorParameters > params)
unsigned int d_totalNumberOfPellets
const auto & getLocalPelletIds()
void applyUnscaling(AMP::LinearAlgebra::Vector::shared_ptr f)
void applyOnlyZcorrection(AMP::LinearAlgebra::Vector::shared_ptr &u)
unsigned int d_currentPellet
std::vector< unsigned int > d_pelletIds
int getLocalIndexForPellet(unsigned int pellId)
void reset(std::shared_ptr< const OperatorParameters > params) override
std::shared_ptr< AMP::LinearAlgebra::Variable > d_var
AMP::LinearAlgebra::Vector::shared_ptr d_frozenVectorForMaps
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
auto getTotalNumberOfPellets()
std::shared_ptr< AMP::Operator::AsyncMapColumnOperator > d_n2nMaps
AMP_MPI d_pelletStackComm
void applyXYZcorrection(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr &f)
std::string type() const override
Return the name of the operator.
virtual ~PelletStackOperator()