StandardChemistryModel: Separate the reaction system from the mixture thermodynamics

This allows much greater flexibility in the instantiation of reaction system
which may in general depend on fields other than the thermodynamic state.  This
also simplifies mixture thermodynamics removing the need for the reactingMixture
and the instantiation of all the thermodynamic package combinations depending on
it.
This commit is contained in:
Henry Weller
2019-08-03 15:11:00 +01:00
parent 509133ecbb
commit 05208f64dc
120 changed files with 464 additions and 1180 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -34,7 +34,7 @@ Description
#include "fvCFD.H" #include "fvCFD.H"
#include "rhoReactionThermo.H" #include "rhoReactionThermo.H"
#include "BasicChemistryModel.H" #include "BasicChemistryModel.H"
#include "reactingMixture.H" #include "multiComponentMixture.H"
#include "chemistrySolver.H" #include "chemistrySolver.H"
#include "OFstream.H" #include "OFstream.H"
#include "thermoPhysicsTypes.H" #include "thermoPhysicsTypes.H"

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2018 OpenFOAM Foundation \\ / A nd | Copyright (C) 2018-2019 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,7 +27,7 @@ template<class ThermoType>
scalarList W(const rhoReactionThermo& thermo) scalarList W(const rhoReactionThermo& thermo)
{ {
const PtrList<ThermoType>& specieData = const PtrList<ThermoType>& specieData =
dynamicCast<const reactingMixture<ThermoType>>(thermo) dynamicCast<const multiComponentMixture<ThermoType>>(thermo)
.speciesData(); .speciesData();
scalarList W(specieData.size()); scalarList W(specieData.size());
@ -51,7 +51,7 @@ scalar h0
) )
{ {
const PtrList<ThermoType>& specieData = const PtrList<ThermoType>& specieData =
dynamic_cast<const reactingMixture<ThermoType>&>(thermo) dynamic_cast<const multiComponentMixture<ThermoType>&>(thermo)
.speciesData(); .speciesData();
scalar h0 = 0; scalar h0 = 0;
@ -66,11 +66,11 @@ scalar h0
scalarList W(const rhoReactionThermo& thermo) scalarList W(const rhoReactionThermo& thermo)
{ {
if (isA<reactingMixture<gasHThermoPhysics>>(thermo)) if (isA<multiComponentMixture<gasHThermoPhysics>>(thermo))
{ {
return W<gasHThermoPhysics>(thermo); return W<gasHThermoPhysics>(thermo);
} }
else if (isA<reactingMixture<constFluidHThermoPhysics>>(thermo)) else if (isA<multiComponentMixture<constFluidHThermoPhysics>>(thermo))
{ {
return W<constFluidHThermoPhysics>(thermo); return W<constFluidHThermoPhysics>(thermo);
} }
@ -94,11 +94,11 @@ scalar h0
const scalar T const scalar T
) )
{ {
if (isA<reactingMixture<gasHThermoPhysics>>(thermo)) if (isA<multiComponentMixture<gasHThermoPhysics>>(thermo))
{ {
return h0<gasHThermoPhysics>(thermo, Y, p, T); return h0<gasHThermoPhysics>(thermo, Y, p, T);
} }
else if (isA<reactingMixture<constFluidHThermoPhysics>>(thermo)) else if (isA<multiComponentMixture<constFluidHThermoPhysics>>(thermo))
{ {
return h0<constFluidHThermoPhysics>(thermo, Y, p, T); return h0<constFluidHThermoPhysics>(thermo, Y, p, T);
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation \\ / A nd | Copyright (C) 2015-2019 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -45,7 +45,6 @@ License
#include "pureMixture.H" #include "pureMixture.H"
#include "multiComponentMixture.H" #include "multiComponentMixture.H"
#include "reactingMixture.H"
#include "SpecieMixture.H" #include "SpecieMixture.H"
#include "rhoThermo.H" #include "rhoThermo.H"
@ -64,32 +63,6 @@ License
multiComponentMixture, Thermo1, \ multiComponentMixture, Thermo1, \
heRhoThermo, rhoReactionThermo, \ heRhoThermo, rhoReactionThermo, \
multiComponentMixture, Thermo2 \ multiComponentMixture, Thermo2 \
); \
makeSpecieInterfaceCompositionType \
( \
Model, \
heRhoThermo, rhoReactionThermo, \
reactingMixture, Thermo1, \
heRhoThermo, rhoReactionThermo, \
multiComponentMixture, Thermo2 \
); \
\
/* Composition at an interface with a reacting mixture */ \
makeSpecieInterfaceCompositionType \
( \
Model, \
heRhoThermo, rhoReactionThermo, \
multiComponentMixture, Thermo1, \
heRhoThermo, rhoReactionThermo, \
reactingMixture, Thermo2 \
); \
makeSpecieInterfaceCompositionType \
( \
Model, \
heRhoThermo, rhoReactionThermo, \
reactingMixture, Thermo1, \
heRhoThermo, rhoReactionThermo, \
reactingMixture, Thermo2 \
); );
#define makeInterfaceCompositionModel(Model, Thermo1, Thermo2) \ #define makeInterfaceCompositionModel(Model, Thermo1, Thermo2) \
@ -102,14 +75,6 @@ License
multiComponentMixture, Thermo1, \ multiComponentMixture, Thermo1, \
heRhoThermo, rhoThermo, \ heRhoThermo, rhoThermo, \
pureMixture, Thermo2 \ pureMixture, Thermo2 \
); \
makeInterfaceCompositionType \
( \
Model, \
heRhoThermo, rhoReactionThermo, \
reactingMixture, Thermo1, \
heRhoThermo, rhoThermo, \
pureMixture, Thermo2 \
); \ ); \
\ \
/* Composition at an interface with non-pure mixtures */ \ /* Composition at an interface with non-pure mixtures */ \

View File

@ -535,7 +535,6 @@ DebugSwitches
hMixtureThermo<inhomogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0; hMixtureThermo<inhomogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hMixtureThermo<inhomogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0; hMixtureThermo<inhomogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hMixtureThermo<multiComponentMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0; hMixtureThermo<multiComponentMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hMixtureThermo<reactingMixture> 0;
hMixtureThermo<veryInhomogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0; hMixtureThermo<veryInhomogeneousMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;
hMixtureThermo<veryInhomogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0; hMixtureThermo<veryInhomogeneousMixture<sutherlandTransport<thermo<janafThermo<perfectGas>>>>> 0;
hThermo<pureMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0; hThermo<pureMixture<constTransport<thermo<hConstThermo<perfectGas>>>>> 0;

View File

@ -147,8 +147,16 @@ singleStepCombustion<ReactionThermo, ThermoType>::singleStepCombustion
) )
: :
ThermoCombustion<ReactionThermo>(modelType, thermo, turb), ThermoCombustion<ReactionThermo>(modelType, thermo, turb),
mixture_(dynamic_cast<const reactingMixture<ThermoType>&>(this->thermo())), mixture_
reactions_(mixture_.reactions()), (
dynamic_cast<const multiComponentMixture<ThermoType>&>(this->thermo())
),
reactions_
(
thermo,
mixture_.species(),
mixture_.speciesData()
),
stoicRatio_(dimensionedScalar("stoicRatio", dimless, 0)), stoicRatio_(dimensionedScalar("stoicRatio", dimless, 0)),
s_(dimensionedScalar("s", dimless, 0)), s_(dimensionedScalar("s", dimless, 0)),
qFuel_(dimensionedScalar("qFuel", sqr(dimVelocity), 0)), qFuel_(dimensionedScalar("qFuel", sqr(dimVelocity), 0)),

