46 template<
class ParcelType>
49 template<
class ParcelType>
60 template<
class ParcelType>
70 public ParcelType::constantProperties
97 const label parcelTypeId,
100 const scalar minParcelMass,
101 const scalar youngsModulus,
102 const scalar poissonsRatio,
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 297 const polyMesh& mesh_;
306 autoPtr<SprayParcel<ParcelType>>
operator()(Istream& is)
const 308 return autoPtr<SprayParcel<ParcelType>>
310 new SprayParcel<ParcelType>(mesh_, is,
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>
dimensionedScalar Pr("Pr", dimless, laminarTransport)
scalar mu0() const
Return const access to the initial dynamic viscosity.
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.
scalarList Y0(nSpecie, Zero)
const dimensionedScalar & pMin
A list of keyword definitions, which are a keyword followed by a number of values (eg...
scalar tMom_
Momentum relaxation time (needed for calculating parcel acc.)
scalar KHindex() const
Return const access to Kelvin-Helmholtz breakup index.
scalar tMom() const
Return const access to momentum relaxation time.
AddToPropertyList(ParcelType, " d0"+" position0"+" sigma"+" mu"+" liquidCore"+" KHindex"+" y"+" yDot"+" tc"+" ms"+" injector"+" tMom"+" user")
String representation of properties.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
scalar sigma0() const
Return const access to the initial surface tension.
scalar liquidCore() const
Return const access to liquid core.
iNew(const polyMesh &mesh)
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy the source to the destination (recursively if necessary).
void calcAtomization(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct parcel properties according to atomization model.
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.
const dimensionedScalar epsilon0
Electric constant: default SI units: [F/m].
const dimensionedScalar rhoMin
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
scalar liquidCore_
Part of liquid core ( >0.5=liquid, <0.5=droplet )
SprayParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
scalar y() const
Return const access to spherical deviation.
scalar chi(TrackCloudType &cloud, trackingData &td, const scalarField &X) const
Calculate the chi-factor for flash-boiling for the.
static const std::size_t sizeofFields
Size in bytes of the fields.
scalar d0() const
Return const access to initial droplet diameter.
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
A class for handling words, derived from Foam::string.
A cloud is a registry collection of lagrangian particles.
scalar mu() const
Return const access to the liquid dynamic viscosity.
autoPtr< SprayParcel< ParcelType > > operator()(Istream &is) const
scalar tc() const
Return const access to atomization characteristic time.
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
A List of wordRe with additional matching capabilities.
scalar injector_
Injected from injector (needed e.g. for calculating distance.
Class to hold reacting particle constant properties.
scalar user_
Passive scalar (extra variable to be defined by user)
static void readFields(CloudType &c, const CompositionType &compModel)
Read.
scalar yDot() const
Return const access to rate of change of spherical deviation.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
OBJstream os(runTime.globalPath()/outputName)
scalar user() const
Return const access to passive user scalar.
constantProperties()
Null constructor.
scalar sigma_
Liquid surface tension [N/m].
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write.
vector position0_
Injection position.
PtrList< coordinateSystem > coordinates(solidRegions.size())
scalar injector() const
Return const access to injector id.
const vector & position0() const
Return const access to initial droplet position.
scalar yDot_
Rate of change of spherical deviation.
const dimensionedScalar c
Speed of light in a vacuum.
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
Write individual parcel properties to stream.
void solveTABEq(TrackCloudType &cloud, trackingData &td, const scalar dt)
Solve the TAB equation.
void setCellValues(TrackCloudType &cloud, trackingData &td)
Set cell values.
scalar ms_
Stripped parcel mass due to breakup.
void cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
scalar d0_
Initial droplet diameter.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
Mesh consisting of general polyhedral cells.
scalar tc_
Characteristic time (used in atomization and/or breakup model)
Registry of regIOobjects.
scalar mu_
Liquid dynamic viscosity [Pa.s].
TypeName("SprayParcel")
Runtime type information.
scalar y_
Spherical deviation.
ParcelType::trackingData trackingData
Use base tracking data.
scalar KHindex_
Index for KH Breakup.
Templated base class for dsmc cloud.
scalar sigma() const
Return const access to the liquid surface tension.
Reacting spray parcel, with added functionality for atomization and breakup.