32template<
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;
76template<
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();
106 const scalar kappa = A1*
exp(-E/(RR*
T));
109 dMassDV[id] =
min(dt*kappa*massVolatile, massVolatile);
112 if (done && canCombust != -1)
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
Templated devolatilisation model class.
Single kinetic rate devolatisation model.
bool empty() const noexcept
True if the UList is empty (ie, size() is zero)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Lookup type of boundary radiation properties.
A class for handling words, derived from Foam::string.
#define WarningInFunction
Report a warning using Foam::Warning.
dimensionedScalar exp(const dimensionedScalar &ds)
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.