mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -19,8 +19,7 @@ LIB_LIBS = \
|
|||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-lchemistryModel \
|
-lchemistryModel \
|
||||||
-lspecie \
|
-lspecie \
|
||||||
-lspecie \
|
-lsolidSpecie \
|
||||||
-lsolid \
|
|
||||||
-lfluidThermophysicalModels \
|
-lfluidThermophysicalModels \
|
||||||
-lsolidChemistryModel \
|
-lsolidChemistryModel \
|
||||||
-lcompressibleTurbulenceModel \
|
-lcompressibleTurbulenceModel \
|
||||||
|
|||||||
@ -17,4 +17,4 @@ LIB_LIBS = \
|
|||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-lOpenFOAM \
|
-lOpenFOAM \
|
||||||
-lsolid
|
-lsolidSpecie
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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 \
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 \
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -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()
|
||||||
|
|||||||
@ -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));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -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
|
||||||
|
|||||||
@ -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, \
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 \
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -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();
|
||||||
|
|||||||
@ -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));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -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
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -30,7 +30,7 @@ Description
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "makeChemistryModel.H"
|
#include "makeSolidChemistryModel.H"
|
||||||
|
|
||||||
#include "ODESolidChemistryModel.H"
|
#include "ODESolidChemistryModel.H"
|
||||||
#include "solidChemistryModel.H"
|
#include "solidChemistryModel.H"
|
||||||
|
|||||||
@ -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; \
|
||||||
\
|
\
|
||||||
|
|||||||
@ -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&
|
||||||
|
|||||||
@ -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&
|
||||||
|
|||||||
@ -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&
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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:
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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 \
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -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()
|
||||||
|
|||||||
@ -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)]
|
||||||
|
|||||||
@ -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&
|
||||||
|
|||||||
@ -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&
|
||||||
|
|||||||
@ -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)]
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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)
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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";
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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";
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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";
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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";
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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
Reference in New Issue
Block a user