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 293 const polyMesh& mesh_;
302 autoPtr<SprayParcel<ParcelType>>
operator()(Istream& is)
const 304 return autoPtr<SprayParcel<ParcelType>>
306 new SprayParcel<ParcelType>(mesh_, is,
true)
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();
395 inline scalar&
user();
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>
435 TrackCloudType&
cloud,
446 template<
class TrackCloudType>
449 TrackCloudType&
cloud,
456 template<
class TrackCloudType>
459 TrackCloudType&
cloud,
465 template<
class TrackCloudType>
468 TrackCloudType&
cloud,
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>
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.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
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.
static autoPtr< particle > Clone(const Derived &p)
Clone a particle.
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
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.