Class for parallel communication in a narrow band. It either provides a Map with the neighbouring values of the selected region or returns a Map of the required values in global addressing. Also holds a reference to the stencil Before the data transfer the communation has to be set up: exchangeFields_.setUpCommforZone(interfaceCell_); Is used in the plicRDF. More...
Public Member Functions | |
TypeName ("zoneDistribute") | |
Runtime information. More... | |
zoneDistribute (const fvMesh &) | |
Construct from fvMesh. More... | |
void | setUpCommforZone (const boolList &zone, bool updateStencil=true) |
Update stencil with boolList the size has to match mesh nCells. More... | |
void | updateStencil (const boolList &zone) |
Updates stencil with boolList the size has to match mesh nCells. More... | |
const labelListList & | getStencil () |
Stencil reference. More... | |
const globalIndex & | globalNumbering () const |
Addressing reference. More... | |
template<typename Type > | |
Type | getValue (const GeometricField< Type, fvPatchField, volMesh > &phi, const Map< Type > &valuesFromOtherProc, const label gblIdx) const |
template<typename Type > | |
Map< Field< Type > > | getFields (const boolList &zone, const GeometricField< Type, fvPatchField, volMesh > &phi) |
Returns stencil and provides a Map with globalNumbering. More... | |
template<typename Type > | |
Map< Type > | getDatafromOtherProc (const boolList &zone, const GeometricField< Type, fvPatchField, volMesh > &phi) |
Returns stencil and provides a Map with globalNumbering. More... | |
virtual void | updateMesh (const mapPolyMesh &mpm) |
virtual bool | movePoints () |
template<typename Type > | |
Foam::Map< Foam::Field< Type > > | getFields (const boolList &zone, const GeometricField< Type, fvPatchField, volMesh > &phi) |
template<typename Type > | |
Foam::Map< Type > | getDatafromOtherProc (const boolList &zone, const GeometricField< Type, fvPatchField, volMesh > &phi) |
Public Member Functions inherited from MeshObject< fvMesh, UpdateableMeshObject, zoneDistribute > | |
MeshObject (const fvMesh &mesh) | |
Construct on Mesh type. More... | |
virtual | ~MeshObject ()=default |
Destructor. More... | |
const fvMesh & | mesh () const |
virtual bool | writeData (Ostream &os) const |
Public Member Functions inherited from UpdateableMeshObject< fvMesh > | |
UpdateableMeshObject (const word &typeName, const objectRegistry &obr) | |
Construct from name and instance on registry. More... | |
Public Member Functions inherited from MoveableMeshObject< fvMesh > | |
MoveableMeshObject (const word &typeName, const objectRegistry &obr) | |
Construct from name and instance on registry. More... | |
Public Member Functions inherited from GeometricMeshObject< fvMesh > | |
GeometricMeshObject (const word &typeName, const objectRegistry &obr) | |
Construct from name and instance on registry. More... | |
Public Member Functions inherited from TopologicalMeshObject< fvMesh > | |
TopologicalMeshObject (const word &typeName, const objectRegistry &obr) | |
Construct from name and instance on registry. More... | |
Public Member Functions inherited from meshObject | |
ClassName ("meshObject") | |
meshObject (const word &typeName, const objectRegistry &obr) | |
Construct from name and instance on registry. More... | |
Public Member Functions inherited from regIOobject | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &io, const bool isTime=false) | |
regIOobject (const regIOobject &rio) | |
Copy construct. More... | |
regIOobject (const regIOobject &rio, bool registerCopy) | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
regIOobject (const IOobject &io, const regIOobject &rio) | |
Copy construct with new IO parameters. More... | |
virtual | ~regIOobject () |
Destructor. More... | |
bool | checkIn () |
Add object to registry, if not already registered. More... | |
bool | checkOut () |
Remove all file watches and remove object from registry. More... | |
virtual void | addWatch () |
Add file watch on object (if registered and READ_IF_MODIFIED) More... | |
bool | ownedByRegistry () const |
Is this object owned by the registry? More... | |
bool | store () |
void | release (const bool unregister=false) |
Release ownership of this object from its registry. More... | |
label | eventNo () const |
Event number at last update. More... | |
label & | eventNo () |
Event number at last update. More... | |
bool | upToDate (const regIOobject &) const |
Return true if up-to-date with respect to given object. More... | |
bool | upToDate (const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
void | setUpToDate () |
Set as up-to-date. More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
virtual fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
bool | headerOk () |
Read and check header info. More... | |
Istream & | readStream (const word &, const bool valid=true) |
Return Istream and check object type against that given. More... | |
void | close () |
Close Istream. More... | |
virtual bool | readData (Istream &) |
Virtual readData function. More... | |
virtual bool | read () |
Read object. More... | |
virtual label | addWatch (const fileName &) |
Add file watch for fileName on object if not yet watched. More... | |
const labelList & | watchIndices () const |
Return file-monitoring handles. More... | |
labelList & | watchIndices () |
Return file-monitoring handles. More... | |
virtual bool | modified () const |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | writeObject (IOstreamOption streamOpt, const bool valid) const |
Write using stream options. More... | |
virtual bool | write (const bool valid=true) const |
Write using setting from DB. More... | |
virtual bool | global () const |
Is object global. More... | |
void | operator= (const IOobject &io) |
Copy assignment. More... | |
virtual bool | writeObject (IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType comp, const bool valid) const |
Write using given format, version and compression. More... | |
Public Member Functions inherited from IOobject | |
TypeName ("IOobject") | |
Declare type-name, virtual type (with debug switch) More... | |
IOobject (const IOobject &)=default | |
Copy construct. More... | |
virtual | ~IOobject ()=default |
Destructor. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
Construct from name, instance, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from path, registry, io options. More... | |
IOobject (const IOobject &io, const objectRegistry ®istry) | |
Copy construct, resetting registry. More... | |
IOobject (const IOobject &io, const word &name) | |
Copy construct, resetting name. More... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
const objectRegistry & | db () const |
Return the local objectRegistry. More... | |
const Time & | time () const |
Return time. More... | |
const word & | name () const |
Return name. More... | |
const word & | headerClassName () const |
Return name of the class name read from header. More... | |
word & | headerClassName () |
Return non-constant access to the class name read from header. More... | |
const string & | note () const |
Return the optional note. More... | |
string & | note () |
Return non-constant access to the optional note. More... | |
bool | registerObject () const |
Should object created with this IOobject be registered? More... | |
bool & | registerObject () |
Should object created with this IOobject be registered? More... | |
bool | globalObject () const |
Is object same for all processors? More... | |
bool & | globalObject () |
Is object same for all processors? More... | |
unsigned | labelByteSize () const |
The label byte-size, possibly read from the header. More... | |
unsigned | scalarByteSize () const |
The scalar byte-size, possibly read from the header. More... | |
bool | isHeaderClassName (const word &clsName) const |
Test if headerClassName() equals the given class name. More... | |
template<class Type > | |
bool | isHeaderClassName () const |
Test if headerClassName() equals Type::typeName. More... | |
readOption | readOpt () const |
The read option. More... | |
readOption & | readOpt () |
Non-constant access to the read option. More... | |
writeOption | writeOpt () const |
The write option. More... | |
writeOption & | writeOpt () |
Non-constant access to the write option. More... | |
word | group () const |
Return group (extension part of name) More... | |
word | member () const |
Return member (name without the extension) More... | |
const fileName & | rootPath () const |
const fileName & | caseName () const |
const fileName & | instance () const |
fileName & | instance () |
const fileName & | local () const |
fileName | path () const |
The complete path. More... | |
fileName | path (const word &instance, const fileName &local=fileName::null) const |
The complete path with alternative instance and local. More... | |
fileName | objectPath () const |
The complete path + object name. More... | |
fileName | localFilePath (const word &typeName, const bool search=true) const |
Helper for filePath that searches locally. More... | |
fileName | globalFilePath (const word &typeName, const bool search=true) const |
Helper for filePath that searches up if in parallel. More... | |
bool | readHeader (Istream &is) |
Read header. More... | |
template<class Type > | |
bool | typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true) |
Read header (uses typeFilePath to find file) and check its info. More... | |
template<class Type > | |
void | warnNoRereading () const |
Helper: warn that type does not support re-reading. More... | |
bool | writeHeader (Ostream &os) const |
Write header. More... | |
bool | writeHeader (Ostream &os, const word &objectType) const |
Write header. Allow override of type. More... | |
bool | good () const |
bool | bad () const |
InfoProxy< IOobject > | info () const |
Return info proxy. More... | |
void | operator= (const IOobject &io) |
template<> | |
bool | isHeaderClassName () const |
Specialization for void always returns true (no headerClassName check). More... | |
template<class StringType > | |
Foam::word | groupName (StringType base, const word &group) |
template<class StringType > | |
Foam::word | scopedName (StringType scope, const word &name) |
Static Public Member Functions | |
static zoneDistribute & | New (const fvMesh &) |
Static Public Member Functions inherited from MeshObject< fvMesh, UpdateableMeshObject, zoneDistribute > | |
static const zoneDistribute & | New (const fvMesh &mesh, Args &&... args) |
Get existing or create a new MeshObject. More... | |
static bool | Delete (const fvMesh &mesh) |
Static destructor. More... | |
Static Public Member Functions inherited from meshObject | |
template<class Mesh > | |
static void | movePoints (objectRegistry &obr) |
template<class Mesh > | |
static void | updateMesh (objectRegistry &obr, const mapPolyMesh &mpm) |
template<class Mesh , template< class > class MeshObjectType> | |
static void | clear (objectRegistry &obr) |
template<class Mesh , template< class > class FromType, template< class > class ToType> | |
static void | clearUpto (objectRegistry &obr) |
Static Public Member Functions inherited from regIOobject | |
template<class Type > | |
static Type & | store (Type *p) |
template<class Type > | |
static Type & | store (autoPtr< Type > &aptr) |
template<class Type > | |
static Type & | store (autoPtr< Type > &&aptr) |
template<class Type > | |
static Type & | store (tmp< Type > &tptr) |
template<class Type > | |
static Type & | store (tmp< Type > &&tptr) |
Static Public Member Functions inherited from IOobject | |
static bool | fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name) |
Split path into instance, local, name components. More... | |
template<class StringType > | |
static word | groupName (StringType base, const word &group) |
Create dot-delimited name.group string. More... | |
static word | group (const word &name) |
Return group (extension part of name) More... | |
static word | member (const word &name) |
Return member (name without the extension) More... | |
template<class StringType > | |
static word | scopedName (StringType scope, const word &name) |
Create scope:name or scope_name string. More... | |
static IOobject | selectIO (const IOobject &io, const fileName &altFile, const word &ioName="") |
Return the IOobject, but also consider an alternative file name. More... | |
static Ostream & | writeBanner (Ostream &os, bool noHint=false) |
Write the standard OpenFOAM file/dictionary banner. More... | |
static Ostream & | writeDivider (Ostream &os) |
Write the standard file section divider. More... | |
static Ostream & | writeEndDivider (Ostream &os) |
Write the standard end file divider. More... | |
Additional Inherited Members | |
Public Types inherited from IOobject | |
enum | objectState : char { GOOD, BAD } |
Enumeration defining the valid states of an IOobject. More... | |
enum | readOption : char { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ } |
Enumeration defining the read options. More... | |
enum | writeOption : char { AUTO_WRITE = 0, NO_WRITE = 1 } |
Enumeration defining the write options. More... | |
enum | fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster } |
Enumeration defining the file checking options. More... | |
Static Public Attributes inherited from regIOobject | |
static float | fileModificationSkew |
static int | maxFileModificationPolls |
Static Public Attributes inherited from IOobject | |
static const Enum< fileCheckTypes > | fileCheckTypesNames |
Names for the fileCheckTypes. More... | |
static char | scopeSeparator |
Character for scoping object names (':' or '_') More... | |
static fileCheckTypes | fileModificationChecking |
Type of file modification checking. More... | |
Protected Member Functions inherited from regIOobject | |
bool | readHeaderOk (const IOstream::streamFormat PstreamFormat, const word &typeName) |
Helper: check readOpt flags and read if necessary. More... | |
Istream * | objectStream () |
Construct and return an IFstream for the object. More... | |
Protected Member Functions inherited from IOobject | |
void | setBad (const string &s) |
Set the object state to bad. More... | |
Protected Attributes inherited from MeshObject< fvMesh, UpdateableMeshObject, zoneDistribute > | |
const fvMesh & | mesh_ |
Static Protected Attributes inherited from regIOobject | |
static bool | masterOnlyReading = false |
To flag master-only reading of objects. More... | |
Class for parallel communication in a narrow band. It either provides a Map with the neighbouring values of the selected region or returns a Map of the required values in global addressing. Also holds a reference to the stencil Before the data transfer the communation has to be set up: exchangeFields_.setUpCommforZone(interfaceCell_); Is used in the plicRDF.
Original code supplied by Henning Scheufler, DLR (2019)
Definition at line 64 of file zoneDistribute.H.
|
explicit |
Construct from fvMesh.
Definition at line 91 of file zoneDistribute.C.
TypeName | ( | "zoneDistribute" | ) |
Runtime information.
|
static |
Definition at line 103 of file zoneDistribute.C.
References objectRegistry::getObjectPtr(), mesh, regIOobject::store(), and fvMesh::thisDb().
Update stencil with boolList the size has to match mesh nCells.
Definition at line 130 of file zoneDistribute.C.
References PstreamBuffers::finishedSends(), UPstream::myProcNo(), UPstream::nonBlocking, UPstream::nProcs(), and UPstream::parRun().
Referenced by reconstructedDistanceFunction::constructRDF().
void updateStencil | ( | const boolList & | zone | ) |
Updates stencil with boolList the size has to match mesh nCells.
Definition at line 123 of file zoneDistribute.C.
|
inline |
Stencil reference.
Definition at line 129 of file zoneDistribute.H.
Referenced by reconstructedDistanceFunction::constructRDF().
|
inline |
Addressing reference.
Definition at line 135 of file zoneDistribute.H.
References zoneCellStencils::globalNumbering().
Type getValue | ( | const GeometricField< Type, fvPatchField, volMesh > & | phi, |
const Map< Type > & | valuesFromOtherProc, | ||
const label | gblIdx | ||
) | const |
Gives patchNumber and patchFaceNumber for a given Geometric volume field
Definition at line 84 of file zoneDistributeI.H.
References phi.
Referenced by reconstructedDistanceFunction::constructRDF().
Map<Field<Type> > getFields | ( | const boolList & | zone, |
const GeometricField< Type, fvPatchField, volMesh > & | phi | ||
) |
Returns stencil and provides a Map with globalNumbering.
Map<Type> getDatafromOtherProc | ( | const boolList & | zone, |
const GeometricField< Type, fvPatchField, volMesh > & | phi | ||
) |
Returns stencil and provides a Map with globalNumbering.
Referenced by reconstructedDistanceFunction::constructRDF().
|
virtual |
Implements UpdateableMeshObject< fvMesh >.
Definition at line 195 of file zoneDistribute.C.
|
inlinevirtual |
Implements MoveableMeshObject< fvMesh >.
Definition at line 168 of file zoneDistribute.H.
Foam::Map<Foam::Field<Type> > getFields | ( | const boolList & | zone, |
const GeometricField< Type, fvPatchField, volMesh > & | phi | ||
) |
Definition at line 104 of file zoneDistributeI.H.
References DynamicField< T, SizeMin >::append(), DynamicField< T, SizeMin >::clearStorage(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, and phi.
Foam::Map<Type> getDatafromOtherProc | ( | const boolList & | zone, |
const GeometricField< Type, fvPatchField, volMesh > & | phi | ||
) |
Definition at line 149 of file zoneDistributeI.H.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, PstreamBuffers::finishedSends(), forAll, UPstream::myProcNo(), UPstream::nonBlocking, UPstream::nProcs(), UPstream::parRun(), and phi.