19 #ifndef GEOSX_MANAGERS_DOMAINPARTITION_HPP_ 20 #define GEOSX_MANAGERS_DOMAINPARTITION_HPP_ 24 #include "constitutive/ConstitutiveManager.hpp" 26 #include "mpiCommunications/MpiWrapper.hpp" 27 #include "mpiCommunications/NeighborCommunicator.hpp" 33 namespace dataRepository
42 class ObjectManagerBase;
60 Group *
const parent );
87 virtual void RegisterDataOnMeshRecursive(
Group *
const meshBodies )
override final;
89 void InitializationOrder(
string_array & order )
override final;
107 void SetupCommunications(
bool use_nonblocking );
123 void AddNeighbors(
const unsigned int idim,
136 static constexpr
auto meshBodiesString =
"MeshBodies";
138 static constexpr
auto constitutiveManagerString =
"Constitutive";
155 {
return this->GetGroup< constitutive::ConstitutiveManager >(
groupKeys.constitutiveManager ); }
162 {
return this->GetGroup< constitutive::ConstitutiveManager >(
groupKeys.constitutiveManager ); }
181 {
return this->GetGroup(
groupKeys.meshBodies ); }
188 {
return this->GetGroup(
groupKeys.meshBodies ); }
227 {
return m_metisNeighborList; }
234 {
return m_metisNeighborList; }
241 {
return m_neighbors; }
248 {
return m_neighbors; };
255 std::set< int > m_metisNeighborList;
259 std::vector< NeighborCommunicator > m_neighbors;
std::vector< NeighborCommunicator > const & getNeighbors() const
Get the neighbor communicators, const version.
MeshBody const * getMeshBody(localIndex const index) const
Get a MeshBody by index, const version.
constitutive::ConstitutiveManager const * getConstitutiveManager() const
Get the constitutive manager, const version.
MeshBody const * getMeshBody(string const &meshName) const
Get a MeshBody by name, const version.
std::vector< NeighborCommunicator > & getNeighbors()
Get the neighbor communicators.
NumericalMethodsManager & getNumericalMethodManager()
std::set< int > & getMetisNeighborList()
Get the metis neighbors indices.
The class is used to manage mesh body.
std::set< int > const & getMetisNeighborList() const
Get the metis neighbors indices, const version.
Group const * getMeshBodies() const
Get the mesh bodies, const version.
struct to serve as a container for group strings and keys
contains the added group access keys to be bound with class in group hierarchy
MeshBody * getMeshBody(localIndex const index)
Get MeshBody by index.
constitutive::ConstitutiveManager * getConstitutiveManager()
Get the constitutive manager.
std::ptrdiff_t localIndex
Local index type (for indexing objects within an MPI partition).
Group * getMeshBodies()
Get the mesh bodies.
std::string string
String type.
string const partitionManager("partitionManager")
This class provides a fixed dimensional resizeable array interface in addition to an interface simila...
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
T * GetGroup(localIndex index)
Retrieve a sub-group from the current Group using an index.
MeshBody * getMeshBody(string const &meshName)
Get a MeshBody by name.
NumericalMethodsManager const & getNumericalMethodManager() const