Lagrangian field redistributor. More...
Public Member Functions | |
parLagrangianRedistributor (const fvMesh &srcMesh, const fvMesh &tgtMesh, const label nOldCells, const mapDistributePolyMesh &distMap) | |
Construct from components. More... | |
autoPtr< mapDistributeBase > | redistributeLagrangianPositions (passiveParticleCloud &cloud) const |
Redistribute and write lagrangian positions. More... | |
autoPtr< mapDistributeBase > | redistributeLagrangianPositions (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< mapDistributeBase > | redistributeLagrangianPositions (passiveParticleCloud &cloud) const |
Redistribute and write lagrangian positions. More... | |
autoPtr< mapDistributeBase > | redistributeLagrangianPositions (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 fvMesh & | srcMesh_ |
Source mesh reference. More... | |
const fvMesh & | tgtMesh_ |
Destination mesh reference. More... | |
const mapDistributePolyMesh & | distMap_ |
Distribution map reference. More... | |
labelList | destinationProcID_ |
For every src cell the target processor. More... | |
labelList | destinationCell_ |
For every src cell the target cell. More... | |
Lagrangian field redistributor.
Runs in parallel. Redistributes from fromMesh to toMesh.
Runs in parallel. Redistributes from fromMesh to toMesh.
Definition at line 57 of file parLagrangianRedistributor.H.
|
private |
Disallow default bitwise copy construct.
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().
|
private |
Disallow default bitwise copy construct.
parLagrangianRedistributor | ( | const fvMesh & | srcMesh, |
const fvMesh & | tgtMesh, | ||
const label | nOldCells, | ||
const mapDistributePolyMesh & | distMap | ||
) |
Construct from components.
|
private |
Disallow default bitwise assignment.
|
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().
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().
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().
|
static |
Pick up any fields of a given 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.
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().
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().
|
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().
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().
|
private |
Disallow default bitwise assignment.
|
static |
Find all clouds (on all processors) and for each cloud all.
the objects. Result will be synchronised on all processors
autoPtr<mapDistributeBase> redistributeLagrangianPositions | ( | passiveParticleCloud & | cloud | ) | const |
Redistribute and write lagrangian positions.
autoPtr<mapDistributeBase> redistributeLagrangianPositions | ( | const word & | cloudName | ) | const |
Read, redistribute and write lagrangian positions.
|
static |
Pick up any fields of a given 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.
void redistributeLagrangianFieldFields | ( | const mapDistributeBase & | map, |
const word & | cloudName, | ||
const IOobjectList & | objects, | ||
const HashSet< word > & | selectedFields | ||
) | const |
Read, redistribute and write all/selected lagrangian fieldFields.
|
static |
Read and store all fields of a cloud.
void redistributeStoredLagrangianFields | ( | const mapDistributeBase & | map, |
passiveParticleCloud & | cloud | ||
) | const |
Redistribute and write stored lagrangian fields.
Foam::wordList filterObjects | ( | const IOobjectList & | objects, |
const HashSet< word > & | selectedFields | ||
) |
Definition at line 38 of file parLagrangianRedistributorRedistributeFields.C.
References DynamicList::append(), HashTable< nil, word, string::hash >::empty(), fieldNames, forAll, HashTable< nil, word, string::hash >::found(), IOobjectList::names(), List::size(), and List::transfer().
|
private |
Source mesh reference.
Definition at line 62 of file parLagrangianRedistributor.H.
|
private |
Destination mesh reference.
Definition at line 65 of file parLagrangianRedistributor.H.
|
private |
Distribution map reference.
Definition at line 68 of file parLagrangianRedistributor.H.
|
private |
For every src cell the target processor.
Definition at line 71 of file parLagrangianRedistributor.H.
|
private |
For every src cell the target cell.
Definition at line 74 of file parLagrangianRedistributor.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.