ENH: Updated coal parcel surface reaction models
This commit is contained in:
parent
5bb2ac5ec7
commit
d2f3ad34d9
@ -44,7 +44,8 @@ Foam::COxidationDiffusionLimitedRate<CloudType>::COxidationDiffusionLimitedRate
|
||||
O2GlobalId_(owner.composition().globalCarrierId("O2")),
|
||||
CO2GlobalId_(owner.composition().globalCarrierId("CO2")),
|
||||
WC_(0.0),
|
||||
WO2_(0.0)
|
||||
WO2_(0.0),
|
||||
HcCO2_(0.0)
|
||||
{
|
||||
// Determine Cs ids
|
||||
label idSolid = owner.composition().idSolid();
|
||||
@ -55,6 +56,8 @@ Foam::COxidationDiffusionLimitedRate<CloudType>::COxidationDiffusionLimitedRate
|
||||
const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
|
||||
WC_ = WCO2 - WO2_;
|
||||
|
||||
HcCO2_ = owner.thermo().carrier().Hc(CO2GlobalId_);
|
||||
|
||||
if (Sb_ < 0)
|
||||
{
|
||||
FatalErrorIn
|
||||
@ -158,14 +161,11 @@ Foam::scalar Foam::COxidationDiffusionLimitedRate<CloudType>::calculate
|
||||
dMassSRCarrier[CO2GlobalId_] += dmCO2;
|
||||
|
||||
const scalar HsC = thermo.solids().properties()[CsLocalId_].Hs(T);
|
||||
const scalar HCO2 = thermo.carrier().H(CO2GlobalId_, T);
|
||||
|
||||
// carrier enthalpy transfer handled by change in composition
|
||||
// const scalar HsO2 = thermo.carrier().Hs(O2GlobalId_, T);
|
||||
// dhsTrans -= dmO2*HsO2;
|
||||
// carrier sensible enthalpy exchange handled via change in mass
|
||||
|
||||
// Heat of reaction [J]
|
||||
return dmC*HsC - dmCO2*HCO2;
|
||||
return dmC*HsC - dmCO2*HcCO2_;
|
||||
}
|
||||
|
||||
|
||||
|
@ -86,6 +86,9 @@ class COxidationDiffusionLimitedRate
|
||||
//- Molecular weight of O2 [kg/kmol]
|
||||
scalar WO2_;
|
||||
|
||||
//- Formation enthalpy for CO2 [J/kg]
|
||||
scalar HcCO2_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
@ -45,7 +45,8 @@ COxidationKineticDiffusionLimitedRate
|
||||
O2GlobalId_(owner.composition().globalCarrierId("O2")),
|
||||
CO2GlobalId_(owner.composition().globalCarrierId("CO2")),
|
||||
WC_(0.0),
|
||||
WO2_(0.0)
|
||||
WO2_(0.0),
|
||||
HcCO2_(0.0)
|
||||
{
|
||||
// Determine Cs ids
|
||||
label idSolid = owner.composition().idSolid();
|
||||
@ -56,6 +57,8 @@ COxidationKineticDiffusionLimitedRate
|
||||
const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
|
||||
WC_ = WCO2 - WO2_;
|
||||
|
||||
HcCO2_ = owner.thermo().carrier().Hc(CO2GlobalId_);
|
||||
|
||||
const scalar YCloc = owner.composition().Y0(idSolid)[CsLocalId_];
|
||||
const scalar YSolidTot = owner.composition().YMixture0()[idSolid];
|
||||
Info<< " C(s): particle mass fraction = " << YCloc*YSolidTot << endl;
|
||||
@ -161,14 +164,11 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate<CloudType>::calculate
|
||||
dMassSRCarrier[CO2GlobalId_] += dmCO2;
|
||||
|
||||
const scalar HsC = thermo.solids().properties()[CsLocalId_].Hs(T);
|
||||
const scalar HCO2 = thermo.carrier().H(CO2GlobalId_, T);
|
||||
|
||||
// carrier enthalpy transfer handled by change in composition
|
||||
// const scalar HsO2 = thermo.carrier().Hs(O2GlobalId_, T);
|
||||
// dhsTrans -= dmO2*HsO2;
|
||||
// carrier sensible enthalpy exchange handled via change in mass
|
||||
|
||||
// Heat of reaction [J]
|
||||
return dmC*HsC - dmCO2*HCO2;
|
||||
return dmC*HsC - dmCO2*HcCO2_;
|
||||
}
|
||||
|
||||
|
||||
|
@ -94,6 +94,9 @@ class COxidationKineticDiffusionLimitedRate
|
||||
//- Molecular weight of O2 [kg/kmol]
|
||||
scalar WO2_;
|
||||
|
||||
//- Formation enthalpy for CO2 [J/kg]
|
||||
scalar HcCO2_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
@ -57,7 +57,8 @@ Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix
|
||||
O2GlobalId_(owner.composition().globalCarrierId("O2")),
|
||||
CO2GlobalId_(owner.composition().globalCarrierId("CO2")),
|
||||
WC_(0.0),
|
||||
WO2_(0.0)
|
||||
WO2_(0.0),
|
||||
HcCO2_(0.0)
|
||||
{
|
||||
// Determine Cs ids
|
||||
label idSolid = owner.composition().idSolid();
|
||||
@ -68,6 +69,8 @@ Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix
|
||||
const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
|
||||
WC_ = WCO2 - WO2_;
|
||||
|
||||
HcCO2_ = owner.thermo().carrier().Hc(CO2GlobalId_);
|
||||
|
||||
const scalar YCloc = owner.composition().Y0(idSolid)[CsLocalId_];
|
||||
const scalar YSolidTot = owner.composition().YMixture0()[idSolid];
|
||||
Info<< " C(s): particle mass fraction = " << YCloc*YSolidTot << endl;
|
||||
@ -221,14 +224,11 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
|
||||
dMassSolid[CsLocalId_] += dOmega*WC_;
|
||||
|
||||
const scalar HsC = thermo.solids().properties()[CsLocalId_].Hs(T);
|
||||
const scalar HCO2 = thermo.carrier().H(CO2GlobalId_, T);
|
||||
|
||||
// carrier enthalpy transfer handled by change in composition
|
||||
// const scalar HsO2 = thermo.carrier().Hs(O2GlobalId_, T);
|
||||
// dhsTrans -= dmO2*HsO2;
|
||||
// carrier sensible enthalpy exchange handled via change in mass
|
||||
|
||||
// Heat of reaction
|
||||
return dOmega*(WC_*HsC - (WC_ + WO2_)*HCO2);
|
||||
// Heat of reaction [J]
|
||||
return dOmega*(WC_*HsC - (WC_ + WO2_)*HcCO2_);
|
||||
}
|
||||
|
||||
|
||||
|
@ -115,6 +115,9 @@ class COxidationMurphyShaddix
|
||||
//- Molecular weight of O2 [kg/kmol]
|
||||
scalar WO2_;
|
||||
|
||||
//- Formation enthalpy for CO2 [J/kg]
|
||||
scalar HcCO2_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user