Schroeder.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) 2018-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 Class
27  Foam::wallBoilingModels::TDNBModels::Schroeder
28 
29 Description
30  A model for departure from nucleation boiling based on
31  Schroeder-Richter and Bartsch (1994) for boiling flows.
32 
33  Reference:
34  \verbatim
35  Schroeder-Richter, D., & Bartsch, G. (1994).
36  Analytical calculation of DNB-superheating by a postulated
37  thermo-mechanical effect of nucleate boiling.
38  International journal of multiphase flow, 20(6), 1143-1167.
39  DOI:10.1016/0301-9322(94)90060-4
40 
41  Theler, G., & Freis, D. (2011).
42  Theoretical critical heat flux prediction based on non-equilibrium
43  thermodynamics considerations of the subcooled boiling phenomenon.
44  Mecánica Computacional, 30(19), 1713-1732.
45  \endverbatim
46 
47 Usage
48  Example of the model specification:
49  \verbatim
50  TDNBModel
51  {
52  // Mandatory entries
53  type Schroeder;
54 
55  // Optional entries
56  kg <scalar>;
57  }
58  \endverbatim
59 
60  where the entries mean:
61  \table
62  Property | Description | Type | Reqd | Deflt
63  type | Type name: Schroeder | word | yes | -
64  kg | Isoentropic expansion factor for ideal gases | scalar | no | 1.666
65  \endtable
66 
67 SourceFiles
68  Schroeder.C
69 
70 \*---------------------------------------------------------------------------*/
71 
72 #ifndef Schroeder_H
73 #define Schroeder_H
74 
75 #include "TDNBModel.H"
76 
77 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
78 
79 namespace Foam
80 {
81 namespace wallBoilingModels
82 {
83 namespace TDNBModels
84 {
85 
86 /*---------------------------------------------------------------------------*\
87  Class Schroeder Declaration
88 \*---------------------------------------------------------------------------*/
89 
90 class Schroeder
91 :
92  public TDNBModel
93 {
94  // Private Data
95 
96  //- Isoentropic expansion factor for ideal gases
97  // 5/3 monoatomic
98  // 7/5 diatomic
99  scalar kg_;
100 
101 
102  // Private Member Functions
103 
104  //- No copy construct
105  Schroeder(const Schroeder&) = delete;
106 
107  //- No copy assignment
108  void operator=(const Schroeder&) = delete;
109 
110 
111 public:
112 
113  //- Runtime type information
114  TypeName("Schroeder");
115 
116 
117  // Constructors
118 
119  //- Construct from a dictionary
120  Schroeder(const dictionary& dict);
121 
122 
123  //- Destructor
124  virtual ~Schroeder() = default;
125 
126 
127  // Member Functions
128 
129  //- Calculate and return the departure from nulceate boiling correlation
130  virtual tmp<scalarField> TDNB
131  (
132  const phaseModel& liquid,
133  const phaseModel& vapor,
134  const label patchi,
135  const scalarField& Tl,
136  const scalarField& Tsatw,
137  const scalarField& L
138  ) const;
139 
140  // I-O
141 
142  //- Write
143  virtual void write(Ostream& os) const;
144 };
145 
146 
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 
149 } // End namespace TDNBModels
150 } // End namespace wallBoilingModels
151 } // End namespace Foam
152 
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 
155 #endif
156 
157 // ************************************************************************* //
Foam::wallBoilingModels::TDNBModel
Base class for departure from nucleation boiling models.
Definition: TDNBModel.H:56
Foam::phaseModel
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:54
L
const vector L(dict.get< vector >("L"))
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::liquid
Generic thermophysical properties class for a liquid in which the functions and coefficients for each...
Definition: liquid.H:54
TDNBModel.H
Foam::Field< scalar >
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam::wallBoilingModels::TDNBModels::Schroeder::~Schroeder
virtual ~Schroeder()=default
Destructor.
os
OBJstream os(runTime.globalPath()/outputName)
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::wallBoilingModels::TDNBModels::Schroeder::write
virtual void write(Ostream &os) const
Write.
Definition: Schroeder.C:95
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56
Foam::wallBoilingModels::TDNBModels::Schroeder::TDNB
virtual tmp< scalarField > TDNB(const phaseModel &liquid, const phaseModel &vapor, const label patchi, const scalarField &Tl, const scalarField &Tsatw, const scalarField &L) const
Calculate and return the departure from nulceate boiling correlation.
Definition: Schroeder.C:71
Foam::wallBoilingModels::TDNBModels::Schroeder
A model for departure from nucleation boiling based on Schroeder-Richter and Bartsch (1994) for boili...
Definition: Schroeder.H:107
Foam::wallBoilingModels::TDNBModels::Schroeder::TypeName
TypeName("Schroeder")
Runtime type information.