greyDiffusiveViewFactorFixedValueFvPatchScalarField.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-2018 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::radiation::greyDiffusiveViewFactorFixedValueFvPatchScalarField
26 
27 Description
28  This boundary condition provides a grey-diffuse condition for radiative
29  heat flux, \c qr, for use with the view factor model
30 
31 Usage
32  \table
33  Property | Description | Required | Default value
34  qro | external radiative heat flux | yes |
35  emissivityMode | emissivity mode: solidRadiation or lookup | yes |
36  \endtable
37 
38  Example of the boundary condition specification:
39  \verbatim
40  <patchName>
41  {
42  type greyDiffusiveRadiationViewFactor;
43  qro uniform 0;
44  emissivityMode solidRadiation;
45  value uniform 0;
46  }
47  \endverbatim
48 
49 See also
50  Foam::radiationCoupledBase
51  Foam::radiation::radiationModel
52  Foam::radiation::viewFactor
53  Foam::fixedValueFvPatchField
54 
55 SourceFiles
56  greyDiffusiveViewFactorFixedValueFvPatchScalarField.C
57 
58 \*---------------------------------------------------------------------------*/
59 
60 #ifndef greyDiffusiveViewFactorFixedValueFvPatchScalarField_H
61 #define greyDiffusiveViewFactorFixedValueFvPatchScalarField_H
62 
63 #include "radiationCoupledBase.H"
65 
66 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
67 
68 namespace Foam
69 {
70 namespace radiation
71 {
72 
73 /*---------------------------------------------------------------------------*\
74  Class greyDiffusiveViewFactorFixedValueFvPatchScalarField declaration
75 \*---------------------------------------------------------------------------*/
76 
77 class greyDiffusiveViewFactorFixedValueFvPatchScalarField
78 :
79  public fixedValueFvPatchScalarField,
80  public radiationCoupledBase
81 {
82  // Private data
83 
84  //- External radiative heat flux
85  scalarField qro_;
86 
87 
88 public:
89 
90  //- Runtime type information
91  TypeName("greyDiffusiveRadiationViewFactor");
92 
93 
94  // Constructors
95 
96  //- Construct from patch and internal field
98  (
99  const fvPatch&,
101  );
102 
103  //- Construct from patch, internal field and dictionary
105  (
106  const fvPatch&,
108  const dictionary&
109  );
110 
111  //- Construct by mapping given a
112  // greyDiffusiveViewFactorFixedValueFvPatchScalarField onto a new patch
114  (
116  const fvPatch&,
118  const fvPatchFieldMapper&
119  );
120 
121  //- Construct as copy
123  (
125  );
126 
127  //- Construct and return a clone
128  virtual tmp<fvPatchScalarField> clone() const
129  {
131  (
133  );
134  }
135 
136  //- Construct as copy setting internal field reference
138  (
141  );
143  //- Construct and return a clone setting internal field reference
145  (
147  ) const
148  {
150  (
152  (
153  *this,
154  iF
155  )
156  );
157  }
158 
160  // Member functions
161 
162  // Access
163 
164  //- Return external radiative heat flux
165  const scalarList& qro()
166  {
167  return qro_;
168  }
169 
170 
171  //- Map (and resize as needed) from self given a mapping object
172  virtual void autoMap
173  (
174  const fvPatchFieldMapper&
175  );
176 
177  //- Reverse map the given fvPatchField onto this fvPatchField
178  virtual void rmap
179  (
180  const fvPatchScalarField&,
181  const labelList&
182  );
183 
184 
185  // Evaluation functions
186 
187  //- Update the coefficients associated with the patch field
188  virtual void updateCoeffs();
189 
190 
191  // I-O
192 
193  //- Write
194  virtual void write(Ostream&) const;
195 };
196 
197 
198 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
199 
200 } // End namespace radiation
201 } // End namespace Foam
202 
203 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
204 
205 #endif
206 
207 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:61
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
Definition: fvPatchField.H:66
TypeName("greyDiffusiveRadiationViewFactor")
Runtime type information.
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
greyDiffusiveViewFactorFixedValueFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Foam::fvPatchFieldMapper.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:53
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
This boundary condition provides a grey-diffuse condition for radiative heat flux, qr, for use with the view factor model.
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
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
Namespace for OpenFOAM.