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