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