Go to the documentation of this file.
30 template<
class CloudType>
39 volatileData_(this->coeffDict().
lookup(
"volatileData")),
40 YVolatile0_(volatileData_.size()),
41 volatileToGasMap_(volatileData_.size()),
44 if (volatileData_.empty())
47 <<
"Devolatilisation model selected, but no volatiles defined"
52 Info<<
"Participating volatile species:" <<
endl;
55 const label idGas = owner.composition().idGas();
56 const scalar YGasTot = owner.composition().YMixture0()[idGas];
57 const scalarField& YGas = owner.composition().Y0(idGas);
60 const word& specieName = volatileData_[i].name();
61 const label id = owner.composition().localId(idGas, specieName);
62 volatileToGasMap_[i] = id;
63 YVolatile0_[i] = YGasTot*YGas[id];
65 Info<<
" " << specieName <<
": particle mass fraction = "
66 << YVolatile0_[i] <<
endl;
72 template<
class CloudType>
89 template<
class CloudType>
97 template<
class CloudType>
115 const label id = volatileToGasMap_[i];
116 const scalar massVolatile0 = mass0*YVolatile0_[i];
117 const scalar massVolatile = mass*YGasEff[id];
120 done = done && (massVolatile <= residualCoeff_*massVolatile0);
123 const scalar A1 = volatileData_[i].A1();
124 const scalar E = volatileData_[i].E();
130 dMassDV[id] =
min(dt*
kappa*massVolatile, massVolatile);
133 if (done && canCombust != -1)
const scalar RR
Universal gas constant (default in [J/(kmol K)])
A class for handling words, derived from string.
#define forAll(list, i)
Loop across all elements in list.
virtual ~SingleKineticRateDevolatilisation()
Destructor.
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensionedScalar exp(const dimensionedScalar &ds)
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
SingleKineticRateDevolatilisation(const dictionary &dict, CloudType &owner)
Construct from dictionary.
Pre-declare SubField and related Field type.
List< scalar > YVolatile0_
List of initial volatile mass fractions.
Templated base class for dsmc cloud.
List< label > volatileToGasMap_
Mapping between local and cloud gaseous species.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Single kinetic rate devolatisation model.
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.
List< volatileData > volatileData_
List of volatile data - (name A1 E)
const scalar residualCoeff_
Volatile residual coefficient (0-1)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
#define WarningInFunction
Report a warning using Foam::Warning.
stressControl lookup("compactNormalStress") >> compactNormalStress