32#ifndef Foam_redistributeLagrangian_H
33#define Foam_redistributeLagrangian_H
46PtrList<unmappedPassivePositionParticleCloud>
56 if (!cloudNames.
empty())
96PtrList<unmappedPassivePositionParticleCloud>
128 if (cloudNames.
empty())
148 const auto& distributor = *distributorPtr;
152 Info<<
"Reconstructing lagrangian fields for cloud "
163 distributor.distributeLagrangianPositions
168 distributor.distributeAllFields
183 const label nOldCells,
208 const auto& distributor = *distributorPtr;
210 for (
auto&
cloud : clouds)
213 distributor.distributeLagrangianPositions(
cloud);
215 distributor.distributeAllStoredFields
List of IOobjects with searching and retrieving facilities.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
const T * set(const label i) const
static word timeName(const scalar t, const int precision=precision_)
bool empty() const noexcept
True if the UList is empty (ie, size() is zero)
void size(const label n)
Older name for setAddressableSize.
bool empty() const noexcept
True if the list is empty (ie, size() is zero)
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
void reset(autoPtr< T > &&other) noexcept
Delete managed object and set to new given pointer.
A cloud is a registry collection of lagrangian particles.
static const word prefix
The prefix to local: lagrangian.
Mesh data needed to do the Finite Volume discretisation.
const Time & time() const
Return the top-level database.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Lagrangian field redistributor.
static void findClouds(const fvMesh &, wordList &cloudNames, List< wordList > &objectNames)
static label readAllFields(const passivePositionParticleCloud &cloud, const IOobjectList &objects, const wordRes &selectedFields=wordRes())
Read and store all fields for known cloud field types.
const labelIOList & tetBasePtIs() const
Return the tetBasePtIs.
label nCells() const noexcept
Number of mesh cells.
passivePositionParticleCloud but with autoMap and writing disabled. Only used for its objectRegistry ...
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
void reconstructLagrangian(autoPtr< parLagrangianDistributor > &distributorPtr, const fvMesh &baseMesh, const fvMesh &mesh, const mapDistributePolyMesh &distMap, const wordRes &selectedFields)
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
PtrList< unmappedPassivePositionParticleCloud > readLagrangian(const fvMesh &mesh, const wordList &cloudNames, const wordRes &selectedFields)
void redistributeLagrangian(autoPtr< parLagrangianDistributor > &distributorPtr, const fvMesh &mesh, const label nOldCells, const mapDistributePolyMesh &distMap, PtrList< unmappedPassivePositionParticleCloud > &clouds)
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.
const word cloudName(propsDict.get< word >("cloud"))