linear.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) 2016-2018 OpenFOAM Foundation
9  Copyright (C) 2021 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::wallBoilingModels::partitioningModels::linear
29 
30 Description
31  A linear model for wall heat flux partitioning based on
32  Ioilev et al. (2007) for boiling flows.
33 
34  Reference:
35  \verbatim
36  Ioilev, A., Samigulin, M., Ustinenko, V.,
37  Kucherova, P., Tentner, A., Lo, S., & Splawski, A. (2007).
38  Advances in the modeling of cladding heat transfer
39  and critical heat flux in boiling water reactor fuel assemblies.
40  In Proc. 12th International Topical Meeting on Nuclear Reactor
41  Thermal Hydraulics (NURETH-12).
42  Pittsburgh, Pennsylvania, USA.
43  \endverbatim
44 
45 Usage
46  Example of the model specification:
47  \verbatim
48  partitioningModel
49  {
50  // Mandatory entries
51  type linear;
52  alphaLiquid1 <scalar>;
53  alphaLiquid0 <scalar>;
54  }
55  \endverbatim
56 
57  where the entries mean:
58  \table
59  Property | Description | Type | Reqd | Deflt
60  type | Type name: linear | word | yes | -
61  alphaLiquid1 | Model parameters for threshold liquid phase fraction <!--
62  --> | scalar | yes | -
63  alphaLiquid0 | Model parameters for threshold liquid phase fraction <!--
64  --> | scalar | yes | -
65  \endtable
66 
67 Note
68  - Proposed threshold liquid fractions:
69  - alphaLiquid1 0.1
70  - alphaLiquid0 0.05
71 
72 SourceFiles
73  linear.C
74 
75 \*---------------------------------------------------------------------------*/
76 
77 #ifndef linear_H
78 #define linear_H
79 
80 #include "partitioningModel.H"
81 
82 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
83 
84 namespace Foam
85 {
86 namespace wallBoilingModels
87 {
88 namespace partitioningModels
89 {
90 
91 /*---------------------------------------------------------------------------*\
92  Class linear Declaration
93 \*---------------------------------------------------------------------------*/
94 
95 class linear
96 :
97  public partitioningModel
98 {
99  // Private Data
100 
101  //- Model parameters for threshold liquid phase fraction
102  scalar alphaLiquid1_;
103 
104  //- Model parameters for threshold liquid phase fraction
105  scalar alphaLiquid0_;
106 
107 
108  // Private Member Functions
109 
110  //- No copy construct
111  linear(const linear&) = delete;
112 
113  //- No copy assignment
114  void operator=(const linear&) = delete;
115 
116 
117 public:
118 
119  //- Runtime type information
120  TypeName("linear");
121 
122 
123  // Constructors
124 
125  //- Construct from a dictionary
126  linear(const dictionary& dict);
127 
128 
129  //- Destructor
130  virtual ~linear() = default;
131 
132 
133  // Member Functions
134 
135  //- Calculate and return the wall heat-flux partitioning
136  virtual tmp<scalarField> fLiquid(const scalarField& alphaLiquid) const;
137 
138  // I-O
139 
140  //- Write
141  virtual void write(Ostream& os) const;
142 };
143 
144 
145 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146 
147 } // End namespace partitioningModels
148 } // End namespace wallBoilingModels
149 } // End namespace Foam
150 
151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 
153 #endif
154 
155 // ************************************************************************* //
Foam::wallBoilingModels::partitioningModels::linear::TypeName
TypeName("linear")
Runtime type information.
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::wallBoilingModels::partitioningModel
Base class for wall heat flux partitioning models.
Definition: partitioningModel.H:55
Foam::wallBoilingModels::partitioningModels::linear::~linear
virtual ~linear()=default
Destructor.
partitioningModel.H
Foam::wallBoilingModels::partitioningModels::linear::write
virtual void write(Ostream &os) const
Write.
Definition: linear.C:86
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
os
OBJstream os(runTime.globalPath()/outputName)
Foam::wallBoilingModels::partitioningModels::linear::fLiquid
virtual tmp< scalarField > fLiquid(const scalarField &alphaLiquid) const
Calculate and return the wall heat-flux partitioning.
Definition: linear.C:68
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::wallBoilingModels::partitioningModels::linear
A linear model for wall heat flux partitioning based on Ioilev et al. (2007) for boiling flows.
Definition: linear.H:122
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56