View File

@ -25,7 +25,7 @@ Class
Foam::combustionModels::singleStepCombustion Foam::combustionModels::singleStepCombustion
Description Description
Base class for combustion models using reactingMixture. Base class for combustion models using multiComponentMixture.
SourceFiles SourceFiles
singleStepCombustion.C singleStepCombustion.C
@ -35,8 +35,9 @@ SourceFiles
#ifndef singleStepCombustion_H #ifndef singleStepCombustion_H
#define singleStepCombustion_H #define singleStepCombustion_H
#include "reactingMixture.H" #include "multiComponentMixture.H"
#include "ThermoCombustion.H" #include "ThermoCombustion.H"
#include "ReactionList.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -58,10 +59,10 @@ protected:
// Protected data // Protected data
const reactingMixture<ThermoType>& mixture_; const multiComponentMixture<ThermoType>& mixture_;
//- Reactions //- Reactions
const PtrList<Reaction<ThermoType>>& reactions_; ReactionList<ThermoType> reactions_;
//- Stoichiometric air-fuel mass ratio //- Stoichiometric air-fuel mass ratio
dimensionedScalar stoicRatio_; dimensionedScalar stoicRatio_;

View File

@ -29,7 +29,7 @@ absorptionEmissionModels/greyMeanSolid/greyMeanSolid.C
/* Soot model */ /* Soot model */
sootModels/sootModel/sootModel.C sootModels/sootModel/sootModel.C
sootModels/sootModel/sootModelNew.C sootModels/sootModel/sootModelNew.C
sootModels/mixtureFraction/mixtureFractions.C /* sootModels/mixtureFraction/mixtureFractions.C */
sootModels/noSoot/noSoot.C sootModels/noSoot/noSoot.C
/* Boundary conditions */ /* Boundary conditions */

View File

@ -24,20 +24,20 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "mixtureFraction.H" #include "mixtureFraction.H"
#include "reactingMixture.H" #include "multiComponentMixture.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
template<class ThermoType> template<class ThermoType>
const Foam::reactingMixture<ThermoType>& const Foam::multiComponentMixture<ThermoType>&
Foam::radiationModels::sootModels::mixtureFraction<ThermoType>::checkThermo Foam::radiationModels::sootModels::mixtureFraction<ThermoType>::checkThermo
( (
const fluidThermo& thermo const fluidThermo& thermo
) )
{ {
if (isA<reactingMixture<ThermoType>>(thermo)) if (isA<multiComponentMixture<ThermoType>>(thermo))
{ {
return dynamic_cast<const reactingMixture<ThermoType>& > return dynamic_cast<const multiComponentMixture<ThermoType>& >
( (
thermo thermo
); );
@ -47,9 +47,9 @@ Foam::radiationModels::sootModels::mixtureFraction<ThermoType>::checkThermo
FatalErrorInFunction FatalErrorInFunction
<< "Inconsistent thermo package for " << thermo.type() << "Inconsistent thermo package for " << thermo.type()
<< "Please select a thermo package based on " << "Please select a thermo package based on "
<< "reactingMixture" << exit(FatalError); << "multiComponentMixture" << exit(FatalError);
return dynamic_cast<const reactingMixture<ThermoType>& > return dynamic_cast<const multiComponentMixture<ThermoType>& >
( (
thermo thermo
); );

View File

@ -63,7 +63,7 @@ SourceFiles
#include "HashTable.H" #include "HashTable.H"
#include "fluidThermo.H" #include "fluidThermo.H"
#include "reactingMixture.H" #include "multiComponentMixture.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -86,7 +86,7 @@ class mixtureFraction
// Static functions // Static functions
//- Check mixture in thermo //- Check mixture in thermo
static const reactingMixture<ThermoType>& checkThermo static const multiComponentMixture<ThermoType>& checkThermo
( (
const fluidThermo& const fluidThermo&
); );
@ -118,8 +118,8 @@ class mixtureFraction
//- Thermo package //- Thermo package
const fluidThermo& thermo_; const fluidThermo& thermo_;
//- Auto Ptr to reactingMixture //- Auto Ptr to multiComponentMixture
const reactingMixture<ThermoType>& mixture_; const multiComponentMixture<ThermoType>& mixture_;
public: public:
@ -145,12 +145,6 @@ public:
// Member Functions // Member Functions
// Edit
//- Main update/correction routine
virtual void correct();
// Access // Access
//- Return Ysoot //- Return Ysoot
@ -159,6 +153,10 @@ public:
return soot_; return soot_;
} }
// Edit
//- Main update/correction routine
virtual void correct();
}; };

