Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
andy
2012-10-01 11:40:22 +01:00
150 changed files with 2400 additions and 1237 deletions

View File

@ -19,8 +19,7 @@ LIB_LIBS = \
-lmeshTools \ -lmeshTools \
-lchemistryModel \ -lchemistryModel \
-lspecie \ -lspecie \
-lspecie \ -lsolidSpecie \
-lsolid \
-lfluidThermophysicalModels \ -lfluidThermophysicalModels \
-lsolidChemistryModel \ -lsolidChemistryModel \
-lcompressibleTurbulenceModel \ -lcompressibleTurbulenceModel \

View File

@ -17,4 +17,4 @@ LIB_LIBS = \
-lfiniteVolume \ -lfiniteVolume \
-lmeshTools \ -lmeshTools \
-lOpenFOAM \ -lOpenFOAM \
-lsolid -lsolidSpecie

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

@ -0,0 +1,191 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 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 "basicChemistryModel.H"
#include "basicThermo.H"
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
template<class ChemistryModel>
Foam::autoPtr<ChemistryModel> Foam::basicChemistryModel::New
(
const fvMesh& mesh
)
{
IOdictionary chemistryDict
(
IOobject
(
"chemistryProperties",
mesh.time().constant(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
)
);
word chemistryTypeName;
if (chemistryDict.isDict("chemistryType"))
{
const dictionary& chemistryTypeDict
(
chemistryDict.subDict("chemistryType")
);
Info<< "Selecting chemistry type " << chemistryTypeDict << endl;
const int nCmpt = 8;
const char* cmptNames[nCmpt] =
{
"chemistrySolver",
"chemistryModel",
"???ChemistryModel",
"transport",
"thermo",
"equationOfState",
"specie",
"energy"
};
IOdictionary thermoDict
(
IOobject
(
"thermophysicalProperties",
mesh.time().constant(),
mesh,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE,
false
)
);
word thermoTypeName;
if (thermoDict.isDict("thermoType"))
{
const dictionary& thermoTypeDict(thermoDict.subDict("thermoType"));
thermoTypeName =
word(thermoTypeDict.lookup("transport")) + '<'
+ word(thermoTypeDict.lookup("thermo")) + '<'
+ word(thermoTypeDict.lookup("equationOfState")) + '<'
+ word(thermoTypeDict.lookup("specie")) + ">>,"
+ word(thermoTypeDict.lookup("energy")) + ">";
}
else
{
FatalIOErrorIn
(
(ChemistryModel::typeName + "::New(const mesh&)").c_str(),
thermoDict
) << "thermoType is in the old format and must be upgraded"
<< exit(FatalIOError);
}
// Construct the name of the chemistry type from the components
chemistryTypeName =
word(chemistryTypeDict.lookup("chemistrySolver")) + '<'
+ word(chemistryTypeDict.lookup("chemistryModel")) + '<'
+ ChemistryModel::typeName + ','
+ thermoTypeName + ">>";
typename ChemistryModel::fvMeshConstructorTable::iterator cstrIter =
ChemistryModel::fvMeshConstructorTablePtr_->find(chemistryTypeName);
if (cstrIter == ChemistryModel::fvMeshConstructorTablePtr_->end())
{
FatalErrorIn(ChemistryModel::typeName + "::New(const mesh&)")
<< "Unknown " << ChemistryModel::typeName << " type " << nl
<< "chemistryType" << chemistryTypeDict << nl << nl
<< "Valid " << ChemistryModel ::typeName << " types are:"
<< nl << nl;
// Get the list of all the suitable chemistry packages available
wordList validChemistryTypeNames
(
ChemistryModel::fvMeshConstructorTablePtr_->sortedToc()
);
// Build a table of the thermo packages constituent parts
// Note: row-0 contains the names of constituent parts
List<wordList> validChemistryTypeNameCmpts
(
validChemistryTypeNames.size() + 1
);
validChemistryTypeNameCmpts[0].setSize(nCmpt);
forAll(validChemistryTypeNameCmpts[0], j)
{
validChemistryTypeNameCmpts[0][j] = cmptNames[j];
}
// Split the thermo package names into their constituent parts
forAll(validChemistryTypeNames, i)
{
validChemistryTypeNameCmpts[i+1] = basicThermo::splitThermoName
(
validChemistryTypeNames[i],
nCmpt
);
}
// Print the table of available packages
// in terms of their constituent parts
printTable(validChemistryTypeNameCmpts, FatalError);
FatalError<< exit(FatalError);
}
return autoPtr<ChemistryModel>
(cstrIter()(mesh, typeName, chemistryTypeName));
}
else
{
chemistryTypeName =
word(chemistryDict.lookup("chemistryType"));
Info<< "Selecting chemistry type " << chemistryTypeName << endl;
typename ChemistryModel::fvMeshConstructorTable::iterator cstrIter =
ChemistryModel::fvMeshConstructorTablePtr_->find(chemistryTypeName);
if (cstrIter == ChemistryModel::fvMeshConstructorTablePtr_->end())
{
FatalErrorIn(ChemistryModel::typeName + "::New(const mesh&)")
<< "Unknown " << ChemistryModel::typeName << " type "
<< chemistryTypeName << nl << nl
<< "Valid ChemistryModel types are:" << nl
<< ChemistryModel::fvMeshConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError);
}
return autoPtr<ChemistryModel>
(cstrIter()(mesh, typeName, chemistryTypeName));
}
}
// ************************************************************************* //

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

