1#ifndef included_AMP_SubchannelToCladMap
2#define included_AMP_SubchannelToCladMap
4#include "AMP/operators/map/ScalarZAxisMap.h"
42 std::string
type()
const override {
return "SubchannelToCladMap"; }
64 virtual std::vector<std::vector<AMP::Mesh::MeshElementID>>
66 const std::vector<double> &y,
72 std::shared_ptr<AMP::Mesh::Mesh> mesh,
73 const std::vector<AMP::Mesh::MeshElementID> &
ids,
74 const std::vector<double> &z,
75 const std::vector<double> &f );
99 std::vector<std::vector<AMP::Mesh::MeshElementID>>
d_elem;
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
A class used to iterate over elements in a Mesh.
A base class for asynchronous map operations between meshes. A map operation involves two meshes and ...
std::shared_ptr< AMP::Operator::Operator > shared_ptr
A class used to map temperature from the clad meshes to the subchannel mesh.
virtual ~SubchannelToCladMap()
Destructor.
void applyFinish(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
Finish a communicative apply operation.
void setVector(AMP::LinearAlgebra::Vector::shared_ptr result) override
Set a frozen vector for results of the apply operation.
virtual std::vector< std::vector< AMP::Mesh::MeshElementID > > getElementsInSubchannel(const std::vector< double > &x, const std::vector< double > &y, AMP::Mesh::MeshIterator iterator)
void applyStart(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
Start a communicative apply operation.
std::vector< double > d_z
static bool validMapType(const std::string &s)
Returns true if MapType = "SubchannelToCladMapParameters".
std::vector< std::vector< int > > d_subchannelRecv
std::vector< std::vector< int > > d_subchannelRanks
AMP::Mesh::MeshIterator d_iterator2
SubchannelToCladMapParameters Parameters
Typedef to identify the parameters class of this operator.
void fillSubchannelGrid(std::shared_ptr< AMP::Mesh::Mesh >)
std::vector< AMP_MPI::Request > d_currRequests
std::vector< double > d_x
int getSubchannelIndex(double x, double y)
SubchannelToCladMap(std::shared_ptr< const AMP::Operator::OperatorParameters > params)
Standard constructor.
std::vector< std::vector< AMP::Mesh::MeshElementID > > d_elem
static AMP::Mesh::MeshIterator getSubchannelIterator(std::shared_ptr< AMP::Mesh::Mesh >)
std::vector< bool > d_ownSubChannel
virtual void fillReturnVector(AMP::LinearAlgebra::Vector::shared_ptr vec, double range[4], std::shared_ptr< AMP::Mesh::Mesh > mesh, const std::vector< AMP::Mesh::MeshElementID > &ids, const std::vector< double > &z, const std::vector< double > &f)
std::vector< double > d_y
std::string type() const override
Return the name of the operator.
std::vector< std::vector< double > > d_sendBuffer
AMP::Mesh::MeshIterator d_iterator1
AsyncMapOperatorParameters SubchannelToCladMapParameters