46template<
class ParcelType>
49template<
class ParcelType>
60template<
class ParcelType>
70 public ParcelType::constantProperties
97 const label parcelTypeId,
100 const scalar minParcelMass,
101 const scalar youngsModulus,
102 const scalar poissonsRatio,
107 const scalar epsilon0,
111 const bool constantVolume,
120 inline scalar
sigma0()
const;
123 inline scalar
mu0()
const;
217 const label tetFacei,
236 const label tetFacei,
239 const scalar nParticle0,
241 const scalar dTarget0,
244 const vector& angularMomentum0,
256 const typename ParcelType::constantProperties& constProps
265 bool newFormat =
true
302 autoPtr<SprayParcel<ParcelType>>
operator()(Istream& is)
const
304 return autoPtr<SprayParcel<ParcelType>>
317 inline scalar
d0()
const;
323 inline scalar
sigma()
const;
326 inline scalar
mu()
const;
335 inline scalar
y()
const;
338 inline scalar
yDot()
const;
341 inline scalar
tc()
const;
344 inline scalar
ms()
const;
350 inline scalar
tMom()
const;
353 inline scalar
user()
const;
365 inline scalar&
sigma();
380 inline scalar&
yDot();
392 inline scalar&
tMom();
401 template<
class TrackCloudType>
405 template<
class TrackCloudType>
408 TrackCloudType&
cloud,
414 template<
class TrackCloudType>
417 TrackCloudType&
cloud,
423 template<
class TrackCloudType>
426 TrackCloudType&
cloud,
432 template<
class TrackCloudType>
446 template<
class TrackCloudType>
449 TrackCloudType&
cloud,
456 template<
class TrackCloudType>
459 TrackCloudType&
cloud,
465 template<
class TrackCloudType>
477 template<
class CloudType,
class CompositionType>
481 const CompositionType& compModel
485 template<
class CloudType>
489 template<
class CloudType,
class CompositionType>
493 const CompositionType& compModel
497 template<
class CloudType>
511 template<
class CloudType>
519 template<
class CloudType,
class CompositionType>
523 const CompositionType& compModel,
529 template<
class CloudType>
537 template<
class CloudType,
class CompositionType>
541 const CompositionType& compModel,
548 friend Ostream& operator<< <ParcelType>
const dimensionedScalar & pMin
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
scalar mu0() const
Return const access to the initial dynamic viscosity.
constantProperties()
Null constructor.
scalar sigma0() const
Return const access to the initial surface tension.
autoPtr< SprayParcel< ParcelType > > operator()(Istream &is) const
iNew(const polyMesh &mesh)
Reacting spray parcel, with added functionality for atomization and breakup.
scalar & tc()
Return access to atomization characteristic time.
scalar chi(TrackCloudType &cloud, trackingData &td, const scalarField &X) const
Calculate the chi-factor for flash-boiling for the.
virtual autoPtr< particle > clone(const polyMesh &mesh) const
Return a (basic particle) clone.
SprayParcel(const polyMesh &mesh, const vector &position, const label celli)
Construct from a position and a cell, searching for the rest of the.
static void writeObjects(const CloudType &c, const CompositionType &compModel, objectRegistry &obr)
Write particle fields as objects into the obr registry.
scalar & y()
Return access to spherical deviation.
scalar & liquidCore()
Return access to liquid core.
scalar & KHindex()
Return access to Kelvin-Helmholtz breakup index.
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
scalar liquidCore() const
scalar & yDot()
Return access to rate of change of spherical deviation.
void cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
SprayParcel(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 &f0, const vector &angularMomentum0, const vector &torque0, const scalarField &Y0, const scalar liquidCore, const scalar KHindex, const scalar y, const scalar yDot, const scalar tc, const scalar ms, const scalar injector, const scalar tMom, const scalar user, const typename ParcelType::constantProperties &constProps)
Construct from components.
void correctSurfaceValues(TrackCloudType &cloud, trackingData &td, const scalar T, const scalarField &Cs, scalar &rhos, scalar &mus, scalar &Pr, scalar &kappa)
Correct surface values due to emitted species.
scalar & tMom()
Return access to momentum relaxation time.
scalar mu() const
Return const access to the liquid dynamic viscosity.
scalar & d0()
Return access to initial droplet diameter.
scalar & user()
Return access to passive user scalar.
virtual autoPtr< particle > clone() const
Return a (basic particle) clone.
void calcAtomization(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct parcel properties according to atomization model.
static const std::size_t sizeofFields
scalar & sigma()
Return access to the liquid surface tension.
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write.
TypeName("SprayParcel")
Runtime type information.
AddToPropertyList(ParcelType, " d0"+" position0"+" sigma"+" mu"+" liquidCore"+" KHindex"+" y"+" yDot"+" tc"+" ms"+" injector"+" tMom"+" user")
String representation of properties.
static void readObjects(CloudType &c, const CompositionType &compModel, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
SprayParcel(const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
Construct from Istream.
ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::trackingData trackingData
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
void solveTABEq(TrackCloudType &cloud, trackingData &td, const scalar dt)
Solve the TAB equation.
static void writeFields(const CloudType &c)
Write - composition supplied.
vector & position0()
Return access to initial droplet position.
scalar & injector()
Return access to injector id.
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
Write individual parcel properties to stream.
SprayParcel(const SprayParcel &p)
Construct as a copy.
SprayParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
void setCellValues(TrackCloudType &cloud, trackingData &td)
Set cell values.
void calcBreakup(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct parcel properties according to breakup model.
scalar sigma() const
Return const access to the liquid surface tension.
static void readFields(CloudType &c)
Read - no composition.
scalar & ms()
Return access to stripped parcel mass.
SprayParcel(const SprayParcel &p, const polyMesh &mesh)
Construct as a copy.
static void readFields(CloudType &c, const CompositionType &compModel)
const vector & position0() const
Return const access to initial droplet position.
scalar & mu()
Return access to the liquid dynamic viscosity.
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A cloud is a registry collection of lagrangian particles.
Class for demand-driven dictionary entries.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Registry of regIOobjects.
vector position() const
Return current particle position.
static autoPtr< particle > Clone(const Derived &p)
Clone a particle.
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.
OBJstream os(runTime.globalPath()/outputName)
const dimensionedScalar rhoMin
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
DSMCCloud< dsmcParcel > CloudType
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy the source to the destination (recursively if necessary).
Barycentric< scalar > barycentric
A scalar version of the templated Barycentric.
#define AddToPropertyList(ParcelType, str)
Add to existing static 'propertyList' for particle properties.
scalarList Y0(nSpecie, Zero)
dimensionedScalar Pr("Pr", dimless, laminarTransport)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.