Automatic domain decomposition class for finite-volume meshes. More...
Public Member Functions | |
TypeName ("domainDecomposition") | |
Runtime type information. More... | |
domainDecomposition (const processorRunTimes &procRunTimes, const word ®ionName) | |
Construct from processor run times and region name. More... | |
virtual | ~domainDecomposition () |
Destructor. More... | |
const fvMesh & | completeMesh () const |
Access the global mesh. More... | |
const PtrList< fvMesh > & | procMeshes () const |
Access the processor meshes. More... | |
label | nProcs () const |
Return the number of processors in the decomposition. More... | |
bool | readDecompose (const bool doSets) |
Read in the complete mesh. Read the processor meshes if they are. More... | |
bool | readReconstruct (const bool doSets) |
Read in the processor meshes. Read the complete mesh if it is. More... | |
fvMesh::readUpdateState | readUpdateDecompose () |
Read-update for decomposition. More... | |
fvMesh::readUpdateState | readUpdateReconstruct () |
Read-update for reconstruction. More... | |
const labelList & | cellProc () const |
Return the distribution as an FV field for writing. More... | |
const labelListList & | procPointAddressing () const |
Access the labels of points for each processor. More... | |
const labelListList & | procFaceAddressing () const |
Access the labels of faces for each processor (see notes above) More... | |
const labelListList & | procCellAddressing () const |
Access the labels of cells for each processor. More... | |
const PtrList< surfaceLabelField::Boundary > & | procFaceAddressingBf () const |
Access the labels of faces for each processor (see notes above) More... | |
void | writeComplete (const bool doSets) const |
Write the decomposed meshes and associated data. More... | |
void | writeProcs (const bool doSets) const |
Write the decomposed meshes and associated data. More... | |
Automatic domain decomposition class for finite-volume meshes.
Definition at line 53 of file domainDecomposition.H.
domainDecomposition | ( | const processorRunTimes & | procRunTimes, |
const word & | regionName | ||
) |
Construct from processor run times and region name.
Definition at line 881 of file domainDecomposition.C.
|
virtual |
Destructor.
Definition at line 901 of file domainDecomposition.C.
TypeName | ( | "domainDecomposition" | ) |
Runtime type information.
|
inline |
Access the global mesh.
Definition at line 247 of file domainDecomposition.H.
Access the processor meshes.
Definition at line 254 of file domainDecomposition.H.
|
inline |
Return the number of processors in the decomposition.
Definition at line 261 of file domainDecomposition.H.
References processorRunTimes::nProcs().
bool readDecompose | ( | const bool | doSets | ) |
Read in the complete mesh. Read the processor meshes if they are.
available and up to date relative to the complete mesh, or decompose if not. Return whether or not decomposition happened.
Definition at line 907 of file domainDecomposition.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, IOobject::headerOk(), typeIOobject< Type >::headerOk(), polyMesh::meshSubDir, Foam::nl, and IOobject::relativePath().
bool readReconstruct | ( | const bool | doSets | ) |
Read in the processor meshes. Read the complete mesh if it is.
available and up to date relative to the processor meshes, or reconstruct if not. Return whether or not reconstruction happened.
Definition at line 1000 of file domainDecomposition.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOobject::headerOk(), typeIOobject< Type >::headerOk(), polyMesh::meshSubDir, IOobject::name(), Foam::nl, Foam::fvc::reconstruct(), IOobject::relativePath(), and WarningInFunction.
Foam::fvMesh::readUpdateState readUpdateDecompose | ( | ) |
Read-update for decomposition.
Definition at line 1119 of file domainDecomposition.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, polyMesh::TOPO_CHANGE, and polyMesh::UNCHANGED.
Foam::fvMesh::readUpdateState readUpdateReconstruct | ( | ) |
Read-update for reconstruction.
Definition at line 1199 of file domainDecomposition.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::fvc::reconstruct(), polyMesh::TOPO_CHANGE, and polyMesh::UNCHANGED.
|
inline |
Return the distribution as an FV field for writing.
Definition at line 283 of file domainDecomposition.H.
|
inline |
Access the labels of points for each processor.
Definition at line 289 of file domainDecomposition.H.
|
inline |
Access the labels of faces for each processor (see notes above)
Definition at line 296 of file domainDecomposition.H.
|
inline |
Access the labels of cells for each processor.
Definition at line 303 of file domainDecomposition.H.
const Foam::PtrList< Foam::surfaceLabelField::Boundary > & procFaceAddressingBf | ( | ) | const |
Access the labels of faces for each processor (see notes above)
Definition at line 1281 of file domainDecomposition.C.
References List< T >::append(), fvMesh::boundary(), boundary(), Foam::count(), Pair< Type >::first(), forAll, forAllConstIter, Foam::labelMax, Foam::mag(), cyclicFvPatch::nbrPatchID(), processorFvPatch::neighbProcNo(), GeometricField< Type, PatchField, GeoMesh >::null(), nonConformalCyclicFvPatch::owner(), fvPatch::patchSlice(), processorCyclicFvPatch::referPatchID(), List< T >::resize(), Pair< Type >::second(), HashTable< T, Key, Hash >::set(), and List< T >::size().
void writeComplete | ( | const bool | doSets | ) | const |
Write the decomposed meshes and associated data.
Definition at line 1614 of file domainDecomposition.C.
References IOobject::AUTO_WRITE, Foam::decrIndent(), IOstream::defaultPrecision(), HashTable< T, Key, Hash >::empty(), Foam::endl(), Foam::faceMap(), forAllConstIter, HashTable< T, Key, Hash >::found(), Foam::incrIndent(), Foam::indent(), Foam::Info, HashTable< T, Key, Hash >::insert(), HashSet< Key, Hash >::insert(), IOobject::instance(), IOobjectList::lookupClass(), Foam::mag(), Foam::max(), polyMesh::meshSubDir, fvMesh::name(), fileName::name(), Foam::nl, IOobject::NO_READ, IOobject::NO_WRITE, IOobject::READ_IF_PRESENT, PtrList< T >::set(), UPtrList< T >::set(), HashTable< T, Key, Hash >::size(), and hexRef8Data::write().
void writeProcs | ( | const bool | doSets | ) | const |
Write the decomposed meshes and associated data.
Definition at line 1835 of file domainDecomposition.C.
References PtrList< T >::append(), IOobject::AUTO_WRITE, IOstream::defaultPrecision(), forAll, forAllConstIter, HashTable< T, Key, Hash >::found(), HashSet< Key, Hash >::insert(), IOobjectList::lookupClass(), Foam::mag(), Foam::max(), polyMesh::meshSubDir, IOobject::name(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::READ_IF_PRESENT, HashTable< T, Key, Hash >::size(), hexRef8Data::write(), fvMesh::write(), and regIOobject::write().