View File

@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "StandardChemistryModel.H" #include "StandardChemistryModel.H"
#include "reactingMixture.H" #include "multiComponentMixture.H"
#include "UniformField.H" #include "UniformField.H"
#include "extrapolatedCalculatedFvPatchFields.H" #include "extrapolatedCalculatedFvPatchFields.H"
@ -39,18 +39,18 @@ Foam::StandardChemistryModel<ReactionThermo, ThermoType>::StandardChemistryModel
BasicChemistryModel<ReactionThermo>(thermo), BasicChemistryModel<ReactionThermo>(thermo),
ODESystem(), ODESystem(),
Y_(this->thermo().composition().Y()), Y_(this->thermo().composition().Y()),
reactions_
(
dynamic_cast<const reactingMixture<ThermoType>&>
(
this->thermo()
).reactions()
),
specieThermo_ specieThermo_
( (
dynamic_cast<const reactingMixture<ThermoType>&> dynamic_cast<const multiComponentMixture<ThermoType>&>
(this->thermo()).speciesData() (this->thermo()).speciesData()
), ),
reactions_
(
*this,
dynamic_cast<const multiComponentMixture<ThermoType>&>
(this->thermo()).species(),
specieThermo_
),
nSpecie_(Y_.size()), nSpecie_(Y_.size()),
nReaction_(reactions_.size()), nReaction_(reactions_.size()),

View File

@ -39,10 +39,9 @@ SourceFiles
#define StandardChemistryModel_H #define StandardChemistryModel_H
#include "BasicChemistryModel.H" #include "BasicChemistryModel.H"
#include "Reaction.H" #include "ReactionList.H"
#include "ODESystem.H" #include "ODESystem.H"
#include "volFields.H" #include "volFields.H"
#include "simpleMatrix.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -80,12 +79,12 @@ protected:
//- Reference to the field of specie mass fractions //- Reference to the field of specie mass fractions
PtrList<volScalarField>& Y_; PtrList<volScalarField>& Y_;
//- Reactions
const PtrList<Reaction<ThermoType>>& reactions_;
//- Thermodynamic data of the species //- Thermodynamic data of the species
const PtrList<ThermoType>& specieThermo_; const PtrList<ThermoType>& specieThermo_;
//- Reactions
const ReactionList<ThermoType> reactions_;
//- Number of species //- Number of species
label nSpecie_; label nSpecie_;

View File

@ -70,7 +70,7 @@ Foam::TDACChemistryModel<ReactionThermo, ThermoType>::TDACChemistryModel
basicSpecieMixture& composition = this->thermo().composition(); basicSpecieMixture& composition = this->thermo().composition();
const HashTable<List<specieElement>>& specComp = const HashTable<List<specieElement>>& specComp =
dynamicCast<const reactingMixture<ThermoType>&>(this->thermo()) dynamicCast<const multiComponentMixture<ThermoType>&>(this->thermo())
.specieComposition(); .specieComposition();
forAll(specieComp_, i) forAll(specieComp_, i)

View File

@ -1,49 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2019 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 "reactingMixture.H"
#include "fvMesh.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class ThermoType>
Foam::reactingMixture<ThermoType>::reactingMixture
(
const dictionary& thermoDict,
const fvMesh& mesh,
const word& phaseName
)
:
multiComponentMixture<ThermoType>
(
thermoDict,
mesh,
phaseName
),
reactions_(thermoDict, this->species(), this->speciesData())
{}
// ************************************************************************* //

View File

