parPointFieldDistributor Class Reference

Distributor/redistributor for point fields, uses a two (or three) stage construction. More...

Public Member Functions

 parPointFieldDistributor (const parPointFieldDistributor &)=delete
 No copy construct. More...
 
void operator= (const parPointFieldDistributor &)=delete
 No copy assignment. More...
 
 parPointFieldDistributor (const pointMesh &srcMesh, const bool savePoints, const bool isWriteProc)
 Basic construction. More...
 
 parPointFieldDistributor (const pointMesh &srcMesh, const bool savePoints, refPtr< fileOperation > &writeHandler)
 Basic construction. More...
 
 parPointFieldDistributor (const pointMesh &srcMesh, const pointMesh &tgtMesh, const mapDistributePolyMesh &distMap, const bool savePoints, const bool isWriteProc)
 Full construction of source/target. More...
 
 parPointFieldDistributor (const pointMesh &srcMesh, const pointMesh &tgtMesh, const mapDistributePolyMesh &distMap, const bool savePoints, refPtr< fileOperation > &writeHandler)
 Full construction of source/target. More...
 
bool hasMeshPoints () const
 True if meshPoints (per boundary) for the source mesh have been saved. More...
 
bool hasPatchPointMaps () const
 True if patch maps (per boundary) exist. More...
 
bool hasTarget () const
 True if a target mesh/distribution map has been attached. More...
 
void clearMeshPoints ()
 Clear out meshPoints (per boundary) for the source mesh. More...
 
void clearPatchPointMaps ()
 Clear out patch maps (per boundary) More...
 
void saveMeshPoints ()
 Create/recreate meshPoints (per boundary) for the source mesh. More...
 
void createPatchPointMaps ()
 Construct per-patch addressing. More...
 
void resetTarget ()
 Clear target mesh / distribution map. More...
 
void resetTarget (const pointMesh &tgtMesh, const mapDistributePolyMesh &distMap)
 Reset target mesh / distribution map. More...
 
label distributeAllFields (const IOobjectList &objects, const wordRes &selectedFields=wordRes()) const
 Read, distribute and write all/selected point field types (scalar, vector, ... types) More...
 
template<class Type >
tmp< GeometricField< Type, pointPatchField, pointMesh > > distributeField (const GeometricField< Type, pointPatchField, pointMesh > &fld) const
 Distribute point field. More...
 
template<class Type >
tmp< GeometricField< Type, pointPatchField, pointMesh > > distributePointField (const IOobject &fieldObject) const
 Read and distribute point field. More...
 
template<class Type >
label distributePointFields (const IOobjectList &objects, const wordRes &selectedFields=wordRes()) const
 Read, distribute and write all/selected point fields. More...
 
template<class Type >
void distributeAndStore (const PtrList< GeometricField< Type, pointPatchField, pointMesh >> &) const
 Distributed each (unregistered!) point field and store the result on its objectRegistry. More...
 

Static Public Attributes

static int verbose_
 Output verbosity when writing. More...
 

Detailed Description

Distributor/redistributor for point fields, uses a two (or three) stage construction.

The inconvenient multi-stage construction is needed since the pointMesh is directly associated with a polyMesh, which will probably have changed while creating the target mesh. This means that it is necessary to save the size of the source mesh and all of its patch meshPoints prior to making any changes (eg, creating the target mesh).

  1. Create with specified source mesh
  2. Save the meshPoints (per boundary) for the source mesh
  3. Attach a target mesh and mesh distribution
  4. Map the point fields

Runs in parallel. Redistributes from srcMesh to tgtMesh.

Source files

Definition at line 71 of file parPointFieldDistributor.H.

Constructor & Destructor Documentation

◆ parPointFieldDistributor() [1/5]

No copy construct.

◆ parPointFieldDistributor() [2/5]

parPointFieldDistributor ( const pointMesh srcMesh,
const bool  savePoints,
const bool  isWriteProc 
)
explicit

