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
45  type compressible::thermalShell;
46 
47  // Inherited entries
48  ...
49  }
50  \endverbatim
51 
52  where the entries mean:
53  \table
54  Property | Description | Type | Reqd | Deflt
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 "thermalShellModel.H"
76 
77 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
78 
79 namespace Foam
80 {
81 namespace compressible
82 {
83 
84 /*---------------------------------------------------------------------------*\
85  Class thermalShellFvPatchScalarField Declaration
86 \*---------------------------------------------------------------------------*/
87 
88 class thermalShellFvPatchScalarField
89 :
90  public fixedValueFvPatchField<scalar>
91 {
92  // Typedefs
93 
94  //- The finite-area region model
96 
97 
98  // Private Data
99 
100  //- The thermal baffle
101  autoPtr<baffleType> baffle_;
102 
103  //- Dictionary
104  dictionary dict_;
105 
106 
107 public:
108 
109  //- Runtime type information
110  TypeName("compressible::thermalShell");
111 
112 
113  // Constructors
114 
115  //- Construct from patch and internal field
117  (
118  const fvPatch&,
120  );
121 
122  //- Construct from patch, internal field and dictionary
124  (
125  const fvPatch&,
127  const dictionary&
128  );
129 
130  //- Construct by mapping given
131  //- thermalShellFvPatchScalarField onto a new patch
133  (
135  const fvPatch&,
137  const fvPatchFieldMapper&
138  );
139 
140  //- Construct as copy setting internal field reference
142  (
145  );
146 
147  //- Return a clone
148  virtual tmp<fvPatchField<scalar>> clone() const
149  {
150  return fvPatchField<scalar>::Clone(*this);
151  }
152 
153  //- Clone with an internal field reference
155  (
157  ) const
158  {
159  return fvPatchField<scalar>::Clone(*this, iF);
160  }
161 
162 
163  // Member Functions
164 
165  //- Update the coefficients associated with the patch field
166  virtual void updateCoeffs();
167 
168  //- Write
169  virtual void write(Ostream&) const;
170 };
171 
172 
173 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174 
175 } // End namespace compressible
176 } // End namespace Foam
177 
178 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
179 
180 
181 #endif
183 // ************************************************************************* //
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
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
Definition: fvPatchField.H:597
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...
virtual tmp< fvPatchField< scalar > > clone() const
Return a clone.
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.