thermalShellFvPatchScalarField.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-2022 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::compressible::thermalShellFvPatchScalarField
28 
29 Group
30  grpThermoBoundaryConditions
31 
32 Description
33  This boundary condition provides a coupled temperature condition between
34  a primary region (3D mesh) and a thermal shell model (2D mesh).
35 
36  The primary region boundary creates the finite area region
37  and evolves its energy equation.
38 
39 Usage
40  Example of the boundary condition specification:
41  \verbatim
42  <masterPatchName>
43  {
44  // Mandatory entries (unmodifiable)
45  type compressible::thermalShell;
46 
47  // Mandatory/Optional (inherited) entries
48  ...
49  }
50  \endverbatim
51 
52  where the entries mean:
53  \table
54  Property | Description | Type | Reqd | Dflt
55  type | Type name: compressible::thermalShell | word | yes | -
56  \endtable
57 
58  The inherited entries are elaborated in:
59  - \link fixedValueFvPatchField.H \endlink
60  - \link thermalShellModel.H \endlink
61 
62 Note
63  - The two-dimensional area mesh needs to be
64  generated in the pre-processing steps.
65 
66 SourceFiles
67  thermalShellFvPatchScalarField.C
68 
69 \*---------------------------------------------------------------------------*/
70 
71 #ifndef Foam_thermalShellFvPatchScalarField_H
72 #define Foam_thermalShellFvPatchScalarField_H
73 
74 #include "autoPtr.H"
75 #include "thermalShellModel.H"
77 
78 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
79 
80 namespace Foam
81 {
82 namespace compressible
83 {
84 
85 /*---------------------------------------------------------------------------*\
86  Class thermalShellFvPatchScalarField Declaration
87 \*---------------------------------------------------------------------------*/
88 
89 class thermalShellFvPatchScalarField
90 :
91  public fixedValueFvPatchField<scalar>
92 {
93  // Typedefs
94 
95  //- The finite-area region model
97 
98 
99  // Private Data
100 
101  //- The thermal baffle
102  autoPtr<baffleType> baffle_;
103 
104  //- Dictionary
105  dictionary dict_;
106 
107 
108 public:
109 
110  //- Runtime type information
111  TypeName("compressible::thermalShell");
112 
113 
114  // Constructors
115 
116  //- Construct from patch and internal field
118  (
119  const fvPatch&,
121  );
122 
123  //- Construct from patch, internal field and dictionary
125  (
126  const fvPatch&,
128  const dictionary&
129  );
130 
131  //- Construct by mapping given
132  //- thermalShellFvPatchScalarField onto a new patch
134  (
136  const fvPatch&,
138  const fvPatchFieldMapper&
139  );
140 
141  //- Construct and return a clone
142  virtual tmp<fvPatchScalarField> clone() const
143  {
145  (
147  );
148  }
149 
150  //- Construct as copy setting internal field reference
152  (
155  );
156 
157  //- Construct and return a clone setting internal field reference
159  (
161  ) const
162  {
164  (
166  );
167  }
168 
169 
170  // Member Functions
171 
172  //- Update the coefficients associated with the patch field
173  virtual void updateCoeffs();
174 
175  //- Write
176  virtual void write(Ostream&) const;
177 };
178 
179 
180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181 
182 } // End namespace compressible
183 } // End namespace Foam
184 
185 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
187 
188 #endif
189 
190 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:70
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
A FieldMapper for finite-volume patch fields.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName("compressible::thermalShell")
Runtime type information.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:56
bool compressible
Definition: pEqn.H:2
This boundary condition provides a coupled temperature condition between a primary region (3D mesh) a...
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: areaFieldsFwd.H:42
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Definition: HashPtrTable.H:48
thermalShellFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
Definition: HashPtrTable.H:50
Namespace for OpenFOAM.