Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
parLagrangianRedistributor Class Reference

Lagrangian field redistributor. More...

Collaboration diagram for parLagrangianRedistributor:
Collaboration graph
[legend]

Public Member Functions

 parLagrangianRedistributor (const fvMesh &srcMesh, const fvMesh &tgtMesh, const label nOldCells, const mapDistributePolyMesh &distMap)
 Construct from components. More...
 
autoPtr< mapDistributeBaseredistributeLagrangianPositions (passiveParticleCloud &cloud) const
 Redistribute and write lagrangian positions. More...
 
autoPtr< mapDistributeBaseredistributeLagrangianPositions (const word &cloudName) const
 Read, redistribute and write lagrangian positions. More...
 
template<class Type >
void redistributeLagrangianFields (const mapDistributeBase &map, const word &cloudName, const IOobjectList &objects, const HashSet< word > &selectedFields) const
 Read, redistribute and write all/selected lagrangian fields. More...
 
template<class Type >
void redistributeLagrangianFieldFields (const mapDistributeBase &map, const word &cloudName, const IOobjectList &objects, const HashSet< word > &selectedFields) const
 Read, redistribute and write all/selected lagrangian fieldFields. More...
 
template<class Container >
void redistributeStoredLagrangianFields (const mapDistributeBase &map, passiveParticleCloud &cloud) const
 Redistribute and write stored lagrangian fields. More...
 
 parLagrangianRedistributor (const fvMesh &srcMesh, const fvMesh &tgtMesh, const label nOldCells, const mapDistributePolyMesh &distMap)
 Construct from components. More...
 
autoPtr< mapDistributeBaseredistributeLagrangianPositions (passiveParticleCloud &cloud) const
 Redistribute and write lagrangian positions. More...
 
autoPtr< mapDistributeBaseredistributeLagrangianPositions (const word &cloudName) const
 Read, redistribute and write lagrangian positions. More...
 
template<class Type >
void redistributeLagrangianFields (const mapDistributeBase &map, const word &cloudName, const IOobjectList &objects, const HashSet< word > &selectedFields) const
 Read, redistribute and write all/selected lagrangian fields. More...
 
template<class Type >
void redistributeLagrangianFieldFields (const mapDistributeBase &map, const word &cloudName, const IOobjectList &objects, const HashSet< word > &selectedFields) const
 Read, redistribute and write all/selected lagrangian fieldFields. More...
 
template<class Container >
void redistributeStoredLagrangianFields (const mapDistributeBase &map, passiveParticleCloud &cloud) const
 Redistribute and write stored lagrangian fields. More...
 
template<class Container >
Foam::wordList filterObjects (const IOobjectList &objects, const HashSet< word > &selectedFields)
 

Static Public Member Functions

static void findClouds (const fvMesh &, wordList &cloudNames, List< wordList > &objectNames)
 Find all clouds (on all processors) and for each cloud all. More...
 
template<class Type >
static wordList filterObjects (const IOobjectList &objects, const HashSet< word > &selectedFields)
 Pick up any fields of a given type. More...
 
template<class Container >
static void readLagrangianFields (const passiveParticleCloud &cloud, const IOobjectList &objects, const HashSet< word > &selectedFields)
 Read and store all fields of a cloud. More...
 
static void findClouds (const fvMesh &, wordList &cloudNames, List< wordList > &objectNames)
 Find all clouds (on all processors) and for each cloud all. More...
 
template<class Type >
static wordList filterObjects (const IOobjectList &objects, const HashSet< word > &selectedFields)
 Pick up any fields of a given type. More...
 
template<class Container >
static void readLagrangianFields (const passiveParticleCloud &cloud, const IOobjectList &objects, const HashSet< word > &selectedFields)
 Read and store all fields of a cloud. More...
 

Private Member Functions

 parLagrangianRedistributor (const parLagrangianRedistributor &)
 Disallow default bitwise copy construct. More...
 
void operator= (const parLagrangianRedistributor &)
 Disallow default bitwise assignment. More...
 
 parLagrangianRedistributor (const parLagrangianRedistributor &)
 Disallow default bitwise copy construct. More...
 
