Thermodynamics: rename specieThermo -> species::thermo and create the species namespace

Also remove the "<thermo" part of the names of thermodynamics packages
This commit is contained in:
Henry
2012-09-24 15:37:36 +01:00
parent 969756b818
commit f1bfeba127
87 changed files with 1624 additions and 265 deletions

View File

@ -36,14 +36,14 @@ Description
#include "IFstream.H"
#include "OSspecific.H"
#include "specieThermo.H"
#include "thermo.H"
#include "absoluteEnthalpy.H"
#include "janafThermo.H"
#include "perfectGas.H"
using namespace Foam;
typedef specieThermo<janafThermo<perfectGas>, absoluteEnthalpy> thermo;
typedef species::thermo<janafThermo<perfectGas>, absoluteEnthalpy> thermo;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -35,7 +35,7 @@ Description
#include "OSspecific.H"
#include "IOmanip.H"
#include "specieThermo.H"
#include "thermo.H"
#include "absoluteEnthalpy.H"
#include "janafThermo.H"
#include "perfectGas.H"
@ -43,7 +43,7 @@ Description
using namespace Foam;
typedef specieThermo<janafThermo<perfectGas>, absoluteEnthalpy> thermo;
typedef species::thermo<janafThermo<perfectGas>, absoluteEnthalpy> thermo;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Main program:

View File

@ -38,14 +38,14 @@ Description
#include "OSspecific.H"
#include "IOmanip.H"
#include "specieThermo.H"
#include "thermo.H"
#include "absoluteEnthalpy.H"
#include "janafThermo.H"
#include "perfectGas.H"
using namespace Foam;
typedef specieThermo<janafThermo<perfectGas>, absoluteEnthalpy> thermo;
typedef species::thermo<janafThermo<perfectGas>, absoluteEnthalpy> thermo;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -35,7 +35,7 @@ Description
#include "IFstream.H"
#include "OSspecific.H"
#include "specieThermo.H"
#include "thermo.H"
#include "absoluteEnthalpy.H"
#include "janafThermo.H"
#include "perfectGas.H"
@ -43,7 +43,7 @@ Description
using namespace Foam;
typedef specieThermo<janafThermo<perfectGas>, absoluteEnthalpy> thermo;
typedef species::thermo<janafThermo<perfectGas>, absoluteEnthalpy> thermo;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -510,30 +510,30 @@ DebugSwitches
gradientUnburntEnthalpy 0;
granularPressureModel 0;
hCombustionThermo 0;
hMixtureThermo<homogeneousMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>> 0;
hMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>> 0;
hMixtureThermo<inhomogeneousMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>> 0;
hMixtureThermo<inhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>> 0;
hMixtureThermo<multiComponentMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>> 0;
hMixtureThermo<homogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hMixtureThermo<homogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hMixtureThermo<inhomogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hMixtureThermo<inhomogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hMixtureThermo<multiComponentMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hMixtureThermo<reactingMixture> 0;
hMixtureThermo<veryInhomogeneousMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>> 0;
hMixtureThermo<veryInhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>> 0;
hThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>> 0;
hThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>>>>> 0;
hThermo<pureMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>> 0;
hMixtureThermo<veryInhomogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hMixtureThermo<veryInhomogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hThermo<pureMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hThermo<pureMixture<sutherlandTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hThermo<pureMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
harmonic 0;
heatTransferModel 0;
hexCellLooper 0;
hexRef8 0;
hhuCombustionThermo 0;
hhuMixtureThermo<egrMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>> 0;
hhuMixtureThermo<egrMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>> 0;
hhuMixtureThermo<homogeneousMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>> 0;
hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>> 0;
hhuMixtureThermo<inhomogeneousMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>> 0;
hhuMixtureThermo<inhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>> 0;
hhuMixtureThermo<veryInhomogeneousMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>> 0;
hhuMixtureThermo<veryInhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>> 0;
hhuMixtureThermo<egrMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hhuMixtureThermo<egrMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hhuMixtureThermo<homogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hhuMixtureThermo<homogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hhuMixtureThermo<inhomogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hhuMixtureThermo<inhomogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hhuMixtureThermo<veryInhomogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hhuMixtureThermo<veryInhomogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hierarchical 0;
hollowConeInjector 0;
iC3H8O 0;
@ -711,9 +711,9 @@ DebugSwitches
processor 0;
processorLduInterface 0;
processorLduInterfaceField 0;
pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>> 0;
pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>>>> 0;
pureMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>> 0;
pureMixture<constTransport<thermo<hConstThermo<perfectGas>>>> 0;
pureMixture<sutherlandTransport<thermo<hConstThermo<perfectGas>>>> 0;
pureMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>> 0;
quadratic 0;
quadraticFit 0;
quadraticLinearFit 0;

View File

@ -58,7 +58,7 @@ Description
<pureSolidMixture
<constIsoSolidTransport
<constSolidRad
<specieThermo
<thermo
<hConstThermo<incompressible>,sensibleEnthalpy>
>
>

View File

@ -2,7 +2,10 @@ mixtures/basicMixture/basicMixture.C
mixtures/basicMixture/basicMixtures.C
basicThermo/basicThermo.C
basicThermo/basicThermoNew.C
fluidThermo/fluidThermo.C
fluidThermo/fluidThermoNew.C
psiThermo/psiThermo/psiThermo.C
psiThermo/psiThermo/psiThermoNew.C

