filmThermoModel.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) 2013-2018 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::regionModels::surfaceFilmModels::filmThermoModel
26 
27 Description
28  Base class for film thermo models
29 
30 SourceFiles
31  filmThermoModel.C
32  filmThermoModelNew.C
33 
34 \*---------------------------------------------------------------------------*/
35 
36 #ifndef filmThermoModel_H
37 #define filmThermoModel_H
38 
39 #include "filmSubModelBase.H"
40 #include "runTimeSelectionTables.H"
41 
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 
44 namespace Foam
45 {
46 namespace regionModels
47 {
48 namespace surfaceFilmModels
49 {
50 
51 /*---------------------------------------------------------------------------*\
52  Class filmThermoModel Declaration
53 \*---------------------------------------------------------------------------*/
54 
55 class filmThermoModel
56 :
57  public filmSubModelBase
58 {
59 private:
60 
61  // Private Member Functions
62 
63  //- Disallow default bitwise copy construct
65 
66  //- Disallow default bitwise assignment
67  void operator=(const filmThermoModel&);
68 
69 
70 public:
71 
72  //- Runtime type information
73  TypeName("filmThermoModel");
74 
75 
76  // Declare runtime constructor selection table
77 
79  (
80  autoPtr,
82  dictionary,
83  (
85  const dictionary& dict
86  ),
87  (film, dict)
88  );
89 
90  // Constructors
91 
92  //- Construct null
94 
95  //- Construct from type name, dictionary and surface film model
97  (
98  const word& modelType,
100  const dictionary& dict
101  );
102 
103 
104  // Selectors
105 
106  //- Return a reference to the selected phase change model
108  (
110  const dictionary& dict
111  );
112 
113 
114  //- Destructor
115  virtual ~filmThermoModel();
116 
117 
118  // Member Functions
119 
120  //- Return the specie name
121  virtual const word& name() const = 0;
122 
123 
124  // Elemental access
125 
126  //- Return density [kg/m3]
127  virtual scalar rho(const scalar p, const scalar T) const = 0;
128 
129  //- Return dynamic viscosity [Pa.s]
130  virtual scalar mu(const scalar p, const scalar T) const = 0;
131 
132  //- Return surface tension [kg/s2]
133  virtual scalar sigma(const scalar p, const scalar T) const = 0;
134 
135  //- Return specific heat capacity [J/kg/K]
136  virtual scalar Cp(const scalar p, const scalar T) const = 0;
137 
138  //- Return thermal conductivity [W/m/K]
139  virtual scalar kappa(const scalar p, const scalar T) const = 0;
140 
141  //- Return diffusivity [m2/s]
142  virtual scalar D(const scalar p, const scalar T) const = 0;
143 
144  //- Return latent heat [J/kg]
145  virtual scalar hl(const scalar p, const scalar T) const = 0;
146 
147  //- Return vapour pressure [Pa]
148  virtual scalar pv(const scalar p, const scalar T) const = 0;
149 
150  //- Return molecular weight [kg/kmol]
151  virtual scalar W() const = 0;
152 
153  //- Return boiling temperature [K]
154  virtual scalar Tb(const scalar p) const = 0;
155 
156 
157  // Field access
158 
159  //- Return density [kg/m3]
160  virtual tmp<volScalarField> rho() const = 0;
161 
162  //- Return dynamic viscosity [Pa.s]
163  virtual tmp<volScalarField> mu() const = 0;
164 
165  //- Return surface tension [kg/s2]
166  virtual tmp<volScalarField> sigma() const = 0;
167 
168  //- Return specific heat capacity [J/kg/K]
169  virtual tmp<volScalarField> Cp() const = 0;
170 
171  //- Return thermal conductivity [W/m/K]
172  virtual tmp<volScalarField> kappa() const = 0;
173 };
174 
175 
176 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177 
178 } // End namespace surfaceFilmModels
179 } // End namespace regionModels
180 } // End namespace Foam
181 
182 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
183 
184 #endif
185 
186 // ************************************************************************* //
virtual tmp< volScalarField > mu() const =0
Return dynamic viscosity [Pa.s].
virtual const word & name() const =0
Return the specie name.
virtual tmp< volScalarField > kappa() const =0
Return thermal conductivity [W/m/K].
Base class for surface film sub-models.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
virtual scalar hl(const scalar p, const scalar T) const =0
Return latent heat [J/kg].
declareRunTimeSelectionTable(autoPtr, filmThermoModel, dictionary,(surfaceFilmRegionModel &film, const dictionary &dict),(film, dict))
static autoPtr< filmThermoModel > New(surfaceFilmRegionModel &film, const dictionary &dict)
Return a reference to the selected phase change model.
TypeName("filmThermoModel")
Runtime type information.
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:110
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
virtual tmp< volScalarField > rho() const =0
Return density [kg/m3].
A class for handling words, derived from string.
Definition: word.H:59
virtual tmp< volScalarField > Cp() const =0
Return specific heat capacity [J/kg/K].
virtual scalar D(const scalar p, const scalar T) const =0
Return diffusivity [m2/s].
virtual scalar Tb(const scalar p) const =0
Return boiling temperature [K].
const word & modelType() const
Return const access to the sub-model type.
Definition: subModelBase.C:122
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
virtual scalar W() const =0
Return molecular weight [kg/kmol].
virtual tmp< volScalarField > sigma() const =0
Return surface tension [kg/s2].
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
Macros to ease declaration of run-time selection tables.
volScalarField & p
A class for managing temporary objects.
Definition: PtrList.H:53
virtual scalar pv(const scalar p, const scalar T) const =0
Return vapour pressure [Pa].
Namespace for OpenFOAM.