42 #ifndef Foam_parLagrangianDistributor_H 43 #define Foam_parLagrangianDistributor_H 54 class mapDistributePolyMesh;
55 class mapDistributeBase;
57 class passivePositionParticleCloud;
105 const label nOldCells,
130 template<
class Container>
207 template<
class Container>
static void findClouds(const fvMesh &, wordList &cloudNames, List< wordList > &objectNames)
Find all clouds (on all processors) and for each cloud all the objects. Result will be synchronised o...
static int verbose_
Output verbosity when writing.
label distributeFields(const mapDistributeBase &map, const word &cloudName, const IOobjectList &objects, const wordRes &selectedFields=wordRes()) const
Read, redistribute and write all/selected lagrangian fields.
List of IOobjects with searching and retrieving facilities. Implemented as a HashTable, so the various sorted methods should be used if traversing in parallel.
label distributeAllStoredFields(const mapDistributeBase &lagrangianMap, passivePositionParticleCloud &cloud) const
Redistribute and write all stored lagrangian fields.
A Cloud of passive particles.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
void operator=(const parLagrangianDistributor &)=delete
No copy assignment.
const word cloudName(propsDict.get< word >("cloud"))
label distributeAllFields(const mapDistributeBase &lagrangianMap, const word &cloudName, const IOobjectList &cloudObjs, const wordRes &selectedFields) const
Redistribute all fields for known cloud field types.
A class for handling words, derived from Foam::string.
A cloud is a registry collection of lagrangian particles.
A List of wordRe with additional matching capabilities.
Class containing processor-to-processor mapping information.
label distributeFieldFields(const mapDistributeBase &map, const word &cloudName, const IOobjectList &objects, const wordRes &selectedFields=wordRes()) const
Read, redistribute and write all/selected lagrangian fieldFields.
static wordList filterObjects(const IOobjectList &objects, const wordRes &selectedFields=wordRes())
Pick up any fields of a given type.
parLagrangianDistributor(const parLagrangianDistributor &)=delete
No copy construct.
Lagrangian field redistributor.
Mesh data needed to do the Finite Volume discretisation.
static label readFields(const passivePositionParticleCloud &cloud, const IOobjectList &objects, const wordRes &selectedFields=wordRes())
Read and store all fields of a cloud.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
static label readAllFields(const passivePositionParticleCloud &cloud, const IOobjectList &objects, const wordRes &selectedFields=wordRes())
Read and store all fields for known cloud field types.
label distributeStoredFields(const mapDistributeBase &map, passivePositionParticleCloud &cloud) const
Redistribute and write stored lagrangian fields.
autoPtr< mapDistributeBase > distributeLagrangianPositions(passivePositionParticleCloud &cloud) const
Redistribute and write lagrangian positions.