View File

@ -29,6 +29,7 @@ Description
SourceFiles
basicThermo.C
basicThermoNew.C
\*---------------------------------------------------------------------------*/
@ -101,6 +102,10 @@ public:
basicThermo(const fvMesh&, const dictionary&);
//- Selector
static autoPtr<basicThermo> New(const fvMesh&);
//- Destructor
virtual ~basicThermo();

View File

@ -0,0 +1,71 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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 "basicThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::basicThermo> Foam::basicThermo::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("basicThermo::New(const fvMesh&)")
<< "Unknown basicThermo type " << modelType << nl << nl
<< "Valid basicThermo types are:" << nl
<< fvMeshConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError);
}
return autoPtr<basicThermo>(cstrIter()(mesh));
}
// ************************************************************************* //

View File

@ -29,6 +29,7 @@ Description
SourceFiles
fluidThermo.C
fluidThermoNew.C
\*---------------------------------------------------------------------------*/
@ -76,6 +77,10 @@ public:
fluidThermo(const fvMesh&, const dictionary&);
//- Selector
static autoPtr<fluidThermo> New(const fvMesh&);
//- Destructor
virtual ~fluidThermo();

View File

@ -0,0 +1,71 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / 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 "fluidThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::fluidThermo> Foam::fluidThermo::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("fluidThermo::New(const fvMesh&)")
<< "Unknown fluidThermo type " << modelType << nl << nl
<< "Valid fluidThermo types are:" << nl
<< fvMeshConstructorTablePtr_->sortedToc() << nl
<< exit(FatalError);
}
return autoPtr<fluidThermo>(cstrIter()(mesh));
}
// ************************************************************************* //

View File

@ -44,7 +44,7 @@ typedef Cthermo \
< \
Transport \
< \
specieThermo \
species::thermo \
< \
Thermo \
< \
@ -64,13 +64,13 @@ defineTemplateTypeNameAndDebugWithName \
#Mixture \
"<" \
#Transport \
"<specieThermo<" \
"<" \
#Thermo \
"<" \
#EqnOfState \
">," \
#Type \
">>>>", \
">>>", \
0 \
); \
\
@ -93,7 +93,7 @@ addToRunTimeSelectionTable \
\
typedef polynomialTransport \
< \
specieThermo \
species::thermo \
< \
hPolynomialThermo \
< \

View File

@ -41,7 +41,7 @@ Description
#include "janafThermo.H"
#include "sensibleInternalEnergy.H"
#include "sensibleEnthalpy.H"
#include "specieThermo.H"
#include "thermo.H"
#include "constTransport.H"
#include "sutherlandTransport.H"

View File

@ -39,19 +39,19 @@ Description
#define makeBasicMixture(Mixture,Transport,Type,Thermo,EqnOfState) \
\
typedef \
Mixture<Transport<specieThermo<Thermo<EqnOfState>, Type> > > \
Mixture<Transport<species::thermo<Thermo<EqnOfState>, Type> > > \
Mixture##Transport##Type##Thermo##EqnOfState; \
\
defineTemplateTypeNameAndDebugWithName \
(Mixture##Transport##Type##Thermo##EqnOfState, \
#Mixture"<"#Transport"<specieThermo<"#Thermo"<"#EqnOfState">,"#Type">>>", 0)
#Mixture"<"#Transport"<"#Thermo"<"#EqnOfState">,"#Type">>", 0)
#define makeBasicPolyMixture(Mixture,Order,Type) \
\
typedef polynomialTransport \
< \
specieThermo \
species::thermo \
< \
hPolynomialThermo \
< \

View File

@ -33,7 +33,7 @@ License
#include "janafThermo.H"
#include "sensibleEnthalpy.H"
#include "sensibleInternalEnergy.H"
#include "specieThermo.H"
#include "thermo.H"
#include "constTransport.H"
#include "sutherlandTransport.H"

View File

@ -61,10 +61,10 @@ Foam::autoPtr<Foam::psiThermo> Foam::psiThermo::New
thermoTypeName =
type + '<'
+ mixture + '<'
+ transport + "<specieThermo<"
+ transport + '<'
+ thermo + '<'
+ equationOfState + ">,"
+ energy + ">>>>";
+ energy + ">>>";
}
else
{

View File

@ -34,7 +34,7 @@ License
#include "janafThermo.H"
#include "sensibleEnthalpy.H"
#include "sensibleInternalEnergy.H"
#include "specieThermo.H"
#include "thermo.H"
#include "constTransport.H"
#include "sutherlandTransport.H"

View File

@ -41,7 +41,7 @@ typedef MixtureThermo \
< \
Transport \
< \
specieThermo \
species::thermo \
< \
Thermo \
< \
@ -62,13 +62,13 @@ defineTemplateTypeNameAndDebugWithName \
#Mixture \
"<" \
#Transport \
"<specieThermo<" \
"<" \
#Thermo \
"<" \
#EqnOfState \
">," \
#Type \
">>>>", \
">>>", \
0 \
); \
\

View File

