psiReactionThermo.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2015 OpenFOAM Foundation
9  Copyright (C) 2017-2020 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::psiReactionThermo
29 
30 Group
31  grpPsiThermo
32 
33 Description
34  Foam::psiReactionThermo
35 
36 SourceFiles
37  psiReactionThermo.C
38 
39 \*---------------------------------------------------------------------------*/
40 
41 #ifndef psiReactionThermo_H
42 #define psiReactionThermo_H
43 
44 #include "psiThermo.H"
45 #include "basicSpecieMixture.H"
46 #include "autoPtr.H"
47 #include "runTimeSelectionTables.H"
48 #include "specieElement.H"
49 
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 
52 namespace Foam
53 {
54 
55 typedef HashTable<List<specieElement>> speciesCompositionTable;
56 
57 /*---------------------------------------------------------------------------*\
58  Class psiReactionThermo Declaration
59 \*---------------------------------------------------------------------------*/
60 
62 :
63  public psiThermo
64 {
65 
66 public:
67 
68  //- Runtime type information
69  TypeName("psiReactionThermo");
70 
71 
72  //- Declare run-time constructor selection tables
74  (
75  autoPtr,
77  fvMesh,
78  (const fvMesh& mesh, const word& phaseName),
79  (mesh, phaseName)
80  );
81 
82 
83  //- Declare run-time constructor selection table for dictionary based
85  (
86  autoPtr,
88  fvMeshDictPhase,
89  (const fvMesh& mesh, const word& phaseName, const word& dictName),
90  (mesh, phaseName, dictName)
91  );
92 
93 
94  // Constructors
95 
96  //- Construct from mesh and phase name
98  (
99  const fvMesh&,
100  const word& phaseName
101  );
102 
103 
104  //- Construct from mesh,dictionary,phase name with a single temperature
106  (
107  const fvMesh&,
108  const word& phaseName,
109  const word& dictName
110  );
111 
112 
113  // Selectors
114 
115  //- Standard selection based on fvMesh
117  (
118  const fvMesh&,
119  const word& phaseName=word::null
120  );
121 
122 
123  //- Selector based on mesh, phase name and dictionary
125  (
126  const fvMesh&,
127  const word& phaseName,
128  const word& dictName
129  );
130 
131 
132  //- Destructor
133  virtual ~psiReactionThermo();
134 
135 
136  // Member functions
137 
138  //- Return the composition of the multi-component mixture
139  virtual basicSpecieMixture& composition() = 0;
140 
141  //- Return the composition of the multi-component mixture
142  virtual const basicSpecieMixture& composition() const = 0;
143 
144  //- Table of species composition
146  {
147  return
149  (
151  );
152  }
153 };
154 
155 
156 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
157 
158 } // End namespace Foam
159 
160 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
161 
162 #endif
163 
164 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::basicSpecieMixture
Specialization of basicMultiComponentMixture for a mixture consisting of a number for molecular speci...
Definition: basicSpecieMixture.H:58
Foam::speciesCompositionTable
HashTable< List< specieElement > > speciesCompositionTable
Definition: chemistryReader.H:54
Foam::psiReactionThermo::~psiReactionThermo
virtual ~psiReactionThermo()
Destructor.
Definition: psiReactionThermo.C:89
Foam::psiReactionThermo
Foam::psiReactionThermo.
Definition: psiReactionThermo.H:60
specieElement.H
Foam::psiThermo
Basic thermodynamic properties based on compressibility.
Definition: psiThermo.H:55
Foam::psiReactionThermo::psiReactionThermo
psiReactionThermo(const fvMesh &, const word &phaseName)
Construct from mesh and phase name.
Definition: psiReactionThermo.C:44
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:6
Foam::psiReactionThermo::specieComposition
autoPtr< speciesCompositionTable > specieComposition() const
Table of species composition.
Definition: psiReactionThermo.H:144
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:85
Foam::psiReactionThermo::composition
virtual basicSpecieMixture & composition()=0
Return the composition of the multi-component mixture.
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::psiReactionThermo::TypeName
TypeName("psiReactionThermo")
Runtime type information.
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
psiThermo.H
Foam::psiReactionThermo::New
static autoPtr< psiReactionThermo > New(const fvMesh &, const word &phaseName=word::null)
Standard selection based on fvMesh.
Definition: psiReactionThermo.C:67
runTimeSelectionTables.H
Macros to ease declaration of run-time selection tables.
Foam::word::null
static const word null
An empty word.
Definition: word.H:80
Foam::psiReactionThermo::declareRunTimeSelectionTable
declareRunTimeSelectionTable(autoPtr, psiReactionThermo, fvMesh,(const fvMesh &mesh, const word &phaseName),(mesh, phaseName))
Declare run-time constructor selection tables.
basicSpecieMixture.H
autoPtr.H
Foam::dictionary::dictName
word dictName() const
The local dictionary name (final part of scoped name)
Definition: dictionaryI.H:60