@ -44,10 +44,21 @@ Foam::psiChemistryModel::psiChemistryModel
) )
: :
basicChemistryModel(mesh), basicChemistryModel(mesh),
thermo_(psiReactionThermo::NewType(mesh, thermoTypeName)) thermo_(psiReactionThermo::New(mesh))
{} {}
// * * * * * * * * * * * * * * * * 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

@ -44,10 +44,21 @@ Foam::rhoChemistryModel::rhoChemistryModel
) )
: :
basicChemistryModel(mesh), basicChemistryModel(mesh),
thermo_(rhoReactionThermo::NewType(mesh, thermoTypeName)) thermo_(rhoReactionThermo::New(mesh))
{} {}
// * * * * * * * * * * * * * * * * 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

@ -5,14 +5,12 @@ chemistryReaders/chemistryReader/makeChemistryReaders.C
mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C
psiReactionThermo/psiReactionThermo/psiReactionThermo.C psiReactionThermo/psiReactionThermo/psiReactionThermo.C
psiReactionThermo/psiReactionThermo/psiReactionThermoNew.C
psiReactionThermo/hePsiReactionThermo/hePsiReactionThermos.C psiReactionThermo/hePsiReactionThermo/hePsiReactionThermos.C
psiReactionThermo/psiuReactionThermo/psiuReactionThermo.C psiReactionThermo/psiuReactionThermo/psiuReactionThermo.C
psiReactionThermo/heheuReactionThermo/heheuReactionThermos.C psiReactionThermo/heheuReactionThermo/heheuReactionThermos.C
rhoReactionThermo/rhoReactionThermo/rhoReactionThermo.C rhoReactionThermo/rhoReactionThermo/rhoReactionThermo.C
rhoReactionThermo/rhoReactionThermo/rhoReactionThermoNew.C
rhoReactionThermo/heRhoReactionThermo/heRhoReactionThermos.C rhoReactionThermo/heRhoReactionThermo/heRhoReactionThermos.C
derivedFvPatchFields/fixedUnburntEnthalpy/fixedUnburntEnthalpyFvPatchScalarField.C derivedFvPatchFields/fixedUnburntEnthalpy/fixedUnburntEnthalpyFvPatchScalarField.C

View File

@ -31,100 +31,80 @@ 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 \
); );

View File

@ -82,13 +82,6 @@ public:
//- Standard selection based on fvMesh //- Standard selection based on fvMesh
static autoPtr<psiReactionThermo> New(const fvMesh&); static autoPtr<psiReactionThermo> New(const fvMesh&);
//- Select and check that package contains 'thermoType'
static autoPtr<psiReactionThermo> NewType
(
const fvMesh&,
const word& thermoType
);
//- Destructor //- Destructor
virtual ~psiReactionThermo(); virtual ~psiReactionThermo();

View File