@ -71,20 +71,20 @@ Foam::multiComponentMixture<ThermoType>::multiComponentMixture
(
const dictionary& thermoDict,
const wordList& specieNames,
const HashPtrTable<ThermoType>& specieThermoData,
const HashPtrTable<ThermoType>& thermoData,
const fvMesh& mesh
)
:
basicMultiComponentMixture(thermoDict, specieNames, mesh),
speciesData_(species_.size()),
mixture_("mixture", *specieThermoData[specieNames[0]])
mixture_("mixture", *thermoData[specieNames[0]])
{
forAll(species_, i)
{
speciesData_.set
(
i,
new ThermoType(*specieThermoData[species_[i]])
new ThermoType(*thermoData[species_[i]])
);
}

View File

@ -87,7 +87,7 @@ public:
(
const dictionary&,
const wordList& specieNames,
const HashPtrTable<ThermoType>& specieThermoData,
const HashPtrTable<ThermoType>& thermoData,
const fvMesh&
);

View File

@ -33,7 +33,7 @@ License
#include "hConstThermo.H"
#include "janafThermo.H"
#include "sensibleEnthalpy.H"
#include "specieThermo.H"
#include "thermo.H"
#include "constTransport.H"
#include "sutherlandTransport.H"

View File

@ -34,7 +34,7 @@ License
#include "hConstThermo.H"
#include "janafThermo.H"
#include "absoluteEnthalpy.H"
#include "specieThermo.H"
#include "thermo.H"
#include "constTransport.H"
#include "sutherlandTransport.H"

View File

@ -34,7 +34,7 @@ License
#include "hConstThermo.H"
#include "janafThermo.H"
#include "sensibleEnthalpy.H"
#include "specieThermo.H"
#include "thermo.H"
#include "constTransport.H"
#include "sutherlandTransport.H"

View File

@ -44,7 +44,7 @@ Description
#include "constSolidRad.H"
#include "sensibleEnthalpy.H"
#include "specieThermo.H"
#include "thermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -55,7 +55,7 @@ namespace Foam
<
constSolidRad
<
specieThermo
species::thermo
<
hConstThermo
<
@ -72,7 +72,7 @@ namespace Foam
<
constSolidRad
<
specieThermo
species::thermo
<
hExponentialThermo
<

View File

@ -43,7 +43,7 @@ License
#include "sensibleEnthalpy.H"
#include "sensibleInternalEnergy.H"
#include "specieThermo.H"
#include "thermo.H"
#include "heThermo.H"

View File

@ -43,7 +43,7 @@ Description
#include "sensibleInternalEnergy.H"
#include "sensibleEnthalpy.H"
#include "specieThermo.H"
#include "thermo.H"
#include "pureSolidMixture.H"
#include "multiComponentSolidMixture.H"

View File

@ -49,7 +49,7 @@ typedef Cthermo \
< \
Radiation \
< \
specieThermo \
species::thermo \
< \
Thermo \
< \
@ -73,14 +73,13 @@ defineTemplateTypeNameAndDebugWithName \
#Transport \
"<" \
#Radiation \
"<specieThermo<" \
"<" \
#Thermo \
"<" \
#Rho \
">," \
#Type \
">>>>" \
">", \
">>>>", \
0 \
); \
\
@ -91,7 +90,7 @@ typedef Mixture \
< \
Radiation \
< \
specieThermo \
species::thermo \
< \
Thermo \
< \
@ -113,13 +112,13 @@ defineTemplateTypeNameAndDebugWithName \
#Transport \
"<" \
#Radiation \
"<specieThermo<" \
"<" \
#Thermo \
"<" \
#Rho \
">," \
#Type \
">>>>", \
">>>", \
0 \
); \
\
@ -131,7 +130,7 @@ addToRunTimeSelectionTable \
); \
addToRunTimeSelectionTable \
( \
basicThermo, \
basicThermo, \
Cthermo##Mixture##Transport##Radiation##Type##Thermo##Rho##BaseThermo, \
fvMesh \
); \

View File

@ -37,7 +37,7 @@ Description
#include "hConstThermo.H"
#include "janafThermo.H"
#include "sensibleEnthalpy.H"
#include "specieThermo.H"
#include "thermo.H"
#include "sutherlandTransport.H"
#include "constTransport.H"
@ -52,7 +52,7 @@ namespace Foam
typedef
constTransport
<
specieThermo
species::thermo
<
hConstThermo
<
@ -65,7 +65,7 @@ namespace Foam
typedef
sutherlandTransport
<
specieThermo
species::thermo
<
janafThermo
<
@ -78,7 +78,7 @@ namespace Foam
typedef
constTransport
<
specieThermo
species::thermo
<
hConstThermo
<
@ -91,7 +91,7 @@ namespace Foam
typedef
sutherlandTransport
<
specieThermo
species::thermo
<
janafThermo
<
@ -104,7 +104,7 @@ namespace Foam
typedef
polynomialTransport
<
specieThermo
species::thermo
<
hPolynomialThermo
<

View File

@ -38,7 +38,7 @@ Description
#include "ReversibleReaction.H"
#include "NonEquilibriumReversibleReaction.H"
#include "specieThermo.H"
#include "thermo.H"
#include "sutherlandTransport.H"
#include "janafThermo.H"