@ -1,111 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2019 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/>.
Class
Foam::reactingMixture
Description
Foam::reactingMixture
SourceFiles
reactingMixture.C
\*---------------------------------------------------------------------------*/
#ifndef reactingMixture_H
#define reactingMixture_H
#include "multiComponentMixture.H"
#include "ReactionList.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class reactingMixture Declaration
\*---------------------------------------------------------------------------*/
template<class ThermoType>
class reactingMixture
:
public multiComponentMixture<ThermoType>
{
// Private member data
ReactionList<ThermoType> reactions_;
public:
// Constructors
//- Construct from dictionary, mesh and phase name
reactingMixture(const dictionary&, const fvMesh&, const word&);
//- Disallow default bitwise copy construction
reactingMixture(const reactingMixture&) = delete;
//- Destructor
virtual ~reactingMixture()
{}
// Member Functions
//- Return the instantiated type name
static word typeName()
{
return "reactingMixture<" + ThermoType::typeName() + '>';
}
const PtrList<Reaction<ThermoType>>& reactions() const
{
return reactions_;
}
// Member Operators
//- Disallow default bitwise assignment
void operator=(const reactingMixture&) = delete;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "reactingMixture.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -41,7 +41,6 @@ License
#include "inhomogeneousMixture.H" #include "inhomogeneousMixture.H"
#include "veryInhomogeneousMixture.H" #include "veryInhomogeneousMixture.H"
#include "multiComponentMixture.H" #include "multiComponentMixture.H"
#include "reactingMixture.H"
#include "singleComponentMixture.H" #include "singleComponentMixture.H"
#include "thermoPhysicsTypes.H" #include "thermoPhysicsTypes.H"
@ -222,48 +221,6 @@ makeThermoPhysicsReactionThermos
); );
// Reaction thermo for sensible enthalpy
makeThermoPhysicsReactionThermos
(
psiThermo,
psiReactionThermo,
hePsiThermo,
reactingMixture,
constGasHThermoPhysics
);
makeThermoPhysicsReactionThermos
(
psiThermo,
psiReactionThermo,
hePsiThermo,
reactingMixture,
gasHThermoPhysics
);
// Reaction thermo for internal energy
makeThermoPhysicsReactionThermos
(
psiThermo,
psiReactionThermo,
hePsiThermo,
reactingMixture,
constGasEThermoPhysics
);
makeThermoPhysicsReactionThermos
(
psiThermo,
psiReactionThermo,
hePsiThermo,
reactingMixture,
gasEThermoPhysics
);
// Single-component thermo for sensible enthalpy // Single-component thermo for sensible enthalpy
makeThermoPhysicsReactionThermo makeThermoPhysicsReactionThermo

View File

@ -48,7 +48,6 @@ License
#include "inhomogeneousMixture.H" #include "inhomogeneousMixture.H"
#include "veryInhomogeneousMixture.H" #include "veryInhomogeneousMixture.H"
#include "multiComponentMixture.H" #include "multiComponentMixture.H"
#include "reactingMixture.H"
#include "singleComponentMixture.H" #include "singleComponentMixture.H"
#include "thermoPhysicsTypes.H" #include "thermoPhysicsTypes.H"
@ -294,81 +293,6 @@ makeThermoPhysicsReactionThermos
); );
// Reaction thermo for internal energy
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constGasEThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
gasEThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constIncompressibleGasEThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
incompressibleGasEThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
icoPoly8EThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constFluidEThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constAdiabaticFluidEThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constEThermoPhysics
);
// Single-component thermo for internal energy // Single-component thermo for internal energy
makeThermoPhysicsReactionThermo makeThermoPhysicsReactionThermo
@ -548,81 +472,6 @@ makeThermoPhysicsReactionThermos
); );
// Reaction thermo for sensible enthalpy
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constGasHThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
gasHThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constIncompressibleGasHThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
incompressibleGasHThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
icoPoly8HThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constFluidHThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constAdiabaticFluidHThermoPhysics
);
makeThermoPhysicsReactionThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constHThermoPhysics
);
// Single-component thermo for sensible enthalpy // Single-component thermo for sensible enthalpy
makeThermoPhysicsReactionThermo makeThermoPhysicsReactionThermo

View File

@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "solidChemistryModel.H" #include "solidChemistryModel.H"
#include "reactingMixture.H" #include "multiComponentMixture.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -37,20 +37,20 @@ Foam::solidChemistryModel<CompType, SolidThermo>::solidChemistryModel
CompType(thermo), CompType(thermo),
ODESystem(), ODESystem(),
Ys_(this->solidThermo().composition().Y()), Ys_(this->solidThermo().composition().Y()),
reactions_
(
dynamic_cast<const reactingMixture<SolidThermo>&>
(
this->solidThermo()
).reactions()
),
solidThermo_ solidThermo_
( (
dynamic_cast<const reactingMixture<SolidThermo>&> dynamic_cast<const multiComponentMixture<SolidThermo>&>
( (
this->solidThermo() this->solidThermo()
).speciesData() ).speciesData()
), ),
reactions_
(
*this,
dynamic_cast<const multiComponentMixture<SolidThermo>&>
(this->solidThermo()).species(),
solidThermo_
),
nSolids_(Ys_.size()), nSolids_(Ys_.size()),
nReaction_(reactions_.size()), nReaction_(reactions_.size()),
RRs_(nSolids_), RRs_(nSolids_),

View File

