42 #ifndef ReactingHeterogeneousParcel_H 43 #define ReactingHeterogeneousParcel_H 52 template<
class ParcelType>
55 template<
class ParcelType>
66 template<
class ParcelType>
79 public ParcelType::constantProperties
118 template<
class TrackCloudType>
121 TrackCloudType&
cloud,
129 template<
class TrackCloudType>
132 TrackCloudType&
cloud,
140 template<
class TrackCloudType>
143 TrackCloudType&
cloud,
172 template<
class TrackCloudType>
175 TrackCloudType&
cloud,
183 template<
class TrackCloudType>
186 TrackCloudType&
cloud,
211 TypeName(
"ReactingHeterogeneousParcel");
217 +
" nReactions(F1..FN)" 230 const label tetFacei,
249 const label tetFacei,
252 const scalar nParticle0,
254 const scalar dTarget0,
257 const vector& angularMomentum0,
270 bool newFormat =
true 302 const polyMesh& mesh_;
311 autoPtr<ReactingHeterogeneousParcel<ParcelType>>
operator()
316 return autoPtr<ReactingHeterogeneousParcel<ParcelType>>
318 new ReactingHeterogeneousParcel<ParcelType>
349 template<
class TrackCloudType>
352 TrackCloudType&
cloud,
361 template<
class CloudType,
class CompositionType>
365 const CompositionType& compModel
369 template<
class CloudType>
373 template<
class CloudType,
class CompositionType>
377 const CompositionType& compModel
381 template<
class CloudType>
395 template<
class CloudType>
403 template<
class CloudType,
class CompositionType>
407 const CompositionType& compModel,
413 template<
class CloudType>
421 template<
class CloudType,
class CompositionType>
425 const CompositionType& compModel,
432 friend Ostream& operator<< <ParcelType>
TypeName("ReactingHeterogeneousParcel")
Runtime type information.
ParcelType::trackingData trackingData
Use base tracking data.
iNew(const polyMesh &mesh)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
friend Ostream & operator(Ostream &, const ReactingHeterogeneousParcel< ParcelType > &)
void calcHeterogeneousReactions(TrackCloudType &cloud, trackingData &td, const scalar dt, const scalar Res, const scalar nu, const scalar d, const scalar T, const scalar mass, const label canCombust, const scalar N, scalar &NCpW, const scalarField &YSolid, scalarField &F, scalarField &dMassSRSolid, scalarField &dMassSRCarrier, scalar &Sh, scalar &dhsTrans) const
Calculate surface reactions.
static const std::size_t sizeofFields
Size in bytes of the fields.
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy the source to the destination (recursively if necessary).
Reacting heterogeneous Parcel.
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write - composition supplied.
ReactingHeterogeneousParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, position and topology.
constantProperties()
Null constructor.
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
scalar hRetentionCoeff() const
Return const access to the fraction of enthalpy retained by.
scalar updatedDeltaVolume(TrackCloudType &cloud, const scalarField &dMass, const scalar p, const scalar T)
Return change of volume due to mass exchange.
const scalarField & F() const
Return const access to F.
static void readFields(CloudType &c, const CompositionType &compModel)
Read - composition supplied.
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Class to hold reacting particle constant properties.
A cloud is a registry collection of lagrangian particles.
A List of wordRe with additional matching capabilities.
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
label canCombust() const
Return const access to the canCombust flag.
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)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
label canCombust_
Flag to identify if the particle can devolatilise and combust.
const Vector< label > N(dict.get< Vector< label >>("N"))
AddToPropertyList(ParcelType,+" nReactions(F1..FN)")
String representation of properties.
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
PtrList< coordinateSystem > coordinates(solidRegions.size())
PtrList< volScalarField > & Y
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.
scalarField F_
Progress variables for reactions.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
Registry of regIOobjects.
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
Templated base class for dsmc cloud.