58template<
class ParcelType>
66template<
class ParcelType>
77template<
class ParcelType>
90 public ParcelType::trackingData
141 template<
class TrackCloudType>
144 const TrackCloudType&
cloud,
150 template<
class TrackCloudType>
183 " (UCorrectx UCorrecty UCorrectz)"
196 const label tetFacei,
215 const label tetFacei,
218 const scalar nParticle0,
220 const scalar dTarget0,
223 const typename ParcelType::constantProperties& constProps
232 bool newFormat =
true
265 autoPtr<MPPICParcel<ParcelType>>
operator()(Istream& is)
const
267 return autoPtr<MPPICParcel<ParcelType>>
289 template<
class TrackCloudType>
292 TrackCloudType&
cloud,
294 const scalar trackTime
303 template<
class CloudType>
307 template<
class CloudType>
316 const bool namesOnly =
false
320 template<
class CloudType>
324 template<
class CloudType>
330 friend Ostream& operator<< <ParcelType>
Base class for lagrangian averaging methods.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
iNew(const polyMesh &mesh)
autoPtr< MPPICParcel< ParcelType > > operator()(Istream &is) const
trackingData(const TrackCloudType &cloud, trackPart part=tpLinearTrack)
Constructors.
trackPart part() const
Access.
void updateAverages(const TrackCloudType &cloud)
Update the MPPIC averages.
Wrapper around kinematic parcel types to add MPPIC modelling.
const vector & UCorrect() const
Return const access to correction velocity.
virtual autoPtr< particle > clone(const polyMesh &mesh) const
Return a (basic particle) clone.
vector & UCorrect()
Return access to correction velocity.
MPPICParcel(const MPPICParcel &p, const polyMesh &mesh)
Construct as a copy.
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
AddToPropertyList(ParcelType, " (UCorrectx UCorrecty UCorrectz)")
String representation of properties.
virtual autoPtr< particle > clone() const
Return a (basic particle) clone.
static const std::size_t sizeofFields
MPPICParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const label typeId, const scalar nParticle0, const scalar d0, const scalar dTarget0, const vector &U0, const vector &UCorrect0, const typename ParcelType::constantProperties &constProps)
Construct from components.
MPPICParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
MPPICParcel(const MPPICParcel &p)
Construct as a copy.
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
static void writeFields(const CloudType &c)
Write.
bool move(TrackCloudType &cloud, trackingData &td, const scalar trackTime)
Move the parcel.
MPPICParcel(const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
Construct from Istream.
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly=false) const
Write individual parcel properties to stream.
static void readFields(CloudType &c)
TypeName("MPPICParcel")
Runtime type information.
MPPICParcel(const polyMesh &mesh, const vector &position, const label celli)
Construct from a position and a cell, searching for the rest of the.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A cloud is a registry collection of lagrangian particles.
Registry of regIOobjects.
vector position() const
Return current particle position.
static autoPtr< particle > Clone(const Derived &p)
Clone a particle.
const polyMesh & mesh() const noexcept
Return the mesh database.
const barycentric & coordinates() const noexcept
Return current particle coordinates.
Mesh consisting of general polyhedral cells.
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
PtrList< coordinateSystem > coordinates(solidRegions.size())
OBJstream os(runTime.globalPath()/outputName)
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
DSMCCloud< dsmcParcel > CloudType
Barycentric< scalar > barycentric
A scalar version of the templated Barycentric.
#define AddToPropertyList(ParcelType, str)
Add to existing static 'propertyList' for particle properties.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.