turbulentTemperatureRadCoupledMixedFvPatchScalarField.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::compressible::
26  turbulentTemperatureRadCoupledMixedFvPatchScalarField
27 
28 Description
29  Mixed boundary condition for temperature and radiation heat transfer
30  to be used for in multiregion cases. Optional thin thermal layer
31  resistances can be specified through thicknessLayers and kappaLayers
32  entries.
33 
34  The thermal conductivity \c kappa can either be retrieved from various
35  possible sources, as detailed in the class temperatureCoupledBase.
36 
37 Usage
38  \table
39  Property | Description | Required | Default value
40  Tnbr | name of the field | no | T
41  qrNbr | name of the radiative flux in the nbr region | no | none
42  qr | name of the radiative flux in this region | no | none
43  thicknessLayers | list of thicknesses per layer [m] | no |
44  kappaLayers | list of thermal conductivites per layer [W/m/K] | no |
45  \endtable
46 
47  Example of the boundary condition specification:
48  \verbatim
49  <patchName>
50  {
51  type compressible::turbulentTemperatureRadCoupledMixed;
52  Tnbr T;
53  qrNbr qr; // or none. Name of qr field on neighbour region
54  qr qr; // or none. Name of qr field on local region
55  thicknessLayers (0.1 0.2 0.3 0.4);
56  kappaLayers (1 2 3 4);
57  value uniform 300;
58  }
59  \endverbatim
60 
61  Needs to be on underlying mapped(Wall)FvPatch.
62 
63 See also
64  Foam::temperatureCoupledBase
65 
66 SourceFiles
67  turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
68 
69 \*---------------------------------------------------------------------------*/
70 
71 #ifndef turbulentTemperatureRadCoupledMixedFvPatchScalarField_H
72 #define turbulentTemperatureRadCoupledMixedFvPatchScalarField_H
73 
74 #include "mixedFvPatchFields.H"
75 #include "temperatureCoupledBase.H"
76 #include "scalarList.H"
77 
78 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
79 
80 namespace Foam
81 {
82 namespace compressible
83 {
84 
85 /*---------------------------------------------------------------------------*\
86  Class turbulentTemperatureRadCoupledMixedFvPatchScalarField Declaration
87 \*---------------------------------------------------------------------------*/
88 
89 class turbulentTemperatureRadCoupledMixedFvPatchScalarField
90 :
91  public mixedFvPatchScalarField,
92  public temperatureCoupledBase
93 {
94  // Private Data
95 
96  //- Name of field on the neighbour region
97  const word TnbrName_;
98 
99  //- Name of the radiative heat flux in the neighbor region
100  const word qrNbrName_;
101 
102  //- Name of the radiative heat flux in local region
103  const word qrName_;
104 
105  //- Thickness of layers
106  scalarList thicknessLayers_;
107 
108  //- Conductivity of layers
109  scalarList kappaLayers_;
110 
111  //- Total contact resistance
112  scalar contactRes_;
113 
114 
115 public:
116 
117  //- Runtime type information
118  TypeName("compressible::turbulentTemperatureRadCoupledMixed");
119 
120 
121  // Constructors
122 
123  //- Construct from patch and internal field
125  (
126  const fvPatch&,
128  );
129 
130  //- Construct from patch, internal field and dictionary
132  (
133  const fvPatch&,
135  const dictionary&
136  );
137 
138  //- Construct by mapping given
139  // turbulentTemperatureCoupledBaffleMixedFvPatchScalarField onto a
140  // new patch
142  (
143  const
145  const fvPatch&,
147  const fvPatchFieldMapper&
148  );
149 
150  //- Construct and return a clone
151  virtual tmp<fvPatchScalarField> clone() const
152  {
154  (
156  (
157  *this
158  )
159  );
160  }
161 
162  //- Construct as copy setting internal field reference
164  (
167  );
168 
169  //- Construct and return a clone setting internal field reference
171  (
173  ) const
174  {
176  (
178  (
179  *this,
180  iF
181  )
182  );
183  }
184 
185 
186  // Member Functions
187 
188  //- Update the coefficients associated with the patch field
189  virtual void updateCoeffs();
190 
191  //- Write
192  virtual void write(Ostream&) const;
193 };
194 
195 
196 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
197 
198 } // End namespace compressible
199 } // End namespace Foam
200 
201 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
202 
203 #endif
204 
205 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:158
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:61
Mixed boundary condition for temperature and radiation heat transfer to be used for in multiregion ca...
TypeName("compressible::turbulentTemperatureRadCoupledMixed")
Runtime type information.
Foam::fvPatchFieldMapper.
List< scalar > scalarList
A List of scalars.
Definition: scalarList.H:50
turbulentTemperatureRadCoupledMixedFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:54
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A class for managing temporary objects.
Definition: PtrList.H:53
Namespace for OpenFOAM.