void operator= (const parLagrangianRedistributor &)
 Disallow default bitwise assignment. More...
 

Private Attributes

const fvMeshsrcMesh_
 Source mesh reference. More...
 
const fvMeshtgtMesh_
 Destination mesh reference. More...
 
const mapDistributePolyMeshdistMap_
 Distribution map reference. More...
 
labelList destinationProcID_
 For every src cell the target processor. More...
 
labelList destinationCell_
 For every src cell the target cell. More...
 

Detailed Description

Lagrangian field redistributor.

Runs in parallel. Redistributes from fromMesh to toMesh.

Source files

Runs in parallel. Redistributes from fromMesh to toMesh.

Source files

Definition at line 57 of file parLagrangianRedistributor.H.

Constructor & Destructor Documentation

◆ parLagrangianRedistributor() [1/4]

Disallow default bitwise copy construct.

◆ parLagrangianRedistributor() [2/4]

parLagrangianRedistributor ( const fvMesh srcMesh,
const fvMesh tgtMesh,
const label  nOldCells,
const mapDistributePolyMesh distMap 
)

Construct from components.

Definition at line 33 of file parLagrangianRedistributor.C.

References Foam::identity(), and mapDistribute::reverseDistribute().

Here is the call graph for this function:

◆ parLagrangianRedistributor() [3/4]

Disallow default bitwise copy construct.

◆ parLagrangianRedistributor() [4/4]

parLagrangianRedistributor ( const fvMesh srcMesh,
const fvMesh tgtMesh,
const label  nOldCells,
const mapDistributePolyMesh distMap 
)

Construct from components.

Member Function Documentation

◆ operator=() [1/2]

void operator= ( const parLagrangianRedistributor )
private

Disallow default bitwise assignment.

◆ findClouds() [1/2]

void findClouds ( const fvMesh mesh,
wordList cloudNames,
List< wordList > &  objectNames 
)
static

Find all clouds (on all processors) and for each cloud all.

the objects. Result will be synchronised on all processors

Definition at line 60 of file parLagrangianRedistributor.C.

References Foam::findIndex(), forAll, forAllConstIter(), IOobjectList::lookup(), mesh, Foam::name(), Foam::readDir(), List::setSize(), and List::size().

Referenced by main(), and reconstructLagrangian().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ redistributeLagrangianPositions() [1/4]

Foam::autoPtr< Foam::mapDistributeBase > redistributeLagrangianPositions ( passiveParticleCloud cloud) const

Redistribute and write lagrangian positions.

Definition at line 130 of file parLagrangianRedistributor.C.

References Cloud::addParticle(), List::append(), particle< Type >::cell(), cloudName(), Foam::combineReduce(), PstreamBuffers::finishedSends(), forAll, forAllIter, Foam::invertOneToMany(), List::setSize(), List::size(), Cloud::size(), IOPosition::write(), and List::xfer().

Referenced by reconstructLagrangian(), and redistributeLagrangian().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ redistributeLagrangianPositions() [2/4]

Foam::autoPtr< Foam::mapDistributeBase > redistributeLagrangianPositions ( const word cloudName) const

Read, redistribute and write lagrangian positions.

Definition at line 292 of file parLagrangianRedistributor.C.

References cloudName().

Here is the call graph for this function:

◆ filterObjects() [1/3]

static wordList filterObjects ( const IOobjectList objects,
const HashSet< word > &  selectedFields 
)
static

Pick up any fields of a given type.

◆ redistributeLagrangianFields() [1/2]

void redistributeLagrangianFields ( const mapDistributeBase map,
const word cloudName,
const IOobjectList objects,
const HashSet< word > &  selectedFields 
) const

Read, redistribute and write all/selected lagrangian fields.

Definition at line 68 of file parLagrangianRedistributorRedistributeFields.C.

References cloudName(), mapDistributeBase::distribute(), Foam::endl(), forAll, Foam::Info, List::size(), regIOobject::write(), and Foam::xferMove().

Referenced by reconstructLagrangian().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ redistributeLagrangianFieldFields() [1/2]

void redistributeLagrangianFieldFields ( const mapDistributeBase map,
const word cloudName,
const IOobjectList objects,
const HashSet< word > &  selectedFields 
) const

