44 #ifndef ReactingParcel_H 45 #define ReactingParcel_H 56 template<
class ParcelType>
59 template<
class ParcelType>
71 template<
class ParcelType>
86 public ParcelType::constantProperties
133 inline scalar
pMin()
const;
145 public ParcelType::trackingData
165 typedef typename ParcelType::trackingData::trackPart
trackPart;
170 template<
class TrackCloudType>
173 const TrackCloudType&
cloud,
174 trackPart part = ParcelType::trackingData::tpLinearTrack
185 inline scalar
pc()
const;
208 template<
class TrackCloudType>
211 TrackCloudType&
cloud,
219 template<
class TrackCloudType>
222 TrackCloudType&
cloud,
278 const label tetFacei,
297 const label tetFacei,
300 const scalar nParticle0,
302 const scalar dTarget0,
305 const vector& angularMomentum0,
317 bool newFormat =
true 349 const polyMesh& mesh_;
358 autoPtr<ReactingParcel<ParcelType>>
operator()(Istream& is)
const 360 return autoPtr<ReactingParcel<ParcelType>>
362 new ReactingParcel<ParcelType>(mesh_, is,
true)
373 inline scalar
mass0()
const;
394 inline scalar&
mass0();
403 template<
class TrackCloudType>
407 template<
class TrackCloudType>
410 TrackCloudType&
cloud,
416 template<
class TrackCloudType>
419 TrackCloudType&
cloud,
430 template<
class TrackCloudType>
433 TrackCloudType&
cloud,
442 template<
class CloudType,
class CompositionType>
446 const CompositionType& compModel
450 template<
class CloudType>
454 template<
class CloudType,
class CompositionType>
458 const CompositionType& compModel
462 template<
class CloudType>
471 const bool namesOnly =
false 476 template<
class CloudType>
484 template<
class CloudType,
class CompositionType>
488 const CompositionType& compModel,
494 template<
class CloudType>
502 template<
class CloudType,
class CompositionType>
506 const CompositionType& compModel,
513 friend Ostream& operator<< <ParcelType>
Class to hold reacting parcel constant properties.
dimensionedScalar Pr("Pr", dimless, laminarTransport)
volumeUpdateType
Type of activity coefficient models.
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
scalar updatedDeltaVolume(TrackCloudType &cloud, const scalarField &dMass, const scalar p, const scalar T)
Return change of volume due to mass exchange.
scalarList Y0(nSpecie, Zero)
autoPtr< ReactingParcel< ParcelType > > operator()(Istream &is) const
A list of keyword definitions, which are a keyword followed by a number of values (eg...
scalar pc() const
Return the continuous phase pressure.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
scalar updateMassFraction(const scalar mass0, const scalarField &dMass, scalarField &Y) const
Update mass fraction.
scalarField Y_
Mass fractions of mixture [].
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy the source to the destination (recursively if necessary).
const interpolation< scalar > & pInterp() const
Return const access to the interpolator for continuous phase.
ReactingParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
bool constantVolume() const
Return const access to the constant volume flag.
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write - composition supplied.
void cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
static void readFields(CloudType &c, const CompositionType &compModel)
Read - composition supplied.
A class for handling words, derived from Foam::string.
scalar pMin() const
Return const access to the minimum pressure.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly=false) const
Write individual parcel properties to stream.
A cloud is a registry collection of lagrangian particles.
label volUpdateType() const
Return const access to the constant volume flag.
A List of wordRe with additional matching capabilities.
ParcelType::trackingData::trackPart trackPart
void correctSurfaceValues(TrackCloudType &cloud, trackingData &td, const scalar T, const scalarField &Cs, scalar &rhos, scalar &mus, scalar &Prs, scalar &kappas)
Correct surface values due to emitted species.
TypeName("ReactingParcel")
Runtime type information.
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...
OBJstream os(runTime.globalPath()/outputName)
AddToPropertyList(ParcelType, " mass0"+" nPhases(Y1..YN)")
String representation of properties.
iNew(const polyMesh &mesh)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
static const std::size_t sizeofFields
Size in bytes of the fields.
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
const Vector< label > N(dict.get< Vector< label >>("N"))
const scalarField & YSolid() const
Return const access to mass fractions of solids.
scalarField Re(const UList< complex > &cmplx)
Extract real component.
const scalarField & YLiquid() const
Return const access to mass fractions of liquids.
PtrList< coordinateSystem > coordinates(solidRegions.size())
scalar mass0() const
Return const access to initial mass [kg].
const dimensionedScalar c
Speed of light in a vacuum.
void setCellValues(TrackCloudType &cloud, trackingData &td)
Set cell values.
const scalarField & YGas() const
Return const access to mass fractions of gases.
constantProperties()
Null constructor.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
Reacting parcel class with one/two-way coupling with the continuous phase.
Registry of regIOobjects.
scalar mass0_
Initial mass [kg].
trackingData(const TrackCloudType &cloud, trackPart part=ParcelType::trackingData::tpLinearTrack)
Construct from components.
Templated base class for dsmc cloud.
const scalarField & Y() const
Return const access to mass fractions of mixture [].
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
void calcPhaseChange(TrackCloudType &cloud, trackingData &td, const scalar dt, const scalar Re, const scalar Pr, const scalar Ts, const scalar nus, const scalar d, const scalar T, const scalar mass, const scalar rho, const label idPhase, const scalar YPhase, const scalarField &YLiq, const scalarField &YSol, scalarField &dMassPC, scalar &Sh, scalar &N, scalar &NCpW, scalarField &Cs)
Calculate Phase change.
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.