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  bool init(const dictionary& dict);
102 
103  //- Return radiative heat flux
105 
106 
107 protected:
108 
109  // Protected Data
110 
111  // Solution parameters
112 
113  //- Number of non orthogonal correctors
114  label nNonOrthCorr_;
115 
116 
117  // Thermo properties
118 
119  //- Solid properties
121 
122 
123  // Source term fields
124 
125  //- External surface energy source / [J/m2/s]
127 
128  //- Thickness
130 
131  //- Name of the primary region radiative flux
132  const word qrName_;
133 
134  //- Uniform thickness
135  scalar thickness_;
136 
137 
138  // Protected Member Functions
139 
140  // Equations
141 
142  //- Solve energy equation
143  void solveEnergy();
144 
145 
146 public:
147 
148  //- Runtime type information
149  TypeName("thermalShell");
150 
151 
152  // Constructors
153 
154  //- Construct from components and dict
156  (
157  const word& modelType,
158  const fvPatch& patch,
159  const dictionary& dict
160  );
161 
162  //- No copy construct
163  thermalShell(const thermalShell&) = delete;
164 
165  //- No copy assignment
166  void operator=(const thermalShell&) = delete;
167 
168 
169  //- Destructor
170  virtual ~thermalShell() = default;
171 
172 
173  // Member Functions
174 
175  // Fields
176 
177  //- Return the film specific heat capacity [J/kg/K]
178  const tmp<areaScalarField> Cp() const;
179 
180  //- Return density [Kg/m3]
181  const tmp<areaScalarField> rho() const;
182 
183  //- Return thermal conductivity [W/m/K]
184  const tmp<areaScalarField> kappa() const;
185 
186 
187  // Evolution
188 
189  //- Pre-evolve thermal baffle
190  virtual void preEvolveRegion();
191 
192  //- Evolve the thermal baffle
193  virtual void evolveRegion();
194 
195 
196  // IO
197 
198  //- Provide some feedback
199  virtual void info();
200 };
201 
202 
203 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
204 
205 } // End namespace regionModels
206 } // End namespace Foam
207 
208 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
209 
210 
211 #endif
212 
213 // ************************************************************************* //
volFieldsFwd.H
Foam::regionModels::thermalShell::TypeName
TypeName("thermalShell")
Runtime type information.
Foam::regionModels::thermalShell::info
virtual void info()
Provide some feedback.
Definition: thermalShell.C:260
Foam::regionModels::thermalShell::qrName_
const word qrName_
Name of the primary region radiative flux.
Definition: thermalShell.H:149
Foam::regionModels::thermalShell::kappa
const tmp< areaScalarField > kappa() const
Return thermal conductivity [W/m/K].
Definition: thermalShell.C:233
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
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:143
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:187
Foam::regionModels::thermalShell::thickness_
scalar thickness_
Uniform thickness.
Definition: thermalShell.H:152
faMesh.H
thermalShellModel.H
Foam::regionModels::thermalShell::rho
const tmp< areaScalarField > rho() const
Return density [Kg/m3].
Definition: thermalShell.C:210
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:137
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:123
Foam::regionModels::thermalShell::preEvolveRegion
virtual void preEvolveRegion()
Pre-evolve thermal baffle.
Definition: thermalShell.C:170
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:174
Foam::regionModels::thermalShell::thermalShell
thermalShell(const word &modelType, const fvPatch &patch, const dictionary &dict)
Construct from components and dict.
Definition: thermalShell.C:127
Foam::foamVersion::patch
const std::string patch
OpenFOAM patch number as a std::string.
Foam::regionModels::thermalShell::h_
areaScalarField h_
Thickness.
Definition: thermalShell.H:146
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:131
Foam::GeometricField< scalar, faPatchField, areaMesh >
solidProperties.H
Foam::regionModels::thermalShell::solveEnergy
void solveEnergy()
Solve energy equation.
Definition: thermalShell.C:95