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 isWriteProc=true)
 Basic construction. More...
 
 parPointFieldDistributor (const pointMesh &srcMesh, const refPtr< fileOperation > &writeHandler)
 Basic construction. More...
 
 parPointFieldDistributor (const pointMesh &srcMesh, const pointMesh &tgtMesh, const mapDistributePolyMesh &distMap, const bool isWriteProc=true)
 Full construction of source/target. More...
 
 parPointFieldDistributor (const pointMesh &srcMesh, const pointMesh &tgtMesh, const mapDistributePolyMesh &distMap, const refPtr< fileOperation > &writeHandler)
 Full construction of source/target. More...
 
const pointMeshsourceMesh () const noexcept
 The source mesh. More...
 
bool hasMeshPoints () const noexcept
 True if meshPoints (per boundary) for the source mesh have been saved. More...
 
bool hasPatchPointMaps () const noexcept
 True if patch maps (per boundary) exist. More...
 
bool hasTarget () const noexcept
 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 UPtrList< 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 70 of file parPointFieldDistributor.H.

Constructor & Destructor Documentation

◆ parPointFieldDistributor() [1/5]

No copy construct.

◆ parPointFieldDistributor() [2/5]

parPointFieldDistributor ( const pointMesh srcMesh,
const bool  isWriteProc = true 
)
explicit

Basic construction.

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

◆ parPointFieldDistributor() [3/5]

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

Basic construction.

Parameters
srcMeshThe source pointMesh
writeHandlerHandler for output writing

◆ parPointFieldDistributor() [4/5]

parPointFieldDistributor ( const pointMesh srcMesh,
const pointMesh tgtMesh,
const mapDistributePolyMesh distMap,
const bool  isWriteProc = true 
)

Full construction of source/target.

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

◆ parPointFieldDistributor() [5/5]

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

Full construction of source/target.

Parameters
srcMeshThe source pointMesh
tgtMeshThe target pointMesh
distMapThe distribution map
writeHandlerHandler for output writing

Member Function Documentation

◆ operator=()

void operator= ( const parPointFieldDistributor )
delete

No copy assignment.

◆ sourceMesh()

const pointMesh& sourceMesh ( ) const
inlinenoexcept

The source mesh.

Definition at line 210 of file parPointFieldDistributor.H.

◆ hasMeshPoints()

bool hasMeshPoints ( ) const
noexcept

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

◆ hasPatchPointMaps()

bool hasPatchPointMaps ( ) const
noexcept

True if patch maps (per boundary) exist.

◆ hasTarget()

bool hasTarget ( ) const
noexcept

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 UPtrList< 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 134 of file parPointFieldDistributor.H.


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