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);
Map from edge (expressed as its endpoints) to value. Hashing (and ==) on an edge is symmetric.
MeshObject(const Time &mesh)
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
~multiWorldConnections()=default
Destructor.
label getCommByName(const word &otherWorld) const
Get communicator for myWorld to other world connection by NAME.
bool empty() const noexcept
True if no world-to-world connections are defined.
bool addConnectionByName(const word &otherWorld)
Define a connection from myWorld to other world by NAME.
label getCommById(const label otherWorld) const
Get communicator for myWorld to other world connection by ID.
TypeName("multiWorld")
Run-time type information.
label size() const noexcept
Number of world-to-world connections defined.
void createComms()
Create all communicators. Low-level, not normally called directly.
labelList comms() const
Get communicators used for myWorld to other worlds in sorted order.
bool addConnectionById(const label otherWorld)
Define a connection from myWorld to other world by ID.
multiWorldConnections(const Time &runTime)
Construct.
static const multiWorldConnections & New(const Time &runTime)
Access mesh object.
A class for handling words, derived from Foam::string.
List< label > labelList
A List of labels.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.