InterfaceCompositionModels.C
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) 2015-2018 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
29 
30 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
31 
32 #include "interfaceCompositionModel.H"
34 #include "Henry.H"
35 #include "NonRandomTwoLiquid.H"
36 #include "Raoult.H"
37 #include "Saturated.H"
38 
39 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
40 
41 #include "makeReactionThermo.H"
42 
43 #include "thermoPhysicsTypes.H"
44 
45 #include "rhoConst.H"
46 #include "perfectFluid.H"
47 
48 #include "pureMixture.H"
49 #include "multiComponentMixture.H"
50 #include "reactingMixture.H"
51 #include "SpecieMixture.H"
52 
53 #include "rhoThermo.H"
54 #include "rhoReactionThermo.H"
55 #include "heRhoThermo.H"
56 
57 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
58 
59 #define makeSpecieInterfaceCompositionModel(Model, Thermo1, Thermo2) \
60  \
61  /* Composition at an interface with a multi-component mixture */ \
62  makeSpecieInterfaceCompositionType \
63  ( \
64  Model, \
65  heRhoThermo, rhoReactionThermo, \
66  multiComponentMixture, Thermo1, \
67  heRhoThermo, rhoReactionThermo, \
68  multiComponentMixture, Thermo2 \
69  ); \
70  makeSpecieInterfaceCompositionType \
71  ( \
72  Model, \
73  heRhoThermo, rhoReactionThermo, \
74  reactingMixture, Thermo1, \
75  heRhoThermo, rhoReactionThermo, \
76  multiComponentMixture, Thermo2 \
77  ); \
78  \
79  /* Composition at an interface with a reacting mixture */ \
80  makeSpecieInterfaceCompositionType \
81  ( \
82  Model, \
83  heRhoThermo, rhoReactionThermo, \
84  multiComponentMixture, Thermo1, \
85  heRhoThermo, rhoReactionThermo, \
86  reactingMixture, Thermo2 \
87  ); \
88  makeSpecieInterfaceCompositionType \
89  ( \
90  Model, \
91  heRhoThermo, rhoReactionThermo, \
92  reactingMixture, Thermo1, \
93  heRhoThermo, rhoReactionThermo, \
94  reactingMixture, Thermo2 \
95  );
96 
97 #define makeInterfaceCompositionModel(Model, Thermo1, Thermo2) \
98  \
99  /* Composition at an interface with a pure mixture */ \
100  makeInterfaceCompositionType \
101  ( \
102  Model, \
103  heRhoThermo, rhoReactionThermo, \
104  multiComponentMixture, Thermo1, \
105  heRhoThermo, rhoThermo, \
106  pureMixture, Thermo2 \
107  ); \
108  makeInterfaceCompositionType \
109  ( \
110  Model, \
111  heRhoThermo, rhoReactionThermo, \
112  reactingMixture, Thermo1, \
113  heRhoThermo, rhoThermo, \
114  pureMixture, Thermo2 \
115  ); \
116  \
117  /* Composition at an interface with non-pure mixtures */ \
118  makeSpecieInterfaceCompositionModel(Model, Thermo1, Thermo2)
119 
120 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121 
122 namespace Foam
123 {
124  using namespace interfaceCompositionModels;
125 
126  // Gas-side models
128  (
129  Saturated,
132  );
134  (
135  Saturated,
138  );
140  (
141  Saturated,
144  );
146  (
147  Saturated,
150  );
152  (
153  Saturated,
156  );
157 
159  (
163  );
165  (
169  );
171  (
175  );
177  (
181  );
183  (
187  );
188 
189  // Liquid-side models
191  (
192  Henry,
195  );
197  (
198  Henry,
201  );
203  (
204  Henry,
207  );
209  (
210  Henry,
213  );
215  (
216  Henry,
219  );
220 
222  (
223  Raoult,
226  );
228  (
229  Raoult,
232  );
234  (
235  Raoult,
238  );
240  (
241  Raoult,
244  );
246  (
247  Raoult,
250  );
251 }
252 
253 // ************************************************************************* //
makeReactionThermo.H
reactingMixture.H
rhoConst.H
Henry.H
perfectFluid.H
Foam::interfaceCompositionModels::Saturated
Model which uses a saturation pressure model for a single species to calculate the interface composit...
Definition: Saturated.H:58
Foam::interfaceCompositionModels::NonRandomTwoLiquid
Non ideal law for the mixing of two species. A separate composition model is given for each species....
Definition: NonRandomTwoLiquid.H:62
makeInterfaceCompositionModel
#define makeInterfaceCompositionModel(Model, Thermo1, Thermo2)
Definition: InterfaceCompositionModels.C:97
makeSpecieInterfaceCompositionModel
#define makeSpecieInterfaceCompositionModel(Model, Thermo1, Thermo2)
Definition: InterfaceCompositionModels.C:59
rhoThermo.H
heRhoThermo.H
rhoReactionThermo.H
Foam::sutherlandTransport
Transport package using Sutherland's formula.
Definition: sutherlandTransport.H:59
Raoult.H
Foam::constTransport
Constant properties Transport package. Templated into a given thermodynamics package (needed for ther...
Definition: constTransport.H:53
Foam::interfaceCompositionModels::Raoult
Raoult's law of ideal mixing. A separate composition model is given for each species....
Definition: Raoult.H:58
addToRunTimeSelectionTable.H
Macros for easy insertion into run-time selection tables.
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
InterfaceCompositionModel.H
Saturated.H
thermoPhysicsTypes.H
Type definitions for thermo-physics models.
SpecieMixture.H
multiComponentMixture.H
NonRandomTwoLiquid.H
Foam::interfaceCompositionModels::Henry
Henry's law for gas solubility in liquid. The concentration of a dissolved species in the liquid is p...
Definition: Henry.H:61
pureMixture.H
Foam::constEThermoPhysics
constTransport< species::thermo< eConstThermo< rhoConst< specie > >, sensibleInternalEnergy > > constEThermoPhysics
Definition: thermoPhysicsTypes.H:338