32 #ifndef Foam_redistributeLagrangian_H 33 #define Foam_redistributeLagrangian_H 56 if (!cloudNames.
empty())
96 PtrList<unmappedPassivePositionParticleCloud>
100 const wordRes& selectedFields
104 List<wordList> fieldNames;
114 autoPtr<parLagrangianDistributor>& distributorPtr,
115 const fvMesh& baseMesh,
117 const mapDistributePolyMesh& distMap,
118 const wordRes& selectedFields
124 List<wordList> fieldNames;
128 if (cloudNames.empty())
139 new parLagrangianDistributor
148 const auto& distributor = *distributorPtr;
152 Info<<
"Reconstructing lagrangian fields for cloud " 155 IOobjectList cloudObjs
162 autoPtr<mapDistributeBase> lagrangianMapPtr =
163 distributor.distributeLagrangianPositions
168 distributor.distributeAllFields
181 autoPtr<parLagrangianDistributor>& distributorPtr,
183 const label nOldCells,
184 const mapDistributePolyMesh& distMap,
185 PtrList<unmappedPassivePositionParticleCloud>& clouds
199 new parLagrangianDistributor
208 const auto& distributor = *distributorPtr;
210 for (
auto& cloud : clouds)
212 autoPtr<mapDistributeBase> lagrangianMapPtr =
213 distributor.distributeLagrangianPositions(cloud);
215 distributor.distributeAllStoredFields
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...
void size(const label n)
Older name for setAddressableSize.
List of IOobjects with searching and retrieving facilities. Implemented as a HashTable, so the various sorted methods should be used if traversing in parallel.
const labelIOList & tetBasePtIs() const
Return the tetBasePtIs.
constexpr char nl
The newline '\n' character (0x0a)
bool empty() const noexcept
True if List is empty (ie, size() is zero)
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Time & time() const
Return the top-level database.
passivePositionParticleCloud but with autoMap and writing disabled. Only used for its objectRegistry ...
#define forAll(list, i)
Loop across all elements in list.
void redistributeLagrangian(autoPtr< parLagrangianDistributor > &distributorPtr, const fvMesh &mesh, const label nOldCells, const mapDistributePolyMesh &distMap, PtrList< unmappedPassivePositionParticleCloud > &clouds)
const word cloudName(propsDict.get< word >("cloud"))
A List of wordRe with additional matching capabilities.
void reconstructLagrangian(autoPtr< parLagrangianDistributor > &distributorPtr, const fvMesh &baseMesh, const fvMesh &mesh, const mapDistributePolyMesh &distMap, const wordRes &selectedFields)
static word timeName(const scalar t, const int precision=precision_)
Return time name of given scalar time formatted with the given precision.
List< word > wordList
List of word.
PtrList< unmappedPassivePositionParticleCloud > readLagrangian(const fvMesh &mesh, const wordList &cloudNames, const wordRes &selectedFields)
label nCells() const noexcept
Number of mesh cells.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Mesh data needed to do the Finite Volume discretisation.
messageStream Info
Information stream (stdout output on master, null elsewhere)
static label readAllFields(const passivePositionParticleCloud &cloud, const IOobjectList &objects, const wordRes &selectedFields=wordRes())
Read and store all fields for known cloud field types.
static const word prefix
The prefix to local: lagrangian.