View File

@ -37,7 +37,7 @@ SourceFiles
#ifndef eConstThermo_H
#define eConstThermo_H
#include "specieThermo.H"
#include "thermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -23,31 +23,31 @@ License
\*---------------------------------------------------------------------------*/
#include "specieThermo.H"
#include "thermo.H"
#include "IOstreams.H"
/* * * * * * * * * * * * * * * private static data * * * * * * * * * * * * * */
template<class Thermo, template<class> class Type>
const Foam::scalar Foam::specieThermo<Thermo, Type>::tol_ = 1.0e-4;
const Foam::scalar Foam::species::thermo<Thermo, Type>::tol_ = 1.0e-4;
template<class Thermo, template<class> class Type>
const int Foam::specieThermo<Thermo, Type>::maxIter_ = 100;
const int Foam::species::thermo<Thermo, Type>::maxIter_ = 100;
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class Thermo, template<class> class Type>
Foam::specieThermo<Thermo, Type>::specieThermo(Istream& is)
Foam::species::thermo<Thermo, Type>::thermo(Istream& is)
:
Thermo(is)
{
is.check("specieThermo<Thermo, Type>::specieThermo(Istream&)");
is.check("thermo<Thermo, Type>::thermo(Istream&)");
}
template<class Thermo, template<class> class Type>
Foam::specieThermo<Thermo, Type>::specieThermo(const dictionary& dict)
Foam::species::thermo<Thermo, Type>::thermo(const dictionary& dict)
:
Thermo(dict)
{}
@ -56,7 +56,7 @@ Foam::specieThermo<Thermo, Type>::specieThermo(const dictionary& dict)
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class Thermo, template<class> class Type>
void Foam::specieThermo<Thermo, Type>::write(Ostream& os) const
void Foam::species::thermo<Thermo, Type>::write(Ostream& os) const
{
Thermo::write(os);
}
@ -65,14 +65,14 @@ void Foam::specieThermo<Thermo, Type>::write(Ostream& os) const
// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * //
template<class Thermo, template<class> class Type>
Foam::Ostream& Foam::operator<<
Foam::Ostream& Foam::species::operator<<
(
Ostream& os, const specieThermo<Thermo, Type>& st
Ostream& os, const thermo<Thermo, Type>& st
)
{
os << static_cast<const Thermo&>(st);
os.check("Ostream& operator<<(Ostream&, const specieThermo&)");
os.check("Ostream& operator<<(Ostream&, const thermo&)");
return os;
}

View File

