Thermodynamics: Rationalization
At the specie level: hs = sensible enthalpy ha = absolute (what was total) enthalpy es = sensibly internal energy ea = absolute (what was total) internal energy At top-level Rename total enthalpy h -> ha Rename sensible enthalpy hs -> h Combined h, hs, e and es thermo packages into a single structure. Thermo packages now provide "he" function which may return either enthalpy or internal energy, sensible or absolute according to the run-time selected form alphaEff now returns the effective diffusivity for the particular energy which the thermodynamics package is selected to solve for.
This commit is contained in:
parent
70ea2f82d2
commit
63da3e9afc
@ -68,7 +68,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "hhuCombustionThermo.H"
|
||||
#include "psiuReactionThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "laminarFlameSpeed.H"
|
||||
#include "XiModel.H"
|
||||
@ -123,12 +123,12 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
#include "bEqn.H"
|
||||
#include "ftEqn.H"
|
||||
#include "huEqn.H"
|
||||
#include "hEqn.H"
|
||||
#include "hauEqn.H"
|
||||
#include "haEqn.H"
|
||||
|
||||
if (!ign.ignited())
|
||||
{
|
||||
hu == h;
|
||||
hau == ha;
|
||||
}
|
||||
|
||||
#include "pEqn.H"
|
||||
|
@ -57,7 +57,7 @@ Description
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "dynamicFvMesh.H"
|
||||
#include "hhuCombustionThermo.H"
|
||||
#include "psiuReactionThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "laminarFlameSpeed.H"
|
||||
#include "XiModel.H"
|
||||
|
@ -43,7 +43,7 @@ namespace XiEqModels
|
||||
Foam::XiEqModels::basicSubGrid::basicSubGrid
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -113,7 +113,7 @@ public:
|
||||
basicSubGrid
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -43,7 +43,7 @@ namespace XiGModels
|
||||
Foam::XiGModels::basicSubGrid::basicSubGrid
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -101,7 +101,7 @@ public:
|
||||
basicSubGrid
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -37,7 +37,7 @@ SourceFiles
|
||||
#define PDRDragModel_H
|
||||
|
||||
#include "IOdictionary.H"
|
||||
#include "hhuCombustionThermo.H"
|
||||
#include "psiuReactionThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "multivariateSurfaceInterpolationScheme.H"
|
||||
#include "runTimeSelectionTables.H"
|
||||
|
@ -43,7 +43,7 @@ namespace XiEqModels
|
||||
Foam::XiEqModels::Gulder::Gulder
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -89,7 +89,7 @@ public:
|
||||
Gulder
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -43,7 +43,7 @@ namespace XiEqModels
|
||||
Foam::XiEqModels::SCOPEBlend::SCOPEBlend
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -85,7 +85,7 @@ public:
|
||||
SCOPEBlend
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -43,7 +43,7 @@ namespace XiEqModels
|
||||
Foam::XiEqModels::SCOPEXiEq::SCOPEXiEq
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -103,7 +103,7 @@ public:
|
||||
SCOPEXiEq
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -39,7 +39,7 @@ namespace Foam
|
||||
Foam::XiEqModel::XiEqModel
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -42,7 +42,7 @@ SourceFiles
|
||||
#define XiEqModel_H
|
||||
|
||||
#include "IOdictionary.H"
|
||||
#include "hhuCombustionThermo.H"
|
||||
#include "psiuReactionThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "runTimeSelectionTables.H"
|
||||
|
||||
@ -66,7 +66,7 @@ protected:
|
||||
dictionary XiEqModelCoeffs_;
|
||||
|
||||
//- Thermo
|
||||
const hhuCombustionThermo& thermo_;
|
||||
const psiuReactionThermo& thermo_;
|
||||
|
||||
//- Turbulence
|
||||
const compressible::RASModel& turbulence_;
|
||||
@ -107,7 +107,7 @@ public:
|
||||
dictionary,
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
),
|
||||
@ -126,7 +126,7 @@ public:
|
||||
static autoPtr<XiEqModel> New
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
@ -138,7 +138,7 @@ public:
|
||||
XiEqModel
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -30,7 +30,7 @@ License
|
||||
Foam::autoPtr<Foam::XiEqModel> Foam::XiEqModel::New
|
||||
(
|
||||
const dictionary& propDict,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
@ -48,7 +48,7 @@ Foam::autoPtr<Foam::XiEqModel> Foam::XiEqModel::New
|
||||
(
|
||||
"XiEqModel::New"
|
||||
"("
|
||||
" const hhuCombustionThermo& thermo,"
|
||||
" const psiuReactionThermo& thermo,"
|
||||
" const compressible::RASModel& turbulence,"
|
||||
" const volScalarField& Su"
|
||||
")"
|
||||
|
@ -43,7 +43,7 @@ namespace XiEqModels
|
||||
Foam::XiEqModels::instability::instability
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -84,7 +84,7 @@ public:
|
||||
instability
|
||||
(
|
||||
const dictionary& XiEqProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -43,7 +43,7 @@ namespace XiGModels
|
||||
Foam::XiGModels::KTS::KTS
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -79,7 +79,7 @@ public:
|
||||
KTS
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -39,7 +39,7 @@ namespace Foam
|
||||
Foam::XiGModel::XiGModel
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -39,7 +39,7 @@ SourceFiles
|
||||
#define XiGModel_H
|
||||
|
||||
#include "IOdictionary.H"
|
||||
#include "hhuCombustionThermo.H"
|
||||
#include "psiuReactionThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "runTimeSelectionTables.H"
|
||||
|
||||
@ -61,7 +61,7 @@ protected:
|
||||
|
||||
dictionary XiGModelCoeffs_;
|
||||
|
||||
const hhuCombustionThermo& thermo_;
|
||||
const psiuReactionThermo& thermo_;
|
||||
const compressible::RASModel& turbulence_;
|
||||
const volScalarField& Su_;
|
||||
|
||||
@ -92,7 +92,7 @@ public:
|
||||
dictionary,
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
),
|
||||
@ -111,7 +111,7 @@ public:
|
||||
static autoPtr<XiGModel> New
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
@ -123,7 +123,7 @@ public:
|
||||
XiGModel
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -30,7 +30,7 @@ License
|
||||
Foam::autoPtr<Foam::XiGModel> Foam::XiGModel::New
|
||||
(
|
||||
const dictionary& propDict,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
@ -48,7 +48,7 @@ Foam::autoPtr<Foam::XiGModel> Foam::XiGModel::New
|
||||
(
|
||||
"XiGModel::New"
|
||||
"("
|
||||
" const hhuCombustionThermo& thermo,"
|
||||
" const psiuReactionThermo& thermo,"
|
||||
" const compressible::RASModel& turbulence,"
|
||||
" const volScalarField& Su"
|
||||
")"
|
||||
|
@ -43,7 +43,7 @@ namespace XiGModels
|
||||
Foam::XiGModels::instabilityG::instabilityG
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
)
|
||||
|
@ -88,7 +88,7 @@ public:
|
||||
instabilityG
|
||||
(
|
||||
const dictionary& XiGProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su
|
||||
);
|
||||
|
@ -39,7 +39,7 @@ namespace Foam
|
||||
Foam::XiModel::XiModel
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
|
@ -91,7 +91,7 @@ SourceFiles
|
||||
#define XiModel_H
|
||||
|
||||
#include "IOdictionary.H"
|
||||
#include "hhuCombustionThermo.H"
|
||||
#include "psiuReactionThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "multivariateSurfaceInterpolationScheme.H"
|
||||
#include "runTimeSelectionTables.H"
|
||||
@ -114,7 +114,7 @@ protected:
|
||||
|
||||
dictionary XiModelCoeffs_;
|
||||
|
||||
const hhuCombustionThermo& thermo_;
|
||||
const psiuReactionThermo& thermo_;
|
||||
const compressible::RASModel& turbulence_;
|
||||
const volScalarField& Su_;
|
||||
const volScalarField& rho_;
|
||||
@ -151,7 +151,7 @@ public:
|
||||
dictionary,
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
@ -176,7 +176,7 @@ public:
|
||||
static autoPtr<XiModel> New
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
@ -191,7 +191,7 @@ public:
|
||||
XiModel
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
|
@ -30,7 +30,7 @@ License
|
||||
Foam::autoPtr<Foam::XiModel> Foam::XiModel::New
|
||||
(
|
||||
const dictionary& propDict,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
|
@ -43,7 +43,7 @@ namespace XiModels
|
||||
Foam::XiModels::algebraic::algebraic
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
|
@ -86,7 +86,7 @@ public:
|
||||
algebraic
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
|
@ -43,7 +43,7 @@ namespace XiModels
|
||||
Foam::XiModels::fixed::fixed
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
|
@ -74,7 +74,7 @@ public:
|
||||
fixed
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
|
@ -43,7 +43,7 @@ namespace XiModels
|
||||
Foam::XiModels::transport::transport
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
|
@ -86,7 +86,7 @@ public:
|
||||
transport
|
||||
(
|
||||
const dictionary& XiProperties,
|
||||
const hhuCombustionThermo& thermo,
|
||||
const psiuReactionThermo& thermo,
|
||||
const compressible::RASModel& turbulence,
|
||||
const volScalarField& Su,
|
||||
const volScalarField& rho,
|
||||
|
@ -5,7 +5,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
||||
mesh,
|
||||
fields,
|
||||
phi,
|
||||
mesh.divScheme("div(phi,ft_b_h_hu)")
|
||||
mesh.divScheme("div(phi,ft_b_ha_hau)")
|
||||
)
|
||||
);
|
||||
|
||||
@ -54,13 +54,13 @@ if (ign.ignited())
|
||||
surfaceScalarField nf("nf", mesh.Sf() & nfVec);
|
||||
n /= mgb;
|
||||
|
||||
# include "StCorr.H"
|
||||
#include "StCorr.H"
|
||||
|
||||
// Calculate turbulent flame speed flux
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
surfaceScalarField phiSt("phiSt", fvc::interpolate(rhou*StCorr*St)*nf);
|
||||
|
||||
# include "StCourantNo.H"
|
||||
#include "StCourantNo.H"
|
||||
|
||||
Db = flameWrinkling->Db();
|
||||
|
||||
@ -78,7 +78,7 @@ if (ign.ignited())
|
||||
|
||||
// Add ignition cell contribution to b-equation
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# include "ignite.H"
|
||||
#include "ignite.H"
|
||||
|
||||
// Solve for b
|
||||
// ~~~~~~~~~~~
|
||||
|
@ -1,10 +1,10 @@
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
autoPtr<hhuCombustionThermo> pThermo
|
||||
autoPtr<psiuReactionThermo> pThermo
|
||||
(
|
||||
hhuCombustionThermo::New(mesh)
|
||||
psiuReactionThermo::New(mesh)
|
||||
);
|
||||
hhuCombustionThermo& thermo = pThermo();
|
||||
psiuReactionThermo& thermo = pThermo();
|
||||
basicMultiComponentMixture& composition = thermo.composition();
|
||||
|
||||
volScalarField rho
|
||||
@ -22,8 +22,8 @@
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
volScalarField& h = thermo.h();
|
||||
volScalarField& hu = thermo.hu();
|
||||
volScalarField& ha = thermo.he();
|
||||
volScalarField& hau = thermo.heu();
|
||||
|
||||
volScalarField& b = composition.Y("b");
|
||||
Info<< "min(b) = " << min(b).value() << endl;
|
||||
@ -186,6 +186,6 @@
|
||||
}
|
||||
|
||||
fields.add(b);
|
||||
fields.add(h);
|
||||
fields.add(hu);
|
||||
fields.add(ha);
|
||||
fields.add(hau);
|
||||
flameWrinkling->addXi(fields);
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
solve
|
||||
(
|
||||
betav*fvm::ddt(rho, h)
|
||||
+ mvConvection->fvmDiv(phi, h)
|
||||
- fvm::laplacian(Db, h)
|
||||
betav*fvm::ddt(rho, ha)
|
||||
+ mvConvection->fvmDiv(phi, ha)
|
||||
- fvm::laplacian(Db, ha)
|
||||
==
|
||||
betav*dpdt
|
||||
- betav*(fvc::ddt(rho, K) + fvc::div(phi, K))
|
18
applications/solvers/combustion/PDRFoam/hauEqn.H
Normal file
18
applications/solvers/combustion/PDRFoam/hauEqn.H
Normal file
@ -0,0 +1,18 @@
|
||||
if (ign.ignited())
|
||||
{
|
||||
solve
|
||||
(
|
||||
betav*fvm::ddt(rho, hau)
|
||||
+ mvConvection->fvmDiv(phi, hau)
|
||||
- fvm::laplacian(Db, hau)
|
||||
|
||||
// These terms cannot be used in partially-premixed combustion due to
|
||||
// the resultant inconsistency between ft and hau transport.
|
||||
// A possible solution would be to solve for ftu as well as ft.
|
||||
//- fvm::div(muEff*fvc::grad(b)/(b + 0.001), hau)
|
||||
//+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), hau)
|
||||
|
||||
==
|
||||
betav*(dpdt - (fvc::ddt(rho, K) + fvc::div(phi, K)))*rho/thermo.rhou()
|
||||
);
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
if (ign.ignited())
|
||||
{
|
||||
solve
|
||||
(
|
||||
betav*fvm::ddt(rho, hu)
|
||||
+ mvConvection->fvmDiv(phi, hu)
|
||||
- fvm::laplacian(Db, hu)
|
||||
|
||||
// These terms cannot be used in partially-premixed combustion due to
|
||||
// the resultant inconsistency between ft and hu transport.
|
||||
// A possible solution would be to solve for ftu as well as ft.
|
||||
//- fvm::div(muEff*fvc::grad(b)/(b + 0.001), hu)
|
||||
//+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), hu)
|
||||
|
||||
==
|
||||
betav*(dpdt - (fvc::ddt(rho, K) + fvc::div(phi, K)))*rho/thermo.rhou()
|
||||
);
|
||||
}
|
@ -64,7 +64,7 @@ Foam::laminarFlameSpeedModels::SCOPE::polynomial::polynomial
|
||||
Foam::laminarFlameSpeedModels::SCOPE::SCOPE
|
||||
(
|
||||
const dictionary& dict,
|
||||
const hhuCombustionThermo& ct
|
||||
const psiuReactionThermo& ct
|
||||
)
|
||||
:
|
||||
laminarFlameSpeed(dict, ct),
|
||||
@ -383,21 +383,21 @@ Foam::tmp<Foam::volScalarField> Foam::laminarFlameSpeedModels::SCOPE::Ma
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::laminarFlameSpeedModels::SCOPE::Ma() const
|
||||
{
|
||||
if (hhuCombustionThermo_.composition().contains("ft"))
|
||||
if (psiuReactionThermo_.composition().contains("ft"))
|
||||
{
|
||||
const volScalarField& ft = hhuCombustionThermo_.composition().Y("ft");
|
||||
const volScalarField& ft = psiuReactionThermo_.composition().Y("ft");
|
||||
|
||||
return Ma
|
||||
(
|
||||
dimensionedScalar
|
||||
(
|
||||
hhuCombustionThermo_.lookup("stoichiometricAirFuelMassRatio")
|
||||
psiuReactionThermo_.lookup("stoichiometricAirFuelMassRatio")
|
||||
)*ft/(scalar(1) - ft)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
const fvMesh& mesh = hhuCombustionThermo_.p().mesh();
|
||||
const fvMesh& mesh = psiuReactionThermo_.p().mesh();
|
||||
|
||||
return tmp<volScalarField>
|
||||
(
|
||||
@ -422,17 +422,17 @@ Foam::laminarFlameSpeedModels::SCOPE::Ma() const
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::laminarFlameSpeedModels::SCOPE::operator()() const
|
||||
{
|
||||
if (hhuCombustionThermo_.composition().contains("ft"))
|
||||
if (psiuReactionThermo_.composition().contains("ft"))
|
||||
{
|
||||
const volScalarField& ft = hhuCombustionThermo_.composition().Y("ft");
|
||||
const volScalarField& ft = psiuReactionThermo_.composition().Y("ft");
|
||||
|
||||
return Su0pTphi
|
||||
(
|
||||
hhuCombustionThermo_.p(),
|
||||
hhuCombustionThermo_.Tu(),
|
||||
psiuReactionThermo_.p(),
|
||||
psiuReactionThermo_.Tu(),
|
||||
dimensionedScalar
|
||||
(
|
||||
hhuCombustionThermo_.lookup("stoichiometricAirFuelMassRatio")
|
||||
psiuReactionThermo_.lookup("stoichiometricAirFuelMassRatio")
|
||||
)*ft/(scalar(1) - ft)
|
||||
);
|
||||
}
|
||||
@ -440,8 +440,8 @@ Foam::laminarFlameSpeedModels::SCOPE::operator()() const
|
||||
{
|
||||
return Su0pTphi
|
||||
(
|
||||
hhuCombustionThermo_.p(),
|
||||
hhuCombustionThermo_.Tu(),
|
||||
psiuReactionThermo_.p(),
|
||||
psiuReactionThermo_.Tu(),
|
||||
equivalenceRatio_
|
||||
);
|
||||
}
|
||||
|
@ -186,11 +186,11 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary and hhuCombustionThermo
|
||||
//- Construct from dictionary and psiuReactionThermo
|
||||
SCOPE
|
||||
(
|
||||
const dictionary&,
|
||||
const hhuCombustionThermo&
|
||||
const psiuReactionThermo&
|
||||
);
|
||||
|
||||
|
||||
|
@ -50,7 +50,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "hhuCombustionThermo.H"
|
||||
#include "psiuReactionThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "laminarFlameSpeed.H"
|
||||
#include "ignition.H"
|
||||
@ -97,12 +97,12 @@ int main(int argc, char *argv[])
|
||||
|
||||
#include "ftEqn.H"
|
||||
#include "bEqn.H"
|
||||
#include "huEqn.H"
|
||||
#include "hEqn.H"
|
||||
#include "hauEqn.H"
|
||||
#include "haEqn.H"
|
||||
|
||||
if (!ign.ignited())
|
||||
{
|
||||
hu == h;
|
||||
hau == ha;
|
||||
}
|
||||
|
||||
// --- Pressure corrector loop
|
||||
|
@ -1,10 +1,10 @@
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
autoPtr<hhuCombustionThermo> pThermo
|
||||
autoPtr<psiuReactionThermo> pThermo
|
||||
(
|
||||
hhuCombustionThermo::New(mesh)
|
||||
psiuReactionThermo::New(mesh)
|
||||
);
|
||||
hhuCombustionThermo& thermo = pThermo();
|
||||
psiuReactionThermo& thermo = pThermo();
|
||||
basicMultiComponentMixture& composition = thermo.composition();
|
||||
|
||||
volScalarField rho
|
||||
@ -22,8 +22,8 @@
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
volScalarField& h = thermo.h();
|
||||
volScalarField& hu = thermo.hu();
|
||||
volScalarField& ha = thermo.he();
|
||||
volScalarField& hau = thermo.heu();
|
||||
|
||||
volScalarField& b = composition.Y("b");
|
||||
Info<< "min(b) = " << min(b).value() << endl;
|
||||
@ -45,7 +45,7 @@
|
||||
mesh
|
||||
);
|
||||
|
||||
# include "compressibleCreatePhi.H"
|
||||
#include "compressibleCreatePhi.H"
|
||||
|
||||
|
||||
Info<< "Creating turbulence model\n" << endl;
|
||||
@ -128,5 +128,5 @@
|
||||
}
|
||||
|
||||
fields.add(b);
|
||||
fields.add(h);
|
||||
fields.add(hu);
|
||||
fields.add(ha);
|
||||
fields.add(hau);
|
||||
|
@ -5,7 +5,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
||||
mesh,
|
||||
fields,
|
||||
phi,
|
||||
mesh.divScheme("div(phi,ft_b_h_hu)")
|
||||
mesh.divScheme("div(phi,ft_b_ha_hau)")
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
{
|
||||
fvScalarMatrix hEqn
|
||||
(
|
||||
fvm::ddt(rho, h)
|
||||
+ mvConvection->fvmDiv(phi, h)
|
||||
- fvm::laplacian(turbulence->alphaEff(), h)
|
||||
==
|
||||
dpdt
|
||||
- (fvc::ddt(rho, K) + fvc::div(phi, K))
|
||||
);
|
||||
|
||||
hEqn.relax();
|
||||
hEqn.solve();
|
||||
|
||||
thermo.correct();
|
||||
}
|
16
applications/solvers/combustion/XiFoam/haEqn.H
Normal file
16
applications/solvers/combustion/XiFoam/haEqn.H
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
fvScalarMatrix haEqn
|
||||
(
|
||||
fvm::ddt(rho, ha)
|
||||
+ mvConvection->fvmDiv(phi, ha)
|
||||
- fvm::laplacian(turbulence->alphaEff(), ha)
|
||||
==
|
||||
dpdt
|
||||
- (fvc::ddt(rho, K) + fvc::div(phi, K))
|
||||
);
|
||||
|
||||
haEqn.relax();
|
||||
haEqn.solve();
|
||||
|
||||
thermo.correct();
|
||||
}
|
18
applications/solvers/combustion/XiFoam/hauEqn.H
Normal file
18
applications/solvers/combustion/XiFoam/hauEqn.H
Normal file
@ -0,0 +1,18 @@
|
||||
if (ign.ignited())
|
||||
{
|
||||
solve
|
||||
(
|
||||
fvm::ddt(rho, hau)
|
||||
+ mvConvection->fvmDiv(phi, hau)
|
||||
- fvm::laplacian(turbulence->alphaEff(), hau)
|
||||
|
||||
// These terms cannot be used in partially-premixed combustion due to
|
||||
// the resultant inconsistency between ft and hau transport.
|
||||
// A possible solution would be to solve for ftu as well as ft.
|
||||
//- fvm::div(muEff*fvc::grad(b)/(b + 0.001), hau)
|
||||
//+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), hau)
|
||||
|
||||
==
|
||||
(dpdt - (fvc::ddt(rho, K) + fvc::div(phi, K)))*rho/thermo.rhou()
|
||||
);
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
if (ign.ignited())
|
||||
{
|
||||
solve
|
||||
(
|
||||
fvm::ddt(rho, hu)
|
||||
+ mvConvection->fvmDiv(phi, hu)
|
||||
- fvm::laplacian(turbulence->alphaEff(), hu)
|
||||
|
||||
// These terms cannot be used in partially-premixed combustion due to
|
||||
// the resultant inconsistency between ft and hu transport.
|
||||
// A possible solution would be to solve for ftu as well as ft.
|
||||
//- fvm::div(muEff*fvc::grad(b)/(b + 0.001), hu)
|
||||
//+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), hu)
|
||||
|
||||
==
|
||||
(dpdt - (fvc::ddt(rho, K) + fvc::div(phi, K)))*rho/thermo.rhou()
|
||||
);
|
||||
}
|
@ -34,7 +34,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "hCombustionThermo.H"
|
||||
#include "psiReactionThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "psiChemistryModel.H"
|
||||
#include "chemistrySolver.H"
|
||||
|
@ -29,7 +29,7 @@
|
||||
psiChemistryModel& chemistry = pChemistry();
|
||||
scalar dtChem = refCast<const psiChemistryModel>(chemistry).deltaTChem()[0];
|
||||
|
||||
hsCombustionThermo& thermo = chemistry.thermo();
|
||||
psiReactionThermo& thermo = chemistry.thermo();
|
||||
basicMultiComponentMixture& composition = thermo.composition();
|
||||
PtrList<volScalarField>& Y = composition.Y();
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
);
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& hs = thermo.hs();
|
||||
volScalarField& hs = thermo.he();
|
||||
|
||||
volScalarField Rspecific
|
||||
(
|
||||
|
@ -90,7 +90,7 @@
|
||||
hs0 += Y0[i]*specieData[i].Hs(T0);
|
||||
}
|
||||
|
||||
hs = dimensionedScalar("hs", dimEnergy/dimMass, hs0);
|
||||
hs = dimensionedScalar("h", dimEnergy/dimMass, hs0);
|
||||
|
||||
thermo.correct();
|
||||
|
||||
@ -107,5 +107,3 @@
|
||||
<< " T = " << thermo.T()[0] << " [K] " << nl
|
||||
<< " rho = " << rho[0] << " [kg/m3]" << nl
|
||||
<< endl;
|
||||
|
||||
|
||||
|
@ -32,7 +32,7 @@ Description
|
||||
#include "fvCFD.H"
|
||||
#include "engineTime.H"
|
||||
#include "engineMesh.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "OFstream.H"
|
||||
#include "pimpleControl.H"
|
||||
|
@ -1,10 +1,10 @@
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
autoPtr<basicPsiThermo> pThermo
|
||||
autoPtr<psiThermo> pThermo
|
||||
(
|
||||
basicPsiThermo::New(mesh)
|
||||
psiThermo::New(mesh)
|
||||
);
|
||||
basicPsiThermo& thermo = pThermo();
|
||||
psiThermo& thermo = pThermo();
|
||||
|
||||
volScalarField rho
|
||||
(
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
volScalarField& h = thermo.h();
|
||||
volScalarField& h = thermo.he();
|
||||
const volScalarField& T = thermo.T();
|
||||
|
||||
|
||||
|
@ -51,7 +51,7 @@ Description
|
||||
#include "fvCFD.H"
|
||||
#include "engineTime.H"
|
||||
#include "engineMesh.H"
|
||||
#include "hhuCombustionThermo.H"
|
||||
#include "psiuReactionThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "laminarFlameSpeed.H"
|
||||
#include "ignition.H"
|
||||
@ -103,12 +103,12 @@ int main(int argc, char *argv[])
|
||||
|
||||
#include "ftEqn.H"
|
||||
#include "bEqn.H"
|
||||
#include "huEqn.H"
|
||||
#include "hEqn.H"
|
||||
#include "hauEqn.H"
|
||||
#include "haEqn.H"
|
||||
|
||||
if (!ign.ignited())
|
||||
{
|
||||
hu == h;
|
||||
hau == ha;
|
||||
}
|
||||
|
||||
// --- Pressure corrector loop
|
||||
|
@ -5,7 +5,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
||||
mesh,
|
||||
fields,
|
||||
phi,
|
||||
mesh.divScheme("div(phi,Yi_hs)")
|
||||
mesh.divScheme("div(phi,Yi_h)")
|
||||
)
|
||||
);
|
||||
{
|
||||
@ -56,7 +56,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
||||
dpdt
|
||||
- (fvc::ddt(rho, K) + fvc::div(phi, K))
|
||||
+ combustion->Sh()
|
||||
+ radiation->Shs(thermo)
|
||||
+ radiation->Sh(thermo)
|
||||
+ parcels.Sh(hs)
|
||||
+ surfaceFilm.Sh()
|
||||
);
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
hsCombustionThermo& thermo = combustion->thermo();
|
||||
psiReactionThermo& thermo = combustion->thermo();
|
||||
|
||||
SLGThermo slgThermo(mesh, thermo);
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
);
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& hs = thermo.hs();
|
||||
volScalarField& hs = thermo.he();
|
||||
const volScalarField& T = thermo.T();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
|
@ -10,8 +10,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
||||
);
|
||||
|
||||
{
|
||||
combustion->correct();
|
||||
dQ = combustion->dQ();
|
||||
reaction->correct();
|
||||
dQ = reaction->dQ();
|
||||
label inertIndex = -1;
|
||||
volScalarField Yt(0.0*Y[0]);
|
||||
|
||||
@ -27,7 +27,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
||||
+ mvConvection->fvmDiv(phi, Yi)
|
||||
- fvm::laplacian(turbulence->muEff(), Yi)
|
||||
==
|
||||
combustion->R(Yi)
|
||||
reaction->R(Yi)
|
||||
);
|
||||
|
||||
YiEqn.relax();
|
||||
|
@ -1,6 +1,6 @@
|
||||
Info<< "Creating combustion model\n" << endl;
|
||||
Info<< "Creating reaction model\n" << endl;
|
||||
|
||||
autoPtr<combustionModels::psiChemistryCombustionModel> combustion
|
||||
autoPtr<combustionModels::psiChemistryCombustionModel> reaction
|
||||
(
|
||||
combustionModels::psiChemistryCombustionModel::New
|
||||
(
|
||||
@ -8,9 +8,9 @@ autoPtr<combustionModels::psiChemistryCombustionModel> combustion
|
||||
)
|
||||
);
|
||||
|
||||
psiChemistryModel& chemistry = combustion->pChemistry();
|
||||
psiChemistryModel& chemistry = reaction->pChemistry();
|
||||
|
||||
hsCombustionThermo& thermo = chemistry.thermo();
|
||||
psiReactionThermo& thermo = chemistry.thermo();
|
||||
|
||||
basicMultiComponentMixture& composition = thermo.composition();
|
||||
PtrList<volScalarField>& Y = composition.Y();
|
||||
@ -45,7 +45,7 @@ volVectorField U
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
volScalarField& hs = thermo.hs();
|
||||
volScalarField& hs = thermo.he();
|
||||
const volScalarField& T = thermo.T();
|
||||
|
||||
#include "compressibleCreatePhi.H"
|
||||
@ -62,8 +62,8 @@ autoPtr<compressible::turbulenceModel> turbulence
|
||||
)
|
||||
);
|
||||
|
||||
// Set the turbulence into the combustion model
|
||||
combustion->setTurbulence(turbulence());
|
||||
// Set the turbulence into the reaction model
|
||||
reaction->setTurbulence(turbulence());
|
||||
|
||||
|
||||
Info<< "Creating field dpdt\n" << endl;
|
||||
|
@ -8,7 +8,7 @@
|
||||
==
|
||||
dpdt
|
||||
- (fvc::ddt(rho, K) + fvc::div(phi, K))
|
||||
+ combustion->Sh()
|
||||
+ reaction->Sh()
|
||||
);
|
||||
|
||||
hsEqn.relax();
|
||||
|
@ -10,8 +10,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
||||
);
|
||||
|
||||
{
|
||||
combustion->correct();
|
||||
dQ = combustion->dQ();
|
||||
reaction->correct();
|
||||
dQ = reaction->dQ();
|
||||
label inertIndex = -1;
|
||||
volScalarField Yt(0.0*Y[0]);
|
||||
|
||||
@ -27,7 +27,7 @@ tmp<fv::convectionScheme<scalar> > mvConvection
|
||||
+ mvConvection->fvmDiv(phi, Yi)
|
||||
- fvm::laplacian(turbulence->muEff(), Yi)
|
||||
==
|
||||
combustion->R(Yi)
|
||||
reaction->R(Yi)
|
||||
);
|
||||
|
||||
YiEqn.relax();
|
||||
|
@ -1,6 +1,6 @@
|
||||
Info<< "Creating combustion model\n" << endl;
|
||||
Info<< "Creating reaction model\n" << endl;
|
||||
|
||||
autoPtr<combustionModels::rhoChemistryCombustionModel> combustion
|
||||
autoPtr<combustionModels::rhoChemistryCombustionModel> reaction
|
||||
(
|
||||
combustionModels::rhoChemistryCombustionModel::New
|
||||
(
|
||||
@ -8,9 +8,9 @@ autoPtr<combustionModels::rhoChemistryCombustionModel> combustion
|
||||
)
|
||||
);
|
||||
|
||||
rhoChemistryModel& chemistry = combustion->pChemistry();
|
||||
rhoChemistryModel& chemistry = reaction->pChemistry();
|
||||
|
||||
hsReactionThermo& thermo = chemistry.thermo();
|
||||
rhoReactionThermo& thermo = chemistry.thermo();
|
||||
|
||||
basicMultiComponentMixture& composition = thermo.composition();
|
||||
PtrList<volScalarField>& Y = composition.Y();
|
||||
@ -45,7 +45,7 @@ volVectorField U
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
volScalarField& hs = thermo.hs();
|
||||
volScalarField& hs = thermo.he();
|
||||
const volScalarField& T = thermo.T();
|
||||
|
||||
|
||||
@ -64,8 +64,8 @@ autoPtr<compressible::turbulenceModel> turbulence
|
||||
)
|
||||
);
|
||||
|
||||
// Set the turbulence into the combustion model
|
||||
combustion->setTurbulence(turbulence());
|
||||
// Set the turbulence into the reaction model
|
||||
reaction->setTurbulence(turbulence());
|
||||
|
||||
|
||||
Info<< "Creating field dpdt\n" << endl;
|
||||
|
@ -8,7 +8,7 @@
|
||||
==
|
||||
dpdt
|
||||
- (fvc::ddt(rho, K) + fvc::div(phi, K))
|
||||
+ combustion->Sh()
|
||||
+ reaction->Sh()
|
||||
);
|
||||
|
||||
hsEqn.relax();
|
||||
|
@ -1,13 +1,13 @@
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
autoPtr<basicPsiThermo> pThermo
|
||||
autoPtr<psiThermo> pThermo
|
||||
(
|
||||
basicPsiThermo::New(mesh)
|
||||
psiThermo::New(mesh)
|
||||
);
|
||||
basicPsiThermo& thermo = pThermo();
|
||||
psiThermo& thermo = pThermo();
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& e = thermo.e();
|
||||
volScalarField& e = thermo.he();
|
||||
const volScalarField& T = thermo.T();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
const volScalarField& mu = thermo.mu();
|
||||
|
@ -31,7 +31,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "zeroGradientFvPatchFields.H"
|
||||
#include "fixedRhoFvPatchScalarField.H"
|
||||
|
@ -31,7 +31,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "zeroGradientFvPatchFields.H"
|
||||
#include "fixedRhoFvPatchScalarField.H"
|
||||
|
@ -1,13 +1,13 @@
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
autoPtr<basicPsiThermo> pThermo
|
||||
autoPtr<psiThermo> pThermo
|
||||
(
|
||||
basicPsiThermo::New(mesh)
|
||||
psiThermo::New(mesh)
|
||||
);
|
||||
basicPsiThermo& thermo = pThermo();
|
||||
psiThermo& thermo = pThermo();
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& h = thermo.h();
|
||||
volScalarField& h = thermo.he();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
volScalarField rho
|
||||
|
@ -34,7 +34,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "bound.H"
|
||||
#include "pimpleControl.H"
|
||||
|
@ -34,7 +34,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "bound.H"
|
||||
#include "pimpleControl.H"
|
||||
|
@ -35,7 +35,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "MRFZones.H"
|
||||
#include "porousZones.H"
|
||||
|
@ -34,7 +34,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "bound.H"
|
||||
#include "MRFZones.H"
|
||||
|
@ -1,10 +1,10 @@
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
autoPtr<basicPsiThermo> pThermo
|
||||
autoPtr<psiThermo> pThermo
|
||||
(
|
||||
basicPsiThermo::New(mesh)
|
||||
psiThermo::New(mesh)
|
||||
);
|
||||
basicPsiThermo& thermo = pThermo();
|
||||
psiThermo& thermo = pThermo();
|
||||
|
||||
volScalarField rho
|
||||
(
|
||||
@ -20,7 +20,7 @@
|
||||
);
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& e = thermo.e();
|
||||
volScalarField& e = thermo.he();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
Info<< "Reading field U\n" << endl;
|
||||
|
@ -32,7 +32,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "MRFZones.H"
|
||||
#include "thermalPorousZones.H"
|
||||
|
@ -31,7 +31,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "simpleControl.H"
|
||||
|
||||
|
@ -31,7 +31,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "mixedFvPatchFields.H"
|
||||
#include "bound.H"
|
||||
|
@ -1,13 +1,13 @@
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
autoPtr<basicPsiThermo> pThermo
|
||||
autoPtr<psiThermo> pThermo
|
||||
(
|
||||
basicPsiThermo::New(mesh)
|
||||
psiThermo::New(mesh)
|
||||
);
|
||||
basicPsiThermo& thermo = pThermo();
|
||||
psiThermo& thermo = pThermo();
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& e = thermo.e();
|
||||
volScalarField& e = thermo.he();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
volScalarField rho
|
||||
|
@ -31,7 +31,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "motionSolver.H"
|
||||
|
||||
|
@ -31,7 +31,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
@ -34,7 +34,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicRhoThermo.H"
|
||||
#include "rhoThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "fixedGradientFvPatchFields.H"
|
||||
#include "pimpleControl.H"
|
||||
|
@ -1,10 +1,10 @@
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
autoPtr<basicRhoThermo> pThermo
|
||||
autoPtr<rhoThermo> pThermo
|
||||
(
|
||||
basicRhoThermo::New(mesh)
|
||||
rhoThermo::New(mesh)
|
||||
);
|
||||
basicRhoThermo& thermo = pThermo();
|
||||
rhoThermo& thermo = pThermo();
|
||||
|
||||
volScalarField rho
|
||||
(
|
||||
@ -20,7 +20,7 @@
|
||||
);
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& h = thermo.h();
|
||||
volScalarField& h = thermo.he();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
|
||||
|
@ -30,7 +30,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "fixedGradientFvPatchFields.H"
|
||||
#include "simpleControl.H"
|
||||
|
@ -1,10 +1,10 @@
|
||||
Info<< "Reading thermophysical properties\n" << endl;
|
||||
|
||||
autoPtr<basicPsiThermo> pThermo
|
||||
autoPtr<psiThermo> pThermo
|
||||
(
|
||||
basicPsiThermo::New(mesh)
|
||||
psiThermo::New(mesh)
|
||||
);
|
||||
basicPsiThermo& thermo = pThermo();
|
||||
psiThermo& thermo = pThermo();
|
||||
|
||||
volScalarField rho
|
||||
(
|
||||
@ -20,7 +20,7 @@
|
||||
);
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& h = thermo.h();
|
||||
volScalarField& h = thermo.he();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
Info<< "Reading field U\n" << endl;
|
||||
|
@ -31,7 +31,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicPsiThermo.H"
|
||||
#include "psiThermo.H"
|
||||
#include "RASModel.H"
|
||||
#include "fixedGradientFvPatchFields.H"
|
||||
#include "radiationModel.H"
|
||||
|
@ -37,7 +37,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicRhoThermo.H"
|
||||
#include "rhoThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "fixedGradientFvPatchFields.H"
|
||||
#include "regionProperties.H"
|
||||
|
@ -30,7 +30,7 @@ Description
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "basicRhoThermo.H"
|
||||
#include "rhoThermo.H"
|
||||
#include "turbulenceModel.H"
|
||||
#include "fixedGradientFvPatchFields.H"
|
||||
#include "regionProperties.H"
|
||||
|
@ -1,7 +1,6 @@
|
||||
// Initialise fluid field pointer lists
|
||||
PtrList<basicRhoThermo> thermoFluid(fluidRegions.size());
|
||||
PtrList<rhoThermo> thermoFluid(fluidRegions.size());
|
||||
PtrList<volScalarField> rhoFluid(fluidRegions.size());
|
||||
PtrList<volScalarField> kappaFluid(fluidRegions.size());
|
||||
PtrList<volVectorField> UFluid(fluidRegions.size());
|
||||
PtrList<surfaceScalarField> phiFluid(fluidRegions.size());
|
||||
PtrList<uniformDimensionedVectorField> gFluid(fluidRegions.size());
|
||||
@ -32,7 +31,7 @@
|
||||
thermoFluid.set
|
||||
(
|
||||
i,
|
||||
basicRhoThermo::New(fluidRegions[i]).ptr()
|
||||
rhoThermo::New(fluidRegions[i]).ptr()
|
||||
);
|
||||
|
||||
Info<< " Adding to rhoFluid\n" << endl;
|
||||
@ -53,24 +52,6 @@
|
||||
)
|
||||
);
|
||||
|
||||
Info<< " Adding to kappaFluid\n" << endl;
|
||||
kappaFluid.set
|
||||
(
|
||||
i,
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"kappa",
|
||||
runTime.timeName(),
|
||||
fluidRegions[i],
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
thermoFluid[i].Cp()*thermoFluid[i].alpha()
|
||||
)
|
||||
);
|
||||
|
||||
Info<< " Adding to UFluid\n" << endl;
|
||||
UFluid.set
|
||||
(
|
||||
|
@ -69,7 +69,4 @@
|
||||
|
||||
Info<< "Min/max rho:" << min(rho).value() << ' '
|
||||
<< max(rho).value() << endl;
|
||||
|
||||
// Update thermal conductivity
|
||||
kappa = thermo.Cp()*turb.alphaEff();
|
||||
}
|
||||
|
@ -1,8 +1,7 @@
|
||||
const fvMesh& mesh = fluidRegions[i];
|
||||
|
||||
basicRhoThermo& thermo = thermoFluid[i];
|
||||
rhoThermo& thermo = thermoFluid[i];
|
||||
volScalarField& rho = rhoFluid[i];
|
||||
volScalarField& kappa = kappaFluid[i];
|
||||
volVectorField& U = UFluid[i];
|
||||
surfaceScalarField& phi = phiFluid[i];
|
||||
|
||||
@ -10,7 +9,7 @@
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
volScalarField& h = thermo.h();
|
||||
volScalarField& h = thermo.he();
|
||||
|
||||
IObasicSourceList& sources = heatSources[i];
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Initialise porous field pointer lists
|
||||
PtrList<basicRhoThermo> thermoPorous(porousFluidRegions.size());
|
||||
PtrList<rhoThermo> thermoPorous(porousFluidRegions.size());
|
||||
PtrList<volScalarField> rhoPorous(porousFluidRegions.size());
|
||||
PtrList<volScalarField> kappaPorous(porousFluidRegions.size());
|
||||
PtrList<volVectorField> UPorous(porousFluidRegions.size());
|
||||
@ -32,7 +32,7 @@
|
||||
thermoPorous.set
|
||||
(
|
||||
i,
|
||||
basicRhoThermo::New(porousFluidRegions[i]).ptr()
|
||||
rhoThermo::New(porousFluidRegions[i]).ptr()
|
||||
);
|
||||
|
||||
Info<< " Adding to rhoPorous\n" << endl;
|
||||
|
@ -1,7 +1,6 @@
|
||||
|
||||
const fvMesh& porousMesh = porousFluidRegions[i];
|
||||
|
||||
basicRhoThermo& porousThermo = thermoPorous[i];
|
||||
rhoThermo& porousThermo = thermoPorous[i];
|
||||
volScalarField& porousRho = rhoPorous[i];
|
||||
|
||||
volVectorField& porousU = UPorous[i];
|
||||
@ -11,7 +10,7 @@
|
||||
|
||||
volScalarField& porousP = porousThermo.p();
|
||||
const volScalarField& porousPsi = porousThermo.psi();
|
||||
volScalarField& porousH = porousThermo.h();
|
||||
volScalarField& porousH = porousThermo.he();
|
||||
|
||||
const dimensionedScalar initialMass
|
||||
(
|
||||
@ -27,5 +26,3 @@
|
||||
|
||||
const scalar rhoMax = rhoMaxPorous[i].value();
|
||||
const scalar rhoMin = rhoMinPorous[i].value();
|
||||
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
// Initialise fluid field pointer lists
|
||||
PtrList<basicRhoThermo> thermoFluid(fluidRegions.size());
|
||||
PtrList<rhoThermo> thermoFluid(fluidRegions.size());
|
||||
PtrList<volScalarField> rhoFluid(fluidRegions.size());
|
||||
PtrList<volScalarField> kappaFluid(fluidRegions.size());
|
||||
PtrList<volVectorField> UFluid(fluidRegions.size());
|
||||
PtrList<surfaceScalarField> phiFluid(fluidRegions.size());
|
||||
PtrList<uniformDimensionedVectorField> gFluid(fluidRegions.size());
|
||||
@ -29,7 +28,7 @@
|
||||
thermoFluid.set
|
||||
(
|
||||
i,
|
||||
basicRhoThermo::New(fluidRegions[i]).ptr()
|
||||
rhoThermo::New(fluidRegions[i]).ptr()
|
||||
);
|
||||
|
||||
Info<< " Adding to rhoFluid\n" << endl;
|
||||
@ -50,24 +49,6 @@
|
||||
)
|
||||
);
|
||||
|
||||
Info<< " Adding to kappaFluid\n" << endl;
|
||||
kappaFluid.set
|
||||
(
|
||||
i,
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"kappa",
|
||||
runTime.timeName(),
|
||||
fluidRegions[i],
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
thermoFluid[i].Cp()*thermoFluid[i].alpha()
|
||||
)
|
||||
);
|
||||
|
||||
Info<< " Adding to UFluid\n" << endl;
|
||||
UFluid.set
|
||||
(
|
||||
|
@ -92,7 +92,4 @@
|
||||
rho = thermo.rho();
|
||||
p_rgh = p - rho*gh;
|
||||
}
|
||||
|
||||
// Update thermal conductivity
|
||||
kappa = thermoFluid[i].Cp()*turb.alphaEff();
|
||||
}
|
||||
|
@ -1,8 +1,7 @@
|
||||
fvMesh& mesh = fluidRegions[i];
|
||||
|
||||
basicRhoThermo& thermo = thermoFluid[i];
|
||||
rhoThermo& thermo = thermoFluid[i];
|
||||
volScalarField& rho = rhoFluid[i];
|
||||
volScalarField& kappa = kappaFluid[i];
|
||||
volVectorField& U = UFluid[i];
|
||||
surfaceScalarField& phi = phiFluid[i];
|
||||
|
||||
@ -12,7 +11,7 @@
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
volScalarField& h = thermo.h();
|
||||
volScalarField& h = thermo.he();
|
||||
|
||||
volScalarField& p_rgh = p_rghFluid[i];
|
||||
const volScalarField& gh = ghFluid[i];
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Initialise porous field pointer lists
|
||||
PtrList<basicRhoThermo> thermoPorous(porousFluidRegions.size());
|
||||
PtrList<rhoThermo> thermoPorous(porousFluidRegions.size());
|
||||
PtrList<volScalarField> rhoPorous(porousFluidRegions.size());
|
||||
PtrList<volVectorField> UPorous(porousFluidRegions.size());
|
||||
PtrList<surfaceScalarField> phiPorous(porousFluidRegions.size());
|
||||
@ -27,7 +27,7 @@
|
||||
thermoPorous.set
|
||||
(
|
||||
i,
|
||||
basicRhoThermo::New(porousFluidRegions[i]).ptr()
|
||||
rhoThermo::New(porousFluidRegions[i]).ptr()
|
||||
);
|
||||
|
||||
Info<< " Adding to rhoPorous\n" << endl;
|
||||
|
@ -1,7 +1,6 @@
|
||||
|
||||
fvMesh& porousMesh = porousFluidRegions[i];
|
||||
|
||||
basicRhoThermo& porousThermo = thermoPorous[i];
|
||||
rhoThermo& porousThermo = thermoPorous[i];
|
||||
volScalarField& porousRho = rhoPorous[i];
|
||||
|
||||
volVectorField& porousU = UPorous[i];
|
||||
@ -13,6 +12,6 @@
|
||||
|
||||
volScalarField& porousP = porousThermo.p();
|
||||
const volScalarField& porousPsi = porousThermo.psi();
|
||||
volScalarField& porousH = porousThermo.h();
|
||||
volScalarField& porousH = porousThermo.he();
|
||||
|
||||
IObasicSourceList& porousSources = heatPorousSources[i];
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
rhoChemistryModel& chemistry = combustion->pChemistry();
|
||||
|
||||
hsReactionThermo& thermo = chemistry.thermo();
|
||||
rhoReactionThermo& thermo = chemistry.thermo();
|
||||
|
||||
SLGThermo slgThermo(mesh, thermo);
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
}
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& hs = thermo.hs();
|
||||
volScalarField& hs = thermo.he();
|
||||
const volScalarField& T = thermo.T();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
==
|
||||
- fvc::div(phi, 0.5*magSqr(U), "div(phi,K)")
|
||||
+ parcels.Sh(hs)
|
||||
+ radiation->Shs(thermo)
|
||||
+ radiation->Sh(thermo)
|
||||
+ combustion->Sh()
|
||||
+ sources(rho, hs)
|
||||
);
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
psiChemistryModel& chemistry = combustion->pChemistry();
|
||||
|
||||
hsCombustionThermo& thermo = chemistry.thermo();
|
||||
psiReactionThermo& thermo = chemistry.thermo();
|
||||
|
||||
SLGThermo slgThermo(mesh, thermo);
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
}
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& hs = thermo.hs();
|
||||
volScalarField& hs = thermo.he();
|
||||
const volScalarField& T = thermo.T();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
+ combustion->Sh()
|
||||
+ coalParcels.Sh(hs)
|
||||
+ limestoneParcels.Sh(hs)
|
||||
+ radiation->Shs(thermo)
|
||||
+ radiation->Sh(thermo)
|
||||
+ sources(rho, hs)
|
||||
);
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
rhoChemistryModel& chemistry = combustion->pChemistry();
|
||||
|
||||
hsReactionThermo& thermo = chemistry.thermo();
|
||||
rhoReactionThermo& thermo = chemistry.thermo();
|
||||
|
||||
SLGThermo slgThermo(mesh, thermo);
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
}
|
||||
|
||||
volScalarField& p = thermo.p();
|
||||
volScalarField& hs = thermo.hs();
|
||||
volScalarField& hs = thermo.he();
|
||||
const volScalarField& T = thermo.T();
|
||||
const volScalarField& psi = thermo.psi();
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
==
|
||||
- (fvc::ddt(rho, K) + fvc::div(phi, K))
|
||||
+ parcels.Sh(hs)
|
||||
+ radiation->Shs(thermo)
|
||||
+ radiation->Sh(thermo)
|
||||
+ combustion->Sh()
|
||||
+ sources(rho, hs)
|
||||
);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user