fixedIncidentRadiationFvPatchScalarField.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) 2016 OpenCFD Ltd.
9 -------------------------------------------------------------------------------
10 License
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 
26 Class
27  Foam::radiation::fixedIncidentRadiationFvPatchScalarField
28 
29 Group
30  grpThermoBoundaryConditions
31 
32 Description
33  Boundary condition for thermal coupling for solid regions.
34  Used to emulate a fixed incident radiative heat flux on a wall.
35 
36  the gradient heat flux is calculated as :
37 
38  qr = emissivity*(qrIncident - sigma_*T^4)
39 
40  where:
41 
42  emissivity is the emissivity of the solid.
43  qrIncident is the specified fixed incident radiation.
44 
45  Example usage:
46 
47  wall
48  {
49  type fixedIncidentRadiation;
50  qrIncident uniform 500;
51  kappa solidThermo;
52  KappaName none;
53  }
54 
55  kappa:
56  - 'lookup' : lookup volScalarField (or volSymmTensorField) with name
57  - 'solidThermo' : use solidThermo kappa()
58 
59  emissivity:
60  - 'lookup' : lookup volScalarField emissivity
61  - 'localSolidRadiation': Look up for local solidRadiation
62 
63 
64 SourceFiles
65  fixedIncidentRadiationFvPatchScalarField.C
66 
67 \*---------------------------------------------------------------------------*/
68 
69 #ifndef fixedIncidentRadiationFvPatchScalarField_H
70 #define fixedIncidentRadiationFvPatchScalarField_H
71 
73 #include "temperatureCoupledBase.H"
74 
75 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
76 
77 namespace Foam
78 {
79 namespace radiation
80 {
81 /*---------------------------------------------------------------------------*\
82  Class fixedIncidentRadiationFvPatchScalarField declaration
83 \*---------------------------------------------------------------------------*/
84 
86 :
87  public fixedGradientFvPatchScalarField,
89 {
90  // Private data
91 
92  //- Incident radiative heat flux
93  scalarField qrIncident_;
94 
95 
96 public:
97 
98  //- Runtime type information
99  TypeName("fixedIncidentRadiation");
100 
101 
102  // Constructors
103 
104  //- Construct from patch and internal field
106  (
107  const fvPatch&,
109  );
110 
111  //- Construct from patch, internal field and dictionary
113  (
114  const fvPatch&,
116  const dictionary&
117  );
118 
119  //- Construct by mapping given
120  // turbulentTemperatureCoupledBaffleMixedFvPatchScalarField onto a
121  // new patch
123  (
124  const
126  const fvPatch&,
128  const fvPatchFieldMapper&
129  );
130 
131  //- Construct as copy
133  (
135  );
136 
137 
138  //- Construct and return a clone
139  virtual tmp<fvPatchScalarField> clone() const
140  {
142  (
144  (
145  *this
146  )
147  );
148  }
150  //- Construct as copy setting internal field reference
152  (
155  );
156 
157  //- Construct and return a clone setting internal field reference
159  (
161  ) const
162  {
164  (
166  (
167  *this,
168  iF
169  )
170  );
171  }
172 
174  // Member functions
175 
176 
177  // Mapping functions
178 
179  //- Map (and resize as needed) from self given a mapping object
180  virtual void autoMap(const fvPatchFieldMapper&);
181 
182  //- Reverse map the given fvPatchField onto this fvPatchField
183  virtual void rmap
184  (
185  const fvPatchScalarField&,
186  const labelList&
187  );
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 Foam
200 } // End namespace radiation
201 
202 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
203 
204 #endif
205 
206 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:70
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
TypeName("fixedIncidentRadiation")
Runtime type information.
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
fixedIncidentRadiationFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Boundary condition for thermal coupling for solid regions. Used to emulate a fixed incident radiative...
A FieldMapper for finite-volume patch fields.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:56
Common functions used in temperature coupled boundaries.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: areaFieldsFwd.H:42
A class for managing temporary objects.
Definition: HashPtrTable.H:50
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
Namespace for OpenFOAM.