diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C index e36fd1cbfdc86aa2b0b10e20f895f015aefcf6dc..05daafb40396dc085121816b646c2b3fcb46f936 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C @@ -59,10 +59,10 @@ Foam::COxidationDiffusionLimitedRate::COxidationDiffusionLimitedRate CsLocalId_ = owner.composition().localId(idSolid, "C"); // Set local copies of thermo properties - WO2_ = owner().composition().gases()[O2GlobalId_].W(); - scalar WCO2 = owner().composition().gases()[CO2GlobalId_].W(); + WO2_ = owner().composition().carrierSpecies()[O2GlobalId_].W(); + scalar WCO2 = owner().composition().carrierSpecies()[CO2GlobalId_].W(); WC_ = WCO2 - WO2_; - HcCO2_ = owner().composition().gases()[CO2GlobalId_].Hc(); + HcCO2_ = owner().composition().carrierSpecies()[CO2GlobalId_].Hc(); if (Sb_ < 0) { @@ -138,7 +138,7 @@ Foam::scalar Foam::COxidationDiffusionLimitedRate::calculate const scalar dmO2 = dmC/WC_*Sb_*WO2_; // Mass of newly created CO2 [kg] - const scalar dmCO2 = dmC + dmO2; + const scalar dmCO2 = dmC + dmO2; // Update local particle C mass dMassSolid[CsLocalId_] += dmC; diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C index a58094f29e3824116f92c24f6a104c9492d39aba..77e6ebee6a0d2e45bd18ac897c499a1eab329e55 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C @@ -62,10 +62,10 @@ COxidationKineticDiffusionLimitedRate CsLocalId_ = owner.composition().localId(idSolid, "C"); // Set local copies of thermo properties - WO2_ = owner().composition().gases()[O2GlobalId_].W(); - scalar WCO2 = owner().composition().gases()[CO2GlobalId_].W(); + WO2_ = owner().composition().carrierSpecies()[O2GlobalId_].W(); + scalar WCO2 = owner().composition().carrierSpecies()[CO2GlobalId_].W(); WC_ = WCO2 - WO2_; - HcCO2_ = owner().composition().gases()[CO2GlobalId_].Hc(); + HcCO2_ = owner().composition().carrierSpecies()[CO2GlobalId_].Hc(); if (Sb_ < 0) { @@ -150,7 +150,7 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate::calculate const scalar dmO2 = dmC/WC_*Sb_*WO2_; // Mass of newly created CO2 [kg] - const scalar dmCO2 = dmC + dmO2; + const scalar dmCO2 = dmC + dmO2; // Update local particle C mass dMassSolid[CsLocalId_] += dmC; diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C index 10deb09404dc7f356badcf548c84faeb20047353..3b038010f752dab167c8c3c812481dcf0869f2a0 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C @@ -47,17 +47,16 @@ Foam::COxidationMurphyShaddix::COxidationMurphyShaddix owner, typeName ), - coeffDict_(dict.subDict(typeName + "Coeffs")), - D0_(dimensionedScalar(coeffDict_.lookup("D0")).value()), - rho0_(dimensionedScalar(coeffDict_.lookup("rho0")).value()), - T0_(dimensionedScalar(coeffDict_.lookup("T0")).value()), - Dn_(dimensionedScalar(coeffDict_.lookup("Dn")).value()), - A_(dimensionedScalar(coeffDict_.lookup("A")).value()), - E_(dimensionedScalar(coeffDict_.lookup("E")).value()), - n_(dimensionedScalar(coeffDict_.lookup("n")).value()), - WVol_(dimensionedScalar(coeffDict_.lookup("WVol")).value()), - dH0_(dimensionedScalar(coeffDict_.lookup("dH0")).value()), - TMaxdH_(dimensionedScalar(coeffDict_.lookup("TmaxdH")).value()), + D0_(dimensionedScalar(this->coeffDict().lookup("D0")).value()), + rho0_(dimensionedScalar(this->coeffDict().lookup("rho0")).value()), + T0_(dimensionedScalar(this->coeffDict().lookup("T0")).value()), + Dn_(dimensionedScalar(this->coeffDict().lookup("Dn")).value()), + A_(dimensionedScalar(this->coeffDict().lookup("A")).value()), + E_(dimensionedScalar(this->coeffDict().lookup("E")).value()), + n_(dimensionedScalar(this->coeffDict().lookup("n")).value()), + WVol_(dimensionedScalar(this->coeffDict().lookup("WVol")).value()), + dH0_(dimensionedScalar(this->coeffDict().lookup("dH0")).value()), + TMaxdH_(dimensionedScalar(this->coeffDict().lookup("TmaxdH")).value()), CsLocalId_(-1), O2GlobalId_(-1), CO2GlobalId_(-1) @@ -138,16 +137,17 @@ Foam::scalar Foam::COxidationMurphyShaddix::calculate const scalar D = D0_*(rho0_/rhoc)*pow(Tc/T0_, Dn_); // Molecular weight of O2 [kg/kmol] - const scalar WO2 = owner().composition().gases()[O2GlobalId_].W(); + const scalar WO2 = owner().composition().carrierSpecies()[O2GlobalId_].W(); // Molecular weight of CO2 [kg/kmol] - const scalar WCO2 = owner().composition().gases()[CO2GlobalId_].W(); + const scalar WCO2 = + owner().composition().carrierSpecies()[CO2GlobalId_].W(); // Molecular weight of C [kg/kmol] const scalar WC = WCO2 - WO2; // Far field partial pressure O2 [Pa] - const scalar PO2 = rhoO2/WO2*specie::RR*Tc; + const scalar ppO2 = rhoO2/WO2*specie::RR*Tc; // Molar emission rate of volatiles per unit surface area const scalar qVol = sum(dMassVolatile)/(WVol_*Ap); @@ -155,25 +155,21 @@ Foam::scalar Foam::COxidationMurphyShaddix::calculate // Total molar concentration of the carrier phase [kmol/m^3] const scalar C = pc/(specie::RR*Tc); - if (debug) - { - Pout << " C = " << C << endl; - } - - // Molar reaction rate per unit surface area [kmol/(m^2.s)] - scalar qCsOld = 0; - scalar qCs = 1; - if (debug) { Pout<< "mass = " << mass << nl << "fComb = " << fComb << nl << "WC = " << WC << nl << "Ap = " << Ap << nl - << "dt = " << dt - << nl << endl; + << "dt = " << dt << nl + << "C = " << C << nl + << endl; } + // Molar reaction rate per unit surface area [kmol/(m^2.s)] + scalar qCsOld = 0; + scalar qCs = 1; + const scalar qCsLim = mass*fComb/(WC*Ap*dt); if (debug) @@ -182,10 +178,10 @@ Foam::scalar Foam::COxidationMurphyShaddix::calculate } label iter = 0; - while ((fabs(qCs - qCsOld)/qCs>tolerance_) && (iter<=maxIters_)) + while ((mag(qCs - qCsOld)/qCs > tolerance_) && (iter <= maxIters_)) { qCsOld = qCs; - const scalar PO2Surface = PO2*exp(-(qCs + qVol)*d/(2*C*D)); + const scalar PO2Surface = ppO2*exp(-(qCs + qVol)*d/(2*C*D)); qCs = A_*exp(-E_/(specie::RR*T))*pow(PO2Surface, n_); qCs = (100.0*qCs + iter*qCsOld)/(100.0 + iter); qCs = min(qCs, qCsLim); diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H index 06bf1f404bec54c88a27b3755754769f4c1a4e75..7f972fc66656e160e62412a136821c8798593f0b 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H @@ -51,10 +51,6 @@ class COxidationMurphyShaddix { // Private data - //- Coefficients dictionary - const dictionary& coeffDict_; - - // Model constants //- Reference diffusion constant