mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: initial use of ReactionTable to wrap information
This commit is contained in:
@ -75,7 +75,7 @@ Foam::TDACChemistryModel<ReactionThermo, ThermoType>::TDACChemistryModel
|
||||
// Store the species composition according to the species index
|
||||
speciesTable speciesTab = composition.species();
|
||||
|
||||
autoPtr<HashTable<List<specieElement>>> specCompPtr
|
||||
autoPtr<speciesCompositionTable> specCompPtr
|
||||
(
|
||||
dynamicCast<const reactingMixture<ThermoType>>(this->thermo())
|
||||
.specieComposition()
|
||||
|
||||
@ -85,7 +85,7 @@ class TDACChemistryModel
|
||||
:
|
||||
public StandardChemistryModel<ReactionThermo, ThermoType>
|
||||
{
|
||||
// Private member data
|
||||
// Private Member Data
|
||||
|
||||
bool variableTimeStep_;
|
||||
|
||||
|
||||
@ -285,7 +285,7 @@ bool Foam::functionObjects::BilgerMixtureFraction::read(const dictionary& dict)
|
||||
const auto* rhoChemPtr =
|
||||
mesh_.cfindObject<rhoChemistryModelType>("chemistryProperties");
|
||||
|
||||
autoPtr<HashTable<List<specieElement>>> speciesCompPtr;
|
||||
autoPtr<speciesCompositionTable> speciesCompPtr;
|
||||
|
||||
if (psiChemPtr)
|
||||
{
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -53,7 +54,6 @@ namespace Foam
|
||||
|
||||
typedef HashTable<List<specieElement>> speciesCompositionTable;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class chemistryReader Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -72,7 +72,7 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct null
|
||||
//- Default construct
|
||||
chemistryReader()
|
||||
{}
|
||||
|
||||
@ -115,7 +115,7 @@ public:
|
||||
virtual const speciesCompositionTable& specieComposition() const = 0;
|
||||
|
||||
//- Return access to the thermo packages
|
||||
virtual const HashPtrTable<ThermoType>& speciesThermo() const = 0;
|
||||
virtual const ReactionTable<ThermoType>& speciesThermo() const = 0;
|
||||
|
||||
//- Return access to the list of reactions
|
||||
virtual const ReactionList<ThermoType>& reactions() const = 0;
|
||||
@ -143,7 +143,7 @@ public:
|
||||
|
||||
#define makeChemistryReaderType(Reader, Thermo) \
|
||||
defineNamedTemplateTypeNameAndDebug(Reader<Thermo>, 0); \
|
||||
chemistryReader<Thermo>::adddictionaryConstructorToTable<Reader<Thermo>> \
|
||||
chemistryReader<Thermo>::adddictionaryConstructorToTable<Reader<Thermo>> \
|
||||
add##Reader##Thermo##ConstructorToTable_
|
||||
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "chemkinReader.H"
|
||||
#include <fstream>
|
||||
#include "IFstream.H"
|
||||
#include "atomicWeights.H"
|
||||
#include "IrreversibleReaction.H"
|
||||
#include "ReversibleReaction.H"
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -44,8 +45,6 @@ SourceFiles
|
||||
#include "chemistryReader.H"
|
||||
#include "fileName.H"
|
||||
#include "typeInfo.H"
|
||||
#include "HashPtrTable.H"
|
||||
#include "ReactionList.H"
|
||||
#include "DynamicList.H"
|
||||
#include "labelList.H"
|
||||
#include "speciesTable.H"
|
||||
@ -68,10 +67,9 @@ class chemkinReader
|
||||
public chemistryReader<gasHThermoPhysics>,
|
||||
public yyFlexLexer
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
// Public data types
|
||||
// Public Data Types
|
||||
|
||||
enum phase
|
||||
{
|
||||
@ -176,7 +174,7 @@ private:
|
||||
HashTable<phase> speciePhase_;
|
||||
|
||||
//- Table of the thermodynamic data given in the CHEMKIN file
|
||||
HashPtrTable<gasHThermoPhysics> speciesThermo_;
|
||||
ReactionTable<gasHThermoPhysics> speciesThermo_;
|
||||
|
||||
//- Table of species composition
|
||||
speciesCompositionTable speciesComposition_;
|
||||
@ -357,7 +355,7 @@ public:
|
||||
}
|
||||
|
||||
//- Table of the thermodynamic data given in the CHEMKIN file
|
||||
const HashPtrTable<gasHThermoPhysics>& speciesThermo() const
|
||||
const ReactionTable<gasHThermoPhysics>& speciesThermo() const
|
||||
{
|
||||
return speciesThermo_;
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -42,8 +43,6 @@ SourceFiles
|
||||
|
||||
#include "chemistryReader.H"
|
||||
#include "fileName.H"
|
||||
#include "typeInfo.H"
|
||||
#include "HashPtrTable.H"
|
||||
#include "labelList.H"
|
||||
#include "speciesTable.H"
|
||||
#include "atomicWeights.H"
|
||||
@ -81,7 +80,7 @@ class foamChemistryReader
|
||||
speciesCompositionTable speciesComposition_;
|
||||
|
||||
//- Table of the thermodynamic data given in the foamChemistry file
|
||||
HashPtrTable<ThermoType> speciesThermo_;
|
||||
ReactionTable<ThermoType> speciesThermo_;
|
||||
|
||||
//- List of the reactions
|
||||
ReactionList<ThermoType> reactions_;
|
||||
@ -118,8 +117,8 @@ public:
|
||||
const fileName& thermoFileName
|
||||
);
|
||||
|
||||
//- Construct by getting the foamChemistry and thermodynamics file names
|
||||
// from dictionary
|
||||
//- Construct by getting foamChemistry and thermodynamics file names
|
||||
//- from dictionary
|
||||
foamChemistryReader
|
||||
(
|
||||
const dictionary& thermoDict,
|
||||
@ -131,7 +130,7 @@ public:
|
||||
virtual ~foamChemistryReader() = default;
|
||||
|
||||
|
||||
// Member functions
|
||||
// Member Functions
|
||||
|
||||
//- List of elements
|
||||
const wordList& elementNames() const
|
||||
@ -158,7 +157,7 @@ public:
|
||||
}
|
||||
|
||||
//- Table of the thermodynamic data given in the foamChemistry file
|
||||
const HashPtrTable<ThermoType>& speciesThermo() const
|
||||
const ReactionTable<ThermoType>& speciesThermo() const
|
||||
{
|
||||
return speciesThermo_;
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2014-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2020 OpenCFD Ltd.
|
||||
Copyright (C) 2020-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -86,7 +86,7 @@ public:
|
||||
virtual ~basicSpecieMixture() = default;
|
||||
|
||||
|
||||
// Member functions
|
||||
// Member Functions
|
||||
|
||||
// Per specie properties
|
||||
|
||||
@ -210,11 +210,7 @@ public:
|
||||
//- Species composition
|
||||
virtual autoPtr<speciesCompositionTable> specieComposition() const
|
||||
{
|
||||
return
|
||||
autoPtr<speciesCompositionTable>
|
||||
(
|
||||
new speciesCompositionTable()
|
||||
);
|
||||
return autoPtr<speciesCompositionTable>::New();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -89,7 +89,7 @@ Foam::multiComponentMixture<ThermoType>::multiComponentMixture
|
||||
(
|
||||
const dictionary& thermoDict,
|
||||
const wordList& specieNames,
|
||||
const HashPtrTable<ThermoType>& thermoData,
|
||||
const ReactionTable<ThermoType>& thermoData,
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
)
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -41,7 +42,7 @@ SourceFiles
|
||||
#define multiComponentMixture_H
|
||||
|
||||
#include "basicSpecieMixture.H"
|
||||
#include "HashPtrTable.H"
|
||||
#include "Reaction.H" // For ReactionTable
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -57,7 +58,7 @@ class multiComponentMixture
|
||||
:
|
||||
public basicSpecieMixture
|
||||
{
|
||||
// Private data
|
||||
// Private Data
|
||||
|
||||
//- Species data
|
||||
PtrList<ThermoType> speciesData_;
|
||||
@ -92,12 +93,12 @@ public:
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary, specie names, thermo database,
|
||||
// mesh and phase name
|
||||
//- mesh and phase name
|
||||
multiComponentMixture
|
||||
(
|
||||
const dictionary&,
|
||||
const wordList& specieNames,
|
||||
const HashPtrTable<ThermoType>& thermoData,
|
||||
const ReactionTable<ThermoType>& thermoData,
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
);
|
||||
|
||||
@ -62,7 +62,6 @@ class rhoReactionThermo
|
||||
:
|
||||
public rhoThermo
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2017 OpenCFD Ltd
|
||||
Copyright (C) 2017-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -29,7 +29,6 @@ License
|
||||
#include "solidReaction.H"
|
||||
#include "DynamicList.H"
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class ReactionThermo>
|
||||
@ -66,7 +65,7 @@ template<class ReactionThermo>
|
||||
Foam::solidReaction<ReactionThermo>::solidReaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2019 OpenCFD Ltd.
|
||||
Copyright (C) 2019-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -48,7 +48,7 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// Forward declaration of friend functions and operators
|
||||
// Forward Declarations
|
||||
template<class ReactionThermo>
|
||||
class solidReaction;
|
||||
|
||||
@ -62,12 +62,11 @@ inline Ostream& operator<<(Ostream&, const solidReaction<ReactionThermo>&);
|
||||
template<class ReactionThermo>
|
||||
class solidReaction
|
||||
:
|
||||
public Reaction<ReactionThermo>
|
||||
public Reaction<ReactionThermo>
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Private data
|
||||
// Private Data
|
||||
|
||||
typedef typename Reaction<ReactionThermo>::specieCoeffs specieCoeffs;
|
||||
|
||||
@ -127,7 +126,7 @@ public:
|
||||
solidReaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
);
|
||||
|
||||
@ -171,7 +170,7 @@ public:
|
||||
|
||||
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
virtual void write(Ostream& os) const;
|
||||
|
||||
|
||||
// Ostream Operator
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -57,7 +58,7 @@ Foam::IrreversibleReaction<ReactionType, ReactionThermo, ReactionRate>::
|
||||
IrreversibleReaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2019 OpenCFD Ltd.
|
||||
Copyright (C) 2019-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -63,7 +63,7 @@ class IrreversibleReaction
|
||||
:
|
||||
public ReactionType<ReactionThermo>
|
||||
{
|
||||
// Private data
|
||||
// Private Data
|
||||
|
||||
ReactionRate k_;
|
||||
|
||||
@ -113,7 +113,7 @@ public:
|
||||
IrreversibleReaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
);
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -69,7 +70,7 @@ Foam::NonEquilibriumReversibleReaction
|
||||
NonEquilibriumReversibleReaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2019 OpenCFD Ltd.
|
||||
Copyright (C) 2019-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -63,7 +63,7 @@ class NonEquilibriumReversibleReaction
|
||||
:
|
||||
public ReactionType<ReactionThermo>
|
||||
{
|
||||
// Private data
|
||||
// Private Data
|
||||
|
||||
ReactionRate fk_;
|
||||
ReactionRate rk_;
|
||||
@ -109,7 +109,7 @@ public:
|
||||
NonEquilibriumReversibleReaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
);
|
||||
|
||||
@ -175,7 +175,7 @@ public:
|
||||
|
||||
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
virtual void write(Ostream& os) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2017-2021 OpenCFD Ltd
|
||||
Copyright (C) 2017-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -34,6 +34,7 @@ License
|
||||
template<class ReactionThermo>
|
||||
Foam::label Foam::Reaction<ReactionThermo>::nUnNamedReactions = 0;
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
|
||||
|
||||
template<class ReactionThermo>
|
||||
@ -111,7 +112,7 @@ Foam::string Foam::Reaction<ReactionThermo>::reactionStr
|
||||
template<class ReactionThermo>
|
||||
void Foam::Reaction<ReactionThermo>::setThermo
|
||||
(
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase
|
||||
)
|
||||
{
|
||||
|
||||
@ -158,7 +159,7 @@ Foam::Reaction<ReactionThermo>::Reaction
|
||||
const speciesTable& species,
|
||||
const List<specieCoeffs>& lhs,
|
||||
const List<specieCoeffs>& rhs,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
bool initReactionThermo
|
||||
)
|
||||
:
|
||||
@ -321,7 +322,7 @@ template<class ReactionThermo>
|
||||
Foam::Reaction<ReactionThermo>::Reaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict,
|
||||
bool initReactionThermo
|
||||
)
|
||||
@ -352,7 +353,7 @@ Foam::autoPtr<Foam::Reaction<ReactionThermo>>
|
||||
Foam::Reaction<ReactionThermo>::New
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
)
|
||||
{
|
||||
@ -425,13 +426,6 @@ Foam::scalar Foam::Reaction<ReactionThermo>::kr
|
||||
}
|
||||
|
||||
|
||||
template<class ReactionThermo>
|
||||
const Foam::speciesTable& Foam::Reaction<ReactionThermo>::species() const
|
||||
{
|
||||
return species_;
|
||||
}
|
||||
|
||||
|
||||
template<class ReactionThermo>
|
||||
const Foam::speciesTable& Foam::Reaction<ReactionThermo>::gasSpecies() const
|
||||
{
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2017 OpenCFD Ltd.
|
||||
Copyright (C) 2017-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -51,7 +51,10 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// Forward declaration of friend functions and operators
|
||||
// Forward Declarations
|
||||
|
||||
template<class ThermoType>
|
||||
using ReactionTable = HashPtrTable<ThermoType>;
|
||||
|
||||
template<class ReactionThermo>
|
||||
class Reaction;
|
||||
@ -69,29 +72,18 @@ class Reaction
|
||||
:
|
||||
public ReactionThermo::thermoType
|
||||
{
|
||||
protected:
|
||||
|
||||
// Protected member functions
|
||||
|
||||
//- Return string representation of the left of the reaction
|
||||
void reactionStrLeft(OStringStream& reaction) const;
|
||||
|
||||
//- Return string representation of the right of the reaction
|
||||
void reactionStrRight(OStringStream& reaction) const;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Static data
|
||||
// Static Data
|
||||
|
||||
//- Number of un-named reactions
|
||||
static label nUnNamedReactions;
|
||||
|
||||
|
||||
// Public data types
|
||||
// Public Classes
|
||||
|
||||
//- Class to hold the specie index and its coefficients in the
|
||||
// reaction rate expression
|
||||
//- Hold specie index and its coefficients in the
|
||||
//- reaction rate expression
|
||||
struct specieCoeffs
|
||||
{
|
||||
label index;
|
||||
@ -129,7 +121,7 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
// Private data
|
||||
// Private Data
|
||||
|
||||
//- Name of reaction
|
||||
const word name_;
|
||||
@ -150,13 +142,24 @@ private:
|
||||
string reactionStr(OStringStream& reaction) const;
|
||||
|
||||
//- Construct reaction thermo
|
||||
void setThermo(const HashPtrTable<ReactionThermo>& thermoDatabase);
|
||||
void setThermo(const ReactionTable<ReactionThermo>& thermoDatabase);
|
||||
|
||||
//- Return new reaction ID for un-named reactions
|
||||
label getNewReactionID();
|
||||
|
||||
//- No copy assignment
|
||||
void operator=(const Reaction<ReactionThermo>&) = delete;
|
||||
|
||||
//- Return new reaction ID for un-named reactions
|
||||
label getNewReactionID();
|
||||
|
||||
protected:
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
//- Return string representation of the left of the reaction
|
||||
void reactionStrLeft(OStringStream& reaction) const;
|
||||
|
||||
//- Return string representation of the right of the reaction
|
||||
void reactionStrRight(OStringStream& reaction) const;
|
||||
|
||||
|
||||
public:
|
||||
@ -174,7 +177,7 @@ public:
|
||||
dictionary,
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
),
|
||||
(species, thermoDatabase, dict)
|
||||
@ -189,7 +192,7 @@ public:
|
||||
const speciesTable& species,
|
||||
const List<specieCoeffs>& lhs,
|
||||
const List<specieCoeffs>& rhs,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
bool initReactionThermo = true
|
||||
);
|
||||
|
||||
@ -207,13 +210,13 @@ public:
|
||||
Reaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict,
|
||||
bool initReactionThermo = true
|
||||
);
|
||||
|
||||
//- Construct and return a clone
|
||||
virtual autoPtr<Reaction<ReactionThermo>> clone() const //
|
||||
virtual autoPtr<Reaction<ReactionThermo>> clone() const
|
||||
{
|
||||
return autoPtr<Reaction<ReactionThermo>>::New(*this);
|
||||
}
|
||||
@ -234,7 +237,7 @@ public:
|
||||
static autoPtr<Reaction<ReactionThermo>> New
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
);
|
||||
|
||||
@ -245,23 +248,29 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
// Access
|
||||
// Access
|
||||
|
||||
inline const word& name() const;
|
||||
//- Name of reaction
|
||||
const word& name() const noexcept { return name_; }
|
||||
|
||||
// - Access to basic components of the reaction
|
||||
inline const List<specieCoeffs>& lhs() const;
|
||||
inline const List<specieCoeffs>& rhs() const;
|
||||
//- Access to specie list
|
||||
const speciesTable& species() const noexcept { return species_; }
|
||||
|
||||
// - Access to gas components of the reaction
|
||||
virtual const List<specieCoeffs>& grhs() const;
|
||||
virtual const List<specieCoeffs>& glhs() const;
|
||||
//- Specie info for the left-hand-side of the reaction
|
||||
const List<specieCoeffs>& lhs() const noexcept { return lhs_; }
|
||||
|
||||
//- Access to specie list
|
||||
const speciesTable& species() const;
|
||||
//- Specie info for the right-hand-side of the reaction
|
||||
const List<specieCoeffs>& rhs() const noexcept { return rhs_; }
|
||||
|
||||
//- Access to gas specie list
|
||||
virtual const speciesTable& gasSpecies() const;
|
||||
//- Access to gas specie list
|
||||
virtual const speciesTable& gasSpecies() const;
|
||||
|
||||
//- Access to gas components of the reaction
|
||||
virtual const List<specieCoeffs>& grhs() const;
|
||||
virtual const List<specieCoeffs>& glhs() const;
|
||||
|
||||
|
||||
// Manipulation
|
||||
|
||||
//- Construct the left- and right-hand-side reaction coefficients
|
||||
void setLRhs
|
||||
@ -304,7 +313,7 @@ public:
|
||||
|
||||
|
||||
//- Write
|
||||
virtual void write(Ostream&) const;
|
||||
virtual void write(Ostream& os) const;
|
||||
|
||||
|
||||
// Ostream Operator
|
||||
|
||||
@ -27,48 +27,15 @@ License
|
||||
|
||||
#include "Reaction.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class ReactionThermo>
|
||||
inline const word& Reaction<ReactionThermo>::name() const
|
||||
{
|
||||
return name_;
|
||||
}
|
||||
|
||||
|
||||
template<class ReactionThermo>
|
||||
inline const List<typename Reaction<ReactionThermo>::specieCoeffs>&
|
||||
Reaction<ReactionThermo>::lhs() const
|
||||
{
|
||||
return lhs_;
|
||||
}
|
||||
|
||||
|
||||
template<class ReactionThermo>
|
||||
inline const List<typename Reaction<ReactionThermo>::specieCoeffs>&
|
||||
Reaction<ReactionThermo>::rhs() const
|
||||
{
|
||||
return rhs_;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * //
|
||||
|
||||
template<class ReactionThermo>
|
||||
inline Ostream& operator<<(Ostream& os, const Reaction<ReactionThermo>& r)
|
||||
inline Foam::Ostream&
|
||||
Foam::operator<<(Ostream& os, const Reaction<ReactionThermo>& r)
|
||||
{
|
||||
r.write(os);
|
||||
return os;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -27,8 +27,6 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "ReactionList.H"
|
||||
#include "IFstream.H"
|
||||
#include "SLPtrList.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
@ -36,7 +34,7 @@ template<class ThermoType>
|
||||
Foam::ReactionList<ThermoType>::ReactionList
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ThermoType>& thermoDb
|
||||
const ReactionTable<ThermoType>& thermoDb
|
||||
)
|
||||
:
|
||||
SLPtrList<Reaction<ThermoType>>(),
|
||||
@ -50,7 +48,7 @@ template<class ThermoType>
|
||||
Foam::ReactionList<ThermoType>::ReactionList
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ThermoType>& thermoDb,
|
||||
const ReactionTable<ThermoType>& thermoDb,
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2019 OpenCFD Ltd.
|
||||
Copyright (C) 2019-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -41,9 +41,8 @@ SourceFiles
|
||||
#include "PtrList.H"
|
||||
#include "SLPtrList.H"
|
||||
#include "speciesTable.H"
|
||||
#include "HashPtrTable.H"
|
||||
#include "Reaction.H"
|
||||
#include "fileName.H"
|
||||
#include "Reaction.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -59,13 +58,13 @@ class ReactionList
|
||||
:
|
||||
public SLPtrList<Reaction<ThermoType>>
|
||||
{
|
||||
// Private data
|
||||
// Private Data
|
||||
|
||||
//- Reference to the table of species
|
||||
const speciesTable& species_;
|
||||
|
||||
//- Reference to the thermo database
|
||||
const HashPtrTable<ThermoType>& thermoDb_;
|
||||
const ReactionTable<ThermoType>& thermoDb_;
|
||||
|
||||
//- The dictionary used for construction
|
||||
const dictionary dict_;
|
||||
@ -81,18 +80,18 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Default construct
|
||||
//- Construct empty list
|
||||
ReactionList
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ThermoType>& thermoDatabase
|
||||
const ReactionTable<ThermoType>& thermoDatabase
|
||||
);
|
||||
|
||||
//- Construct from dictionary
|
||||
ReactionList
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ThermoType>& thermoDatabase,
|
||||
const ReactionTable<ThermoType>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
);
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -57,7 +58,7 @@ Foam::ReversibleReaction<ReactionType, ReactionThermo, ReactionRate>::
|
||||
ReversibleReaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2019 OpenCFD Ltd.
|
||||
Copyright (C) 2019-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -63,7 +63,7 @@ class ReversibleReaction
|
||||
:
|
||||
public ReactionType<ReactionThermo>
|
||||
{
|
||||
// Private data
|
||||
// Private Data
|
||||
|
||||
ReactionRate k_;
|
||||
|
||||
@ -113,7 +113,7 @@ public:
|
||||
ReversibleReaction
|
||||
(
|
||||
const speciesTable& species,
|
||||
const HashPtrTable<ReactionThermo>& thermoDatabase,
|
||||
const ReactionTable<ReactionThermo>& thermoDatabase,
|
||||
const dictionary& dict
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user