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-2023 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"
56 
57 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
58 
59 namespace Foam
60 {
61  typedef
62  constTransport
63  <
65  <
67  <
69  >,
71  >
73 
74 
75  typedef
77  <
79  <
81  <
83  >,
85  >
87 };
88 
89 
90 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
91 
92 namespace Foam
93 {
94  using namespace meltingEvaporationModels;
95 
96  //NOTE: First thermo (from) and second otherThermo (to)
97 
98  // kineticGasEvaporation model definitions
99 
100  // From pure liquid (rhoConst) to a multi-component gas incomp phase
102  (
103  kineticGasEvaporation,
104  heRhoThermo,
105  rhoThermo,
106  pureMixture,
108  heRhoThermo,
109  rhoReactionThermo,
110  multiComponentMixture,
112  );
113 
114  // From pure liquid (BoussinesqFluid) to a multi-component gas incomp
115  // phase
117  (
118  kineticGasEvaporation,
119  heRhoThermo,
120  rhoThermo,
121  pureMixture,
123  heRhoThermo,
124  rhoReactionThermo,
125  multiComponentMixture,
127  );
128 
129 
130  // From pure liquid (rhoConst) to pure gas (incompressible ideal gas)
132  (
133  kineticGasEvaporation,
134  heRhoThermo,
135  rhoThermo,
136  pureMixture,
138  heRhoThermo,
139  rhoThermo,
140  pureMixture,
142  );
143 
144  // From pure liquid (const rho) to pure gas (rhoConst) gas
146  (
147  kineticGasEvaporation,
148  heRhoThermo,
149  rhoThermo,
150  pureMixture,
152  heRhoThermo,
153  rhoThermo,
154  pureMixture,
156  );
157 
158 
159  // From pure liquid (Boussinesq) to pure gas (incompressible ideal gas)
161  (
162  kineticGasEvaporation,
163  heRhoThermo,
164  rhoThermo,
165  pureMixture,
167  heRhoThermo,
168  rhoThermo,
169  pureMixture,
171  );
172 
173  // From pure liquid (Boussinesq) to pure gas (rho const)
175  (
176  kineticGasEvaporation,
177  heRhoThermo,
178  rhoThermo,
179  pureMixture,
181  heRhoThermo,
182  rhoThermo,
183  pureMixture,
185  );
186 
187 
188  // Lee model definitions
189 
190  // From pure phase (rho const) to phase (rho const)
192  (
193  Lee,
194  heRhoThermo,
195  rhoThermo,
196  pureMixture,
198  heRhoThermo,
199  rhoThermo,
200  pureMixture,
202  );
203 
204  // From pure phase (rho const) to phase (Boussinesq)
206  (
207  Lee,
208  heRhoThermo,
209  rhoThermo,
210  pureMixture,
212  heRhoThermo,
213  rhoThermo,
214  pureMixture,
216  );
217 
218 
219  // From pure solid phase (const) to phase (Boussinesq)
221  (
222  Lee,
223  heSolidThermo,
224  solidThermo,
225  pureMixture,
227  heRhoThermo,
228  rhoThermo,
229  pureMixture,
231  );
232 
233  // From pure solid phase (const) to phase (rho const)
235  (
236  Lee,
237  heSolidThermo,
238  solidThermo,
239  pureMixture,
241  heRhoThermo,
242  rhoThermo,
243  pureMixture,
245  );
246 
247  // From pure solid phase (const) to phase (tabulated)
249  (
250  Lee,
251  heSolidThermo,
252  solidThermo,
253  pureMixture,
255  heRhoThermo,
256  rhoThermo,
257  pureMixture,
259  );
260 
261  // From pure solid phase (const) to phase (poly)
263  (
264  Lee,
265  heSolidThermo,
266  solidThermo,
267  pureMixture,
269  heRhoThermo,
270  rhoThermo,
271  pureMixture,
273  );
274 
275  // From pure solid phase (poly) to flow phase (poly)
277  (
278  Lee,
279  heSolidThermo,
280  solidThermo,
281  pureMixture,
283  heRhoThermo,
284  rhoThermo,
285  pureMixture,
287  );
288 
289  // From pure solid phase (poly) to flow phase (tabulated)
291  (
292  Lee,
293  heSolidThermo,
294  solidThermo,
295  pureMixture,
297  heRhoThermo,
298  rhoThermo,
299  pureMixture,
301  );
302 
303  // From pure solid tabulated to pure tabulated flow
305  (
306  Lee,
307  heSolidThermo,
308  solidThermo,
309  pureMixture,
311  heRhoThermo,
312  rhoThermo,
313  pureMixture,
315  );
316 
317  // From pure phase (exp-Transp, hPower solidThermo) to phase (ico-rho)
319  (
320  Lee,
321  heSolidThermo,
322  solidThermo,
323  pureMixture,
325  heRhoThermo,
326  rhoThermo,
327  pureMixture,
329  );
330 
331 
332  // From pure phase (const rho) to multi phase (incomp ideal gas)
334  (
335  Lee,
336  heRhoThermo,
337  rhoThermo,
338  pureMixture,
340  heRhoThermo,
341  rhoReactionThermo,
342  multiComponentMixture,
344  );
345 
346 
347  // From pure phase (Boussinesq) to phase (solidThermo)
349  (
350  Lee,
351  heRhoThermo,
352  rhoThermo,
353  pureMixture,
355  heSolidThermo,
356  solidThermo,
357  pureMixture,
359  );
360 
361  // From pure phase (rho const) to phase (solidThermo)
363  (
364  Lee,
365  heRhoThermo,
366  rhoThermo,
367  pureMixture,
369  heSolidThermo,
370  solidThermo,
371  pureMixture,
373  );
374 
375  //From pure phase (poly) to solid phase (exp)
377  (
378  Lee,
379  heRhoThermo,
380  rhoThermo,
381  pureMixture,
383  heSolidThermo,
384  solidThermo,
385  pureMixture,
387  );
388 
389  //From pure phase (poly) to solid phase (poly)
391  (
392  Lee,
393  heRhoThermo,
394  rhoThermo,
395  pureMixture,
397  heSolidThermo,
398  solidThermo,
399  pureMixture,
401  );
402 
403  //From pure phase (poly) to solid phase (const)
405  (
406  Lee,
407  heRhoThermo,
408  rhoThermo,
409  pureMixture,
411  heSolidThermo,
412  solidThermo,
413  pureMixture,
415  );
416 
417  //From pure phase (tabulated) to solid phase (poly)
419  (
420  Lee,
421  heRhoThermo,
422  rhoThermo,
423  pureMixture,
425  heSolidThermo,
426  solidThermo,
427  pureMixture,
429  );
430 
431  //From pure phase (tabulated) to solid phase (const)
433  (
434  Lee,
435  heRhoThermo,
436  rhoThermo,
437  pureMixture,
439  heSolidThermo,
440  solidThermo,
441  pureMixture,
443  );
444 
446  (
447  Lee,
448  heRhoThermo,
449  rhoThermo,
450  pureMixture,
452  heSolidThermo,
453  solidThermo,
454  pureMixture,
456  );
457 
459  (
460  Lee,
461  heRhoThermo,
462  rhoThermo,
463  pureMixture,
465  heSolidThermo,
466  solidThermo,
467  pureMixture,
469  );
470 
472  (
473  Lee,
474  heRhoThermo,
475  rhoThermo,
476  pureMixture,
478  heSolidThermo,
479  solidThermo,
480  pureMixture,
482  );
483 
485  (
486  Lee,
487  heRhoThermo,
488  rhoThermo,
489  pureMixture,
491  heRhoThermo,
492  rhoThermo,
493  pureMixture,
495  );
496 
497  // From pure phase (tabulated) to solid phase (icoTabulated)
499  (
500  Lee,
501  heRhoThermo,
502  rhoThermo,
503  pureMixture,
505  heSolidThermo,
506  solidThermo,
507  pureMixture,
509  );
510 
511  // From solid phase (icoTabulated) to pure phase (tabulated)
513  (
514  Lee,
515  heSolidThermo,
516  solidThermo,
517  pureMixture,
519  heRhoThermo,
520  rhoThermo,
521  pureMixture,
523  );
524 
525 
526  // interfaceHeatResistance model definitions
527 
528  // From pure phase (rho const) to phase (rho const)
530  (
531  interfaceHeatResistance,
532  heRhoThermo,
533  rhoThermo,
534  pureMixture,
536  heRhoThermo,
537  rhoThermo,
538  pureMixture,
540  );
541 
542  // From pure phase (rho const) to phase (Boussinesq)
544  (
545  interfaceHeatResistance,
546  heRhoThermo,
547  rhoThermo,
548  pureMixture,
550  heRhoThermo,
551  rhoThermo,
552  pureMixture,
554  );
555 
556 
557  // From pure phase (solidThermo) to phase (Boussinesq)
559  (
560  interfaceHeatResistance,
561  heSolidThermo,
562  solidThermo,
563  pureMixture,
565  heRhoThermo,
566  rhoThermo,
567  pureMixture,
569  );
570 
571  // From pure phase (solidThermo) to phase (rho const)
573  (
574  interfaceHeatResistance,
575  heSolidThermo,
576  solidThermo,
577  pureMixture,
579  heRhoThermo,
580  rhoThermo,
581  pureMixture,
583  );
584 
585  // From pure phase (all-poly solidThermo) to phase (ico-rho)
587  (
588  interfaceHeatResistance,
589  heSolidThermo,
590  solidThermo,
591  pureMixture,
593  heRhoThermo,
594  rhoThermo,
595  pureMixture,
597  );
598 
599  // From pure phase (exp-Transp, hPower solidThermo) to phase (ico-rho)
601  (
602  interfaceHeatResistance,
603  heSolidThermo,
604  solidThermo,
605  pureMixture,
607  heRhoThermo,
608  rhoThermo,
609  pureMixture,
611  );
612 
613 
614  // From pure phase (const rho) to multi phase (incomp ideal gas)
616  (
617  interfaceHeatResistance,
618  heRhoThermo,
619  rhoThermo,
620  pureMixture,
622  heRhoThermo,
623  rhoReactionThermo,
624  multiComponentMixture,
626  );
627 
628 
629  // From pure phase (Boussinesq) to phase (solidThermo)
631  (
632  interfaceHeatResistance,
633  heRhoThermo,
634  rhoThermo,
635  pureMixture,
637  heSolidThermo,
638  solidThermo,
639  pureMixture,
641  );
642 
643  // From pure phase (rho const) to phase (solidThermo)
645  (
646  interfaceHeatResistance,
647  heRhoThermo,
648  rhoThermo,
649  pureMixture,
651  heSolidThermo,
652  solidThermo,
653  pureMixture,
655  );
656 
657  //From pure liquid phase (ico-rho) to pure phase (exp-Transp, hPower solidThermo)
659  (
660  interfaceHeatResistance,
661  heRhoThermo,
662  rhoThermo,
663  pureMixture,
665  heSolidThermo,
666  solidThermo,
667  pureMixture,
669  );
670 
671 
672  // interfaceOxideRate model definitions
673 
674  // From pure phase (tabulated) to solid phase (const)
676  (
677  interfaceOxideRate,
678  heRhoThermo,
679  rhoThermo,
680  pureMixture,
682  heSolidThermo,
683  solidThermo,
684  pureMixture,
686  );
687 
688  // From pure phase (rho const) to phase (rho const)
690  (
691  interfaceOxideRate,
692  heRhoThermo,
693  rhoThermo,
694  pureMixture,
696  heRhoThermo,
697  rhoThermo,
698  pureMixture,
700  );
701 
702  // From pure phase (ico) to solid phase (const)
704  (
705  interfaceOxideRate,
706  heRhoThermo,
707  rhoThermo,
708  pureMixture,
710  heSolidThermo,
711  solidThermo,
712  pureMixture,
714  );
715 
716  // From pure phase (tabulated) to phase (rho const)
718  (
719  interfaceOxideRate,
720  heRhoThermo,
721  rhoThermo,
722  pureMixture,
724  heRhoThermo,
725  rhoThermo,
726  pureMixture,
728  );
729 
730  // From pure phase (ico) to phase (rho const)
732  (
733  interfaceOxideRate,
734  heRhoThermo,
735  rhoThermo,
736  pureMixture,
738  heRhoThermo,
739  rhoThermo,
740  pureMixture,
742  );
743 
744 
745  // diffusionGasEvaporation model definitions
746 
747  // From pure liquid (rhoConst) to a multi-component gas incomp phase
749  (
750  diffusionGasEvaporation,
751  heRhoThermo,
752  rhoThermo,
753  pureMixture,
755  heRhoThermo,
756  rhoReactionThermo,
757  multiComponentMixture,
759  );
760 
761 
762  // From pure liquid (BoussinesqFluid) to a multi-component gas incomp
763  // phase
765  (
766  diffusionGasEvaporation,
767  heRhoThermo,
768  rhoThermo,
769  pureMixture,
771  heRhoThermo,
772  rhoReactionThermo,
773  multiComponentMixture,
775  );
776 }
777 
778 
779 // ************************************************************************* //
Type definitions for thermo-physics models.
tabulatedSolidTransport< species::thermo< hTabulatedThermo< icoPolynomial< specie, 8 > >, sensibleEnthalpy > > hTabulatedPolyIcoSolidThermoPhysics
makeInterfaceContSpecieMixtureType(kineticGasEvaporation, heRhoThermo, rhoThermo, pureMixture, constRhoHThermoPhysics, heRhoThermo, rhoReactionThermo, multiComponentMixture, constIncompressibleGasHThermoPhysics)
Constant properties thermodynamics package templated into the EquationOfState.
Definition: hConstThermo.H:48
constTransport< species::thermo< hConstThermo< rhoConst< specie > >, sensibleEnthalpy > > constRhoHThermoPhysics
Constant properties Transport package. Templated into a given thermodynamics package (needed for ther...
polynomialSolidTransport< species::thermo< hPolynomialThermo< icoPolynomial< specie, 8 >, 8 >, sensibleEnthalpy >, 8 > hPolyTranspPolyIcoSolidThermoPhysics
constIsoSolidTransport< species::thermo< hConstThermo< rhoConst< specie > >, sensibleEnthalpy > > hConstSolidThermoPhysics
Type definitions for solid-thermo-physics models.
Macros for easy insertion into run-time selection tables.
psiReactionThermo & thermo
Definition: createFields.H:28
constTransport< species::thermo< hConstThermo< Boussinesq< specie > >, sensibleEnthalpy > > BoussinesqFluidEThermoPhysics
tabulatedTransport< species::thermo< hTabulatedThermo< icoTabulated< specie > >, sensibleEnthalpy > > tabulatedThermoPhysics
tabulatedSolidTransport< species::thermo< hTabulatedThermo< icoTabulated< specie > >, sensibleEnthalpy > > hTabulatedIcoTabulatedSolidThermoPhysics
Thermodynamics mapping class to expose the sensible enthalpy functions.
polynomialTransport< species::thermo< hPolynomialThermo< icoPolynomial< specie, 8 >, 8 >, sensibleEnthalpy >, 8 > icoPoly8HThermoPhysics
constTransport< species::thermo< hConstThermo< incompressiblePerfectGas< specie > >, sensibleEnthalpy > > constIncompressibleGasHThermoPhysics
exponentialSolidTransport< species::thermo< hPowerThermo< rhoConst< specie > >, sensibleEnthalpy > > hPowerSolidThermoPhysics
RhoConst (rho = const) of state.
Definition: rhoConst.H:48
makeInterfacePureType(kineticGasEvaporation, heRhoThermo, rhoThermo, pureMixture, constRhoHThermoPhysics, heRhoThermo, rhoThermo, pureMixture, constIncompressibleGasHThermoPhysics)
Incompressible gas equation of state using the Boussinesq approximation for the density as a function...
Definition: Boussinesq.H:53
Namespace for OpenFOAM.