Thermodynamics: Update selection mechanism for reaction and chemistry thermodynamics

This commit is contained in:
Henry
2012-09-30 21:27:18 +01:00
parent 149a584cfe
commit 9bf80af379
115 changed files with 2007 additions and 744 deletions

View File

@ -266,15 +266,28 @@ Foam::wordList Foam::basicThermo::splitThermoName
{
wordList cmpts(nCmpt);
string::size_type beg=0, end=0;
string::size_type beg=0, end=0, endb=0, endc=0;
int i = 0;
while
(
(end = thermoName.find('<', beg)) != string::npos
|| (end = thermoName.find(',', beg)) != string::npos
(endb = thermoName.find('<', beg)) != string::npos
|| (endc = thermoName.find(',', beg)) != string::npos
)
{
if (endb == string::npos)
{
end = endc;
}
else if ((endc = thermoName.find(',', beg)) != string::npos)
{
end = min(endb, endc);
}
else
{
end = endb;
}
if (beg < end)
{
cmpts[i] = thermoName.substr(beg, end-beg);

View File

@ -76,6 +76,8 @@ Foam::autoPtr<Thermo> Foam::basicThermo::New
+ word(thermoTypeDict.lookup("specie")) + ">>,"
+ word(thermoTypeDict.lookup("energy")) + ">>>";
Info<< thermoTypeName << endl;
// Lookup the thermo package
typename Thermo::fvMeshConstructorTable::iterator cstrIter =
Thermo::fvMeshConstructorTablePtr_->find(thermoTypeName);

View File

@ -39,10 +39,7 @@ Description
#define makeThermo(BaseThermo,Cthermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie)\
\
typedef Cthermo \
< \
Mixture \
< \
typedef \
Transport \
< \
species::thermo \
@ -56,34 +53,31 @@ typedef Cthermo \
>, \
Type \
> \
> Transport##Type##Thermo##EqnOfState##Specie; \
\
typedef \
Cthermo \
< \
Mixture \
< \
Transport##Type##Thermo##EqnOfState##Specie \
> \
> \
> Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie; \
> Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie; \
\
defineTemplateTypeNameAndDebugWithName \
( \
Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \
#Cthermo \
"<" \
#Mixture \
"<" \
#Transport \
"<" \
#Thermo \
"<" \
#EqnOfState \
"<" \
#Specie \
">" \
">," \
#Type \
">>>", \
( \
#Cthermo"<"#Mixture"<" \
+ Transport##Type##Thermo##EqnOfState##Specie::typeName() \
+ ">>" \
).c_str(), \
0 \
); \
\
addToRunTimeSelectionTable \
( \
BaseThermo, \
basicThermo, \
Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \
fvMesh \
); \
@ -93,6 +87,13 @@ addToRunTimeSelectionTable \
fluidThermo, \
Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \
fvMesh \
); \
\
addToRunTimeSelectionTable \
( \
BaseThermo, \
Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \
fvMesh \
);

View File

@ -1,11 +1,9 @@
chemistryModel/basicChemistryModel/basicChemistryModel.C
chemistryModel/psiChemistryModel/psiChemistryModel.C
chemistryModel/psiChemistryModel/psiChemistryModelNew.C
chemistryModel/psiChemistryModel/psiChemistryModels.C
chemistryModel/rhoChemistryModel/rhoChemistryModel.C
chemistryModel/rhoChemistryModel/rhoChemistryModelNew.C
chemistryModel/rhoChemistryModel/rhoChemistryModels.C
chemistrySolver/chemistrySolver/makeChemistrySolvers.C

View File

@ -107,6 +107,13 @@ public:
basicChemistryModel(const fvMesh& mesh);
// Selectors
//- Generic New for each of the related chemistry model
template<class Thermo>
static autoPtr<Thermo> New(const fvMesh&);
//- Destructor
virtual ~basicChemistryModel();
@ -162,6 +169,10 @@ public:
#include "basicChemistryModelI.H"
#ifdef NoRepository
# include "basicChemistryModelTemplates.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif

View File

@ -46,19 +46,7 @@ namespace Foam
defineTemplateTypeNameAndDebugWithName \
( \
SS##Comp##Thermo, \
#SS"<"#Comp","#Thermo">", \
0 \
);
#define makeSolidChemistryModel(SS, Comp, SThermo, GThermo) \
\
typedef SS<Comp, SThermo, GThermo> SS##Comp##SThermo##GThermo; \
\
defineTemplateTypeNameAndDebugWithName \
( \
SS##Comp##SThermo##GThermo, \
#SS"<"#Comp","#SThermo","#GThermo">", \
(#SS"<"#Comp"," + Thermo::typeName() + ">").c_str(), \
0 \
);

View File

@ -48,6 +48,17 @@ Foam::psiChemistryModel::psiChemistryModel
{}
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::psiChemistryModel> Foam::psiChemistryModel::New
(
const fvMesh& mesh
)
{
return basicChemistryModel::New<psiChemistryModel>(mesh);
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::psiChemistryModel::~psiChemistryModel()

View File

@ -1,129 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "psiChemistryModel.H"
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::psiChemistryModel> Foam::psiChemistryModel::New
(
const fvMesh& mesh
)
{
IOdictionary chemistryPropertiesDict
(
IOobject
(
"chemistryProperties",
mesh.time().constant(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
)
);
const word solver(chemistryPropertiesDict.lookup("chemistrySolver"));
wordList models = fvMeshConstructorTablePtr_->sortedToc();
wordHashSet validModels;
forAll(models, i)
{
label delim = models[i].find('<');
validModels.insert(models[i](0, delim));
}
wordHashSet::iterator solverIter = validModels.find(solver);
if (solverIter == validModels.end())
{
FatalErrorIn("psiChemistryModel::New(const fvMesh&)")
<< "Valid chemistrySolver types are:" << validModels
<< exit(FatalError);
}
const word userModel(chemistryPropertiesDict.lookup("psiChemistryModel"));
// construct chemistry model type name by inserting first template argument
const label tempOpen = userModel.find('<');
const label tempClose = userModel.find('>');
const word className = userModel(0, tempOpen);
const word thermoTypeName =
userModel(tempOpen + 1, tempClose - tempOpen - 1);
const word modelType =
solver + '<' + className + '<' + typeName + ',' + thermoTypeName + ">>";
if (debug)
{
Info<< "Selecting psiChemistryModel " << modelType << endl;
}
else
{
Info<< "Selecting psiChemistryModel " << userModel << endl;
}
fvMeshConstructorTable::iterator cstrIter =
fvMeshConstructorTablePtr_->find(modelType);
if (cstrIter == fvMeshConstructorTablePtr_->end())
{
if (debug)
{
FatalErrorIn("psiChemistryModel::New(const mesh&)")
<< "Unknown psiChemistryModel type "
<< modelType << nl << nl
<< "Valid psiChemistryModel types are:" << nl
<< fvMeshConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError);
}
else
{
wordList allModels(fvMeshConstructorTablePtr_->sortedToc());
wordHashSet models;
forAll(allModels, i)
{
const label tempOpen = allModels[i].find('<');
const label tempClose = allModels[i].rfind('>');
word modelName =
allModels[i](tempOpen + 1, tempClose - tempOpen - 1);
modelName = modelName.replace(typeName + ',', "");
models.insert(modelName);
}
FatalErrorIn("psiChemistryModel::New(const mesh&)")
<< "Unknown psiChemistryModel type " << userModel
<< nl << nl << "Valid psiChemistryModel types are:"
<< models << exit(FatalError);
}
}
return autoPtr<psiChemistryModel>
(cstrIter()(mesh, typeName, thermoTypeName));
}
// ************************************************************************* //

View File

@ -48,6 +48,17 @@ Foam::rhoChemistryModel::rhoChemistryModel
{}
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::rhoChemistryModel> Foam::rhoChemistryModel::New
(
const fvMesh& mesh
)
{
return basicChemistryModel::New<rhoChemistryModel>(mesh);
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::rhoChemistryModel::~rhoChemistryModel()

View File

@ -1,129 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "rhoChemistryModel.H"
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::rhoChemistryModel> Foam::rhoChemistryModel::New
(
const fvMesh& mesh
)
{
IOdictionary chemistryPropertiesDict
(
IOobject
(
"chemistryProperties",
mesh.time().constant(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
)
);
const word solver(chemistryPropertiesDict.lookup("chemistrySolver"));
wordList models = fvMeshConstructorTablePtr_->sortedToc();
wordHashSet validModels;
forAll(models, i)
{
label delim = models[i].find('<');
validModels.insert(models[i](0, delim));
}
wordHashSet::iterator solverIter = validModels.find(solver);
if (solverIter == validModels.end())
{
FatalErrorIn("rhoChemistryModel::New(const fvMesh&)")
<< "Valid chemistrySolver types are:" << validModels
<< exit(FatalError);
}
const word userModel(chemistryPropertiesDict.lookup("rhoChemistryModel"));
// construct chemistry model type name by inserting first template argument
const label tempOpen = userModel.find('<');
const label tempClose = userModel.find('>');
const word className = userModel(0, tempOpen);
const word thermoTypeName =
userModel(tempOpen + 1, tempClose - tempOpen - 1);
const word modelType =
solver + '<' + className + '<' + typeName + ',' + thermoTypeName + ">>";
if (debug)
{
Info<< "Selecting rhoChemistryModel " << modelType << endl;
}
else
{
Info<< "Selecting rhoChemistryModel " << userModel << endl;
}
fvMeshConstructorTable::iterator cstrIter =
fvMeshConstructorTablePtr_->find(modelType);
if (cstrIter == fvMeshConstructorTablePtr_->end())
{
if (debug)
{
FatalErrorIn("rhoChemistryModel::New(const mesh&)")
<< "Unknown rhoChemistryModel type "
<< modelType << nl << nl
<< "Valid rhoChemistryModel types are:" << nl
<< fvMeshConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError);
}
else
{
wordList allModels(fvMeshConstructorTablePtr_->sortedToc());
wordHashSet models;
forAll(allModels, i)
{
const label tempOpen = allModels[i].find('<');
const label tempClose = allModels[i].rfind('>');
word modelName =
allModels[i](tempOpen + 1, tempClose - tempOpen - 1);
modelName = modelName.replace(typeName + ',', "");
models.insert(modelName);
}
FatalErrorIn("rhoChemistryModel::New(const mesh&)")
<< "Unknown rhoChemistryModel type " << userModel
<< nl << nl << "Valid rhoChemistryModel types are:"
<< models << exit(FatalError);
}
}
return autoPtr<rhoChemistryModel>
(cstrIter()(mesh, typeName, thermoTypeName));
}
// ************************************************************************* //

View File

@ -63,10 +63,6 @@ protected:
public:
//- Runtime type information
TypeName("chemistrySolver");
// Constructors
//- Construct from components
@ -100,37 +96,6 @@ public:
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeChemistrySolver(ODEChem) \
\
defineTemplateTypeNameAndDebugWithName \
( \
chemistrySolver<ODEChem>, \
"chemistrySolver<"#ODEChem">", \
0 \
);
#define makeChemistrySolverType(SS, ODEChem, Comp, Thermo) \
\
typedef SS<ODEChem<Comp, Thermo> > SS##ODEChem##Comp##Thermo; \
\
defineTemplateTypeNameAndDebugWithName \
( \
SS##ODEChem##Comp##Thermo, \
#SS"<"#ODEChem"<"#Comp","#Thermo">>", \
0 \
); \
\
addToRunTimeSelectionTable \
( \
Comp, \
SS##ODEChem##Comp##Thermo, \
fvMesh \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository

View File

@ -37,12 +37,27 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeChemistrySolverType(SS, ODEChem, Comp, Thermo) \
\
typedef SS<ODEChem<Comp, Thermo> > SS##ODEChem##Comp##Thermo; \
\
defineTemplateTypeNameAndDebugWithName \
( \
SS##ODEChem##Comp##Thermo, \
(#SS"<"#ODEChem"<"#Comp"," + Thermo::typeName() + ">>").c_str(), \
0 \
); \
\
addToRunTimeSelectionTable \
( \
Comp, \
SS##ODEChem##Comp##Thermo, \
fvMesh \
);
#define makeChemistrySolverTypes(CompChemModel,Thermo) \
\
typedef ODEChemistryModel<CompChemModel, Thermo> CompChemModel##Thermo; \
\
makeChemistrySolver(CompChemModel##Thermo); \
\
makeChemistrySolverType \
( \
noChemistrySolver, \

View File

@ -31,68 +31,6 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactionThermo(BaseThermo,CThermo,MixtureThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \
\
typedef MixtureThermo \
< \
SpecieMixture \
< \
Mixture \
< \
Transport \
< \
species::thermo \
< \
Thermo \
< \
EqnOfState \
< \
Specie \
> \
>, \
Type \
> \
> \
> \
> \
> MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie; \
\
defineTemplateTypeNameAndDebugWithName \
( \
MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \
#MixtureThermo \
"<" \
#Mixture \
"<" \
#Transport \
"<" \
#Thermo \
"<" \
#EqnOfState \
"<" \
#Specie \
">" \
">," \
#Type \
">>>", \
0 \
); \
\
addToRunTimeSelectionTable \
( \
BaseThermo, \
MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \
fvMesh \
); \
\
addToRunTimeSelectionTable \
( \
CThermo, \
MixtureThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \
fvMesh \
)
#define makeReactionMixtureThermo(BaseThermo,CThermo,MixtureThermo,Mixture,ThermoPhys) \
\
typedef MixtureThermo \
@ -109,11 +47,25 @@ typedef MixtureThermo \
defineTemplateTypeNameAndDebugWithName \
( \
MixtureThermo##Mixture##ThermoPhys, \
#MixtureThermo"<"#Mixture"<"#ThermoPhys">>", \
(#MixtureThermo"<"#Mixture"<" + ThermoPhys::typeName() + ">>").c_str(), \
0 \
); \
\
addToRunTimeSelectionTable \
( \
basicThermo, \
MixtureThermo##Mixture##ThermoPhys, \
fvMesh \
); \
\
addToRunTimeSelectionTable \
( \
fluidThermo, \
MixtureThermo##Mixture##ThermoPhys, \
fvMesh \
); \
\
addToRunTimeSelectionTable \
( \
BaseThermo, \
MixtureThermo##Mixture##ThermoPhys, \
@ -128,6 +80,27 @@ addToRunTimeSelectionTable \
);
#define makeReactionThermo(BaseThermo,CThermo,MixtureThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \
\
typedef \
Transport \
< \
species::thermo \
< \
Thermo \
< \
EqnOfState \
< \
Specie \
> \
>, \
Type \
> \
> Transport##Type##Thermo##EqnOfState##Specie; \
\
makeReactionMixtureThermo(BaseThermo,CThermo,MixtureThermo,Mixture,Transport##Type##Thermo##EqnOfState##Specie)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif

View File

@ -137,6 +137,13 @@ public:
// Member functions
//- Return the instantiated type name
static word typeName()
{
return "icoPolynomial<" + word(Specie::typeName_()) + '>';
}
// Fundamental properties
//- Is the equation of state is incompressible i.e. rho != f(p)

View File

@ -135,6 +135,15 @@ public:
// Member functions
//- Return the instantiated type name
static word typeName()
{
return
"incompressiblePerfectGas<"
+ word(Specie::typeName_()) + '>';
}
// Fundamental properties
//- Is the equation of state is incompressible i.e. rho != f(p)

View File

@ -121,6 +121,13 @@ public:
// Member functions
//- Return the instantiated type name
static word typeName()
{
return "perfectGas<" + word(Specie::typeName_()) + '>';
}
// Fundamental properties
//- Is the equation of state is incompressible i.e. rho != f(p)

View File

@ -123,6 +123,13 @@ public:
// Member functions
//- Return the instantiated type name
static word typeName()
{
return "rhoConst<" + word(Specie::typeName_()) + '>';
}
// Fundamental properties
//- Is the equation of state is incompressible i.e. rho != f(p)

View File

@ -1,92 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "reactionTypes.H"
#include "makeReaction.H"
#include "ArrheniusReactionRate.H"
#include "infiniteReactionRate.H"
#include "LandauTellerReactionRate.H"
#include "thirdBodyArrheniusReactionRate.H"
#include "ChemicallyActivatedReactionRate.H"
#include "JanevReactionRate.H"
#include "powerSeriesReactionRate.H"
#include "FallOffReactionRate.H"
#include "LindemannFallOffFunction.H"
#include "SRIFallOffFunction.H"
#include "TroeFallOffFunction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
defineTemplateTypeNameAndDebug(gasReaction, 0);
defineTemplateRunTimeSelectionTable(gasReaction, Istream);
defineTemplateRunTimeSelectionTable(gasReaction, dictionary);
// * * * * * * * * * * * * * Make CHEMKIN reactions * * * * * * * * * * * * //
makeIRNReactions(gasThermoPhysics, ArrheniusReactionRate)
makeIRNReactions(gasThermoPhysics, infiniteReactionRate)
makeIRNReactions(gasThermoPhysics, LandauTellerReactionRate)
makeIRNReactions(gasThermoPhysics, thirdBodyArrheniusReactionRate)
makeIRReactions(gasThermoPhysics, JanevReactionRate)
makeIRReactions(gasThermoPhysics, powerSeriesReactionRate)
makePressureDependentReactions
(
gasThermoPhysics,
ArrheniusReactionRate,
LindemannFallOffFunction
)
makePressureDependentReactions
(
gasThermoPhysics,
ArrheniusReactionRate,
TroeFallOffFunction
)
makePressureDependentReactions
(
gasThermoPhysics,
ArrheniusReactionRate,
SRIFallOffFunction
)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// ************************************************************************* //

View File

@ -57,6 +57,12 @@ public:
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return "absoluteEnthalpy";
}
// Fundamental properties
static word name()

View File

@ -135,9 +135,16 @@ public:
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return "eConst<" + EquationOfState::typeName() + '>';
}
//- Limit the temperature to be in the range Tlow_ to Thigh_
inline scalar limit(const scalar T) const;
// Fundamental properties
//- Heat capacity at constant pressure [J/(kmol K)]

View File

@ -44,41 +44,41 @@ namespace Foam
// Forward declaration of friend functions and operators
template<class equationOfState> class hConstThermo;
template<class EquationOfState> class hConstThermo;
template<class equationOfState>
inline hConstThermo<equationOfState> operator+
template<class EquationOfState>
inline hConstThermo<EquationOfState> operator+
(
const hConstThermo<equationOfState>&,
const hConstThermo<equationOfState>&
const hConstThermo<EquationOfState>&,
const hConstThermo<EquationOfState>&
);
template<class equationOfState>
inline hConstThermo<equationOfState> operator-
template<class EquationOfState>
inline hConstThermo<EquationOfState> operator-
(
const hConstThermo<equationOfState>&,
const hConstThermo<equationOfState>&
const hConstThermo<EquationOfState>&,
const hConstThermo<EquationOfState>&
);
template<class equationOfState>
inline hConstThermo<equationOfState> operator*
template<class EquationOfState>
inline hConstThermo<EquationOfState> operator*
(
const scalar,
const hConstThermo<equationOfState>&
const hConstThermo<EquationOfState>&
);
template<class equationOfState>
inline hConstThermo<equationOfState> operator==
template<class EquationOfState>
inline hConstThermo<EquationOfState> operator==
(
const hConstThermo<equationOfState>&,
const hConstThermo<equationOfState>&
const hConstThermo<EquationOfState>&,
const hConstThermo<EquationOfState>&
);
template<class equationOfState>
template<class EquationOfState>
Ostream& operator<<
(
Ostream&,
const hConstThermo<equationOfState>&
const hConstThermo<EquationOfState>&
);
@ -86,10 +86,10 @@ Ostream& operator<<
Class hConstThermo Declaration
\*---------------------------------------------------------------------------*/
template<class equationOfState>
template<class EquationOfState>
class hConstThermo
:
public equationOfState
public EquationOfState
{
// Private data
@ -102,7 +102,7 @@ class hConstThermo
//- Construct from components
inline hConstThermo
(
const equationOfState& st,
const EquationOfState& st,
const scalar cp,
const scalar hf
);
@ -133,9 +133,16 @@ public:
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return "hConst<" + EquationOfState::typeName() + '>';
}
//- Limit the temperature to be in the range Tlow_ to Thigh_
inline scalar limit(const scalar T) const;
// Fundamental properties
//- Heat capacity at constant pressure [J/(kmol K)]
@ -168,25 +175,25 @@ public:
// Friend operators
friend hConstThermo operator+ <equationOfState>
friend hConstThermo operator+ <EquationOfState>
(
const hConstThermo&,
const hConstThermo&
);
friend hConstThermo operator- <equationOfState>
friend hConstThermo operator- <EquationOfState>
(
const hConstThermo&,
const hConstThermo&
);
friend hConstThermo operator* <equationOfState>
friend hConstThermo operator* <EquationOfState>
(
const scalar,
const hConstThermo&
);
friend hConstThermo operator== <equationOfState>
friend hConstThermo operator== <EquationOfState>
(
const hConstThermo&,
const hConstThermo&
@ -195,7 +202,7 @@ public:
// IOstream Operators
friend Ostream& operator<< <equationOfState>
friend Ostream& operator<< <EquationOfState>
(
Ostream&,
const hConstThermo&

View File

@ -46,21 +46,21 @@ SourceFiles
namespace Foam
{
template<class equationOfState> class hExponentialThermo;
template<class EquationOfState> class hExponentialThermo;
template<class equationOfState>
inline hExponentialThermo<equationOfState> operator*
template<class EquationOfState>
inline hExponentialThermo<EquationOfState> operator*
(
const scalar,
const hExponentialThermo<equationOfState>&
const hExponentialThermo<EquationOfState>&
);
template<class equationOfState>
template<class EquationOfState>
Ostream& operator<<
(
Ostream&,
const hExponentialThermo<equationOfState>&
const hExponentialThermo<EquationOfState>&
);
@ -68,10 +68,10 @@ Ostream& operator<<
Class hExponentialThermo Declaration
\*---------------------------------------------------------------------------*/
template<class equationOfState>
template<class EquationOfState>
class hExponentialThermo
:
public equationOfState
public EquationOfState
{
// Private data
@ -98,7 +98,7 @@ public:
//- Construct from components
inline hExponentialThermo
(
const equationOfState& st,
const EquationOfState& st,
const scalar c0,
const scalar n0,
const scalar Tref,
@ -118,6 +118,12 @@ public:
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return "hExponential<" + EquationOfState::typeName() + '>';
}
//- Limit the temperature to be in the range Tlow_ to Thigh_
inline scalar limit(const scalar T) const;
@ -153,7 +159,7 @@ public:
// Friend operators
friend hExponentialThermo operator* <equationOfState>
friend hExponentialThermo operator* <EquationOfState>
(
const scalar,
const hExponentialThermo&
@ -162,7 +168,7 @@ public:
// Ostream Operator
friend Ostream& operator<< <equationOfState>
friend Ostream& operator<< <EquationOfState>
(
Ostream&,
const hExponentialThermo&

View File

@ -151,9 +151,16 @@ public:
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return "hPolynomial<" + EquationOfState::typeName() + '>';
}
//- Limit the temperature to be in the range Tlow_ to Thigh_
inline scalar limit(const scalar) const;
// Fundamental properties
//- Heat capacity at constant pressure [J/(kmol K)]

View File

@ -150,6 +150,12 @@ public:
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return "janaf<" + EquationOfState::typeName() + '>';
}
//- Limit the temperature to be in the range Tlow_ to Thigh_
inline scalar limit(const scalar T) const;

View File

@ -57,6 +57,12 @@ public:
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return "sensibleEnthalpy";
}
// Fundamental properties
static word name()

View File

@ -57,6 +57,12 @@ public:
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return "sensibleInternalEnergy";
}
// Fundamental properties
static word name()

View File

@ -139,6 +139,14 @@ public:
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return
Thermo::typeName() + ','
+ Type<thermo<Thermo, Type> >::typeName();
}
// Fundamental properties
// (These functions must be provided in derived types)

View File

@ -137,6 +137,12 @@ public:
// Member functions
//- Return the instantiated type name
static word typeName()
{
return "const<" + Thermo::typeName() + '>';
}
//- Dynamic viscosity [kg/ms]
inline scalar mu(const scalar p, const scalar T) const;

View File

@ -142,6 +142,12 @@ public:
// Member functions
//- Return the instantiated type name
static word typeName()
{
return "polynomial<" + Thermo::typeName() + '>';
}
//- Dynamic viscosity [kg/ms]
inline scalar mu(const scalar p, const scalar T) const;

View File

@ -156,6 +156,12 @@ public:
// Member functions
//- Return the instantiated type name
static word typeName()
{
return "sutherland<" + Thermo::typeName() + '>';
}
//- Dynamic viscosity [kg/ms]
inline scalar mu(const scalar p, const scalar T) const;

View File

@ -19,8 +19,8 @@ thermoType
{
type heheuReactionThermo;
mixture inhomogeneousMixture;
transport sutherlandTransport;
thermo janafThermo;
transport sutherland;
thermo janaf;
equationOfState perfectGas;
specie specie;
energy absoluteEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type heheuReactionThermo;
mixture homogeneousMixture;
transport sutherlandTransport;
thermo janafThermo;
transport sutherland;
thermo janaf;
equationOfState perfectGas;
specie specie;
energy absoluteEnthalpy;

View File

@ -15,14 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on;
initialChemicalTimeStep 1e-10;
chemistrySolver ode;
odeCoeffs
{
solver SIBS;

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture reactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
CHEMKINFile "$FOAM_CASE/chemkin/chem.inp";

View File

@ -15,14 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on;
initialChemicalTimeStep 1e-10;
chemistrySolver ode;
odeCoeffs
{
solver SIBS;

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture reactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
CHEMKINFile "$FOAM_CASE/chemkin/chem.inp";

View File

@ -15,14 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on;
initialChemicalTimeStep 1e-10;
chemistrySolver ode;
odeCoeffs
{
solver SIBS;

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture reactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
CHEMKINFile "$FOAM_CASE/chemkin/chem.inp";

View File

@ -15,14 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on;
initialChemicalTimeStep 1e-10;
chemistrySolver ode;
odeCoeffs
{
solver SIBS;

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture reactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
CHEMKINFile "$FOAM_CASE/chemkin/chem.inp";

View File

@ -19,8 +19,8 @@ thermoType
{
type heheuReactionThermo;
mixture inhomogeneousMixture;
transport sutherlandTransport;
thermo janafThermo;
transport sutherland;
thermo janaf;
equationOfState perfectGas;
specie specie;
energy absoluteEnthalpy;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<reactingSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
thermoType heSolidThermo<reactingSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
solidComponents
(

View File

@ -1,11 +1,10 @@
/*---------------------------------------------------------------------------*\
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
@ -16,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<singleStepReactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture singleStepReactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
inertSpecie N2;

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<singleStepReactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture singleStepReactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
inertSpecie N2;

View File

@ -15,14 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver noChemistrySolver;
}
chemistry off;
turbulentReaction off;
chemistrySolver noChemistrySolver;
initialChemicalTimeStep 1e-07;

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<singleStepReactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture singleStepReactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
inertSpecie N2;

View File

@ -15,12 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on;
chemistrySolver ode;
initialChemicalTimeStep 1e-07;
sequentialCoeffs

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture reactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
inertSpecie N2;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport sutherlandTransport;
thermo hConstThermo;
transport sutherland;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport sutherlandTransport;
thermo janafThermo;
transport sutherland;
thermo janaf;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport sutherlandTransport;
thermo hConstThermo;
transport sutherland;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport sutherlandTransport;
thermo hConstThermo;
transport sutherland;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport sutherlandTransport;
thermo hConstThermo;
transport sutherland;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport sutherlandTransport;
thermo hConstThermo;
transport sutherland;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport sutherlandTransport;
thermo hConstThermo;
transport sutherland;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport sutherlandTransport;
thermo hConstThermo;
transport sutherland;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -110,7 +110,7 @@ dictionaryReplacement
// Solid thermo
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
mixture

View File

@ -15,14 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas<specie>>,sensibleEnthalpy>>>;
// thermoType hePsiThermo<pureMixture<const<hConst<perfectGas<specie>>,sensibleEnthalpy>>>;
thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type hePsiThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
mixture
{

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -18,8 +18,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
mixture
{

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
mixture
{

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
mixture
{

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>;
thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
mixture
{

View File

@ -19,8 +19,8 @@ thermoType
{
type heRhoThermo;
mixture pureMixture;
transport constTransport;
thermo hConstThermo;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;

View File

@ -15,12 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
rhoChemistryModel ODEChemistryModel<icoPoly8ThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver noChemistrySolver;
}
chemistry on; // off;
chemistrySolver noChemistrySolver;
chemCalcFreq 1;
initialChemicalTimeStep 1e-8; // NOT USED

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoReactionThermo<reactingMixture<icoPoly8ThermoPhysics>>;
thermoType
{
type heRhoReactionThermo;
mixture reactingMixture;
transport polynomial;
thermo hPolynomial;
energy sensibleEnthalpy;
equationOfState icoPolynomial;
specie specie;
}
inertSpecie N2;

View File

@ -15,12 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
rhoChemistryModel ODEChemistryModel<icoPoly8ThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver noChemistrySolver;
}
chemistry off;
chemistrySolver noChemistrySolver;
initialChemicalTimeStep 1e-07; // NOT USED

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoReactionThermo<reactingMixture<icoPoly8ThermoPhysics>>;
thermoType
{
type heRhoReactionThermo;
mixture reactingMixture;
transport polynomial;
thermo hPolynomial;
energy sensibleEnthalpy;
equationOfState icoPolynomial;
specie specie;
}
chemistryReader foamChemistryReader;

View File

@ -15,12 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on;
chemistrySolver ode;
initialChemicalTimeStep 1e-07;
sequentialCoeffs

View File

@ -38,12 +38,14 @@ FoamFile
symmetry
{
type symmetryPlane;
inGroups 1(symmetryPlane);
nFaces 100;
startFace 5045;
}
frontAndBack
{
type empty;
inGroups 1(empty);
nFaces 5000;
startFace 5145;
}

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture reactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
chemistryReader foamChemistryReader;

View File

@ -15,12 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver noChemistrySolver;
}
chemistry off;
chemistrySolver noChemistrySolver;
initialChemicalTimeStep 1e-07;

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture reactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
chemistryReader foamChemistryReader;
@ -25,7 +34,6 @@ foamChemistryThermoFile "$FOAM_CASE/constant/foam.dat";
inertSpecie N2;
liquids
{
H2O
@ -34,7 +42,6 @@ liquids
}
}
solids
{
// none

View File

@ -15,12 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>;
chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver noChemistrySolver;
}
chemistry off;
chemistrySolver noChemistrySolver;
initialChemicalTimeStep 1e-07;

View File

@ -15,7 +15,16 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiReactionThermo<reactingMixture<gasThermoPhysics>>;
thermoType
{
type hePsiReactionThermo;
mixture reactingMixture;
transport sutherland;
thermo janaf;
energy sensibleEnthalpy;
equationOfState perfectGas;
specie specie;
}
chemistryReader foamChemistryReader;
@ -25,7 +34,6 @@ foamChemistryThermoFile "$FOAM_CASE/constant/foam.dat";
inertSpecie N2;
liquids
{
H2O
@ -34,7 +42,6 @@ liquids
}
}
solids
{
// none

Some files were not shown because too many files have changed in this diff Show More