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
321 inline scalar
d0()
const;
327 inline scalar
sigma()
const;
330 inline scalar
mu()
const;
339 inline scalar
y()
const;
342 inline scalar
yDot()
const;
345 inline scalar
tc()
const;
348 inline scalar
ms()
const;
354 inline scalar
tMom()
const;
357 inline scalar
user()
const;
369 inline scalar&
sigma();
384 inline scalar&
yDot();
396 inline scalar&
tMom();
399 inline scalar&
user();
405 template<
class TrackCloudType>
409 template<
class TrackCloudType>
412 TrackCloudType&
cloud,
418 template<
class TrackCloudType>
421 TrackCloudType&
cloud,
427 template<
class TrackCloudType>
430 TrackCloudType&
cloud,
436 template<
class TrackCloudType>
439 TrackCloudType&
cloud,
450 template<
class TrackCloudType>
453 TrackCloudType&
cloud,
460 template<
class TrackCloudType>
463 TrackCloudType&
cloud,
469 template<
class TrackCloudType>
472 TrackCloudType&
cloud,
481 template<
class CloudType,
class CompositionType>
485 const CompositionType& compModel
489 template<
class CloudType>
493 template<
class CloudType,
class CompositionType>
497 const CompositionType& compModel
501 template<
class CloudType>
515 template<
class CloudType>
523 template<
class CloudType,
class CompositionType>
527 const CompositionType& compModel,
533 template<
class CloudType>
541 template<
class CloudType,
class CompositionType>
545 const CompositionType& compModel,
552 friend Ostream& operator<< <ParcelType>
const dimensionedScalar & pMin
Templated base class for dsmc cloud.
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,...
Class to hold reacting particle constant properties.
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.
Factory class to read-construct particles used for.
autoPtr< SprayParcel< ParcelType > > operator()(Istream &is) const
iNew(const polyMesh &mesh)
Reacting spray parcel, with added functionality for atomization and breakup.
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
Construct and return a (basic particle) clone.
scalar injector() const
Return const access to injector id.
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
scalar liquidCore() const
Return const access to liquid core.
scalar d0_
Initial droplet diameter.
scalar tMom() const
Return const access to momentum relaxation time.
vector position0_
Injection position.
void cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
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 mu() const
Return const access to the liquid dynamic viscosity.
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
void calcAtomization(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct parcel properties according to atomization model.
scalar mu_
Liquid dynamic viscosity [Pa.s].
static const std::size_t sizeofFields
Size in bytes of the fields.
scalar sigma_
Liquid surface tension [N/m].
scalar user_
Passive scalar (extra variable to be defined by user)
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write.
TypeName("SprayParcel")
Runtime type information.
scalar yDot() const
Return const access to rate of change of spherical deviation.
AddToPropertyList(ParcelType, " d0"+" position0"+" sigma"+" mu"+" liquidCore"+" KHindex"+" y"+" yDot"+" tc"+" ms"+" injector"+" tMom"+" user")
String representation of properties.
scalar d0() const
Return const access to initial droplet diameter.
ParcelType::trackingData trackingData
Use base tracking data.
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.
scalar tMom_
Momentum relaxation time (needed for calculating parcel acc.)
scalar KHindex() const
Return const access to Kelvin-Helmholtz breakup index.
scalar tc() const
Return const access to atomization characteristic time.
scalar y_
Spherical deviation.
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.
scalar tc_
Characteristic time (used in atomization and/or breakup model)
scalar injector_
Injected from injector (needed e.g. for calculating distance.
scalar KHindex_
Index for KH Breakup.
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 ms() const
Return const access to stripped parcel mass.
scalar y() const
Return const access to spherical deviation.
scalar sigma() const
Return const access to the liquid surface tension.
scalar ms_
Stripped parcel mass due to breakup.
scalar yDot_
Rate of change of spherical deviation.
SprayParcel(const SprayParcel &p, const polyMesh &mesh)
Construct as a copy.
static void readFields(CloudType &c, const CompositionType &compModel)
Read.
scalar user() const
Return const access to passive user scalar.
scalar liquidCore_
Part of liquid core ( >0.5=liquid, <0.5=droplet )
const vector & position0() const
Return const access to initial droplet position.
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,...
Class used to pass data into container.
Registry of regIOobjects.
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)
const dimensionedScalar rhoMin
#define AddToPropertyList(ParcelType, str)
Add to existing static 'propertyList' for particle properties.
scalarList Y0(nSpecie, Zero)
const volScalarField & cp
dimensionedScalar Pr("Pr", dimless, laminarTransport)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.