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-2019 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  kappaMethod | inherited from temperatureCoupledBase | inherited |
46  kappa | inherited from temperatureCoupledBase | inherited |
47  \endtable
48 
49  Example of the boundary condition specification:
50  \verbatim
51  <patchName>
52  {
53  type compressible::turbulentTemperatureRadCoupledMixed;
54  Tnbr T;
55  qrNbr qr; // or none. Name of qr field on neighbour region
56  qr qr; // or none. Name of qr field on local region
57  thicknessLayers (0.1 0.2 0.3 0.4);
58  kappaLayers (1 2 3 4);
59  kappaMethod lookup;
60  kappa kappa;
61  value uniform 300;
62  }
63  \endverbatim
64 
65  Needs to be on underlying mapped(Wall)FvPatch.
66 
67 See also
68  Foam::temperatureCoupledBase
69 
70 SourceFiles
71  turbulentTemperatureRadCoupledMixedFvPatchScalarField.C
72 
73 \*---------------------------------------------------------------------------*/
74 
75 #ifndef turbulentTemperatureRadCoupledMixedFvPatchScalarField_H
76 #define turbulentTemperatureRadCoupledMixedFvPatchScalarField_H
77 
78 #include "mixedFvPatchFields.H"
79 #include "temperatureCoupledBase.H"
80 #include "scalarList.H"
81 
82 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
83 
84 namespace Foam
85 {
86 namespace compressible
87 {
88 
89 /*---------------------------------------------------------------------------*\
90  Class turbulentTemperatureRadCoupledMixedFvPatchScalarField Declaration
91 \*---------------------------------------------------------------------------*/
92 
93 class turbulentTemperatureRadCoupledMixedFvPatchScalarField
94 :
95  public mixedFvPatchScalarField,
96  public temperatureCoupledBase
97 {
98  // Private Data
99 
100  //- Name of field on the neighbour region
101  const word TnbrName_;
102 
103  //- Name of the radiative heat flux in the neighbor region
104  const word qrNbrName_;
105 
106  //- Name of the radiative heat flux in local region
107  const word qrName_;
108 
109  //- Thickness of layers
110  scalarList thicknessLayers_;
111 
112  //- Conductivity of layers
113  scalarList kappaLayers_;
114 
115  //- Total contact resistance
116  scalar contactRes_;
117 
118 
119 public:
120 
121  //- Runtime type information
122  TypeName("compressible::turbulentTemperatureRadCoupledMixed");
123 
124 
125  // Constructors
126 
127  //- Construct from patch and internal field
129  (
130  const fvPatch&,
132  );
133 
134  //- Construct from patch, internal field and dictionary
136  (
137  const fvPatch&,
139  const dictionary&
140  );
141 
142  //- Construct by mapping given
143  // turbulentTemperatureCoupledBaffleMixedFvPatchScalarField onto a
144  // new patch
146  (
147  const
149  const fvPatch&,
151  const fvPatchFieldMapper&
152  );
153 
154  //- Construct and return a clone
155  virtual tmp<fvPatchScalarField> clone() const
156  {
158  (
160  (
161  *this
162  )
163  );
164  }
165 
166  //- Construct as copy setting internal field reference
168  (
171  );
172 
173  //- Construct and return a clone setting internal field reference
175  (
177  ) const
178  {
180  (
182  (
183  *this,
184  iF
185  )
186  );
187  }
188 
189 
190  // Member Functions
191 
192  //- Update the coefficients associated with the patch field
193  virtual void updateCoeffs();
194 
195  //- Write
196  virtual void write(Ostream&) const;
197 };
198 
199 
200 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
201 
202 } // End namespace compressible
203 } // End namespace Foam
204 
205 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206 
207 #endif
208 
209 // ************************************************************************* //
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:53
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.