@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::specieThermo
Foam::thermo
Description
Basic thermodynamics type based on the use of fitting functions for
@ -30,68 +30,70 @@ Description
properties are derived from these primitive functions.
SourceFiles
specieThermoI.H
specieThermo.C
thermoI.H
thermo.C
\*---------------------------------------------------------------------------*/
#ifndef specieThermo_H
#define specieThermo_H
#ifndef thermo_H
#define thermo_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace species
{
// Forward declaration of friend functions and operators
template<class Thermo, template<class> class Type> class specieThermo;
template<class Thermo, template<class> class Type> class thermo;
template<class Thermo, template<class> class Type>
inline specieThermo<Thermo, Type> operator+
inline thermo<Thermo, Type> operator+
(
const specieThermo<Thermo, Type>&,
const specieThermo<Thermo, Type>&
const thermo<Thermo, Type>&,
const thermo<Thermo, Type>&
);
template<class Thermo, template<class> class Type>
inline specieThermo<Thermo, Type> operator-
inline thermo<Thermo, Type> operator-
(
const specieThermo<Thermo, Type>&,
const specieThermo<Thermo, Type>&
const thermo<Thermo, Type>&,
const thermo<Thermo, Type>&
);
template<class Thermo, template<class> class Type>
inline specieThermo<Thermo, Type> operator*
inline thermo<Thermo, Type> operator*
(
const scalar,
const specieThermo<Thermo, Type>&
const thermo<Thermo, Type>&
);
template<class Thermo, template<class> class Type>
inline specieThermo<Thermo, Type> operator==
inline thermo<Thermo, Type> operator==
(
const specieThermo<Thermo, Type>&,
const specieThermo<Thermo, Type>&
const thermo<Thermo, Type>&,
const thermo<Thermo, Type>&
);
template<class Thermo, template<class> class Type>
Ostream& operator<<
(
Ostream&,
const specieThermo<Thermo, Type>&
const thermo<Thermo, Type>&
);
/*---------------------------------------------------------------------------*\
Class specieThermo Declaration
Class thermo Declaration
\*---------------------------------------------------------------------------*/
template<class Thermo, template<class> class Type>
class specieThermo
class thermo
:
public Thermo,
public Type<specieThermo<Thermo, Type> >
public Type<thermo<Thermo, Type> >
{
// Private data
@ -112,9 +114,9 @@ class specieThermo
scalar f,
scalar p,
scalar T0,
scalar (specieThermo::*F)(const scalar, const scalar) const,
scalar (specieThermo::*dFdT)(const scalar, const scalar) const,
scalar (specieThermo::*limit)(const scalar) const
scalar (thermo::*F)(const scalar, const scalar) const,
scalar (thermo::*dFdT)(const scalar, const scalar) const,
scalar (thermo::*limit)(const scalar) const
) const;
@ -123,16 +125,16 @@ public:
// Constructors
//- construct from components
inline specieThermo(const Thermo& sp);
inline thermo(const Thermo& sp);
//- Construct from Istream
specieThermo(Istream&);
thermo(Istream&);
//- Construct from dictionary
specieThermo(const dictionary& dict);
thermo(const dictionary& dict);
//- Construct as named copy
inline specieThermo(const word& name, const specieThermo&);
inline thermo(const word& name, const thermo&);
// Member Functions
@ -330,36 +332,36 @@ public:
// Member operators
inline void operator+=(const specieThermo&);
inline void operator-=(const specieThermo&);
inline void operator+=(const thermo&);
inline void operator-=(const thermo&);
inline void operator*=(const scalar);
// Friend operators
friend specieThermo operator+ <Thermo, Type>
friend thermo operator+ <Thermo, Type>
(
const specieThermo&,
const specieThermo&
const thermo&,
const thermo&
);
friend specieThermo operator- <Thermo, Type>
friend thermo operator- <Thermo, Type>
(
const specieThermo&,
const specieThermo&
const thermo&,
const thermo&
);
friend specieThermo operator* <Thermo, Type>
friend thermo operator* <Thermo, Type>
(
const scalar s,
const specieThermo&
const thermo&
);
friend specieThermo operator== <Thermo, Type>
friend thermo operator== <Thermo, Type>
(
const specieThermo&,
const specieThermo&
const thermo&,
const thermo&
);
@ -368,21 +370,22 @@ public:
friend Ostream& operator<< <Thermo, Type>
(
Ostream&,
const specieThermo&
const thermo&
);
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace species
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "specieThermoI.H"
#include "thermoI.H"
#ifdef NoRepository
# include "specieThermo.C"
# include "thermo.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -23,12 +23,12 @@ License
\*---------------------------------------------------------------------------*/
#include "specieThermo.H"
#include "thermo.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
template<class Thermo, template<class> class Type>
inline Foam::specieThermo<Thermo, Type>::specieThermo
inline Foam::species::thermo<Thermo, Type>::thermo
(
const Thermo& sp
)
@ -38,15 +38,15 @@ inline Foam::specieThermo<Thermo, Type>::specieThermo
template<class Thermo, template<class> class Type>
inline Foam::scalar Foam::specieThermo<Thermo, Type>::T
inline Foam::scalar Foam::species::thermo<Thermo, Type>::T
(
scalar f,
scalar p,
scalar T0,
scalar (specieThermo<Thermo, Type>::*F)(const scalar, const scalar) const,
scalar (specieThermo<Thermo, Type>::*dFdT)(const scalar, const scalar)
scalar (thermo<Thermo, Type>::*F)(const scalar, const scalar) const,
scalar (thermo<Thermo, Type>::*dFdT)(const scalar, const scalar)
const,
scalar (specieThermo<Thermo, Type>::*limit)(const scalar) const
scalar (thermo<Thermo, Type>::*limit)(const scalar) const
) const
{
scalar Test = T0;
@ -65,12 +65,12 @@ inline Foam::scalar Foam::specieThermo<Thermo, Type>::T
{
FatalErrorIn
(
"specieThermo<Thermo, Type>::T(scalar f, scalar T0, "
"scalar (specieThermo<Thermo, Type>::*F)"
"thermo<Thermo, Type>::T(scalar f, scalar T0, "
"scalar (thermo<Thermo, Type>::*F)"
"(const scalar) const, "
"scalar (specieThermo<Thermo, Type>::*dFdT)"
"scalar (thermo<Thermo, Type>::*dFdT)"
"(const scalar) const, "
"scalar (specieThermo<Thermo, Type>::*limit)"
"scalar (thermo<Thermo, Type>::*limit)"
"(const scalar) const"
") const"
) << "Maximum number of iterations exceeded"
@ -86,10 +86,10 @@ inline Foam::scalar Foam::specieThermo<Thermo, Type>::T
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class Thermo, template<class> class Type>
inline Foam::specieThermo<Thermo, Type>::specieThermo
inline Foam::species::thermo<Thermo, Type>::thermo
(
const word& name,
const specieThermo& st
const thermo& st
)
:
Thermo(name, st)
@ -100,23 +100,23 @@ inline Foam::specieThermo<Thermo, Type>::specieThermo
template<class Thermo, template<class> class Type>
inline Foam::word
Foam::specieThermo<Thermo, Type>::heName()
Foam::species::thermo<Thermo, Type>::heName()
{
return Type<specieThermo<Thermo, Type> >::name();
return Type<thermo<Thermo, Type> >::name();
}
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::he(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::he(const scalar p, const scalar T) const
{
return Type<specieThermo<Thermo, Type> >::he(*this, p, T);
return Type<thermo<Thermo, Type> >::he(*this, p, T);
}
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::cv(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::cv(const scalar p, const scalar T) const
{
return this->cp(p, T) - this->cpMcv(p, T);
}
@ -124,15 +124,15 @@ Foam::specieThermo<Thermo, Type>::cv(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::cpv(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::cpv(const scalar p, const scalar T) const
{
return Type<specieThermo<Thermo, Type> >::cpv(*this, p, T);
return Type<thermo<Thermo, Type> >::cpv(*this, p, T);
}
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::gamma(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::gamma(const scalar p, const scalar T) const
{
scalar cp = this->cp(p, T);
return cp/(cp - this->cpMcv(p, T));
@ -141,15 +141,19 @@ Foam::specieThermo<Thermo, Type>::gamma(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::cpBycpv(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::cpBycpv
(
const scalar p,
const scalar T
) const
{
return Type<specieThermo<Thermo, Type> >::cpBycpv(*this, p, T);
return Type<thermo<Thermo, Type> >::cpBycpv(*this, p, T);
}
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::es(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::es(const scalar p, const scalar T) const
{
return this->hs(p, T) - p*this->W()/this->rho(p, T);
}
@ -157,7 +161,7 @@ Foam::specieThermo<Thermo, Type>::es(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::ea(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::ea(const scalar p, const scalar T) const
{
return this->ha(p, T) - p*this->W()/this->rho(p, T);
}
@ -165,7 +169,7 @@ Foam::specieThermo<Thermo, Type>::ea(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::g(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::g(const scalar p, const scalar T) const
{
return this->ha(p, T) - T*this->s(p, T);
}
@ -173,7 +177,7 @@ Foam::specieThermo<Thermo, Type>::g(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::a(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::a(const scalar p, const scalar T) const
{
return this->ea(p, T) - T*this->s(p, T);
}
@ -181,7 +185,7 @@ Foam::specieThermo<Thermo, Type>::a(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Cpv(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::Cpv(const scalar p, const scalar T) const
{
return this->cpv(p, T)/this->W();
}
@ -189,7 +193,7 @@ Foam::specieThermo<Thermo, Type>::Cpv(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Cp(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::Cp(const scalar p, const scalar T) const
{
return this->cp(p, T)/this->W();
}
@ -197,7 +201,7 @@ Foam::specieThermo<Thermo, Type>::Cp(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Cv(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::Cv(const scalar p, const scalar T) const
{
return this->cv(p, T)/this->W();
}
@ -205,15 +209,15 @@ Foam::specieThermo<Thermo, Type>::Cv(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::HE(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::HE(const scalar p, const scalar T) const
{
return Type<specieThermo<Thermo, Type> >::HE(*this, p, T);
return Type<thermo<Thermo, Type> >::HE(*this, p, T);
}
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::H(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::H(const scalar p, const scalar T) const
{
return this->h(p, T)/this->W();
}
@ -221,7 +225,7 @@ Foam::specieThermo<Thermo, Type>::H(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Hs(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::Hs(const scalar p, const scalar T) const
{
return this->hs(p, T)/this->W();
}
@ -229,7 +233,7 @@ Foam::specieThermo<Thermo, Type>::Hs(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Hc() const
Foam::species::thermo<Thermo, Type>::Hc() const
{
return this->hc()/this->W();
}
@ -237,7 +241,7 @@ Foam::specieThermo<Thermo, Type>::Hc() const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Ha(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::Ha(const scalar p, const scalar T) const
{
return this->ha(p, T)/this->W();
}
@ -245,7 +249,7 @@ Foam::specieThermo<Thermo, Type>::Ha(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::S(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::S(const scalar p, const scalar T) const
{
return this->s(p, T)/this->W();
}
@ -253,7 +257,7 @@ Foam::specieThermo<Thermo, Type>::S(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::E(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::E(const scalar p, const scalar T) const
{
return this->e(p, T)/this->W();
}
@ -261,14 +265,14 @@ Foam::specieThermo<Thermo, Type>::E(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Es(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::Es(const scalar p, const scalar T) const
{
return this->es(p, T)/this->W();
}
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Ea(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::Ea(const scalar p, const scalar T) const
{
return this->ea(p, T)/this->W();
}
@ -276,7 +280,7 @@ Foam::specieThermo<Thermo, Type>::Ea(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::G(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::G(const scalar p, const scalar T) const
{
return this->g(p, T)/this->W();
}
@ -284,7 +288,7 @@ Foam::specieThermo<Thermo, Type>::G(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::A(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::A(const scalar p, const scalar T) const
{
return this->a(p, T)/this->W();
}
@ -292,7 +296,7 @@ Foam::specieThermo<Thermo, Type>::A(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::K(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::K(const scalar p, const scalar T) const
{
scalar arg = -this->nMoles()*this->g(p, T)/(this->RR*T);
@ -309,7 +313,7 @@ Foam::specieThermo<Thermo, Type>::K(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Kp(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::Kp(const scalar p, const scalar T) const
{
return K(p, T);
}
@ -317,7 +321,7 @@ Foam::specieThermo<Thermo, Type>::Kp(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar
Foam::specieThermo<Thermo, Type>::Kc(const scalar p, const scalar T) const
Foam::species::thermo<Thermo, Type>::Kc(const scalar p, const scalar T) const
{
if (equal(this->nMoles(), SMALL))
{
@ -331,7 +335,7 @@ Foam::specieThermo<Thermo, Type>::Kc(const scalar p, const scalar T) const
template<class Thermo, template<class> class Type>
inline Foam::scalar Foam::specieThermo<Thermo, Type>::Kx
inline Foam::scalar Foam::species::thermo<Thermo, Type>::Kx
(
const scalar p,
const scalar T
@ -349,7 +353,7 @@ inline Foam::scalar Foam::specieThermo<Thermo, Type>::Kx
template<class Thermo, template<class> class Type>
inline Foam::scalar Foam::specieThermo<Thermo, Type>::Kn
inline Foam::scalar Foam::species::thermo<Thermo, Type>::Kn
(
const scalar p,
const scalar T,
@ -368,19 +372,19 @@ inline Foam::scalar Foam::specieThermo<Thermo, Type>::Kn
template<class Thermo, template<class> class Type>
inline Foam::scalar Foam::specieThermo<Thermo, Type>::THE
inline Foam::scalar Foam::species::thermo<Thermo, Type>::THE
(
const scalar he,
const scalar p,
const scalar T0
) const
{
return Type<specieThermo<Thermo, Type> >::THE(*this, he, p, T0);
return Type<thermo<Thermo, Type> >::THE(*this, he, p, T0);
}
template<class Thermo, template<class> class Type>
inline Foam::scalar Foam::specieThermo<Thermo, Type>::THs
inline Foam::scalar Foam::species::thermo<Thermo, Type>::THs
(
const scalar hs,
const scalar p,
@ -392,15 +396,15 @@ inline Foam::scalar Foam::specieThermo<Thermo, Type>::THs
hs,
p,
T0,
&specieThermo<Thermo, Type>::Hs,
&specieThermo<Thermo, Type>::Cp,
&specieThermo<Thermo, Type>::limit
&thermo<Thermo, Type>::Hs,
&thermo<Thermo, Type>::Cp,
&thermo<Thermo, Type>::limit
);
}
template<class Thermo, template<class> class Type>
inline Foam::scalar Foam::specieThermo<Thermo, Type>::THa
inline Foam::scalar Foam::species::thermo<Thermo, Type>::THa
(
const scalar ht,
const scalar p,
@ -412,15 +416,15 @@ inline Foam::scalar Foam::specieThermo<Thermo, Type>::THa
ht,
p,
T0,
&specieThermo<Thermo, Type>::Ha,
&specieThermo<Thermo, Type>::Cp,
&specieThermo<Thermo, Type>::limit
&thermo<Thermo, Type>::Ha,
&thermo<Thermo, Type>::Cp,
&thermo<Thermo, Type>::limit
);
}
template<class Thermo, template<class> class Type>
inline Foam::scalar Foam::specieThermo<Thermo, Type>::TEs
inline Foam::scalar Foam::species::thermo<Thermo, Type>::TEs
(
const scalar es,
const scalar p,
@ -432,15 +436,15 @@ inline Foam::scalar Foam::specieThermo<Thermo, Type>::TEs
es,
p,
T0,
&specieThermo<Thermo, Type>::Es,
&specieThermo<Thermo, Type>::Cv,
&specieThermo<Thermo, Type>::limit
&thermo<Thermo, Type>::Es,
&thermo<Thermo, Type>::Cv,
&thermo<Thermo, Type>::limit
);
}
template<class Thermo, template<class> class Type>
inline Foam::scalar Foam::specieThermo<Thermo, Type>::TEa
inline Foam::scalar Foam::species::thermo<Thermo, Type>::TEa
(
const scalar e,
const scalar p,
@ -452,9 +456,9 @@ inline Foam::scalar Foam::specieThermo<Thermo, Type>::TEa
ea,
p,
T0,
&specieThermo<Thermo, Type>::Ea,
&specieThermo<Thermo, Type>::Cv,
&specieThermo<Thermo, Type>::limit
&thermo<Thermo, Type>::Ea,
&thermo<Thermo, Type>::Cv,
&thermo<Thermo, Type>::limit
);
}
@ -462,9 +466,9 @@ inline Foam::scalar Foam::specieThermo<Thermo, Type>::TEa
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
template<class Thermo, template<class> class Type>
inline void Foam::specieThermo<Thermo, Type>::operator+=
inline void Foam::species::thermo<Thermo, Type>::operator+=
(
const specieThermo<Thermo, Type>& st
const thermo<Thermo, Type>& st
)
{
Thermo::operator+=(st);
@ -472,9 +476,9 @@ inline void Foam::specieThermo<Thermo, Type>::operator+=
template<class Thermo, template<class> class Type>
inline void Foam::specieThermo<Thermo, Type>::operator-=
inline void Foam::species::thermo<Thermo, Type>::operator-=
(
const specieThermo<Thermo, Type>& st
const thermo<Thermo, Type>& st
)
{
Thermo::operator-=(st);
@ -482,7 +486,7 @@ inline void Foam::specieThermo<Thermo, Type>::operator-=
template<class Thermo, template<class> class Type>
inline void Foam::specieThermo<Thermo, Type>::operator*=(const scalar s)
inline void Foam::species::thermo<Thermo, Type>::operator*=(const scalar s)
{
Thermo::operator*=(s);
}
@ -491,13 +495,13 @@ inline void Foam::specieThermo<Thermo, Type>::operator*=(const scalar s)
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
template<class Thermo, template<class> class Type>
inline Foam::specieThermo<Thermo, Type> Foam::operator+
inline Foam::species::thermo<Thermo, Type> Foam::species::operator+
(
const specieThermo<Thermo, Type>& st1,
const specieThermo<Thermo, Type>& st2
const thermo<Thermo, Type>& st1,
const thermo<Thermo, Type>& st2
)
{
return specieThermo<Thermo, Type>
return thermo<Thermo, Type>
(
static_cast<const Thermo&>(st1) + static_cast<const Thermo&>(st2)
);
@ -505,13 +509,13 @@ inline Foam::specieThermo<Thermo, Type> Foam::operator+
template<class Thermo, template<class> class Type>
inline Foam::specieThermo<Thermo, Type> Foam::operator-
inline Foam::species::thermo<Thermo, Type> Foam::species::operator-
(
const specieThermo<Thermo, Type>& st1,
const specieThermo<Thermo, Type>& st2
const thermo<Thermo, Type>& st1,
const thermo<Thermo, Type>& st2
)
{
return specieThermo<Thermo, Type>
return thermo<Thermo, Type>
(
static_cast<const Thermo&>(st1) - static_cast<const Thermo&>(st2)
);
@ -519,13 +523,13 @@ inline Foam::specieThermo<Thermo, Type> Foam::operator-
template<class Thermo, template<class> class Type>
inline Foam::specieThermo<Thermo, Type> Foam::operator*
inline Foam::species::thermo<Thermo, Type> Foam::species::operator*
(
const scalar s,
const specieThermo<Thermo, Type>& st
const thermo<Thermo, Type>& st
)
{
return specieThermo<Thermo, Type>
return thermo<Thermo, Type>
(
s*static_cast<const Thermo&>(st)
);
@ -533,10 +537,10 @@ inline Foam::specieThermo<Thermo, Type> Foam::operator*
template<class Thermo, template<class> class Type>
inline Foam::specieThermo<Thermo, Type> Foam::operator==
inline Foam::species::thermo<Thermo, Type> Foam::species::operator==
(
const specieThermo<Thermo, Type>& st1,
const specieThermo<Thermo, Type>& st2
const thermo<Thermo, Type>& st1,
const thermo<Thermo, Type>& st2
)
{
return st2 - st1;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heheuReactionThermo<inhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>,absoluteEnthalpy>>>>;
thermoType heheuReactionThermo<inhomogeneousMixture<sutherlandTransport<janafThermo<perfectGas>,absoluteEnthalpy>>>;
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.5776;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heheuReactionThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>,absoluteEnthalpy>>>>;
thermoType heheuReactionThermo<homogeneousMixture<sutherlandTransport<janafThermo<perfectGas>,absoluteEnthalpy>>>;
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.675;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heheuReactionThermo<inhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>,absoluteEnthalpy>>>>;
thermoType heheuReactionThermo<inhomogeneousMixture<sutherlandTransport<janafThermo<perfectGas>,absoluteEnthalpy>>>;
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.0336;

View File

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

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<sutherlandTransport<janafThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
// Note: these are the properties for a "normalised" inviscid gas
// for which the speed of sound is 1 m/s at a temperature of 1K

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType heRhoThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<sutherlandTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
// Note: these are the properties for a "normalised" inviscid gas
// for which the speed of sound is 1 m/s at a temperature of 1K

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
mixture
{

View File

@ -15,8 +15,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
//thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleInternalEnergy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
//thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleInternalEnergy>>>;
pRef 100000;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

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

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
// thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
thermoType
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
pRef 100000;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType hePsiThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
pRef 100000;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

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

View File

@ -0,0 +1,120 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,120 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<rhoConst>,sensibleEnthalpy>>>;
mixture
{

View File

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

View File

@ -0,0 +1,121 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,121 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

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

View File

@ -0,0 +1,121 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,121 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

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

View File

@ -0,0 +1,121 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,121 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{

View File

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

View File

@ -0,0 +1,121 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.5;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,121 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heSolidThermo<pureSolidMixture<constIsoSolidTransport<constSolidRad<hConstThermo<rhoConst>,sensibleEnthalpy>>>>;
mixture
{
specie
{
nMoles 1;
molWeight 12;
}
transport
{
kappa 80;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.5;
}
thermodynamics
{
Hf 0;
Cp 450;
}
equationOfState
{
rho 8000;
}
}
solidComponents
(
pmma char
);
pmmaCoeffs
{
specie
{
nMoles 1;
molWeight 100;
}
transport
{
kappa 0.152;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.1;
}
thermodynamics
{
Hf 0;
Cp 1462;
}
equationOfState
{
rho 1114.0;
}
}
charCoeffs
{
specie
{
nMoles 1;
molWeight 50;
}
transport
{
kappa 0.4;
}
radiation
{
sigmaS 0.0;
kappaRad 0.0;
emissivity 0.0;
}
thermodynamics
{
Hf 0;
Cp 611.0;
}
equationOfState
{
rho 11.5;
}
}
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType heRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>,sensibleEnthalpy>>>>;
thermoType heRhoThermo<pureMixture<constTransport<hConstThermo<perfectGas>,sensibleEnthalpy>>>;
mixture
{