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); wordList cmpts(nCmpt);
string::size_type beg=0, end=0; string::size_type beg=0, end=0, endb=0, endc=0;
int i = 0; int i = 0;
while while
( (
(end = thermoName.find('<', beg)) != string::npos (endb = thermoName.find('<', beg)) != string::npos
|| (end = 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) if (beg < end)
{ {
cmpts[i] = thermoName.substr(beg, end-beg); 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("specie")) + ">>,"
+ word(thermoTypeDict.lookup("energy")) + ">>>"; + word(thermoTypeDict.lookup("energy")) + ">>>";
Info<< thermoTypeName << endl;
// Lookup the thermo package // Lookup the thermo package
typename Thermo::fvMeshConstructorTable::iterator cstrIter = typename Thermo::fvMeshConstructorTable::iterator cstrIter =
Thermo::fvMeshConstructorTablePtr_->find(thermoTypeName); Thermo::fvMeshConstructorTablePtr_->find(thermoTypeName);

View File

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

View File

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

View File

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

View File

@ -46,19 +46,7 @@ namespace Foam
defineTemplateTypeNameAndDebugWithName \ defineTemplateTypeNameAndDebugWithName \
( \ ( \
SS##Comp##Thermo, \ SS##Comp##Thermo, \
#SS"<"#Comp","#Thermo">", \ (#SS"<"#Comp"," + Thermo::typeName() + ">").c_str(), \
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">", \
0 \ 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 * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::psiChemistryModel::~psiChemistryModel() 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 * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::rhoChemistryModel::~rhoChemistryModel() 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: public:
//- Runtime type information
TypeName("chemistrySolver");
// Constructors // Constructors
//- Construct from components //- Construct from components
@ -100,37 +96,6 @@ public:
} // End namespace Foam } // 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 #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) \ #define makeChemistrySolverTypes(CompChemModel,Thermo) \
\ \
typedef ODEChemistryModel<CompChemModel, Thermo> CompChemModel##Thermo; \
\
makeChemistrySolver(CompChemModel##Thermo); \
\
makeChemistrySolverType \ makeChemistrySolverType \
( \ ( \
noChemistrySolver, \ noChemistrySolver, \

View File

@ -31,103 +31,76 @@ 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) \ #define makeReactionMixtureThermo(BaseThermo,CThermo,MixtureThermo,Mixture,ThermoPhys) \
\ \
typedef MixtureThermo \ typedef MixtureThermo \
< \ < \
SpecieMixture \ SpecieMixture \
< \ < \
Mixture \ Mixture \
< \ < \
ThermoPhys \ ThermoPhys \
> \ > \
> \ > \
> MixtureThermo##Mixture##ThermoPhys; \ > MixtureThermo##Mixture##ThermoPhys; \
\ \
defineTemplateTypeNameAndDebugWithName \ defineTemplateTypeNameAndDebugWithName \
( \ ( \
MixtureThermo##Mixture##ThermoPhys, \ MixtureThermo##Mixture##ThermoPhys, \
#MixtureThermo"<"#Mixture"<"#ThermoPhys">>", \ (#MixtureThermo"<"#Mixture"<" + ThermoPhys::typeName() + ">>").c_str(), \
0 \ 0 \
); \ ); \
\ \
addToRunTimeSelectionTable \ addToRunTimeSelectionTable \
( \ ( \
BaseThermo, \ basicThermo, \
MixtureThermo##Mixture##ThermoPhys, \ MixtureThermo##Mixture##ThermoPhys, \
fvMesh \ fvMesh \
); \ ); \
\ \
addToRunTimeSelectionTable \ addToRunTimeSelectionTable \
( \ ( \
CThermo, \ fluidThermo, \
MixtureThermo##Mixture##ThermoPhys, \ MixtureThermo##Mixture##ThermoPhys, \
fvMesh \ fvMesh \
); \
\
addToRunTimeSelectionTable \
( \
BaseThermo, \
MixtureThermo##Mixture##ThermoPhys, \
fvMesh \
); \
\
addToRunTimeSelectionTable \
( \
CThermo, \
MixtureThermo##Mixture##ThermoPhys, \
fvMesh \
); );
#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 #endif

View File

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

View File

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

View File

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

View File

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

View File

@ -135,9 +135,16 @@ public:
// Member Functions // 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_ //- Limit the temperature to be in the range Tlow_ to Thigh_
inline scalar limit(const scalar T) const; inline scalar limit(const scalar T) const;
// Fundamental properties // Fundamental properties
//- Heat capacity at constant pressure [J/(kmol K)] //- Heat capacity at constant pressure [J/(kmol K)]

View File

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

View File

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

View File

@ -151,9 +151,16 @@ public:
// Member Functions // 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_ //- Limit the temperature to be in the range Tlow_ to Thigh_
inline scalar limit(const scalar) const; inline scalar limit(const scalar) const;
// Fundamental properties // Fundamental properties
//- Heat capacity at constant pressure [J/(kmol K)] //- Heat capacity at constant pressure [J/(kmol K)]

View File

@ -150,6 +150,12 @@ public:
// Member Functions // 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_ //- Limit the temperature to be in the range Tlow_ to Thigh_
inline scalar limit(const scalar T) const; inline scalar limit(const scalar T) const;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,14 +15,16 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>; chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on; chemistry on;
initialChemicalTimeStep 1e-10; initialChemicalTimeStep 1e-10;
chemistrySolver ode;
odeCoeffs odeCoeffs
{ {
solver SIBS; 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"; CHEMKINFile "$FOAM_CASE/chemkin/chem.inp";

View File

@ -15,14 +15,16 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>; chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on; chemistry on;
initialChemicalTimeStep 1e-10; initialChemicalTimeStep 1e-10;
chemistrySolver ode;
odeCoeffs odeCoeffs
{ {
solver SIBS; 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"; CHEMKINFile "$FOAM_CASE/chemkin/chem.inp";

View File

@ -15,14 +15,16 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>; chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on; chemistry on;
initialChemicalTimeStep 1e-10; initialChemicalTimeStep 1e-10;
chemistrySolver ode;
odeCoeffs odeCoeffs
{ {
solver SIBS; 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"; CHEMKINFile "$FOAM_CASE/chemkin/chem.inp";

View File

@ -15,14 +15,16 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>; chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver ode;
}
chemistry on; chemistry on;
initialChemicalTimeStep 1e-10; initialChemicalTimeStep 1e-10;
chemistrySolver ode;
odeCoeffs odeCoeffs
{ {
solver SIBS; 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"; CHEMKINFile "$FOAM_CASE/chemkin/chem.inp";

View File

@ -19,8 +19,8 @@ thermoType
{ {
type heheuReactionThermo; type heheuReactionThermo;
mixture inhomogeneousMixture; mixture inhomogeneousMixture;
transport sutherlandTransport; transport sutherland;
thermo janafThermo; thermo janaf;
equationOfState perfectGas; equationOfState perfectGas;
specie specie; specie specie;
energy absoluteEnthalpy; 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 solidComponents
( (

View File

@ -1,11 +1,10 @@
/*---------------------------------------------------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev | | \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile
{ {
version 2.0; 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; 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; inertSpecie N2;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -110,7 +110,7 @@ dictionaryReplacement
// Solid thermo // Solid thermo
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst<specie>>,sensibleEnthalpy>>>>; thermoType heSolidThermo<pureSolidMixture<constIso<const<hConst<rhoConst<specie>>,sensibleEnthalpy>>>>;
mixture 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 thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture pureMixture; mixture pureMixture;
transport constTransport; transport const;
thermo hConstThermo; thermo hConst;
energy sensibleEnthalpy; energy sensibleEnthalpy;
equationOfState perfectGas; equationOfState perfectGas;
specie specie; specie specie;

View File

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

View File

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

View File

@ -19,8 +19,8 @@ thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture pureMixture; mixture pureMixture;
transport constTransport; transport const;
thermo hConstThermo; thermo hConst;
equationOfState perfectGas; equationOfState perfectGas;
specie specie; specie specie;
energy sensibleEnthalpy; 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 mixture
{ {

View File

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

View File

@ -18,8 +18,8 @@ thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture pureMixture; mixture pureMixture;
transport constTransport; transport const;
thermo hConstThermo; thermo hConst;
equationOfState rhoConst; equationOfState rhoConst;
specie specie; specie specie;
energy sensibleEnthalpy; 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 mixture
{ {

View File

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

View File

@ -19,8 +19,8 @@ thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture pureMixture; mixture pureMixture;
transport constTransport; transport const;
thermo hConstThermo; thermo hConst;
equationOfState perfectGas; equationOfState perfectGas;
specie specie; specie specie;
energy sensibleEnthalpy; 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 mixture
{ {

View File

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

View File

@ -19,8 +19,8 @@ thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture pureMixture; mixture pureMixture;
transport constTransport; transport const;
thermo hConstThermo; thermo hConst;
equationOfState perfectGas; equationOfState perfectGas;
specie specie; specie specie;
energy sensibleEnthalpy; 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 mixture
{ {

View File

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

View File

@ -19,8 +19,8 @@ thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture pureMixture; mixture pureMixture;
transport constTransport; transport const;
thermo hConstThermo; thermo hConst;
equationOfState perfectGas; equationOfState perfectGas;
specie specie; specie specie;
energy sensibleEnthalpy; 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 mixture
{ {

View File

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

View File

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

View File

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

View File

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

View File

@ -38,12 +38,14 @@ FoamFile
symmetry symmetry
{ {
type symmetryPlane; type symmetryPlane;
inGroups 1(symmetryPlane);
nFaces 100; nFaces 100;
startFace 5045; startFace 5045;
} }
frontAndBack frontAndBack
{ {
type empty; type empty;
inGroups 1(empty);
nFaces 5000; nFaces 5000;
startFace 5145; 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; chemistryReader foamChemistryReader;

View File

@ -15,12 +15,14 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
psiChemistryModel ODEChemistryModel<gasThermoPhysics>; chemistryType
{
chemistryModel ODEChemistryModel;
chemistrySolver noChemistrySolver;
}
chemistry off; chemistry off;
chemistrySolver noChemistrySolver;
initialChemicalTimeStep 1e-07; 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; chemistryReader foamChemistryReader;
@ -25,7 +34,6 @@ foamChemistryThermoFile "$FOAM_CASE/constant/foam.dat";
inertSpecie N2; inertSpecie N2;
liquids liquids
{ {
H2O H2O
@ -34,7 +42,6 @@ liquids
} }
} }
solids solids
{ {
// none // none

View File

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

View File

@ -32,7 +32,7 @@ FoamFile
sampleRegion wallFilmRegion; sampleRegion wallFilmRegion;
samplePatch region0_to_wallFilmRegion_cubeFaces; samplePatch region0_to_wallFilmRegion_cubeFaces;
offsetMode nonuniform; offsetMode nonuniform;
offsets nonuniform List<vector> offsets nonuniform List<vector>
6144 6144
( (
(-0 -0 -0) (-0 -0 -0)
@ -6191,7 +6191,7 @@ FoamFile
sampleRegion wallFilmRegion; sampleRegion wallFilmRegion;
samplePatch region0_to_wallFilmRegion_floorFaces; samplePatch region0_to_wallFilmRegion_floorFaces;
offsetMode nonuniform; offsetMode nonuniform;
offsets nonuniform List<vector> offsets nonuniform List<vector>
6400 6400
( (
(8.67361738e-19 -1.734723476e-18 -0) (8.67361738e-19 -1.734723476e-18 -0)

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