Loading...
Searching...
No Matches
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-2025 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
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
26Class
27 Foam::compressible::thermalShellFvPatchScalarField
28
29Group
30 grpThermoBoundaryConditions
31
32Description
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
39Usage
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
62Note
63 - The two-dimensional area mesh needs to be
64 generated in the pre-processing steps.
65
66SourceFiles
67 thermalShellFvPatchScalarField.C
68
69\*---------------------------------------------------------------------------*/
70
71#ifndef Foam_thermalShellFvPatchScalarField_H
72#define Foam_thermalShellFvPatchScalarField_H
73
74#include "thermalShellModel.H"
76
77// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
78
79namespace Foam
80{
81namespace compressible
82{
83
84/*---------------------------------------------------------------------------*\
85 Class thermalShellFvPatchScalarField Declaration
86\*---------------------------------------------------------------------------*/
87
89:
90 public fixedValueFvPatchField<scalar>
91{
92 // Typedefs
93
94 //- The parent boundary condition type
95 typedef fixedValueFvPatchField<scalar> parent_bctype;
96
97 //- The finite-area region model
98 typedef regionModels::thermalShellModel baffleType;
99
100
101 // Private Data
102
103 //- Dictionary
104 dictionary dict_;
105
106 //- The thermal baffle
107 autoPtr<baffleType> baffle_;
108
109
110 // Private Methods
111
112 //- Create thermal baffle (if required)
113 void create_baffle();
114
115
116public:
117
118 //- Runtime type information
119 TypeName("compressible::thermalShell");
120
121
122 // Constructors
123
124 //- Construct from patch and internal field
126 (
127 const fvPatch&,
129 );
130
131 //- Construct from patch, internal field and dictionary
133 (
134 const fvPatch&,
136 const dictionary&
137 );
139 //- Construct by mapping given
140 //- thermalShellFvPatchScalarField onto a new patch
142 (
144 const fvPatch&,
146 const fvPatchFieldMapper&
147 );
148
149 //- Copy construct with internal field reference
151 (
154 );
155
156 //- Copy construct
158 (
160 )
161 :
163 {}
164
165
166 //- Return a clone
167 virtual tmp<fvPatchField<scalar>> clone() const
168 {
169 return fvPatchField<scalar>::Clone(*this);
170 }
171
172 //- Clone with an internal field reference
174 (
176 ) const
177 {
178 return fvPatchField<scalar>::Clone(*this, iF);
179 }
180
181
182 // Member Functions
183
184 //- Update the coefficients associated with the patch field
185 virtual void updateCoeffs();
187 //- Write
188 virtual void write(Ostream&) const;
189};
190
191
192// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
193
194} // End namespace compressible
195} // End namespace Foam
196
197// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
199
200#endif
201
202// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition Ostream.H:59
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition autoPtr.H:65
This boundary condition provides a coupled temperature condition between a primary region (3D mesh) a...
virtual tmp< fvPatchField< scalar > > clone(const DimensionedField< scalar, volMesh > &iF) const
Clone with an internal field reference.
virtual tmp< fvPatchField< scalar > > clone() const
Return a clone.
thermalShellFvPatchScalarField(const thermalShellFvPatchScalarField &pfld)
Copy construct.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
thermalShellFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
TypeName("compressible::thermalShell")
Runtime type information.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
fixedValueFvPatchField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
A FieldMapper for finite-volume patch fields.
const DimensionedField< scalar, volMesh > & internalField() const noexcept
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition fvPatch.H:71
Intermediate class for thermal-shell finite-area models.
A class for managing temporary objects.
Definition tmp.H:75
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68