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) 2017-2021 OpenCFD Ltd.
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 "thermoPhysicsTypes.H"
33 
34 #include "rhoConst.H"
35 #include "perfectFluid.H"
36 #include "Boussinesq.H"
37 
38 #include "pureMixture.H"
39 #include "multiComponentMixture.H"
40 #include "reactingMixture.H"
41 #include "SpecieMixture.H"
42 
43 #include "rhoThermo.H"
44 #include "rhoReactionThermo.H"
45 #include "heRhoThermo.H"
46 
47 #include "solidThermo.H"
48 #include "heSolidThermo.H"
50 
51 #include "kineticGasEvaporation.H"
52 #include "Lee.H"
53 #include "interfaceHeatResistance.H"
54 #include "interfaceOxideRate.H"
55 
56 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57 
58 namespace Foam
59 {
60  typedef
61  constTransport
62  <
64  <
65  hConstThermo
66  <
67  rhoConst<specie>
68  >,
69  sensibleEnthalpy
70  >
72 
73 
74  typedef
76  <
78  <
80  <
82  >,
84  >
86 };
87 
88 
89 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
90 
91 namespace Foam
92 {
93  using namespace meltingEvaporationModels;
94 
95  //NOTE: First thermo (from) and second otherThermo (to)
96 
97  // kineticGasEvaporation model definitions
98 
99  // From pure liquid (rhoConst) to a multi-component gas incomp phase
101  (
102  kineticGasEvaporation,
103  heRhoThermo,
104  rhoThermo,
105  pureMixture,
107  heRhoThermo,
108  rhoReactionThermo,
109  multiComponentMixture,
111  );
112 
113  // From pure liquid (BoussinesqFluid) to a multi-component gas incomp
114  // phase
116  (
117  kineticGasEvaporation,
118  heRhoThermo,
119  rhoThermo,
120  pureMixture,
122  heRhoThermo,
123  rhoReactionThermo,
124  multiComponentMixture,
126  );
127 
128 
129  // From pure liquid (rhoConst) to pure gas (incompressible ideal gas)
131  (
132  kineticGasEvaporation,
133  heRhoThermo,
134  rhoThermo,
135  pureMixture,
137  heRhoThermo,
138  rhoThermo,
139  pureMixture,
141  );
142 
143  // From pure liquid (const rho) to pure gas (rhoConst) gas
145  (
146  kineticGasEvaporation,
147  heRhoThermo,
148  rhoThermo,
149  pureMixture,
151  heRhoThermo,
152  rhoThermo,
153  pureMixture,
155  );
156 
157 
158  // From pure liquid (Boussinesq) to pure gas (incompressible ideal gas)
160  (
161  kineticGasEvaporation,
162  heRhoThermo,
163  rhoThermo,
164  pureMixture,
166  heRhoThermo,
167  rhoThermo,
168  pureMixture,
170  );
171 
172  // From pure liquid (Boussinesq) to pure gas (rho const)
174  (
175  kineticGasEvaporation,
176  heRhoThermo,
177  rhoThermo,
178  pureMixture,
180  heRhoThermo,
181  rhoThermo,
182  pureMixture,
184  );
185 
186 
187  // Lee model definitions
188 
189  // From pure phase (rho const) to phase (rho const)
191  (
192  Lee,
193  heRhoThermo,
194  rhoThermo,
195  pureMixture,
197  heRhoThermo,
198  rhoThermo,
199  pureMixture,
201  );
202 
203  // From pure phase (rho const) to phase (Boussinesq)
205  (
206  Lee,
207  heRhoThermo,
208  rhoThermo,
209  pureMixture,
211  heRhoThermo,
212  rhoThermo,
213  pureMixture,
215  );
216 
217 
218  // From pure solid phase (const) to phase (Boussinesq)
220  (
221  Lee,
222  heSolidThermo,
223  solidThermo,
224  pureMixture,
226  heRhoThermo,
227  rhoThermo,
228  pureMixture,
230  );
231 
232  // From pure solid phase (const) to phase (rho const)
234  (
235  Lee,
236  heSolidThermo,
237  solidThermo,
238  pureMixture,
240  heRhoThermo,
241  rhoThermo,
242  pureMixture,
244  );
245 
246  // From pure solid phase (const) to phase (tabulated)
248  (
249  Lee,
250  heSolidThermo,
251  solidThermo,
252  pureMixture,
254  heRhoThermo,
255  rhoThermo,
256  pureMixture,
258  );
259 
260  // From pure solid phase (const) to phase (poly)
262  (
263  Lee,
264  heSolidThermo,
265  solidThermo,
266  pureMixture,
268  heRhoThermo,
269  rhoThermo,
270  pureMixture,
272  );
273 
274  // From pure solid phase (poly) to flow phase (poly)
276  (
277  Lee,
278  heSolidThermo,
279  solidThermo,
280  pureMixture,
282  heRhoThermo,
283  rhoThermo,
284  pureMixture,
286  );
287 
288  // From pure solid phase (poly) to flow phase (tabulated)
290  (
291  Lee,
292  heSolidThermo,
293  solidThermo,
294  pureMixture,
296  heRhoThermo,
297  rhoThermo,
298  pureMixture,
300  );
301 
302  // From pure phase (exp-Transp, hPower solidThermo) to phase (ico-rho)
304  (
305  Lee,
306  heSolidThermo,
307  solidThermo,
308  pureMixture,
310  heRhoThermo,
311  rhoThermo,
312  pureMixture,
314  );
315 
316 
317  // From pure phase (const rho) to multi phase (incomp ideal gas)
319  (
320  Lee,
321  heRhoThermo,
322  rhoThermo,
323  pureMixture,
325  heRhoThermo,
326  rhoReactionThermo,
327  multiComponentMixture,
329  );
330 
331 
332  // From pure phase (Boussinesq) to phase (solidThermo)
334  (
335  Lee,
336  heRhoThermo,
337  rhoThermo,
338  pureMixture,
340  heSolidThermo,
341  solidThermo,
342  pureMixture,
344  );
345 
346  // From pure phase (rho const) to phase (solidThermo)
348  (
349  Lee,
350  heRhoThermo,
351  rhoThermo,
352  pureMixture,
354  heSolidThermo,
355  solidThermo,
356  pureMixture,
358  );
359 
360  //From pure phase (poly) to solid phase (exp)
362  (
363  Lee,
364  heRhoThermo,
365  rhoThermo,
366  pureMixture,
368  heSolidThermo,
369  solidThermo,
370  pureMixture,
372  );
373 
374  //From pure phase (poly) to solid phase (poly)
376  (
377  Lee,
378  heRhoThermo,
379  rhoThermo,
380  pureMixture,
382  heSolidThermo,
383  solidThermo,
384  pureMixture,
386  );
387 
388  //From pure phase (poly) to solid phase (const)
390  (
391  Lee,
392  heRhoThermo,
393  rhoThermo,
394  pureMixture,
396  heSolidThermo,
397  solidThermo,
398  pureMixture,
400  );
401 
402  //From pure phase (tabulated) to solid phase (poly)
404  (
405  Lee,
406  heRhoThermo,
407  rhoThermo,
408  pureMixture,
410  heSolidThermo,
411  solidThermo,
412  pureMixture,
414  );
415 
416  //From pure phase (tabulated) to solid phase (const)
418  (
419  Lee,
420  heRhoThermo,
421  rhoThermo,
422  pureMixture,
424  heSolidThermo,
425  solidThermo,
426  pureMixture,
428  );
429 
430 
431 
432  // interfaceHeatResistance model definitions
433 
434  // From pure phase (rho const) to phase (rho const)
436  (
438  heRhoThermo,
439  rhoThermo,
440  pureMixture,
442  heRhoThermo,
443  rhoThermo,
444  pureMixture,
446  );
447 
448  // From pure phase (rho const) to phase (Boussinesq)
450  (
452  heRhoThermo,
453  rhoThermo,
454  pureMixture,
456  heRhoThermo,
457  rhoThermo,
458  pureMixture,
460  );
461 
462 
463  // From pure phase (solidThermo) to phase (Boussinesq)
465  (
467  heSolidThermo,
468  solidThermo,
469  pureMixture,
471  heRhoThermo,
472  rhoThermo,
473  pureMixture,
475  );
476 
477  // From pure phase (solidThermo) to phase (rho const)
479  (
481  heSolidThermo,
482  solidThermo,
483  pureMixture,
485  heRhoThermo,
486  rhoThermo,
487  pureMixture,
489  );
490 
491  // From pure phase (all-poly solidThermo) to phase (ico-rho)
493  (
495  heSolidThermo,
496  solidThermo,
497  pureMixture,
499  heRhoThermo,
500  rhoThermo,
501  pureMixture,
503  );
504 
505  // From pure phase (exp-Transp, hPower solidThermo) to phase (ico-rho)
507  (
509  heSolidThermo,
510  solidThermo,
511  pureMixture,
513  heRhoThermo,
514  rhoThermo,
515  pureMixture,
517  );
518 
519 
520  // From pure phase (const rho) to multi phase (incomp ideal gas)
522  (
524  heRhoThermo,
525  rhoThermo,
526  pureMixture,
528  heRhoThermo,
529  rhoReactionThermo,
530  multiComponentMixture,
532  );
533 
534 
535  // From pure phase (Boussinesq) to phase (solidThermo)
537  (
539  heRhoThermo,
540  rhoThermo,
541  pureMixture,
543  heSolidThermo,
544  solidThermo,
545  pureMixture,
547  );
548 
549  // From pure phase (rho const) to phase (solidThermo)
551  (
553  heRhoThermo,
554  rhoThermo,
555  pureMixture,
557  heSolidThermo,
558  solidThermo,
559  pureMixture,
561  );
562 
563  //From pure liquid phase (ico-rho) to pure phase (exp-Transp, hPower solidThermo)
565  (
567  heRhoThermo,
568  rhoThermo,
569  pureMixture,
571  heSolidThermo,
572  solidThermo,
573  pureMixture,
575  );
576 
577 
578  // interfaceOxideRate model definitions
579 
580  // From pure phase (tabulated) to solid phase (const)
582  (
583  interfaceOxideRate,
584  heRhoThermo,
585  rhoThermo,
586  pureMixture,
588  heSolidThermo,
589  solidThermo,
590  pureMixture,
592  );
593 
594  // From pure phase (rho const) to phase (rho const)
596  (
597  interfaceOxideRate,
598  heRhoThermo,
599  rhoThermo,
600  pureMixture,
602  heRhoThermo,
603  rhoThermo,
604  pureMixture,
606  );
607 
608  // From pure phase (ico) to solid phase (const)
610  (
611  interfaceOxideRate,
612  heRhoThermo,
613  rhoThermo,
614  pureMixture,
616  heSolidThermo,
617  solidThermo,
618  pureMixture,
620  );
621 
622  // From pure phase (tabulated) to phase (rho const)
624  (
625  interfaceOxideRate,
626  heRhoThermo,
627  rhoThermo,
628  pureMixture,
630  heRhoThermo,
631  rhoThermo,
632  pureMixture,
634  );
635 
636  // From pure phase (ico) to phase (rho const)
638  (
639  interfaceOxideRate,
640  heRhoThermo,
641  rhoThermo,
642  pureMixture,
644  heRhoThermo,
645  rhoThermo,
646  pureMixture,
648  );
649 }
650 
651 
652 // ************************************************************************* //
Foam::hPowerSolidThermoPhysics
exponentialSolidTransport< species::thermo< hPowerThermo< rhoConst< specie > >, sensibleEnthalpy > > hPowerSolidThermoPhysics
Definition: solidThermoPhysicsTypes.H:80
Foam::tabulatedThermoPhysics
tabulatedTransport< species::thermo< hTabulatedThermo< icoTabulated< specie > >, sensibleEnthalpy > > tabulatedThermoPhysics
Definition: thermoPhysicsTypes.H:217
reactingMixture.H
thermo
psiReactionThermo & thermo
Definition: createFields.H:28
interfaceOxideRate.H
rhoConst.H
Foam::makeInterfacePureType
makeInterfacePureType(kineticGasEvaporation, heRhoThermo, rhoThermo, pureMixture, constRhoHThermoPhysics, heRhoThermo, rhoThermo, pureMixture, constIncompressibleGasHThermoPhysics)
perfectFluid.H
Foam::sensibleEnthalpy
Thermodynamics mapping class to expose the sensible enthalpy functions.
Definition: sensibleEnthalpy.H:49
Foam::constIncompressibleGasHThermoPhysics
constTransport< species::thermo< hConstThermo< incompressiblePerfectGas< specie > >, sensibleEnthalpy > > constIncompressibleGasHThermoPhysics
Definition: thermoPhysicsTypes.H:105
solidThermo.H
rhoThermo.H
heRhoThermo.H
rhoReactionThermo.H
interfaceHeatResistance
Interface Heat Resistance type of condensation/saturation model using spread source distribution foll...
Lee.H
Foam::Boussinesq
Incompressible gas equation of state using the Boussinesq approximation for the density as a function...
Definition: Boussinesq.H:57
solidThermoPhysicsTypes.H
Type definitions for solid-thermo-physics models.
Foam::constTransport
Constant properties Transport package. Templated into a given thermodynamics package (needed for ther...
Definition: constTransport.H:53
addToRunTimeSelectionTable.H
Macros for easy insertion into run-time selection tables.
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::species::thermo
Definition: thermo.H:55
heSolidThermo.H
Foam::makeInterfaceContSpecieMixtureType
makeInterfaceContSpecieMixtureType(kineticGasEvaporation, heRhoThermo, rhoThermo, pureMixture, constRhoHThermoPhysics, heRhoThermo, rhoReactionThermo, multiComponentMixture, constIncompressibleGasHThermoPhysics)
Foam::hPolyTranspPolyIcoSolidThermoPhysics
polynomialSolidTransport< species::thermo< hPolynomialThermo< icoPolynomial< specie, 8 >, 8 >, sensibleEnthalpy >, 8 > hPolyTranspPolyIcoSolidThermoPhysics
Definition: solidThermoPhysicsTypes.H:123
Foam::BoussinesqFluidEThermoPhysics
constTransport< species::thermo< hConstThermo< Boussinesq< specie > >, sensibleEnthalpy > > BoussinesqFluidEThermoPhysics
Definition: InterfaceCompositionModels.C:85
Foam::hConstSolidThermoPhysics
constIsoSolidTransport< species::thermo< hConstThermo< rhoConst< specie > >, sensibleEnthalpy > > hConstSolidThermoPhysics
Definition: solidThermoPhysicsTypes.H:67
kineticGasEvaporation.H
thermoPhysicsTypes.H
Type definitions for thermo-physics models.
SpecieMixture.H
Boussinesq.H
multiComponentMixture.H
Foam::constRhoHThermoPhysics
constTransport< species::thermo< hConstThermo< rhoConst< specie > >, sensibleEnthalpy > > constRhoHThermoPhysics
Definition: InterfaceCompositionModels.C:71
Foam::hConstThermo
Constant properties thermodynamics package templated into the EquationOfState.
Definition: hConstThermo.H:52
pureMixture.H
Foam::icoPoly8HThermoPhysics
polynomialTransport< species::thermo< hPolynomialThermo< icoPolynomial< specie, 8 >, 8 >, sensibleEnthalpy >, 8 > icoPoly8HThermoPhysics
Definition: thermoPhysicsTypes.H:133