turbulentTemperatureRadFixedGradientFvPatchScalarField.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 | Copyright (C) 2011-2015 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  turbulentTemperatureRadFixedGradientFvPatchScalarField
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 the
35  mesh database using the \c lookup option, or from a \c solidThermo
36  or \c fluidThermo thermophysical package.
37 
38  \heading Patch usage
39 
40  \table
41  Property | Description | Required | Default value
42  kappa | thermal conductivity option | yes |
43  kappaName | name of thermal conductivity field | no |
44  Tnbr | name of the field | no | T
45  QrNbr | name of the radiative flux in the nbr region | no | none
46  Qr | name of the radiative flux in this region | no | none
47  thicknessLayers | list of thicknesses per layer [m] | no |
48  kappaLayers | list of thermal conductivites per layer [W/m/K] | no |
49  \endtable
50 
51  Example of the boundary condition specification:
52  \verbatim
53  myPatch
54  {
55  type compressible::turbulentTemperatureRadCoupledMixed;
56  Tnbr T;
57  kappa lookup;
58  KappaName kappa;
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  value uniform 300;
64  }
65  \endverbatim
66 
67  Needs to be on underlying mapped(Wall)FvPatch.
68 
69  Note: kappa : heat conduction at patch. Gets supplied how to
70  lookup/calculate
71  kappa:
72  - 'lookup' : lookup volScalarField (or volSymmTensorField) with name
73  - 'fluidThermo' : use fluidThermo and compressible::RASmodel to calculate K
74  - 'solidThermo' : use solidThermo kappa()
75  - 'directionalSolidThermo' directionalKappa()
76 
77 SourceFiles
78  turbulentTemperatureRadFixedGradientFvPatchScalarField.C
79 
80 \*---------------------------------------------------------------------------*/
81 
82 #ifndef turbulentTemperatureRadFixedGradientFvPatchScalarField_H
83 #define turbulentTemperatureRadFixedGradientFvPatchScalarField_H
84 
86 #include "scalarList.H"
87 
88 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
89 
90 namespace Foam
91 {
92 namespace incompressible
93 {
94 
95 /*---------------------------------------------------------------------------*\
96  Class turbulentTemperatureRadFixedGradientFvPatchScalarField Declaration
97 \*---------------------------------------------------------------------------*/
98 
100 :
101  public fixedGradientFvPatchScalarField
102 {
103  // Private data
104 
105  //- Name of field for radiation heatFlux
106  //const word QrName_;
107 
108  //- Name of Heat flux for W/m2
109  //const word QsName_;
110  scalarField Qs;
111 
112  //- Name of Heat flux for W
113  //const word QvName_;
114  scalarField Qv;
115 
116 public:
117 
118  //- Runtime type information
119  TypeName("incompressible::turbulentTemperatureRadFixedGradient");
120 
121 
122  // Constructors
123 
124  //- Construct from patch and internal field
126  (
127  const fvPatch&,
128  const DimensionedField<scalar, volMesh>&
129  );
130 
131  //- Construct from patch, internal field and dictionary
133  (
134  const fvPatch&,
135  const DimensionedField<scalar, volMesh>&,
136  const dictionary&
137  );
138 
139  //- Construct by mapping given
140  // turbulentTemperatureCoupledBaffleFixedGradientFvPatchScalarField onto a
141  // new patch
143  (
144  const
146  const fvPatch&,
149  );
150 
151  //- Construct and return a clone
153  {
155  (
157  (
158  *this
159  )
160  );
161  }
162 
163  //- Construct as copy setting internal field reference
165  (
168  );
169 
170  //- Construct and return a clone setting internal field reference
172  (
174  ) const
175  {
177  (
179  (
180  *this,
181  iF
182  )
183  );
184  }
185 
186 
187  // Member functions
188 
189  //- Update the coefficients associated with the patch field
190  virtual void updateCoeffs();
191 
192  //- Write
193  virtual void write(Ostream&) const;
194 };
195 
196 
197 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
198 
199 } // End namespace compressible
200 } // End namespace Foam
201 
202 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
203 
204 #endif
205 
206 // ************************************************************************* //
Foam::scalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Definition: primitiveFieldsFwd.H:48
Foam::incompressible::turbulentTemperatureRadFixedGradientFvPatchScalarField::Qv
scalarField Qv
Name of Heat flux for W.
Definition: turbulentTemperatureRadFixedGradientFvPatchScalarField.H:152
Foam::incompressible::turbulentTemperatureRadFixedGradientFvPatchScalarField::TypeName
TypeName("incompressible::turbulentTemperatureRadFixedGradient")
Runtime type information.
turbulentTemperatureRadFixedGradientFvPatchScalarField
Mixed boundary condition for temperature and radiation heat transfer to be used for in multiregion ca...
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:118
Foam::incompressible::turbulentTemperatureRadFixedGradientFvPatchScalarField::clone
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
Definition: turbulentTemperatureRadFixedGradientFvPatchScalarField.H:190
scalarList.H
Foam::incompressible::turbulentTemperatureRadFixedGradientFvPatchScalarField::updateCoeffs
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Definition: turbulentTemperatureRadFixedGradientFvPatchScalarField.C:169
Foam::Field
Pre-declare SubField and related Field type.
Definition: Field.H:57
Foam::fvPatch
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:61
Foam::incompressible::turbulentTemperatureRadFixedGradientFvPatchScalarField
Definition: turbulentTemperatureRadFixedGradientFvPatchScalarField.H:137
Foam::incompressible::turbulentTemperatureRadFixedGradientFvPatchScalarField::Qs
scalarField Qs
Name of field for radiation heatFlux.
Definition: turbulentTemperatureRadFixedGradientFvPatchScalarField.H:148
Foam::dictionary
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:137
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
fixedGradientFvPatchFields.H
Foam::incompressible::turbulentTemperatureRadFixedGradientFvPatchScalarField::write
virtual void write(Ostream &) const
Write.
Definition: turbulentTemperatureRadFixedGradientFvPatchScalarField.C:260
Foam::incompressible::turbulentTemperatureRadFixedGradientFvPatchScalarField::turbulentTemperatureRadFixedGradientFvPatchScalarField
turbulentTemperatureRadFixedGradientFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Definition: turbulentTemperatureRadFixedGradientFvPatchScalarField.C:42
Foam::fvPatchFieldMapper
Foam::fvPatchFieldMapper.
Definition: fvPatchFieldMapper.H:45
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:53
Foam::DimensionedField
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: DimensionedField.H:51