Lavieville.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2016-2025 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::wallBoilingModels::partitioningModels::Lavieville
26 
27 Description
28  Lavieville wall heat flux partitioning model.
29 
30  Model parameters:
31  alphaCrit: critical liquid fraction
32 
33  Reference:
34  \verbatim
35  Lavieville, J., Quemerais, E., Mimouni, S., Boucker, M., &
36  Mechitoua, N. (2006).
37  NEPTUNE CFD V1. 0 theory manual.
38  NEPTUNE report Nept_2004_L1, 2(3).
39  \endverbatim
40 
41 SourceFiles
42  Lavieville.C
43 
44 \*---------------------------------------------------------------------------*/
45 
46 #ifndef Lavieville_H
47 #define Lavieville_H
48 
49 #include "partitioningModel.H"
50 
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 
53 namespace Foam
54 {
55 namespace wallBoilingModels
56 {
57 namespace partitioningModels
58 {
59 
60 /*---------------------------------------------------------------------------*\
61  Class Lavieville Declaration
62 \*---------------------------------------------------------------------------*/
63 
64 class Lavieville
65 :
66  public partitioningModel
67 {
68  // Private Data
69 
70  //- Critical liquid fraction
71  const scalar alphaCrit_;
72 
73 
74  // Private Member Functions
75 
76  //- Calculate and return the wet fraction
77  template<class ScalarFieldType>
78  tmp<ScalarFieldType> calculate
79  (
80  const ScalarFieldType& alphaLiquid
81  ) const;
82 
83 
84 public:
85 
86  //- Runtime type information
87  TypeName("Lavieville");
88 
89 
90  // Constructors
91 
92  //- Construct from a dictionary
93  Lavieville(const dictionary& dict);
94 
95  //- Copy construct
96  Lavieville(const Lavieville& model);
97 
98  //- Construct and return a clone
99  virtual autoPtr<partitioningModel> clone() const
100  {
101  return autoPtr<partitioningModel>(new Lavieville(*this));
102  }
103 
104 
105  //- Destructor
106  virtual ~Lavieville();
107 
108 
109  // Member Functions
110 
111  //- Return the wet fraction
113  (
114  const scalarField& alphaLiquid
115  ) const;
116 
117  //- Return the wet fraction
119  (
120  const volScalarField::Internal& alphaLiquid
121  ) const;
122 
123  //- Return the wet fraction
125  (
126  const volScalarField& alphaLiquid
127  ) const;
128 
129  //- Write to stream
130  virtual void write(Ostream& os) const;
131 };
132 
133 
134 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
135 
136 } // End namespace partitioningModels
137 } // End namespace wallBoilingModels
138 } // End namespace Foam
139 
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 
142 #endif
143 
144 // ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic GeometricField class.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:57
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
A class for managing temporary objects.
Definition: tmp.H:55
Base class for wall heat flux partitioning models.
Lavieville wall heat flux partitioning model.
Definition: Lavieville.H:66
virtual autoPtr< partitioningModel > clone() const
Construct and return a clone.
Definition: Lavieville.H:98
virtual tmp< scalarField > wetFraction(const scalarField &alphaLiquid) const
Return the wet fraction.
Definition: Lavieville.C:102
virtual void write(Ostream &os) const
Write to stream.
Definition: Lavieville.C:131
Lavieville(const dictionary &dict)
Construct from a dictionary.
Definition: Lavieville.C:73
TypeName("Lavieville")
Runtime type information.
Namespace for OpenFOAM.
dictionary dict