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 298 const polyMesh& mesh_;
307 autoPtr<ReactingHeterogeneousParcel<ParcelType>>
operator()
312 return autoPtr<ReactingHeterogeneousParcel<ParcelType>>
314 new ReactingHeterogeneousParcel<ParcelType>
345 template<
class TrackCloudType>
357 template<
class CloudType,
class CompositionType>
361 const CompositionType& compModel
365 template<
class CloudType>
369 template<
class CloudType,
class CompositionType>
373 const CompositionType& compModel
377 template<
class CloudType>
391 template<
class CloudType>
399 template<
class CloudType,
class CompositionType>
403 const CompositionType& compModel,
409 template<
class CloudType>
417 template<
class CloudType,
class CompositionType>
421 const CompositionType& compModel,
428 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...
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
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.
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...
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
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.