@ -39,10 +39,9 @@ SourceFiles
#ifndef solidChemistryModel_H #ifndef solidChemistryModel_H
#define solidChemistryModel_H #define solidChemistryModel_H
#include "Reaction.H" #include "ReactionList.H"
#include "ODESystem.H" #include "ODESystem.H"
#include "volFields.H" #include "volFields.H"
#include "simpleMatrix.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -67,12 +66,12 @@ protected:
//- Reference to solid mass fractions //- Reference to solid mass fractions
PtrList<volScalarField>& Ys_; PtrList<volScalarField>& Ys_;
//- Reactions
const PtrList<Reaction<SolidThermo>>& reactions_;
//- Thermodynamic data of solids //- Thermodynamic data of solids
const PtrList<SolidThermo>& solidThermo_; const PtrList<SolidThermo>& solidThermo_;
//- Reactions
const ReactionList<SolidThermo> reactions_;
//- Number of solid components //- Number of solid components
label nSolids_; label nSolids_;

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -35,7 +35,6 @@ License
#include "constAnIsoSolidTransport.H" #include "constAnIsoSolidTransport.H"
#include "exponentialSolidTransport.H" #include "exponentialSolidTransport.H"
#include "reactingMixture.H"
#include "multiComponentMixture.H" #include "multiComponentMixture.H"
#include "sensibleEnthalpy.H" #include "sensibleEnthalpy.H"
@ -53,7 +52,7 @@ makeReactingSolidThermo
( (
solidReactionThermo, solidReactionThermo,
heSolidThermo, heSolidThermo,
reactingMixture, multiComponentMixture,
constIsoSolidTransport, constIsoSolidTransport,
sensibleEnthalpy, sensibleEnthalpy,
hConstThermo, hConstThermo,
@ -66,23 +65,10 @@ makeReactingSolidThermo
( (
solidReactionThermo, solidReactionThermo,
heSolidThermo, heSolidThermo,
reactingMixture,
constIsoSolidTransport,
sensibleEnthalpy,
hPowerThermo,
rhoConst,
specie
);
makeReactingSolidThermo
(
solidThermo,
heSolidThermo,
multiComponentMixture, multiComponentMixture,
constIsoSolidTransport, constIsoSolidTransport,
sensibleEnthalpy, sensibleEnthalpy,
hConstThermo, hPowerThermo,
rhoConst, rhoConst,
specie specie
); );

View File

@ -37,5 +37,6 @@ odeCoeffs
relTol 1e-1; relTol 1e-1;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -27,6 +27,5 @@ thermoType
} }
#include "speciesThermo" #include "speciesThermo"
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -37,5 +37,6 @@ odeCoeffs
relTol 1e-1; relTol 1e-1;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -27,6 +27,5 @@ thermoType
} }
#include "speciesThermo" #include "speciesThermo"
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -37,5 +37,6 @@ odeCoeffs
relTol 1e-1; relTol 1e-1;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -27,6 +27,5 @@ thermoType
} }
#include "speciesThermo" #include "speciesThermo"
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -53,5 +53,6 @@ tabulation
method none; method none;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -27,6 +27,5 @@ thermoType
} }
#include "speciesThermo" #include "speciesThermo"
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -37,5 +37,6 @@ odeCoeffs
relTol 1e-1; relTol 1e-1;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -27,6 +27,5 @@ thermoType
} }
#include "speciesThermo" #include "speciesThermo"
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
equationOfState perfectGas; equationOfState perfectGas;

View File