@ -1,148 +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 "psiReactionThermo.H"
#include "fvMesh.H"
/*
Foam::autoPtr<Foam::psiReactionThermo> Foam::psiReactionThermo::New
(
const fvMesh& mesh
)
{
// get model name, but do not register the dictionary
// otherwise it is registered in the database twice
const word modelType
(
IOdictionary
(
IOobject
(
"thermophysicalProperties",
mesh.time().constant(),
mesh,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE,
false
)
).lookup("thermoType")
);
Info<< "Selecting thermodynamics package " << modelType << endl;
fvMeshConstructorTable::iterator cstrIter =
fvMeshConstructorTablePtr_->find(modelType);
if (cstrIter == fvMeshConstructorTablePtr_->end())
{
FatalErrorIn("psiReactionThermo::New(const fvMesh&)")
<< "Unknown psiReactionThermo type "
<< modelType << nl << nl
<< "Valid psiReactionThermo types are:" << nl
<< fvMeshConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError);
}
return autoPtr<psiReactionThermo>(cstrIter()(mesh));
}
*/
Foam::autoPtr<Foam::psiReactionThermo> Foam::psiReactionThermo::NewType
(
const fvMesh& mesh,
const word& thermoType
)
{
// get model name, but do not register the dictionary
// otherwise it is registered in the database twice
const word modelType
(
IOdictionary
(
IOobject
(
"thermophysicalProperties",
mesh.time().constant(),
mesh,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE,
false
)
).lookup("thermoType")
);
if (modelType.find(thermoType) == string::npos)
{
wordList allModels = fvMeshConstructorTablePtr_->sortedToc();
DynamicList<word> validModels;
forAll(allModels, i)
{
if (allModels[i].find(thermoType) != string::npos)
{
validModels.append(allModels[i]);
}
}
FatalErrorIn
(
"autoPtr<psiReactionThermo> psiReactionThermo::NewType"
"("
"const fvMesh&, "
"const word&"
")"
) << "Inconsistent thermo package selected:" << nl << nl
<< modelType << nl << nl << "Please select a "
<< "thermo package based on " << thermoType
<< ". Valid options include:" << nl << validModels << nl
<< exit(FatalError);
}
Info<< "Selecting thermodynamics package " << modelType << endl;
fvMeshConstructorTable::iterator cstrIter =
fvMeshConstructorTablePtr_->find(modelType);
if (cstrIter == fvMeshConstructorTablePtr_->end())
{
FatalErrorIn
(
"autoPtr<psiReactionThermo> psiReactionThermo::NewType"
"("
"const fvMesh&, "
"const word&"
")"
) << "Unknown psiReactionThermo type "
<< modelType << nl << nl
<< "Valid psiReactionThermo types are:" << nl
<< fvMeshConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError);
}
return autoPtr<psiReactionThermo>(cstrIter()(mesh));
}
// ************************************************************************* //

View File

@ -82,13 +82,6 @@ public:
//- Standard selection based on fvMesh //- Standard selection based on fvMesh
static autoPtr<rhoReactionThermo> New(const fvMesh&); static autoPtr<rhoReactionThermo> New(const fvMesh&);
//- Select and check that package contains 'thermoType'
static autoPtr<rhoReactionThermo> NewType
(
const fvMesh&,
const word& thermoType
);
//- Destructor //- Destructor
virtual ~rhoReactionThermo(); virtual ~rhoReactionThermo();

View File

@ -1,148 +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 "rhoReactionThermo.H"
#include "fvMesh.H"
/*
Foam::autoPtr<Foam::rhoReactionThermo> Foam::rhoReactionThermo::New
(
const fvMesh& mesh
)
{
// get model name, but do not register the dictionary
// otherwise it is registered in the database twice
const word modelType
(
IOdictionary
(
IOobject
(
"thermophysicalProperties",
mesh.time().constant(),
mesh,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE,
false
)
).lookup("thermoType")
);
Info<< "Selecting thermodynamics package " << modelType << endl;
fvMeshConstructorTable::iterator cstrIter =
fvMeshConstructorTablePtr_->find(modelType);
if (cstrIter == fvMeshConstructorTablePtr_->end())
{
FatalErrorIn("rhoReactionThermo::New(const fvMesh&)")
<< "Unknown rhoReactionThermo type "
<< modelType << nl << nl
<< "Valid rhoReactionThermo types:" << nl
<< fvMeshConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError);
}
return autoPtr<rhoReactionThermo>(cstrIter()(mesh));
}
*/
Foam::autoPtr<Foam::rhoReactionThermo> Foam::rhoReactionThermo::NewType
(
const fvMesh& mesh,
const word& thermoType
)
{
// get model name, but do not register the dictionary
// otherwise it is registered in the database twice
const word modelType
(
IOdictionary
(
IOobject
(
"thermophysicalProperties",
mesh.time().constant(),
mesh,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE,
false
)
).lookup("thermoType")
);
if (modelType.find(thermoType) == string::npos)
{
wordList allModels = fvMeshConstructorTablePtr_->sortedToc();
DynamicList<word> validModels;
forAll(allModels, i)
{
if (allModels[i].find(thermoType) != string::npos)
{
validModels.append(allModels[i]);
}
}
FatalErrorIn
(
"autoPtr<rhoReactionThermo> rhoReactionThermo::NewType"
"("
"const fvMesh&, "
"const word&"
")"
) << "Inconsistent thermo package selected:" << nl << nl
<< modelType << nl << nl << "Please select a "
<< "thermo package based on " << thermoType
<< ". Valid options include:" << nl << validModels << nl
<< exit(FatalError);
}
Info<< "Selecting thermodynamics package " << modelType << endl;
fvMeshConstructorTable::iterator cstrIter =
fvMeshConstructorTablePtr_->find(modelType);
if (cstrIter == fvMeshConstructorTablePtr_->end())
{
FatalErrorIn
(
"autoPtr<rhoReactionThermo> rhoReactionThermo::NewType"
"("
"const fvMesh&, "
"const word&"
")"
) << "Unknown rhoReactionThermo type "
<< modelType << nl << nl
<< "Valid rhoReactionThermo types:" << nl
<< fvMeshConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError);
}
return autoPtr<rhoReactionThermo>(cstrIter()(mesh));
}
// ************************************************************************* //

