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  //- Construct as copy setting internal field reference
139  (
142  );
143 
144  //- Return a clone
145  virtual tmp<fvPatchField<scalar>> clone() const
146  {
147  return fvPatchField<scalar>::Clone(*this);
148  }
149 
150  //- Clone with an internal field reference
152  (
154  ) const
155  {
156  return fvPatchField<scalar>::Clone(*this, iF);
157  }
158 
159 
160  // Member functions
161 
162  // Mapping functions
163 
164  //- Map (and resize as needed) from self given a mapping object
165  virtual void autoMap(const fvPatchFieldMapper&);
167  //- Reverse map the given fvPatchField onto this fvPatchField
168  virtual void rmap
169  (
170  const fvPatchScalarField&,
171  const labelList&
172  );
173 
174  //- Update the coefficients associated with the patch field
175  virtual void updateCoeffs();
176 
177  //- Write
178  virtual void write(Ostream&) const;
179 };
180 
181 
182 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
183 
184 } // End namespace Foam
185 } // End namespace radiation
186 
187 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
188 
189 #endif
190 
191 // ************************************************************************* //
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 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...
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
Definition: fvPatchField.H:597
A FieldMapper for finite-volume patch fields.
virtual tmp< fvPatchField< scalar > > clone() const
Return a clone.
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...
A class for managing temporary objects.
Definition: HashPtrTable.H:50
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
Namespace for OpenFOAM.