Basic construction.

Parameters
srcMeshThe source pointMesh
savePointsCall saveMeshPoints() immediately
isWriteProcTagged for output writing (on this proc)

◆ parPointFieldDistributor() [3/5]

parPointFieldDistributor ( const pointMesh srcMesh,
const bool  savePoints,
refPtr< fileOperation > &  writeHandler 
)
explicit

Basic construction.

Parameters
srcMeshThe source pointMesh
savePointsCall saveMeshPoints() immediately
writeHandlerValid for output writing (on this proc)

◆ parPointFieldDistributor() [4/5]

parPointFieldDistributor ( const pointMesh srcMesh,
const pointMesh tgtMesh,
const mapDistributePolyMesh distMap,
const bool  savePoints,
const bool  isWriteProc 
)
explicit

Full construction of source/target.

Parameters
srcMeshThe source pointMesh
tgtMeshThe target pointMesh
distMapThe distribution map
savePointsCall saveMeshPoints() immediately
isWriteProcTagged for output writing (on this proc)

◆ parPointFieldDistributor() [5/5]

parPointFieldDistributor ( const pointMesh srcMesh,
const pointMesh tgtMesh,
const mapDistributePolyMesh distMap,
const bool  savePoints,
refPtr< fileOperation > &  writeHandler 
)
explicit

Full construction of source/target.

Parameters
srcMeshThe source pointMesh
tgtMeshThe target pointMesh
distMapThe distribution map
savePointsCall saveMeshPoints() immediately
writeHandlerValid for output writing (on this proc)

Member Function Documentation

◆ operator=()

void operator= ( const parPointFieldDistributor )
delete

No copy assignment.

◆ hasMeshPoints()

bool hasMeshPoints ( ) const

True if meshPoints (per boundary) for the source mesh have been saved.

◆ hasPatchPointMaps()

bool hasPatchPointMaps ( ) const

True if patch maps (per boundary) exist.

◆ hasTarget()

bool hasTarget ( ) const

True if a target mesh/distribution map has been attached.

◆ clearMeshPoints()

void clearMeshPoints ( )

Clear out meshPoints (per boundary) for the source mesh.

◆ clearPatchPointMaps()

void clearPatchPointMaps ( )

Clear out patch maps (per boundary)

◆ saveMeshPoints()

void saveMeshPoints ( )

Create/recreate meshPoints (per boundary) for the source mesh.

◆ createPatchPointMaps()

void createPatchPointMaps ( )

Construct per-patch addressing.

◆ resetTarget() [1/2]

void resetTarget ( )

Clear target mesh / distribution map.

◆ resetTarget() [2/2]

void resetTarget ( const pointMesh tgtMesh,
const mapDistributePolyMesh distMap 
)

Reset target mesh / distribution map.

◆ distributeAllFields()

label distributeAllFields ( const IOobjectList objects,
const wordRes selectedFields = wordRes() 
) const

Read, distribute and write all/selected point field types (scalar, vector, ... types)

◆ distributeField()

tmp<GeometricField<Type, pointPatchField, pointMesh> > distributeField ( const GeometricField< Type, pointPatchField, pointMesh > &  fld) const

Distribute point field.

◆ distributePointField()

tmp<GeometricField<Type, pointPatchField, pointMesh> > distributePointField ( const IOobject fieldObject) const

Read and distribute point field.

◆ distributePointFields()

label distributePointFields ( const IOobjectList objects,
const wordRes selectedFields = wordRes() 
) const

Read, distribute and write all/selected point fields.

◆ distributeAndStore()

void distributeAndStore ( const PtrList< GeometricField< Type, pointPatchField, pointMesh >> &  ) const

Distributed each (unregistered!) point field and store the result on its objectRegistry.

Member Data Documentation

◆ verbose_

int verbose_
static

Output verbosity when writing.

Definition at line 126 of file parPointFieldDistributor.H.


The documentation for this class was generated from the following file: