32 template<
class CloudType>
41 volatileData_(this->coeffDict().
lookup(
"volatileData")),
42 YVolatile0_(volatileData_.size()),
43 volatileToGasMap_(volatileData_.size()),
44 residualCoeff_(this->coeffDict().getScalar(
"residualCoeff"))
46 if (volatileData_.
empty())
49 <<
"Devolatilisation model selected, but no volatiles defined" 54 Info<<
"Participating volatile species:" <<
endl;
57 const label idGas =
owner.composition().idGas();
58 const scalar YGasTot =
owner.composition().YMixture0()[idGas];
62 const word& specieName = volatileData_[i].name();
63 const label
id =
owner.composition().localId(idGas, specieName);
64 volatileToGasMap_[i] = id;
65 YVolatile0_[i] = YGasTot*YGas[id];
67 Info<<
" " << specieName <<
": particle mass fraction = " 68 << YVolatile0_[i] <<
endl;
76 template<
class CloudType>
94 const label
id = volatileToGasMap_[i];
95 const scalar massVolatile0 = mass0*YVolatile0_[i];
96 const scalar massVolatile = mass*YGasEff[id];
99 done = done && (massVolatile <= residualCoeff_*massVolatile0);
102 const scalar A1 = volatileData_[i].A1();
103 const scalar E = volatileData_[i].E();
109 dMassDV[id] =
min(dt*
kappa*massVolatile, massVolatile);
112 if (done && canCombust != -1)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
constexpr char nl
The newline '\n' character (0x0a)
bool empty() const noexcept
True if the UList is empty (ie, size() is zero)
Ostream & endl(Ostream &os)
Add newline and flush stream.
Lookup type of boundary radiation properties.
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
const CloudType & owner() const
Return const access to the owner cloud.
#define forAll(list, i)
Loop across all elements in list.
dimensionedScalar exp(const dimensionedScalar &ds)
A class for handling words, derived from Foam::string.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
#define WarningInFunction
Report a warning using Foam::Warning.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Templated devolatilisation model class.
const scalar RR
Universal gas constant: default in [J/(kmol K)].
virtual void calculate(const scalar dt, const scalar age, const scalar mass0, const scalar mass, const scalar T, const scalarField &YGasEff, const scalarField &YLiquidEff, const scalarField &YSolidEff, label &canCombust, scalarField &dMassDV) const
Update model.
Templated base class for dsmc cloud.
SingleKineticRateDevolatilisation(const dictionary &dict, CloudType &owner)
Construct from dictionary.