thermalShell.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) 2019-2020 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::regionFaModels::thermalShell
28 
29 Description
30  Thermal-shell finite-area model. It solves the energy
31  equation in 2D. The coupling with the 3D region is done through
32  the \c temperatureCoupledBase, plus \c faOption is available to
33  add extra sources on the shell such as \c externalHeatFluxSource etc.
34 
35 Usage
36  Example of the boundary condition specification:
37  \verbatim
38  <patchName>
39  {
40  // Mandatory/Optional (inherited) entries
41  ...
42 
43  // Mandatory entries (unmodifiable)
44  thermalShellModel thermalShell;
45  thermo
46  {
47  // subdictionary entries
48  }
49 
50  // Mandatory/Optional (derived) entries
51  ...
52  }
53  \endverbatim
54 
55  where the entries mean:
56  \table
57  Property | Description | Type | Reqd | Dflt
58  thermalShellModel | Type name: thermalShell | word | yes | -
59  thermo | Solid thermal properties | dictionary | yes | -
60  \endtable
61 
62  The inherited entries are elaborated in:
63  - \link thermalShellModel.H \endlink
64 
65 See also
66  - Foam::regionModels::thermalShellModels::thermalShellModel
67 
68 SourceFiles
69  thermalShell.C
70  thermalShellI.H
71 
72 \*---------------------------------------------------------------------------*/
73 
74 #ifndef thermalShell_H
75 #define thermalShell_H
76 
77 #include "volFieldsFwd.H"
78 #include "thermalShellModel.H"
79 #include "solidProperties.H"
80 #include "faMesh.H"
81 #include "faCFD.H"
82 
83 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
84 
85 namespace Foam
86 {
87 namespace regionModels
88 {
89 
90 /*---------------------------------------------------------------------------*\
91  Class thermalShell Declaration
92 \*---------------------------------------------------------------------------*/
93 
94 class thermalShell
95 :
96  public thermalShellModel
97 {
98  // Private Member Functions
99 
100  //- Initialize thermalShell
101  void init();
102 
103 
104 protected:
105 
106  // Protected Data
107 
108  // Solution parameters
109 
110  //- Number of non orthogonal correctors
112 
113 
114  // Thermo properties
115 
116  //- Solid properties
118 
119 
120  // Source term fields
121 
122  //- External surface energy source / [J/m2/s]
124 
125  //- Thickness
127 
128 
129  // Protected Member Functions
130 
131  //- Read control parameters from dictionary
132  virtual bool read(const dictionary& dict);
133 
134 
135  // Equations
136 
137  //- Solve energy equation
138  void solveEnergy();
139 
140 
141 public:
142 
143  //- Runtime type information
144  TypeName("thermalShell");
145 
146 
147  // Constructors
148 
149  //- Construct from components and dict
151  (
152  const word& modelType,
153  const fvPatch& patch,
154  const dictionary& dict
155  );
156 
157  //- No copy construct
158  thermalShell(const thermalShell&) = delete;
159 
160  //- No copy assignment
161  void operator=(const thermalShell&) = delete;
162 
163 
164  //- Destructor
165  virtual ~thermalShell() = default;
166 
167 
168  // Member Functions
169 
170  // Fields
171 
172  //- Return the film specific heat capacity [J/kg/K]
173  const tmp<areaScalarField> Cp() const;
174 
175  //- Return density [Kg/m3]
176  const tmp<areaScalarField> rho() const;
177 
178  //- Return thermal conductivity [W/m/K]
179  const tmp<areaScalarField> kappa() const;
180 
181 
182  // Evolution
183 
184  //- Pre-evolve thermal baffle
185  virtual void preEvolveRegion();
186 
187  //- Evolve the thermal baffle
188  virtual void evolveRegion();
189 
190 
191  // IO
192 
193  //- Provide some feedback
194  virtual void info();
195 };
196 
197 
198 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
199 
200 } // End namespace regionModels
201 } // End namespace Foam
202 
203 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
204 
205 
206 #endif
207 
208 // ************************************************************************* //
volFieldsFwd.H
Foam::regionModels::thermalShell::TypeName
TypeName("thermalShell")
Runtime type information.
Foam::regionModels::thermalShell::info
virtual void info()
Provide some feedback.
Definition: thermalShell.C:223
Foam::regionModels::thermalShell::kappa
const tmp< areaScalarField > kappa() const
Return thermal conductivity [W/m/K].
Definition: thermalShell.C:196
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:62
faCFD.H
Foam::regionModels::thermalShell::~thermalShell
virtual ~thermalShell()=default
Destructor.
Foam::regionModels::thermalShell::operator=
void operator=(const thermalShell &)=delete
No copy assignment.
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::regionModels::thermalShell::qs_
areaScalarField qs_
External surface energy source / [J/m2/s].
Definition: thermalShell.H:140
Foam::solidProperties
The thermophysical properties of a solid.
Definition: solidProperties.H:54
Foam::regionModels::thermalShell::Cp
const tmp< areaScalarField > Cp() const
Return the film specific heat capacity [J/kg/K].
Definition: thermalShell.C:150
Foam::regionModels::thermalShell::read
virtual bool read(const dictionary &dict)
Read control parameters from dictionary.
Definition: thermalShell.C:48
faMesh.H
thermalShellModel.H
Foam::regionModels::thermalShell::rho
const tmp< areaScalarField > rho() const
Return density [Kg/m3].
Definition: thermalShell.C:173
Foam::fvPatch
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:65
Foam::regionModels::thermalShell::thermo_
solidProperties thermo_
Solid properties.
Definition: thermalShell.H:134
thermalShell
Thermal-shell finite-area model. It solves the energy equation in 2D. The coupling with the 3D region...
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:121
Foam::regionModels::thermalShell::preEvolveRegion
virtual void preEvolveRegion()
Pre-evolve thermal baffle.
Definition: thermalShell.C:133
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::regionModels::thermalShell
Definition: thermalShell.H:111
Foam::regionModels::thermalShell::evolveRegion
virtual void evolveRegion()
Evolve the thermal baffle.
Definition: thermalShell.C:137
Foam::regionModels::thermalShell::thermalShell
thermalShell(const word &modelType, const fvPatch &patch, const dictionary &dict)
Construct from components and dict.
Definition: thermalShell.C:88
Foam::foamVersion::patch
const std::string patch
OpenFOAM patch number as a std::string.
Foam::regionModels::thermalShell::h_
areaScalarField h_
Thickness.
Definition: thermalShell.H:143
thermalShellModel
Intermediate class for thermal-shell finite-area models.
Foam::regionModels::thermalShellModel
Definition: thermalShellModel.H:108
Foam::regionModels::thermalShell::nNonOrthCorr_
label nNonOrthCorr_
Number of non orthogonal correctors.
Definition: thermalShell.H:128
Foam::GeometricField< scalar, faPatchField, areaMesh >
solidProperties.H
Foam::regionModels::thermalShell::solveEnergy
void solveEnergy()
Solve energy equation.
Definition: thermalShell.C:56