mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'feature-pureZoneMixture' into 'develop'
ENH: pureZoneMixture: different mixture properties according to cellZone See merge request Development/openfoam!586
This commit is contained in:
@ -1928,7 +1928,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
forAll(regionSizes, regionI)
|
forAll(regionSizes, regionI)
|
||||||
{
|
{
|
||||||
Info<< regionI << "\t\t" << regionSizes[regionI] << nl;
|
Info<< regionI << '\t' << regionSizes[regionI] << nl;
|
||||||
}
|
}
|
||||||
Info<< endl;
|
Info<< endl;
|
||||||
|
|
||||||
@ -1939,7 +1939,7 @@ int main(int argc, char *argv[])
|
|||||||
<< "------\t----\t----" << endl;
|
<< "------\t----\t----" << endl;
|
||||||
forAll(regionToZones, regionI)
|
forAll(regionToZones, regionI)
|
||||||
{
|
{
|
||||||
Info<< regionI << "\t\t" << flatOutput(regionToZones[regionI])
|
Info<< regionI << '\t' << flatOutput(regionToZones[regionI])
|
||||||
<< '\t'
|
<< '\t'
|
||||||
<< regionNames[regionI] << nl;
|
<< regionNames[regionI] << nl;
|
||||||
}
|
}
|
||||||
@ -1987,8 +1987,8 @@ int main(int argc, char *argv[])
|
|||||||
const edge& e = interfaces[interI];
|
const edge& e = interfaces[interI];
|
||||||
|
|
||||||
Info<< interI
|
Info<< interI
|
||||||
<< "\t\t\t" << e[0] << "\t\t" << e[1]
|
<< "\t\t" << e[0] << "\t" << e[1]
|
||||||
<< "\t\t" << interfaceSizes[interI] << nl;
|
<< "\t" << interfaceSizes[interI] << nl;
|
||||||
}
|
}
|
||||||
Info<< endl;
|
Info<< endl;
|
||||||
|
|
||||||
|
|||||||
@ -3,10 +3,12 @@ fluidThermo/fluidThermo.C
|
|||||||
|
|
||||||
psiThermo/psiThermo.C
|
psiThermo/psiThermo.C
|
||||||
psiThermo/psiThermos.C
|
psiThermo/psiThermos.C
|
||||||
|
psiThermo/psiZoneThermos.C
|
||||||
|
|
||||||
rhoThermo/rhoThermo.C
|
rhoThermo/rhoThermo.C
|
||||||
rhoThermo/rhoThermos.C
|
rhoThermo/rhoThermos.C
|
||||||
rhoThermo/liquidThermo.C
|
rhoThermo/liquidThermo.C
|
||||||
|
rhoThermo/rhoZoneThermos.C
|
||||||
|
|
||||||
derivedFvPatchFields/fixedEnergy/fixedEnergyFvPatchScalarField.C
|
derivedFvPatchFields/fixedEnergy/fixedEnergyFvPatchScalarField.C
|
||||||
derivedFvPatchFields/gradientEnergy/gradientEnergyFvPatchScalarField.C
|
derivedFvPatchFields/gradientEnergy/gradientEnergyFvPatchScalarField.C
|
||||||
|
|||||||
@ -0,0 +1,164 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | www.openfoam.com
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Copyright (C) 2021,2022 OpenCFD Ltd.
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
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 "pureZoneMixture.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
template<class ThermoType>
|
||||||
|
const ThermoType& Foam::pureZoneMixture<ThermoType>::constructSpeciesData
|
||||||
|
(
|
||||||
|
const dictionary& thermoDict
|
||||||
|
)
|
||||||
|
{
|
||||||
|
const auto& czs = mesh_.cellZones();
|
||||||
|
|
||||||
|
const auto* dictPtr = thermoDict.findDict("none");
|
||||||
|
|
||||||
|
speciesData_.setSize(dictPtr ? czs.size()+1 : czs.size());
|
||||||
|
forAll(czs, i)
|
||||||
|
{
|
||||||
|
speciesData_.set
|
||||||
|
(
|
||||||
|
i,
|
||||||
|
new ThermoType(thermoDict.subDict(czs[i].name()))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dictPtr)
|
||||||
|
{
|
||||||
|
speciesData_.set(czs.size(), new ThermoType(*dictPtr));
|
||||||
|
}
|
||||||
|
|
||||||
|
return speciesData_[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
template<class ThermoType>
|
||||||
|
Foam::pureZoneMixture<ThermoType>::pureZoneMixture
|
||||||
|
(
|
||||||
|
const dictionary& thermoDict,
|
||||||
|
const fvMesh& mesh,
|
||||||
|
const word& phaseName
|
||||||
|
)
|
||||||
|
:
|
||||||
|
basicMixture(thermoDict, mesh, phaseName),
|
||||||
|
mesh_(mesh),
|
||||||
|
mixture_("mixture", constructSpeciesData(thermoDict.subDict("mixture")))
|
||||||
|
{
|
||||||
|
// Cache index per cell. This is the cellZone except for unzoned cells
|
||||||
|
// which are last
|
||||||
|
|
||||||
|
const auto& czs = mesh_.cellZones();
|
||||||
|
zoneID_.setSize(mesh_.nCells(), czs.size());
|
||||||
|
for (const auto& cz : czs)
|
||||||
|
{
|
||||||
|
UIndirectList<label>(zoneID_, cz) = cz.index();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if any unzoned cells but no 'none' specification
|
||||||
|
if (speciesData_.size() == czs.size())
|
||||||
|
{
|
||||||
|
const label noneCelli = zoneID_.find(czs.size());
|
||||||
|
if (noneCelli != -1)
|
||||||
|
{
|
||||||
|
FatalErrorInFunction << "Have unzoned cell " << noneCelli
|
||||||
|
<< " at " << mesh_.cellCentres()[noneCelli]
|
||||||
|
<< " but no \"none\" entry in \"mixture\""
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
template<class ThermoType>
|
||||||
|
const ThermoType& Foam::pureZoneMixture<ThermoType>::cellMixture
|
||||||
|
(
|
||||||
|
const label celli
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
mixture_ = speciesData_[zoneID_[celli]];
|
||||||
|
return mixture_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class ThermoType>
|
||||||
|
const ThermoType& Foam::pureZoneMixture<ThermoType>::patchFaceMixture
|
||||||
|
(
|
||||||
|
const label patchi,
|
||||||
|
const label facei
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
const label celli = mesh_.boundary()[patchi].faceCells()[facei];
|
||||||
|
mixture_ = speciesData_[zoneID_[celli]];
|
||||||
|
return mixture_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class ThermoType>
|
||||||
|
const ThermoType& Foam::pureZoneMixture<ThermoType>::cellVolMixture
|
||||||
|
(
|
||||||
|
const scalar p,
|
||||||
|
const scalar T,
|
||||||
|
const label celli
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
// (per zone) constant density
|
||||||
|
return this->cellMixture(celli);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class ThermoType>
|
||||||
|
const ThermoType& Foam::pureZoneMixture<ThermoType>::
|
||||||
|
patchFaceVolMixture
|
||||||
|
(
|
||||||
|
const scalar p,
|
||||||
|
const scalar T,
|
||||||
|
const label patchi,
|
||||||
|
const label facei
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
return this->patchFaceMixture(patchi, facei);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class ThermoType>
|
||||||
|
void Foam::pureZoneMixture<ThermoType>::read
|
||||||
|
(
|
||||||
|
const dictionary& thermoDict
|
||||||
|
)
|
||||||
|
{
|
||||||
|
constructSpeciesData(thermoDict);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,195 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | www.openfoam.com
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Copyright (C) 2021,2022 OpenCFD Ltd.
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
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/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::pureZoneMixture
|
||||||
|
|
||||||
|
Description
|
||||||
|
Version of pureMixture that uses different mixtures for different
|
||||||
|
cellZones.
|
||||||
|
Every cellZone has to provide an entry for its mixture. A reserved
|
||||||
|
entry 'none' is for all unzoned cells.
|
||||||
|
|
||||||
|
Example of the zone based mixture specification:
|
||||||
|
\verbatim
|
||||||
|
mixture
|
||||||
|
{
|
||||||
|
solid1
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
molWeight 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
kappa 80;
|
||||||
|
}
|
||||||
|
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Hf 0;
|
||||||
|
Cp 450;
|
||||||
|
}
|
||||||
|
|
||||||
|
equationOfState
|
||||||
|
{
|
||||||
|
rho 8000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
solid2
|
||||||
|
{
|
||||||
|
//- Start off from 'solid1' properties
|
||||||
|
${solid1}
|
||||||
|
|
||||||
|
//- Selectively overwrite properties
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
kappa 8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
pureZoneMixture.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef pureZoneMixture_H
|
||||||
|
#define pureZoneMixture_H
|
||||||
|
|
||||||
|
#include "basicMixture.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class pureZoneMixture Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
template<class ThermoType>
|
||||||
|
class pureZoneMixture
|
||||||
|
:
|
||||||
|
public basicMixture
|
||||||
|
{
|
||||||
|
// Private data
|
||||||
|
|
||||||
|
const fvMesh& mesh_;
|
||||||
|
|
||||||
|
//- Inverse zone info
|
||||||
|
labelList zoneID_;
|
||||||
|
|
||||||
|
//- Species data
|
||||||
|
PtrList<ThermoType> speciesData_;
|
||||||
|
|
||||||
|
//- Temporary storage for the cell/face mixture thermo data
|
||||||
|
mutable ThermoType mixture_;
|
||||||
|
|
||||||
|
|
||||||
|
// Private Member Functions
|
||||||
|
|
||||||
|
//- Construct the species data from the given dictionary and return the
|
||||||
|
// data for the first specie to initialise the mixture thermo data
|
||||||
|
const ThermoType& constructSpeciesData(const dictionary& thermoDict);
|
||||||
|
|
||||||
|
//- No copy construct
|
||||||
|
pureZoneMixture(const pureZoneMixture<ThermoType>&) = delete;
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- The type of thermodynamics this mixture is instantiated for
|
||||||
|
typedef ThermoType thermoType;
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from dictionary, mesh and phase name
|
||||||
|
pureZoneMixture
|
||||||
|
(
|
||||||
|
const dictionary& thermoDict,
|
||||||
|
const fvMesh& mesh,
|
||||||
|
const word& phaseName
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~pureZoneMixture() = default;
|
||||||
|
|
||||||
|
|
||||||
|
// Member functions
|
||||||
|
|
||||||
|
//- Return the instantiated type name
|
||||||
|
static word typeName()
|
||||||
|
{
|
||||||
|
return "pureZoneMixture<" + ThermoType::typeName() + '>';
|
||||||
|
}
|
||||||
|
|
||||||
|
const ThermoType& cellMixture(const label celli) const;
|
||||||
|
|
||||||
|
const ThermoType& patchFaceMixture
|
||||||
|
(
|
||||||
|
const label patchi,
|
||||||
|
const label facei
|
||||||
|
) const;
|
||||||
|
|
||||||
|
const ThermoType& cellVolMixture
|
||||||
|
(
|
||||||
|
const scalar p,
|
||||||
|
const scalar T,
|
||||||
|
const label celli
|
||||||
|
) const;
|
||||||
|
|
||||||
|
const ThermoType& patchFaceVolMixture
|
||||||
|
(
|
||||||
|
const scalar p,
|
||||||
|
const scalar T,
|
||||||
|
const label patchi,
|
||||||
|
const label facei
|
||||||
|
) const;
|
||||||
|
|
||||||
|
//- Read dictionary
|
||||||
|
void read(const dictionary&);
|
||||||
|
};
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#ifdef NoRepository
|
||||||
|
#include "pureZoneMixture.C"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
226
src/thermophysicalModels/basic/psiThermo/psiZoneThermos.C
Normal file
226
src/thermophysicalModels/basic/psiThermo/psiZoneThermos.C
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | www.openfoam.com
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Copyright (C) 2021,2022 OpenCFD Ltd.
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
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 "psiThermo.H"
|
||||||
|
#include "makeThermo.H"
|
||||||
|
|
||||||
|
#include "specie.H"
|
||||||
|
#include "perfectGas.H"
|
||||||
|
#include "PengRobinsonGas.H"
|
||||||
|
#include "hConstThermo.H"
|
||||||
|
#include "eConstThermo.H"
|
||||||
|
#include "janafThermo.H"
|
||||||
|
#include "sensibleEnthalpy.H"
|
||||||
|
#include "sensibleInternalEnergy.H"
|
||||||
|
#include "thermo.H"
|
||||||
|
|
||||||
|
#include "constTransport.H"
|
||||||
|
#include "sutherlandTransport.H"
|
||||||
|
|
||||||
|
#include "hPolynomialThermo.H"
|
||||||
|
#include "polynomialTransport.H"
|
||||||
|
|
||||||
|
#include "hePsiThermo.H"
|
||||||
|
#include "pureZoneMixture.H"
|
||||||
|
|
||||||
|
#include "thermoPhysicsTypes.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
/* * * * * * * * * * * * * * * * * Enthalpy-based * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
// Note: pureZoneMixture copies mixture model for every evaluation of cell
|
||||||
|
// so can become expensive for complex models (e.g. with tables)
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
janafThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
PengRobinsonGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
PengRobinsonGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
janafThermo,
|
||||||
|
PengRobinsonGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
janafThermo,
|
||||||
|
PengRobinsonGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/* * * * * * * * * * * * * * Internal-energy-based * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
eConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
eConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
janafThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
psiThermo,
|
||||||
|
hePsiThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
janafThermo,
|
||||||
|
PengRobinsonGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
717
src/thermophysicalModels/basic/rhoThermo/rhoZoneThermos.C
Normal file
717
src/thermophysicalModels/basic/rhoThermo/rhoZoneThermos.C
Normal file
@ -0,0 +1,717 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | www.openfoam.com
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Copyright (C) 2021,2022 OpenCFD Ltd.
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
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 "rhoThermo.H"
|
||||||
|
#include "makeThermo.H"
|
||||||
|
|
||||||
|
#include "specie.H"
|
||||||
|
#include "perfectGas.H"
|
||||||
|
#include "incompressiblePerfectGas.H"
|
||||||
|
#include "Boussinesq.H"
|
||||||
|
#include "rhoConst.H"
|
||||||
|
#include "rPolynomial.H"
|
||||||
|
#include "perfectFluid.H"
|
||||||
|
#include "PengRobinsonGas.H"
|
||||||
|
#include "adiabaticPerfectFluid.H"
|
||||||
|
#include "icoTabulated.H"
|
||||||
|
|
||||||
|
#include "hConstThermo.H"
|
||||||
|
#include "eConstThermo.H"
|
||||||
|
#include "janafThermo.H"
|
||||||
|
#include "hTabulatedThermo.H"
|
||||||
|
#include "sensibleEnthalpy.H"
|
||||||
|
#include "sensibleInternalEnergy.H"
|
||||||
|
#include "thermo.H"
|
||||||
|
|
||||||
|
#include "constTransport.H"
|
||||||
|
#include "sutherlandTransport.H"
|
||||||
|
#include "WLFTransport.H"
|
||||||
|
|
||||||
|
#include "icoPolynomial.H"
|
||||||
|
#include "hPolynomialThermo.H"
|
||||||
|
#include "polynomialTransport.H"
|
||||||
|
#include "tabulatedTransport.H"
|
||||||
|
|
||||||
|
#include "heRhoThermo.H"
|
||||||
|
#include "pureZoneMixture.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
/* * * * * * * * * * * * * * * Private Static Data * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
// Note: pureZoneMixture copies mixture model for every evaluation of cell
|
||||||
|
// so can become expensive for complex models (e.g. with tables)
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
janafThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
tabulatedTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hTabulatedThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
rhoConst,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectFluid,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
rPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
tabulatedTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hTabulatedThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
adiabaticPerfectFluid,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
icoPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
tabulatedTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
icoPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
rPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
incompressiblePerfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
incompressiblePerfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
janafThermo,
|
||||||
|
incompressiblePerfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
janafThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
tabulatedTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
janafThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
Boussinesq,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
Boussinesq,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
janafThermo,
|
||||||
|
Boussinesq,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
PengRobinsonGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
PengRobinsonGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
janafThermo,
|
||||||
|
PengRobinsonGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
tabulatedTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hTabulatedThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
janafThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
janafThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
rhoConst,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
eConstThermo,
|
||||||
|
rhoConst,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
perfectFluid,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
rPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
eConstThermo,
|
||||||
|
perfectFluid,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
eConstThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
eConstThermo,
|
||||||
|
rPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
adiabaticPerfectFluid,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
eConstThermo,
|
||||||
|
adiabaticPerfectFluid,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
icoPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
tabulatedTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
icoPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
incompressiblePerfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
incompressiblePerfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
janafThermo,
|
||||||
|
incompressiblePerfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
Boussinesq,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
hConstThermo,
|
||||||
|
Boussinesq,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
sutherlandTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
janafThermo,
|
||||||
|
Boussinesq,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
WLFTransport,
|
||||||
|
sensibleInternalEnergy,
|
||||||
|
eConstThermo,
|
||||||
|
rhoConst,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
perfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeThermos
|
||||||
|
(
|
||||||
|
rhoThermo,
|
||||||
|
heRhoThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
incompressiblePerfectGas,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -4,4 +4,7 @@ solidThermo/solidThermos.C
|
|||||||
solidReactionThermo/solidReactionThermo.C
|
solidReactionThermo/solidReactionThermo.C
|
||||||
solidReactionThermo/solidReactionThermos.C
|
solidReactionThermo/solidReactionThermos.C
|
||||||
|
|
||||||
|
solidThermo/heZoneSolidThermos.C
|
||||||
|
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libsolidThermo
|
LIB = $(FOAM_LIBBIN)/libsolidThermo
|
||||||
|
|||||||
@ -0,0 +1,157 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | www.openfoam.com
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Copyright (C) 2021,2022 OpenCFD Ltd.
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
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 "makeSolidThermo.H"
|
||||||
|
#include "solidThermo.H"
|
||||||
|
#include "pureZoneMixture.H"
|
||||||
|
#include "heSolidThermo.H"
|
||||||
|
|
||||||
|
#include "specie.H"
|
||||||
|
#include "rhoConst.H"
|
||||||
|
#include "icoPolynomial.H"
|
||||||
|
#include "icoTabulated.H"
|
||||||
|
#include "hConstThermo.H"
|
||||||
|
#include "hPowerThermo.H"
|
||||||
|
#include "hPolynomialThermo.H"
|
||||||
|
#include "hTabulatedThermo.H"
|
||||||
|
#include "constIsoSolidTransport.H"
|
||||||
|
#include "constAnIsoSolidTransport.H"
|
||||||
|
#include "exponentialSolidTransport.H"
|
||||||
|
#include "polynomialSolidTransport.H"
|
||||||
|
#include "tabulatedSolidTransport.H"
|
||||||
|
#include "tabulatedAnIsoSolidTransport.H"
|
||||||
|
#include "sensibleEnthalpy.H"
|
||||||
|
#include "thermo.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
/* * * * * * * * * * * * * * * * * Enthalpy-based * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
makeSolidThermo
|
||||||
|
(
|
||||||
|
solidThermo,
|
||||||
|
heSolidThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constIsoSolidTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
rhoConst,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
// Note: pureZoneMixture copies mixture model for every evaluation of cell
|
||||||
|
// so can become expensive for complex models (e.g. with tables)
|
||||||
|
|
||||||
|
makeSolidThermo
|
||||||
|
(
|
||||||
|
solidThermo,
|
||||||
|
heSolidThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
constAnIsoSolidTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hConstThermo,
|
||||||
|
rhoConst,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeSolidThermo
|
||||||
|
(
|
||||||
|
solidThermo,
|
||||||
|
heSolidThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
exponentialSolidTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPowerThermo,
|
||||||
|
rhoConst,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeSolidThermo
|
||||||
|
(
|
||||||
|
solidThermo,
|
||||||
|
heSolidThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
polynomialSolidTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hPolynomialThermo,
|
||||||
|
icoPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeSolidThermo
|
||||||
|
(
|
||||||
|
solidThermo,
|
||||||
|
heSolidThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
tabulatedSolidTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hTabulatedThermo,
|
||||||
|
icoPolynomial,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
makeSolidThermo
|
||||||
|
(
|
||||||
|
solidThermo,
|
||||||
|
heSolidThermo,
|
||||||
|
pureZoneMixture,
|
||||||
|
tabulatedSolidTransport,
|
||||||
|
sensibleEnthalpy,
|
||||||
|
hTabulatedThermo,
|
||||||
|
icoTabulated,
|
||||||
|
specie
|
||||||
|
);
|
||||||
|
|
||||||
|
//- TBD. Needs clone
|
||||||
|
//makeSolidThermo
|
||||||
|
//(
|
||||||
|
// solidThermo,
|
||||||
|
// heSolidThermo,
|
||||||
|
// pureZoneMixture,
|
||||||
|
// tabulatedAnIsoSolidTransport,
|
||||||
|
// sensibleEnthalpy,
|
||||||
|
// hTabulatedThermo,
|
||||||
|
// icoPolynomial,
|
||||||
|
// specie
|
||||||
|
//);
|
||||||
|
|
||||||
|
//makeSolidThermoPhysicsType
|
||||||
|
//(
|
||||||
|
// solidThermo,
|
||||||
|
// heSolidThermo,
|
||||||
|
// pureZoneMixture,
|
||||||
|
// hTransportThermoPoly8SolidThermoPhysics
|
||||||
|
//);
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
Reference in New Issue
Block a user