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
230 template<
class DataType>
238 template<
class DataType>
273 const bool writeOnProc
291 const
word& fieldName,
302 template<
class ParticleType>
303 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)
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
void checkFieldFieldIOobject(const Cloud< ParticleType > &c, const CompactIOField< Field< DataType >, DataType > &data) const
Check lagrangian data fieldfield.
static const wordRes & null() noexcept
Return a null wordRes (reference to a nullObject). Behaves like a empty wordRes.
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.
class FOAM_DEPRECATED_FOR(2017-05, "Foam::Enum") NamedEnum
const polyMesh & pMesh() const noexcept
Return the polyMesh reference.
IOobject fieldIOobject(const word &fieldName, IOobjectOption::readOption rOpt=IOobjectOption::NO_READ) const
Helper to construct IOobject for field and current time.
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.
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.
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.
A simple container of IOobject preferences. Can also be used for general handling of read/no-read/rea...
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)
IOobject newIOobject(const word &name, IOobjectOption ioOpt) const
Create an IOobject at the current time instance (timeName) with the specified options.
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.