@ -31,4 +31,6 @@ odeCoeffs
eps 0.05; eps 0.05;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -15,12 +15,6 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
wood
char
);
gaseousSpecies gaseousSpecies
( (
gas gas

View File

@ -15,6 +15,12 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
wood
char
);
wood wood
{ {
specie specie

View File

@ -17,7 +17,7 @@ FoamFile
thermoType thermoType
{ {
type heSolidThermo; type heSolidThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport constIso; transport constIso;
thermo hConst; thermo hConst;
equationOfState rhoConst; equationOfState rhoConst;
@ -56,6 +56,5 @@ gas
} }
#include "thermo.solid" #include "thermo.solid"
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -15,15 +15,6 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
O2
H2O
C3H8
CO2
N2
);
reactions reactions
{ {
propaneReaction propaneReaction
@ -33,5 +24,4 @@ reactions
} }
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -15,6 +15,15 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
O2
H2O
C3H8
CO2
N2
);
O2 O2
{ {
specie specie

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -30,9 +30,6 @@ inertSpecie N2;
fuel C3H8; fuel C3H8;
#include "reactions"
#include "thermo.compressibleGas" #include "thermo.compressibleGas"
liquids liquids
@ -45,4 +42,6 @@ solids
{ {
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -32,5 +32,6 @@ odeCoeffs
relTol 0.01; relTol 0.01;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -15,12 +15,6 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
wood
char
);
gaseousSpecies gaseousSpecies
( (
gas gas

View File

@ -15,6 +15,12 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
wood
char
);
wood wood
{ {
specie specie

View File

@ -17,7 +17,7 @@ FoamFile
thermoType thermoType
{ {
type heSolidThermo; type heSolidThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport constIso; transport constIso;
thermo hConst; thermo hConst;
equationOfState rhoConst; equationOfState rhoConst;
@ -57,6 +57,5 @@ gas
} }
#include "thermo.solid" #include "thermo.solid"
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -30,10 +30,7 @@ inertSpecie N2;
fuel C3H8; fuel C3H8;
#include "thermo.compressibleGas"
#include "reactions" #include "reactions"
#include "thermo.compressibleGas"
// ************************************************************************* // // ************************************************************************* //

View File

@ -185,7 +185,7 @@ greyMeanCombustionCoeffs
scatterModel none; scatterModel none;
sootModel mixtureFraction<gasHThermoPhysics>; sootModel none; // mixtureFraction<gasHThermoPhysics>;
mixtureFractionCoeffs mixtureFractionCoeffs
{ {

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;

View File

@ -1,28 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object chemistryProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
chemistryType
{
solver noChemistrySolver;
}
chemistry off;
initialChemicalTimeStep 1e-07;
// ************************************************************************* //

View File

@ -15,15 +15,6 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
O2
H2O
CH4
CO2
N2
);
reactions reactions
{ {
propaneReaction propaneReaction
@ -33,5 +24,4 @@ reactions
} }
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -15,6 +15,15 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
O2
H2O
CH4
CO2
N2
);
O2 O2
{ {
specie specie

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -30,10 +30,7 @@ inertSpecie N2;
fuel CH4; fuel CH4;
#include "thermo.compressibleGas"
#include "reactions" #include "reactions"
#include "thermo.compressibleGas"
// ************************************************************************* // // ************************************************************************* //

View File

@ -140,5 +140,6 @@ tabulation
variableTimeStep true; variableTimeStep true;
} }
#include "reactionsGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -19,7 +19,7 @@ thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -30,6 +30,5 @@ thermoType
inertSpecie N2; inertSpecie N2;
#include "thermo.compressibleGasGRI" #include "thermo.compressibleGasGRI"
#include "reactionsGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -53,4 +53,6 @@ tabulation
tolerance 3e-3; tolerance 3e-3;
} }
#include "reactionsGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,56 +1,3 @@
elements
5
(
O
H
C
N
Ar
)
;
species
36
(
H2
H
O
O2
OH
H2O
HO2
H2O2
C
CH
CH2
CH2(S)
CH3
CH4
CO
CO2
HCO
CH2O
CH2OH
CH3O
CH3OH
C2H
C2H2
C2H3
C2H4
C2H5
C2H6
HCCO
CH2CO
HCCOH
N2
AR
C3H7
C3H8
CH2CHO
CH3CHO
)
;
reactions reactions
{ {
un-named-reaction-0 un-named-reaction-0
@ -60,7 +7,7 @@ reactions
A 1.2e+11; A 1.2e+11;
beta -1; beta -1;
Ta 0; Ta 0;
coeffs coeffs
36 36
( (
(H2 2.4) (H2 2.4)
@ -109,7 +56,7 @@ reactions
A 5e+11; A 5e+11;
beta -1; beta -1;
Ta 0; Ta 0;
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -244,7 +191,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -454,7 +401,7 @@ reactions
A 2.8e+12; A 2.8e+12;
beta -0.86; beta -0.86;
Ta 0; Ta 0;
coeffs coeffs
36 36
( (
(H2 1) (H2 1)
@ -543,7 +490,7 @@ reactions
A 1e+12; A 1e+12;
beta -1; beta -1;
Ta 0; Ta 0;
coeffs coeffs
36 36
( (
(H2 0) (H2 0)
@ -616,7 +563,7 @@ reactions
A 2.2e+16; A 2.2e+16;
beta -2; beta -2;
Ta 0; Ta 0;
coeffs coeffs
36 36
( (
(H2 0.73) (H2 0.73)
@ -731,7 +678,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -807,7 +754,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -883,7 +830,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -959,7 +906,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1027,7 +974,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1103,7 +1050,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1195,7 +1142,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1311,7 +1258,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1379,7 +1326,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1447,7 +1394,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1523,7 +1470,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1599,7 +1546,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1715,7 +1662,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1791,7 +1738,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -1931,7 +1878,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -2279,7 +2226,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -2411,7 +2358,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -2527,7 +2474,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -2675,7 +2622,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -2789,7 +2736,7 @@ reactions
A 1.87e+14; A 1.87e+14;
beta -1; beta -1;
Ta 8554.25106; Ta 8554.25106;
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -2904,7 +2851,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -3036,7 +2983,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -3216,7 +3163,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -3340,7 +3287,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -3448,7 +3395,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -3524,7 +3471,7 @@ reactions
} }
thirdBodyEfficiencies thirdBodyEfficiencies
{ {
coeffs coeffs
36 36
( (
(H2 2) (H2 2)
@ -3608,6 +3555,5 @@ reactions
Ta 0; Ta 0;
} }
} }
Tlow 250; Tlow 250;
Thigh 5000; Thigh 5000;

View File

@ -1,3 +1,5 @@
species 36 ( H2 H O O2 OH H2O HO2 H2O2 C CH CH2 CH2(S) CH3 CH4 CO CO2 HCO CH2O CH2OH CH3O CH3OH C2H C2H2 C2H3 C2H4 C2H5 C2H6 HCCO CH2CO HCCOH N2 AR C3H7 C3H8 CH2CHO CH3CHO );
OH OH
{ {
specie specie

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -29,6 +29,5 @@ thermoType
inertSpecie N2; inertSpecie N2;
#include "thermo.compressibleGasGRI" #include "thermo.compressibleGasGRI"
#include "reactionsGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ application reactingFoam;
startFrom startTime; startFrom startTime;
startTime 10; startTime 0;
stopAt endTime; stopAt endTime;

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;

View File

@ -37,4 +37,6 @@ odeCoeffs
relTol 0.01; relTol 0.01;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -15,24 +15,6 @@ Notes:
configuration. It should not be considered general-purpose. configuration. It should not be considered general-purpose.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object reactions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
O2
H2O
CH4
CO2
N2
);
reactions reactions
{ {
@ -46,5 +28,4 @@ reactions
} }
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -5,15 +5,15 @@
\\ / A nd | Version: dev \\ / A nd | Version: dev
\\/ M anipulation | \\/ M anipulation |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{ species
version 2.0; (
format ascii; O2
class dictionary; H2O
location "constant"; CH4
object thermo.compressibleGas; CO2
} N2
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // );
O2 O2
{ {

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -28,10 +28,6 @@ thermoType
inertSpecie N2; inertSpecie N2;
#include "reactions"
#include "thermo.compressibleGas" #include "thermo.compressibleGas"
// ************************************************************************* // // ************************************************************************* //

View File

@ -37,4 +37,6 @@ odeCoeffs
relTol 0.01; relTol 0.01;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -15,24 +15,6 @@ Notes:
configuration. It should not be considered general-purpose. configuration. It should not be considered general-purpose.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object reactions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
O2
H2O
CH4
CO2
N2
);
reactions reactions
{ {
@ -46,5 +28,4 @@ reactions
} }
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -5,15 +5,15 @@
\\ / A nd | Version: dev \\ / A nd | Version: dev
\\/ M anipulation | \\/ M anipulation |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{ species
version 2.0; (
format ascii; O2
class dictionary; H2O
location "constant"; CH4
object thermo.compressibleGas; CO2
} N2
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // );
O2 O2
{ {

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -28,10 +28,6 @@ thermoType
inertSpecie N2; inertSpecie N2;
#include "reactions"
#include "thermo.compressibleGas" #include "thermo.compressibleGas"
// ************************************************************************* // // ************************************************************************* //

View File

@ -45,4 +45,6 @@ tabulation
tolerance 3e-3; tolerance 3e-3;
} }
#include "reactionsGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,73 +1,3 @@
elements
5
(
O
H
C
N
Ar
)
;
species
53
(
CH4
CH2O
CH3O
H
O2
H2
O
OH
H2O
HO2
H2O2
C
CH
CH2
CH2(S)
CH3
CO
CO2
HCO
CH2OH
CH3OH
C2H
C2H2
C2H3
C2H4
C2H5
C2H6
HCCO
CH2CO
HCCOH
N
NH
NH2
NH3
NNH
NO
NO2
N2O
HNO
CN
HCN
H2CN
HCNN
HCNO
HOCN
HNCO
NCO
N2
AR
C3H7
C3H8
CH2CHO
CH3CHO
)
;
reactions reactions
{ {
un-named-reaction-0 un-named-reaction-0

View File

@ -1,3 +1,62 @@
species
53
(
CH4
CH2O
CH3O
H
O2
H2
O
OH
H2O
HO2
H2O2
C
CH
CH2
CH2(S)
CH3
CO
CO2
HCO
CH2OH
CH3OH
C2H
C2H2
C2H3
C2H4
C2H5
C2H6
HCCO
CH2CO
HCCOH
N
NH
NH2
NH3
NNH
NO
NO2
N2O
HNO
CN
HCN
H2CN
HCNN
HCNO
HOCN
HNCO
NCO
N2
AR
C3H7
C3H8
CH2CHO
CH3CHO
)
;
OH OH
{ {
specie specie

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -28,8 +28,6 @@ thermoType
inertSpecie N2; inertSpecie N2;
#include "reactionsGRI"
#include "thermo.compressibleGasGRI" #include "thermo.compressibleGasGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -30,5 +30,6 @@ odeCoeffs
relTol 0.1; relTol 0.1;
} }
#include "reactionsGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,73 +1,3 @@
elements
5
(
O
H
C
N
Ar
)
;
species
53
(
CH4
CH2O
CH3O
H
O2
H2
O
OH
H2O
HO2
H2O2
C
CH
CH2
CH2(S)
CH3
CO
CO2
HCO
CH2OH
CH3OH
C2H
C2H2
C2H3
C2H4
C2H5
C2H6
HCCO
CH2CO
HCCOH
N
NH
NH2
NH3
NNH
NO
NO2
N2O
HNO
CN
HCN
H2CN
HCNN
HCNO
HOCN
HNCO
NCO
N2
AR
C3H7
C3H8
CH2CHO
CH3CHO
)
;
reactions reactions
{ {
un-named-reaction-0 un-named-reaction-0

View File

@ -1,3 +1,62 @@
species
53
(
CH4
CH2O
CH3O
H
O2
H2
O
OH
H2O
HO2
H2O2
C
CH
CH2
CH2(S)
CH3
CO
CO2
HCO
CH2OH
CH3OH
C2H
C2H2
C2H3
C2H4
C2H5
C2H6
HCCO
CH2CO
HCCOH
N
NH
NH2
NH3
NNH
NO
NO2
N2O
HNO
CN
HCN
H2CN
HCNN
HCNO
HOCN
HNCO
NCO
N2
AR
C3H7
C3H8
CH2CHO
CH3CHO
)
;
OH OH
{ {
specie specie

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -28,8 +28,6 @@ thermoType
inertSpecie N2; inertSpecie N2;
#include "reactionsGRI"
#include "thermo.compressibleGasGRI" #include "thermo.compressibleGasGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -45,4 +45,6 @@ tabulation
tolerance 3e-3; tolerance 3e-3;
} }
#include "reactionsGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,73 +1,3 @@
elements
5
(
O
H
C
N
Ar
)
;
species
53
(
CH4
CH2O
CH3O
H
O2
H2
O
OH
H2O
HO2
H2O2
C
CH
CH2
CH2(S)
CH3
CO
CO2
HCO
CH2OH
CH3OH
C2H
C2H2
C2H3
C2H4
C2H5
C2H6
HCCO
CH2CO
HCCOH
N
NH
NH2
NH3
NNH
NO
NO2
N2O
HNO
CN
HCN
H2CN
HCNN
HCNO
HOCN
HNCO
NCO
N2
AR
C3H7
C3H8
CH2CHO
CH3CHO
)
;
reactions reactions
{ {
un-named-reaction-0 un-named-reaction-0

View File

@ -1,3 +1,62 @@
species
53
(
CH4
CH2O
CH3O
H
O2
H2
O
OH
H2O
HO2
H2O2
C
CH
CH2
CH2(S)
CH3
CO
CO2
HCO
CH2OH
CH3OH
C2H
C2H2
C2H3
C2H4
C2H5
C2H6
HCCO
CH2CO
HCCOH
N
NH
NH2
NH3
NNH
NO
NO2
N2O
HNO
CN
HCN
H2CN
HCNN
HCNO
HOCN
HNCO
NCO
N2
AR
C3H7
C3H8
CH2CHO
CH3CHO
)
;
OH OH
{ {
specie specie

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -28,8 +28,6 @@ thermoType
inertSpecie N2; inertSpecie N2;
#include "reactionsGRI"
#include "thermo.compressibleGasGRI" #include "thermo.compressibleGasGRI"
// ************************************************************************* // // ************************************************************************* //

View File

@ -36,5 +36,6 @@ EulerImplicitCoeffs
equilibriumRateLimiter off; equilibriumRateLimiter off;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -22,24 +22,6 @@ Notes:
divergence in regions without any fuel. divergence in regions without any fuel.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant/gas";
object reactions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
O2
H2O
CH4
CO2
N2
);
reactions reactions
{ {
@ -53,5 +35,4 @@ reactions
} }
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -5,15 +5,15 @@
\\ / A nd | Version: dev \\ / A nd | Version: dev
\\/ M anipulation | \\/ M anipulation |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{ species
version 2.0; (
format ascii; O2
class dictionary; H2O
location "constant"; CH4
object thermo.compressibleGas; CO2
} N2
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // );
O2 O2
{ {

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
equationOfState incompressiblePerfectGas; equationOfState incompressiblePerfectGas;
@ -29,6 +29,5 @@ thermoType
inertSpecie N2; inertSpecie N2;
#include "thermo.compressibleGas" #include "thermo.compressibleGas"
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -37,5 +37,6 @@ odeCoeffs
relTol 1e-1; relTol 1e-1;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type hePsiThermo; type hePsiThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -26,11 +26,8 @@ thermoType
specie specie; specie specie;
} }
#include "speciesThermo" #include "speciesThermo"
#include "reactions"
inertSpecie N2; inertSpecie N2;
liquids liquids

View File

@ -37,4 +37,6 @@ odeCoeffs
relTol 0.01; relTol 0.01;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -15,24 +15,6 @@ Notes:
configuration. It should not be considered general-purpose. configuration. It should not be considered general-purpose.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object reactions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
O2
H2O
CH4
CO2
N2
);
reactions reactions
{ {
@ -46,5 +28,4 @@ reactions
} }
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -5,15 +5,15 @@
\\ / A nd | Version: dev \\ / A nd | Version: dev
\\/ M anipulation | \\/ M anipulation |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{ species
version 2.0; (
format ascii; O2
class dictionary; H2O
location "constant"; CH4
object thermo.compressibleGas; CO2
} N2
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // );
O2 O2
{ {

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -28,10 +28,6 @@ thermoType
inertSpecie N2; inertSpecie N2;
#include "reactions"
#include "thermo.compressibleGas" #include "thermo.compressibleGas"
// ************************************************************************* // // ************************************************************************* //

View File

@ -24,5 +24,6 @@ chemistry off;
initialChemicalTimeStep 1e-07; initialChemicalTimeStep 1e-07;
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -26,9 +26,6 @@ thermoType
specie specie; specie specie;
} }
#include "reactions"
#include "speciesThermo" #include "speciesThermo"
inertSpecie N2; inertSpecie N2;

View File

@ -36,5 +36,6 @@ odeCoeffs
eps 0.05; eps 0.05;
} }
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -5,25 +5,8 @@
\\ / A nd | Version: dev \\ / A nd | Version: dev
\\/ M anipulation | \\/ M anipulation |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object reactions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
N2
O2
H2O
);
reactions reactions
{} {}
// ************************************************************************* // // ************************************************************************* //

View File

@ -5,15 +5,13 @@
\\ / A nd | Version: dev \\ / A nd | Version: dev
\\/ M anipulation | \\/ M anipulation |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{ species
version 2.0; (
format ascii; N2
class dictionary; O2
location "constant"; H2O
object thermo.incompressiblePoly; );
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
N2 N2
{ {

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport polynomial; transport polynomial;
thermo hPolynomial; thermo hPolynomial;
energy sensibleInternalEnergy; energy sensibleInternalEnergy;
@ -26,9 +26,6 @@ thermoType
specie specie; specie specie;
} }
#include "reactions"
#include "thermo.incompressiblePoly" #include "thermo.incompressiblePoly"
liquids liquids

View File

@ -24,5 +24,6 @@ chemistry off;
initialChemicalTimeStep 1e-07; initialChemicalTimeStep 1e-07;
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -26,9 +26,6 @@ thermoType
specie specie; specie specie;
} }
#include "reactions"
#include "speciesThermo" #include "speciesThermo"
inertSpecie N2; inertSpecie N2;

View File

@ -24,4 +24,6 @@ chemistry off;
initialChemicalTimeStep 1e-7; initialChemicalTimeStep 1e-7;
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -5,24 +5,8 @@
\\ / A nd | Version: dev \\ / A nd | Version: dev
\\/ M anipulation | \\/ M anipulation |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object reactions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
air
H2O
);
reactions reactions
{} {}
// ************************************************************************* // // ************************************************************************* //

View File

@ -5,15 +5,12 @@
\\ / A nd | Version: dev \\ / A nd | Version: dev
\\/ M anipulation | \\/ M anipulation |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile
{ species
version 2.0; (
format ascii; air
class dictionary; H2O
location "constant"; );
object thermo.incompressiblePoly;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
N2 N2
{ {

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport polynomial; transport polynomial;
thermo hPolynomial; thermo hPolynomial;
energy sensibleInternalEnergy; energy sensibleInternalEnergy;
@ -26,9 +26,6 @@ thermoType
specie specie; specie specie;
} }
#include "reactions"
#include "thermo.incompressiblePoly" #include "thermo.incompressiblePoly"
inertSpecie air; inertSpecie air;

View File

@ -24,5 +24,6 @@ chemistry off;
initialChemicalTimeStep 1e-07; initialChemicalTimeStep 1e-07;
#include "reactions"
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture reactingMixture; mixture multiComponentMixture;
transport sutherland; transport sutherland;
thermo janaf; thermo janaf;
energy sensibleEnthalpy; energy sensibleEnthalpy;
@ -26,9 +26,6 @@ thermoType
specie specie; specie specie;
} }
#include "reactions"
#include "speciesThermo" #include "speciesThermo"
inertSpecie N2; inertSpecie N2;

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