1#ifndef included_AMP_MeshVariable_H
2#define included_AMP_MeshVariable_H
4#include "AMP/mesh/Mesh.h"
5#include "AMP/vectors/SubsetVariable.h"
24 std::shared_ptr<const AMP::Mesh::Mesh> mesh,
25 bool useMeshComm =
true );
27 std::shared_ptr<AMP::Discretization::DOFManager>
28 getSubsetDOF( std::shared_ptr<AMP::Discretization::DOFManager> )
const override;
33 std::string
className()
const override {
return "MeshVariable"; }
34 uint64_t
getID()
const override;
42 std::shared_ptr<const AMP::Mesh::Mesh>
d_mesh;
62 std::shared_ptr<AMP::Discretization::DOFManager>
63 getSubsetDOF( std::shared_ptr<AMP::Discretization::DOFManager> )
const override;
68 std::string
className()
const override {
return "MeshIteratorVariable"; }
69 uint64_t
getID()
const override;
Provides C++ wrapper around MPI routines.
const AMP::Mesh::MeshIterator d_iterator
const AMP::AMP_MPI d_comm
std::shared_ptr< AMP::Discretization::DOFManager > getSubsetDOF(std::shared_ptr< AMP::Discretization::DOFManager >) const override
Return a DOFManager that describes the subset.
AMP::AMP_MPI getComm(const AMP::AMP_MPI &comm) const override
Return the comm for the subset.
MeshIteratorVariable(int64_t)
void writeRestart(int64_t) const override
Write restart data to file.
MeshIteratorVariable(const std::string &name, const AMP::Mesh::MeshIterator &iterator, const AMP_MPI &comm)
Constructor.
std::string className() const override
A function that returns the name of a variable.
std::shared_ptr< VectorSelector > createVectorSelector() const override
Create a VectorSelector.
uint64_t getID() const override
Get a unique id hash for the vector.
An AMP Variable that describes how to subset a DOF for a mesh.
std::shared_ptr< const AMP::Mesh::Mesh > d_mesh
void writeRestart(int64_t) const override
Write restart data to file.
uint64_t getID() const override
Get a unique id hash for the vector.
AMP::AMP_MPI getComm(const AMP::AMP_MPI &comm) const override
Return the comm for the subset.
std::string className() const override
A function that returns the name of a variable.
std::shared_ptr< VectorSelector > createVectorSelector() const override
Create a VectorSelector.
MeshVariable(const std::string &name, std::shared_ptr< const AMP::Mesh::Mesh > mesh, bool useMeshComm=true)
Constructor.
std::shared_ptr< AMP::Discretization::DOFManager > getSubsetDOF(std::shared_ptr< AMP::Discretization::DOFManager >) const override
Return a DOFManager that describes the subset.
A variable used to create a SubsetVector.
A class used to iterate over elements in a Mesh.