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, const multiDomainDecomposition ®ionMeshes=NullObjectRef< multiDomainDecomposition >()) | |
Construct from processor run times and region name. More... | |
virtual | ~domainDecomposition () |
Destructor. More... | |
const processorRunTimes & | procRunTimes () const |
Access the run times. More... | |
const word & | regionName () const |
Access the region name. 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 () |
Read in the complete mesh. Read the processor meshes if they are. More... | |
void | postReadDecompose () |
Post-read-construction steps for the meshes after read-decompose. More... | |
void | unconformReadDecompose () |
Synchronise non-conformal structure after read-decompose. More... | |
void | writeReadDecompose (const bool decomposed, const bool doSets) |
Write following read-decompose. More... | |
bool | readReconstruct () |
Read in the processor meshes. Read the complete mesh if it is. More... | |
void | postReadReconstruct () |
Post-read-construction steps for the meshes after read-reconstruct. More... | |
void | unconformReadReconstruct () |
Synchronise non-conformal structure after read-reconstruct. More... | |
void | writeReadReconstruct (const bool reconstructed, const bool doSets) |
Write following read-reconstruct. More... | |
fvMesh::readUpdateState | readUpdateDecompose () |
Read-update for decomposition. More... | |
void | postReadUpdateDecompose (const fvMesh::readUpdateState stat) |
Complete read-update-decompose. More... | |
void | unconformReadUpdateDecompose (const fvMesh::readUpdateState stat) |
Synchronise non-conformal structure after read-update-decompose. More... | |
fvMesh::readUpdateState | readUpdateReconstruct () |
Read-update for reconstruction. More... | |
void | postReadUpdateReconstruct (const fvMesh::readUpdateState stat) |
Complete read-update-reconstruct. More... | |
void | unconformReadUpdateReconstruct (const fvMesh::readUpdateState stat) |
Synchronise non-conformal structure after read-update-reconstruct. 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 58 of file domainDecomposition.H.
domainDecomposition | ( | const processorRunTimes & | procRunTimes, |
const word & | regionName, | ||
const multiDomainDecomposition & | regionMeshes = NullObjectRef<multiDomainDecomposition>() |
||
) |
Construct from processor run times and region name.
Definition at line 414 of file domainDecomposition.C.
|
virtual |
Destructor.
Definition at line 436 of file domainDecomposition.C.
TypeName | ( | "domainDecomposition" | ) |
Runtime type information.
|
inline |
Access the run times.
Definition at line 380 of file domainDecomposition.H.
|
inline |
Access the region name.
Definition at line 386 of file domainDecomposition.H.
Referenced by Foam::regionName< domainDecomposition >().
|
inline |
Access the global mesh.
Definition at line 392 of file domainDecomposition.H.
Referenced by Foam::checkCompleteMeshOrdering().
Access the processor meshes.
Definition at line 399 of file domainDecomposition.H.
|
inline |
Return the number of processors in the decomposition.
Definition at line 406 of file domainDecomposition.H.
References processorRunTimes::nProcs().
bool readDecompose | ( | ) |
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 442 of file domainDecomposition.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOobject::headerOk(), typeIOobject< Type >::headerOk(), polyMesh::meshSubDir, Foam::nl, and IOobject::relativePath().
void postReadDecompose | ( | ) |
Post-read-construction steps for the meshes after read-decompose.
Definition at line 521 of file domainDecomposition.C.
void unconformReadDecompose | ( | ) |
Synchronise non-conformal structure after read-decompose.
Definition at line 527 of file domainDecomposition.C.
References forAll.
void writeReadDecompose | ( | const bool | decomposed, |
const bool | doSets | ||
) |
Write following read-decompose.
Definition at line 543 of file domainDecomposition.C.
bool readReconstruct | ( | ) |
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 558 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.
void postReadReconstruct | ( | ) |
Post-read-construction steps for the meshes after read-reconstruct.
Definition at line 663 of file domainDecomposition.C.
References forAll.
void unconformReadReconstruct | ( | ) |
Synchronise non-conformal structure after read-reconstruct.
Definition at line 672 of file domainDecomposition.C.
void writeReadReconstruct | ( | const bool | reconstructed, |
const bool | doSets | ||
) |
Write following read-reconstruct.
Definition at line 685 of file domainDecomposition.C.
Foam::fvMesh::readUpdateState readUpdateDecompose | ( | ) |
Read-update for decomposition.
Definition at line 700 of file domainDecomposition.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and fvMesh::TOPO_CHANGE.
void postReadUpdateDecompose | ( | const fvMesh::readUpdateState | stat | ) |
Complete read-update-decompose.
Definition at line 767 of file domainDecomposition.C.
References fvMesh::UNCHANGED.
void unconformReadUpdateDecompose | ( | const fvMesh::readUpdateState | stat | ) |
Synchronise non-conformal structure after read-update-decompose.
Definition at line 781 of file domainDecomposition.C.
References forAll, and fvMesh::UNCHANGED.
Foam::fvMesh::readUpdateState readUpdateReconstruct | ( | ) |
Read-update for reconstruction.
Definition at line 798 of file domainDecomposition.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::fvc::reconstruct(), and fvMesh::TOPO_CHANGE.
void postReadUpdateReconstruct | ( | const fvMesh::readUpdateState | stat | ) |
Complete read-update-reconstruct.
Definition at line 866 of file domainDecomposition.C.
References forAll, and fvMesh::UNCHANGED.
void unconformReadUpdateReconstruct | ( | const fvMesh::readUpdateState | stat | ) |
Synchronise non-conformal structure after read-update-reconstruct.
Definition at line 883 of file domainDecomposition.C.
References fvMesh::UNCHANGED.
|
inline |
Return the distribution as an FV field for writing.
Definition at line 458 of file domainDecomposition.H.
|
inline |
Access the labels of points for each processor.
Definition at line 464 of file domainDecomposition.H.
|
inline |
Access the labels of faces for each processor (see notes above)
Definition at line 471 of file domainDecomposition.H.
|
inline |
Access the labels of cells for each processor.
Definition at line 478 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 898 of file domainDecomposition.C.
References fvMesh::boundary(), forAll, Foam::mag(), GeometricField< Type, PatchField, GeoMesh >::null(), fvPatch::patchSlice(), and HashTable< T, Key, Hash >::set().
void writeComplete | ( | const bool | doSets | ) | const |
Write the decomposed meshes and associated data.
Definition at line 964 of file domainDecomposition.C.
References IOobject::AUTO_WRITE, IOstream::defaultPrecision(), Foam::faceMap(), forAllConstIter, HashTable< T, Key, Hash >::found(), HashTable< T, Key, Hash >::insert(), HashSet< Key, Hash >::insert(), IOobject::instance(), IOobjectList::lookupClass(), Foam::mag(), Foam::max(), polyMesh::meshSubDir, fvMesh::name(), fileName::name(), 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 1164 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().