56 template<
class ParticleType>
class Cloud;
64 template<
class ParticleType>
88 void checkPatches()
const;
91 void initCloud(
const bool checkClass);
94 void calcCellWallFaces()
const;
97 void readCloudUniformProperties();
100 void writeCloudUniformProperties()
const;
112 template<
class ParticleT>
155 const bool checkClass =
true 179 DynamicList<label>&
labels()
const 187 using typename IDLList<ParticleType>::iterator;
188 using typename IDLList<ParticleType>::const_iterator;
214 template<
class TrackCloudType>
217 TrackCloudType&
cloud,
218 typename ParticleType::trackingData& td,
219 const scalar trackTime
232 const word& fieldName,
237 template<
class DataType>
245 template<
class DataType>
280 const bool writeOnProc
295 template<
class ParticleType>
296 Ostream& operator<<(Ostream& os, const Cloud<ParticleType>&
c);
void readFromFiles(objectRegistry &obr, const wordRes &selectFields, const wordRes &excludeFields=wordRes::null()) const
Read from files into objectRegistry.
ParticleType particleType
Template class for intrusive linked lists.
virtual label nParcels() const
Return the number of particles in the cloud.
void cloudReset(const Cloud< ParticleType > &c)
Reset the particles.
cloud::geometryType geometryType_
Geometry type.
DynamicList< label > & labels() const
Return temporary addressing.
geometryType
Cloud geometry type (internal or IO representations)
void checkFieldFieldIOobject(const Cloud< ParticleType > &c, const CompactIOField< Field< DataType >, DataType > &data) const
Check lagrangian data fieldfield.
A simple container for options an IOstream can normally have.
void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
bool readStoreFile(const IOobject &io, const IOobject &ioNew) const
Helper function to store a cloud field on its registry.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
static word cloudPropertiesName
Name of cloud properties dictionary.
const polyMesh & pMesh() const noexcept
Return the polyMesh reference.
const_iterator cbegin() const
Iterator to first item in list with const access.
void addParticle(ParticleType *pPtr)
Transfer particle to cloud.
Generic templated field type.
void storeGlobalPositions() const
Call this before a topology change.
const word cloudName(propsDict.get< word >("cloud"))
virtual bool writeObject(IOstreamOption streamOpt, const bool writeOnProc) const
Write using stream options.
Intrusive doubly-linked list.
A class for handling words, derived from Foam::string.
A cloud is a registry collection of lagrangian particles.
static const wordRes & null()
Return a null wordRes - a reference to the NullObject.
A List of wordRe with additional matching capabilities.
Cloud(const polyMesh &mesh, const Foam::zero, const word &cloudName)
Construct without particles.
const iterator & end()
End of list for forward iterators.
Base cloud calls templated on particle type.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
void deleteLostParticles()
Remove lost particles from cloud and delete.
virtual void writeFields() const
Write the field data for the cloud of particles Dummy at.
TypeName("Cloud")
Runtime type information.
void move(TrackCloudType &cloud, typename ParticleType::trackingData &td, const scalar trackTime)
Move the particles.
A Field of objects of type <T> with automated input and output using a compact storage. Behaves like IOField except when binary output in case it writes a CompactListList.
const dimensionedScalar c
Speed of light in a vacuum.
IOobject fieldIOobject(const word &fieldName, IOobjectOption::readOption rOpt=IOobjectOption::NO_READ) const
Helper to construct IOobject for field and current time.
void checkFieldIOobject(const Cloud< ParticleType > &c, const IOField< DataType > &data) const
Check lagrangian data field.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
ParticleType parcelType
Parcels are just particles.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
void deleteParticle(ParticleType &p)
Remove particle from cloud and delete.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
Helper IO class to read and write particle coordinates (positions).
Registry of regIOobjects.
iterator begin()
Iterator to first item in list with non-const access.
Defines the attributes of an object for which implicit objectRegistry management is supported...
A primitive field of type <T> with automated input and output.
void writePositions() const
Write positions to <cloudName>_positions.obj file.
readOption
Enumeration defining read preferences.