Read, redistribute and write all/selected lagrangian fieldFields.

Definition at line 140 of file parLagrangianRedistributorRedistributeFields.C.

References List::append(), cloudName(), mapDistributeBase::distribute(), Foam::endl(), forAll, Foam::Info, and List::size().

Referenced by reconstructLagrangian().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readLagrangianFields() [1/2]

void readLagrangianFields ( const passiveParticleCloud cloud,
const IOobjectList objects,
const HashSet< word > &  selectedFields 
)
static

Read and store all fields of a cloud.

Definition at line 225 of file parLagrangianRedistributorRedistributeFields.C.

References Foam::endl(), forAll, Foam::Info, List::size(), objectRegistry::time(), and Time::timeName().

Referenced by readLagrangian().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ redistributeStoredLagrangianFields() [1/2]

void redistributeStoredLagrangianFields ( const mapDistributeBase map,
passiveParticleCloud cloud 
) const

Redistribute and write stored lagrangian fields.

Definition at line 273 of file parLagrangianRedistributorRedistributeFields.C.

References mapDistributeBase::distribute(), Foam::endl(), fields, forAllIter, Foam::Info, objectRegistry::lookupClass(), IOobject::name(), and Foam::xferMove().

Referenced by redistributeLagrangian().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [2/2]

void operator= ( const parLagrangianRedistributor )
private

Disallow default bitwise assignment.

◆ findClouds() [2/2]

static void findClouds ( const fvMesh ,
wordList cloudNames,
List< wordList > &  objectNames 
)
static

Find all clouds (on all processors) and for each cloud all.

the objects. Result will be synchronised on all processors

◆ redistributeLagrangianPositions() [3/4]

autoPtr<mapDistributeBase> redistributeLagrangianPositions ( passiveParticleCloud cloud) const

Redistribute and write lagrangian positions.

◆ redistributeLagrangianPositions() [4/4]

autoPtr<mapDistributeBase> redistributeLagrangianPositions ( const word cloudName) const

Read, redistribute and write lagrangian positions.

◆ filterObjects() [2/3]

static wordList filterObjects ( const IOobjectList objects,
const HashSet< word > &  selectedFields 
)
static

Pick up any fields of a given type.

◆ redistributeLagrangianFields() [2/2]

void redistributeLagrangianFields ( const mapDistributeBase map,
const word cloudName,
const IOobjectList objects,
const HashSet< word > &  selectedFields 
) const

Read, redistribute and write all/selected lagrangian fields.

◆ redistributeLagrangianFieldFields() [2/2]

void redistributeLagrangianFieldFields ( const mapDistributeBase map,
const word cloudName,
const IOobjectList objects,
const HashSet< word > &  selectedFields 
) const

Read, redistribute and write all/selected lagrangian fieldFields.

◆ readLagrangianFields() [2/2]

static void readLagrangianFields ( const passiveParticleCloud cloud,
const IOobjectList objects,
const HashSet< word > &  selectedFields 
)
static

Read and store all fields of a cloud.

◆ redistributeStoredLagrangianFields() [2/2]

void redistributeStoredLagrangianFields ( const mapDistributeBase map,
passiveParticleCloud cloud 
) const

Redistribute and write stored lagrangian fields.

◆ filterObjects() [3/3]

Foam::wordList filterObjects ( const IOobjectList objects,
const HashSet< word > &  selectedFields 
)

Field Documentation

◆ srcMesh_

const fvMesh & srcMesh_
private

Source mesh reference.

Definition at line 62 of file parLagrangianRedistributor.H.

◆ tgtMesh_

const fvMesh & tgtMesh_
private

Destination mesh reference.

Definition at line 65 of file parLagrangianRedistributor.H.

◆ distMap_

const mapDistributePolyMesh & distMap_
private

Distribution map reference.

Definition at line 68 of file parLagrangianRedistributor.H.

◆ destinationProcID_

labelList destinationProcID_
private

For every src cell the target processor.

Definition at line 71 of file parLagrangianRedistributor.H.

◆ destinationCell_

labelList destinationCell_
private

For every src cell the target cell.

Definition at line 74 of file parLagrangianRedistributor.H.


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