40 #ifndef meshObjects_multiWorldConnections_H 41 #define meshObjects_multiWorldConnections_H 61 TopologicalMeshObject,
85 static edge worldPair(
const label otherWorld);
89 static edge worldPair(
const word& otherWorld);
92 static label createCommunicator(
const edge& worlds);
label getCommById(const label otherWorld) const
Get communicator for myWorld to other world connection by ID.
Centralized handling of multi-world MPI connections.
static const multiWorldConnections & New(const Time &runTime)
Access mesh object.
labelList comms() const
Get communicators used for myWorld to other worlds in sorted order.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
TopologicalMeshObject(const word &objName, const objectRegistry &obr)
Construct from name and instance on registry.
bool empty() const noexcept
True if no world-to-world connections are defined.
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
~multiWorldConnections()=default
Destructor.
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
A class for handling words, derived from Foam::string.
multiWorldConnections(const Time &runTime)
Construct.
label getCommByName(const word &otherWorld) const
Get communicator for myWorld to other world connection by NAME.
label size() const noexcept
Number of world-to-world connections defined.
bool addConnectionByName(const word &otherWorld)
Define a connection from myWorld to other world by NAME.
TypeName("multiWorld")
Run-time type information.
void createComms()
Create all communicators. Low-level, not normally called directly.
bool addConnectionById(const label otherWorld)
Define a connection from myWorld to other world by ID.