View File

@ -0,0 +1,61 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 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/>.
Description
Macros for instantiating solid chemistry models
\*---------------------------------------------------------------------------*/
#ifndef makeSolidChemistryModel_H
#define makeSolidChemistryModel_H
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#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 \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -30,7 +30,7 @@ Description
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "makeChemistryModel.H" #include "makeSolidChemistryModel.H"
#include "ODESolidChemistryModel.H" #include "ODESolidChemistryModel.H"
#include "solidChemistryModel.H" #include "solidChemistryModel.H"

View File

@ -41,11 +41,6 @@ namespace Foam
#define makeSolidChemistrySolverType(SS, ODEChem, Comp, SThermo, GThermo) \ #define makeSolidChemistrySolverType(SS, ODEChem, Comp, SThermo, GThermo) \
\ \
typedef ODESolidChemistryModel<Comp, SThermo, GThermo> \
ODESolidChemistryModel##Comp##SThermo##GThermo; \
\
makeChemistrySolver(ODESolidChemistryModel##Comp##SThermo##GThermo) \
\
typedef SS<ODEChem<Comp, SThermo, GThermo> > \ typedef SS<ODEChem<Comp, SThermo, GThermo> > \
SS##ODEChem##Comp##SThermo##GThermo; \ SS##ODEChem##Comp##SThermo##GThermo; \
\ \

View File

@ -41,30 +41,30 @@ SourceFiles
namespace Foam namespace Foam
{ {
template<class thermo> class constSolidRad; template<class Thermo> class constSolidRad;
template<class thermo> template<class Thermo>
inline constSolidRad<thermo> operator* inline constSolidRad<Thermo> operator*
( (
const scalar, const scalar,
const constSolidRad<thermo>& const constSolidRad<Thermo>&
); );
template<class thermo> template<class Thermo>
Ostream& operator<< Ostream& operator<<
( (
Ostream&, Ostream&,
const constSolidRad<thermo>& const constSolidRad<Thermo>&
); );
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class constSolidRad Declaration Class constSolidRad Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
template<class thermo> template<class Thermo>
class constSolidRad class constSolidRad
: :
public thermo public Thermo
{ {
// Private data // Private data
@ -81,7 +81,7 @@ class constSolidRad
//- Construct from components //- Construct from components
inline constSolidRad inline constSolidRad
( (
const thermo& t, const Thermo& t,
const scalar kappaRad, const scalar kappaRad,
const scalar sigmaS, const scalar sigmaS,
const scalar emissivity const scalar emissivity
@ -107,6 +107,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "const<" + Thermo::typeName() + '>';
}
//- Return absorption coefficient [1/m] //- Return absorption coefficient [1/m]
inline scalar kappaRad(scalar T) const; inline scalar kappaRad(scalar T) const;
@ -129,7 +135,7 @@ public:
// Friend operators // Friend operators
friend constSolidRad operator* <thermo> friend constSolidRad operator* <Thermo>
( (
const scalar, const scalar,
const constSolidRad& const constSolidRad&
@ -138,7 +144,7 @@ public:
// Ostream Operator // Ostream Operator
friend Ostream& operator<< <thermo> friend Ostream& operator<< <Thermo>
( (
Ostream&, Ostream&,
const constSolidRad& const constSolidRad&

View File

@ -45,20 +45,20 @@ SourceFiles
namespace Foam namespace Foam
{ {
template<class thermo> class constIsoSolidTransport; template<class Thermo> class constIsoSolidTransport;
template<class thermo> template<class Thermo>
inline constIsoSolidTransport<thermo> operator* inline constIsoSolidTransport<Thermo> operator*
( (
const scalar, const scalar,
const constIsoSolidTransport<thermo>& const constIsoSolidTransport<Thermo>&
); );
template<class thermo> template<class Thermo>
Ostream& operator<< Ostream& operator<<
( (
Ostream&, Ostream&,
const constIsoSolidTransport<thermo>& const constIsoSolidTransport<Thermo>&
); );
@ -66,10 +66,10 @@ Ostream& operator<<
Class constIsoSolidTransport Declaration Class constIsoSolidTransport Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
template<class thermo> template<class Thermo>
class constIsoSolidTransport class constIsoSolidTransport
: :
public thermo public Thermo
{ {
// Private data // Private data
@ -80,7 +80,7 @@ class constIsoSolidTransport
// Private Member Functions // Private Member Functions
//- Construct from components //- Construct from components
inline constIsoSolidTransport(const thermo& t, const scalar kappa); inline constIsoSolidTransport(const Thermo& t, const scalar kappa);
public: public:
@ -100,6 +100,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "constIso<" + Thermo::typeName() + '>';
}
//- Isotropic thermal conductivity [W/mK] //- Isotropic thermal conductivity [W/mK]
inline scalar kappa(const scalar T) const; inline scalar kappa(const scalar T) const;
@ -122,7 +128,7 @@ public:
// Friend operators // Friend operators
friend constIsoSolidTransport operator* <thermo> friend constIsoSolidTransport operator* <Thermo>
( (
const scalar, const scalar,
const constIsoSolidTransport& const constIsoSolidTransport&
@ -131,7 +137,7 @@ public:
// Ostream Operator // Ostream Operator
friend Ostream& operator<< <thermo> friend Ostream& operator<< <Thermo>
( (
Ostream&, Ostream&,
const constIsoSolidTransport& const constIsoSolidTransport&

View File

@ -42,20 +42,20 @@ SourceFiles
namespace Foam namespace Foam
{ {
template<class thermo> class exponentialSolidTransport; template<class Thermo> class exponentialSolidTransport;
template<class thermo> template<class Thermo>
inline exponentialSolidTransport<thermo> operator* inline exponentialSolidTransport<Thermo> operator*
( (
const scalar, const scalar,
const exponentialSolidTransport<thermo>& const exponentialSolidTransport<Thermo>&
); );
template<class thermo> template<class Thermo>
Ostream& operator<< Ostream& operator<<
( (
Ostream&, Ostream&,
const exponentialSolidTransport<thermo>& const exponentialSolidTransport<Thermo>&
); );
@ -63,10 +63,10 @@ Ostream& operator<<
Class exponentialSolidTransport Declaration Class exponentialSolidTransport Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
template<class thermo> template<class Thermo>
class exponentialSolidTransport class exponentialSolidTransport
: :
public thermo public Thermo
{ {
// Private data // Private data
@ -85,7 +85,7 @@ class exponentialSolidTransport
//- Construct from components //- Construct from components
inline exponentialSolidTransport inline exponentialSolidTransport
( (
const thermo& t, const Thermo& t,
const scalar kappa0, const scalar kappa0,
const scalar n0, const scalar n0,
const scalar Tref const scalar Tref
@ -110,6 +110,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "exponential<" + Thermo::typeName() + '>';
}
//- Thermal conductivity [W/mK] //- Thermal conductivity [W/mK]
inline scalar kappa(const scalar T) const; inline scalar kappa(const scalar T) const;
@ -132,7 +138,7 @@ public:
// Friend operators // Friend operators
friend exponentialSolidTransport operator* <thermo> friend exponentialSolidTransport operator* <Thermo>
( (
const scalar, const scalar,
const exponentialSolidTransport& const exponentialSolidTransport&
@ -140,7 +146,7 @@ public:
// Ostream Operator // Ostream Operator
friend Ostream& operator<< <thermo> friend Ostream& operator<< <Thermo>
( (
Ostream&, Ostream&,
const exponentialSolidTransport& const exponentialSolidTransport&

View File

@ -28,10 +28,9 @@ License
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
void Foam::heSolidThermo<MixtureType, BasicSolidThermo>::calculate() void Foam::heSolidThermo<BasicSolidThermo, MixtureType>::calculate()
{ {
scalarField& TCells = this->T_.internalField(); scalarField& TCells = this->T_.internalField();
const scalarField& hCells = this->he_.internalField(); const scalarField& hCells = this->he_.internalField();
@ -123,8 +122,8 @@ void Foam::heSolidThermo<MixtureType, BasicSolidThermo>::calculate()
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>:: Foam::heSolidThermo<BasicSolidThermo, MixtureType>::
heSolidThermo(const fvMesh& mesh) heSolidThermo(const fvMesh& mesh)
: :
heThermo<BasicSolidThermo, MixtureType>(mesh) heThermo<BasicSolidThermo, MixtureType>(mesh)
@ -133,8 +132,8 @@ heSolidThermo(const fvMesh& mesh)
} }
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>:: Foam::heSolidThermo<BasicSolidThermo, MixtureType>::
heSolidThermo(const fvMesh& mesh, const dictionary& dict) heSolidThermo(const fvMesh& mesh, const dictionary& dict)
: :
heThermo<BasicSolidThermo, MixtureType>(mesh, dict) heThermo<BasicSolidThermo, MixtureType>(mesh, dict)
@ -145,15 +144,15 @@ heSolidThermo(const fvMesh& mesh, const dictionary& dict)
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>::~heSolidThermo() Foam::heSolidThermo<BasicSolidThermo, MixtureType>::~heSolidThermo()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
void Foam::heSolidThermo<MixtureType, BasicSolidThermo>::correct() void Foam::heSolidThermo<BasicSolidThermo, MixtureType>::correct()
{ {
if (debug) if (debug)
{ {
@ -169,9 +168,9 @@ void Foam::heSolidThermo<MixtureType, BasicSolidThermo>::correct()
} }
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::tmp<Foam::volVectorField> Foam::tmp<Foam::volVectorField>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>::Kappa() const Foam::heSolidThermo<BasicSolidThermo, MixtureType>::Kappa() const
{ {
const fvMesh& mesh = this->T_.mesh(); const fvMesh& mesh = this->T_.mesh();
@ -231,9 +230,9 @@ Foam::heSolidThermo<MixtureType, BasicSolidThermo>::Kappa() const
} }
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>::kappaRad() const Foam::heSolidThermo<BasicSolidThermo, MixtureType>::kappaRad() const
{ {
const fvMesh& mesh = this->T_.mesh(); const fvMesh& mesh = this->T_.mesh();
@ -293,9 +292,9 @@ Foam::heSolidThermo<MixtureType, BasicSolidThermo>::kappaRad() const
} }
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>::sigmaS() const Foam::heSolidThermo<BasicSolidThermo, MixtureType>::sigmaS() const
{ {
const fvMesh& mesh = this->T_.mesh(); const fvMesh& mesh = this->T_.mesh();
@ -355,9 +354,9 @@ Foam::heSolidThermo<MixtureType, BasicSolidThermo>::sigmaS() const
} }
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>::emissivity() const Foam::heSolidThermo<BasicSolidThermo, MixtureType>::emissivity() const
{ {
const fvMesh& mesh = this->T_.mesh(); const fvMesh& mesh = this->T_.mesh();
@ -417,9 +416,9 @@ Foam::heSolidThermo<MixtureType, BasicSolidThermo>::emissivity() const
} }
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::tmp<Foam::vectorField> Foam::tmp<Foam::vectorField>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>::Kappa Foam::heSolidThermo<BasicSolidThermo, MixtureType>::Kappa
( (
const label patchi const label patchi
) const ) const
@ -446,9 +445,9 @@ Foam::heSolidThermo<MixtureType, BasicSolidThermo>::Kappa
} }
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::tmp<Foam::scalarField> Foam::tmp<Foam::scalarField>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>::kappaRad Foam::heSolidThermo<BasicSolidThermo, MixtureType>::kappaRad
( (
const label patchi const label patchi
) const ) const
@ -474,9 +473,9 @@ Foam::heSolidThermo<MixtureType, BasicSolidThermo>::kappaRad
} }
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::tmp<Foam::scalarField> Foam::tmp<Foam::scalarField>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>::sigmaS Foam::heSolidThermo<BasicSolidThermo, MixtureType>::sigmaS
( (
const label patchi const label patchi
) const ) const
@ -503,9 +502,9 @@ Foam::heSolidThermo<MixtureType, BasicSolidThermo>::sigmaS
} }
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
Foam::tmp<Foam::scalarField> Foam::tmp<Foam::scalarField>
Foam::heSolidThermo<MixtureType, BasicSolidThermo>::emissivity Foam::heSolidThermo<BasicSolidThermo, MixtureType>::emissivity
( (
const label patchi const label patchi
) const ) const

View File

@ -36,8 +36,6 @@ SourceFiles
#define heSolidThermo_H #define heSolidThermo_H
#include "heThermo.H" #include "heThermo.H"
#include "solidThermo.H"
#include "coordinateSystem.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -48,7 +46,7 @@ namespace Foam
Class heSolidThermo Declaration Class heSolidThermo Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
template<class MixtureType, class BasicSolidThermo> template<class BasicSolidThermo, class MixtureType>
class heSolidThermo class heSolidThermo
: :
public heThermo<BasicSolidThermo, MixtureType> public heThermo<BasicSolidThermo, MixtureType>
@ -60,7 +58,7 @@ class heSolidThermo
void calculate(); void calculate();
//- Construct as copy (not implemented) //- Construct as copy (not implemented)
heSolidThermo(const heSolidThermo<MixtureType, BasicSolidThermo>&); heSolidThermo(const heSolidThermo<BasicSolidThermo, MixtureType>&);
public: public:

View File

@ -208,7 +208,6 @@ public:
//- Specific heat capacity //- Specific heat capacity
virtual scalar Cp(scalar p, scalar T, label celli) const = 0; virtual scalar Cp(scalar p, scalar T, label celli) const = 0;
}; };

View File

@ -82,9 +82,6 @@ public:
//- The type of thermodynamics this mixture is instantiated for //- The type of thermodynamics this mixture is instantiated for
typedef ThermoType thermoType; typedef ThermoType thermoType;
//- Runtime type information
TypeName("multiComponentSolidMixture");
// Constructors // Constructors

View File

@ -65,10 +65,6 @@ public:
typedef ThermoType thermoType; typedef ThermoType thermoType;
//- Runtime type information
TypeName("pureSolidMixture");
// Constructors // Constructors
//- Construct from dictionary and mesh //- Construct from dictionary and mesh

View File

@ -67,8 +67,6 @@ public:
//- The type of thermo package this mixture is instantiated for //- The type of thermo package this mixture is instantiated for
typedef ThermoSolidType thermoType; typedef ThermoSolidType thermoType;
//- Runtime type information
TypeName("reactingSolidMixture");
// Constructors // Constructors

View File

@ -72,7 +72,8 @@ Foam::autoPtr<Foam::solidReactionThermo> Foam::solidReactionThermo::New
Foam::autoPtr<Foam::solidReactionThermo> Foam::solidReactionThermo::New Foam::autoPtr<Foam::solidReactionThermo> Foam::solidReactionThermo::New
( (
const fvMesh& mesh, const dictionary& dict const fvMesh& mesh,
const dictionary& dict
) )
{ {
if (debug) if (debug)

View File

@ -39,59 +39,7 @@ Description
#define makeSolidThermo(BaseThermo,Cthermo,Mixture,Transport,Radiation,Type,Thermo,EqnOfState,Specie)\ #define makeSolidThermo(BaseThermo,Cthermo,Mixture,Transport,Radiation,Type,Thermo,EqnOfState,Specie)\
\ \
typedef Cthermo \ typedef \
< \
Mixture \
< \
Transport \
< \
Radiation \
< \
species::thermo \
< \
Thermo \
< \
EqnOfState \
< \
Specie \
> \
>, \
Type \
> \
> \
> \
>, \
BaseThermo \
> Cthermo##Mixture##Transport##Radiation##Type##Thermo \
##EqnOfState##Specie##BaseThermo; \
\
defineTemplateTypeNameAndDebugWithName \
( \
Cthermo##Mixture##Transport##Radiation##Type##Thermo \
##EqnOfState##Specie##BaseThermo, \
#Cthermo \
"<" \
#Mixture \
"<" \
#Transport \
"<" \
#Radiation \
"<" \
#Thermo \
"<" \
#EqnOfState \
"<" \
#Specie \
">" \
">," \
#Type \
">>>>", \
0 \
); \
\
\
typedef Mixture \
< \
Transport \ Transport \
< \ < \
Radiation \ Radiation \
@ -108,41 +56,39 @@ typedef Mixture \
Type \ Type \
> \ > \
> \ > \
> \ > Transport##Radiation##Type##Thermo##EqnOfState##Specie; \
> Mixture##Transport##Radiation##Type##Thermo##EqnOfState##Specie; \
\ \
typedef \
Mixture \
< \
Transport##Radiation##Type##Thermo##EqnOfState##Specie \
> Mixture##Transport##Radiation##Type##Thermo##EqnOfState##Specie; \
\
typedef \
Cthermo \
< \
BaseThermo, \
Mixture##Transport##Radiation##Type##Thermo##EqnOfState##Specie \
> Cthermo##Mixture##Transport##Radiation##Type##Thermo \
##EqnOfState##Specie; \
\ \
defineTemplateTypeNameAndDebugWithName \ defineTemplateTypeNameAndDebugWithName \
( \ ( \
Mixture##Transport##Radiation##Type##Thermo##EqnOfState##Specie, \
#Mixture \
"<" \
#Transport \
"<" \
#Radiation \
"<" \
#Thermo \
"<" \
#EqnOfState \
">," \
#Type \
">>>", \
0 \
); \
\
addToRunTimeSelectionTable \
( \
BaseThermo, \
Cthermo##Mixture##Transport##Radiation##Type##Thermo \ Cthermo##Mixture##Transport##Radiation##Type##Thermo \
##EqnOfState##Specie##BaseThermo, \ ##EqnOfState##Specie, \
mesh \ ( \
#Cthermo"<"#Mixture"<" \
+ Transport##Radiation##Type##Thermo##EqnOfState##Specie::typeName() \
+ ">>" \
).c_str(), \
0 \
); \ ); \
\ \
addToRunTimeSelectionTable \ addToRunTimeSelectionTable \
( \ ( \
basicThermo, \ basicThermo, \
Cthermo##Mixture##Transport##Radiation##Type##Thermo \ Cthermo##Mixture##Transport##Radiation##Type##Thermo \
##EqnOfState##Specie##BaseThermo, \ ##EqnOfState##Specie, \
fvMesh \ fvMesh \
); \ ); \
\ \
@ -150,7 +96,15 @@ addToRunTimeSelectionTable \
( \ ( \
BaseThermo, \ BaseThermo, \
Cthermo##Mixture##Transport##Radiation##Type##Thermo \ Cthermo##Mixture##Transport##Radiation##Type##Thermo \
##EqnOfState##Specie##BaseThermo, \ ##EqnOfState##Specie, \
fvMesh \
); \
\
addToRunTimeSelectionTable \
( \
BaseThermo, \
Cthermo##Mixture##Transport##Radiation##Type##Thermo \
##EqnOfState##Specie, \
dictionary \ dictionary \
); );

View File

@ -32,7 +32,7 @@ License
namespace Foam namespace Foam
{ {
defineTypeNameAndDebug(solidThermo, 0); defineTypeNameAndDebug(solidThermo, 0);
defineRunTimeSelectionTable(solidThermo, mesh); defineRunTimeSelectionTable(solidThermo, fvMesh);
defineRunTimeSelectionTable(solidThermo, dictionary); defineRunTimeSelectionTable(solidThermo, dictionary);
} }

View File

@ -77,12 +77,11 @@ public:
( (
autoPtr, autoPtr,
solidThermo, solidThermo,
mesh, fvMesh,
(const fvMesh& mesh), (const fvMesh& mesh),
(mesh) (mesh)
); );
// Declare run-time constructor selection tables // Declare run-time constructor selection tables
declareRunTimeSelectionTable declareRunTimeSelectionTable
( (

View File

@ -55,10 +55,10 @@ Foam::autoPtr<Foam::solidThermo> Foam::solidThermo::New
).lookup("thermoType") ).lookup("thermoType")
); );
meshConstructorTable::iterator cstrIter = fvMeshConstructorTable::iterator cstrIter =
meshConstructorTablePtr_->find(thermoType); fvMeshConstructorTablePtr_->find(thermoType);
if (cstrIter == meshConstructorTablePtr_->end()) if (cstrIter == fvMeshConstructorTablePtr_->end())
{ {
FatalErrorIn FatalErrorIn
( (
@ -66,7 +66,7 @@ Foam::autoPtr<Foam::solidThermo> Foam::solidThermo::New
) << "Unknown solidThermo type " << thermoType ) << "Unknown solidThermo type " << thermoType
<< endl << endl << endl << endl
<< "Valid solidThermo types are :" << endl << "Valid solidThermo types are :" << endl
<< meshConstructorTablePtr_->toc() << fvMeshConstructorTablePtr_->toc()
<< exit(FatalError); << exit(FatalError);
} }

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
{ {

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