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>
147 const bool checkClass =
true 171 DynamicList<label>&
labels()
const 179 using typename IDLList<ParticleType>::iterator;
180 using typename IDLList<ParticleType>::const_iterator;
206 template<
class TrackCloudType>
209 TrackCloudType&
cloud,
210 typename ParticleType::trackingData& td,
211 const scalar trackTime
224 const word& fieldName,
229 template<
class DataType>
237 template<
class DataType>
272 const bool writeOnProc
287 template<
class ParticleType>
288 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.
Cloud(const polyMesh &mesh, const word &cloudName, const IDLList< ParticleType > &particles)
Construct from mesh and a list of particles.
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_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.
Base cloud calls templated on particle type.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Database for solution data, solver performance and other reduced data.
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.
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.
const polyMesh & pMesh() const
Return the polyMesh reference.
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.