40#ifndef Foam_lagrangianFieldDecomposer_H
41#define Foam_lagrangianFieldDecomposer_H
60class lagrangianFieldDecomposer
77 lagrangianFieldDecomposer(
const lagrangianFieldDecomposer&) =
delete;
80 void operator=(
const lagrangianFieldDecomposer&) =
delete;
92 lagrangianFieldDecomposer
145 template<
class GeoField>
153 template<
class GeoField>
169 std::unique_ptr<privateCache> cache_;
205 void resize(label nClouds);
220 const lagrangianFieldDecomposer& decomposer,
233 #include "lagrangianFieldDecomposer.txx"
const word cloudName(propsDict.get< word >("cloud"))
Base cloud calls templated on particle type.
A Field of objects of type <T> with automated input and output using a compact storage....
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A primitive field of type <T> with automated input and output.
List of IOobjects with searching and retrieving facilities. Implemented as a HashTable,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
A class for handling file names.
void readAllFields(const label cloudi, const IOobjectList &lagrangianObjects)
Read all fields and field-fields for given cloud and objects.
bool empty() const noexcept
No clouds.
~fieldsCache()
Destructor.
fieldsCache()
Default construct (no clouds).
void decomposeAllFields(const label cloudi, const fileName &cloudDir, const lagrangianFieldDecomposer &decomposer, bool report=false) const
Decompose and write all fields and field-fields for given cloud.
label size() const noexcept
Number of clouds.
fieldsCache(label nClouds)
Construct for given number of clouds.
void resize(label nClouds)
Resize for the number of clouds.
static void readFields(const label cloudi, const IOobjectList &lagrangianObjects, PtrList< PtrList< IOField< Type > > > &cloudFields)
Read the fields and store on the pointer list.
static void readFieldFields(const label cloudi, const IOobjectList &lagrangianObjects, PtrList< PtrList< CompactIOField< Field< Type > > > > &cloudFields)
Read the field-fields and store on the pointer list.
tmp< IOField< Type > > decomposeField(const word &cloudName, const IOField< Type > &field) const
Decompose field.
lagrangianFieldDecomposer(const polyMesh &mesh, const polyMesh &procMesh, const labelUList &faceProcAddressing, const labelUList &cellProcAddressing, const word &cloudName, const Cloud< indexedParticle > &lagrangianPositions, const UList< SLList< indexedParticle * > * > &cellParticles)
Construct from components.
tmp< CompactIOField< Field< Type > > > decomposeFieldField(const word &cloudName, const CompactIOField< Field< Type > > &field) const
Decompose field-field.
void decomposeFields(const word &cloudName, const UPtrList< GeoField > &fields) const
Decompose fields.
void decomposeFieldFields(const word &cloudName, const UPtrList< GeoField > &fields) const
Decompose field-fields.
Mesh consisting of general polyhedral cells.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
LList< SLListBase, T > SLList
List< label > labelList
A List of labels.
UList< label > labelUList
A UList of labels.
multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields