diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C index 1ac6efe24f..02ef8172b9 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C @@ -44,7 +44,8 @@ Foam::COxidationDiffusionLimitedRate::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::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::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_; } diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H index ad388b10f8..73097256e7 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H @@ -86,6 +86,9 @@ class COxidationDiffusionLimitedRate //- Molecular weight of O2 [kg/kmol] scalar WO2_; + //- Formation enthalpy for CO2 [J/kg] + scalar HcCO2_; + public: diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C index 5f717530ab..c650687b7e 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C @@ -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::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_; } diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H index 3a4b2da2bd..563269b1d6 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H @@ -94,6 +94,9 @@ class COxidationKineticDiffusionLimitedRate //- Molecular weight of O2 [kg/kmol] scalar WO2_; + //- Formation enthalpy for CO2 [J/kg] + scalar HcCO2_; + public: diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C index c2ba2899a7..ea4a5e507a 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C @@ -57,7 +57,8 @@ Foam::COxidationMurphyShaddix::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::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::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_); } diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H index 73981e79d1..26c9cf1701 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H @@ -115,6 +115,9 @@ class COxidationMurphyShaddix //- Molecular weight of O2 [kg/kmol] scalar WO2_; + //- Formation enthalpy for CO2 [J/kg] + scalar HcCO2_; + public: