Loading...
Searching...
No Matches
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-------------------------------------------------------------------------------
10License
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
26Class
27 Foam::radiation::fixedIncidentRadiationFvPatchScalarField
28
29Group
30 grpThermoBoundaryConditions
31
32Description
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
64SourceFiles
65 fixedIncidentRadiationFvPatchScalarField.C
66
67\*---------------------------------------------------------------------------*/
68
69#ifndef fixedIncidentRadiationFvPatchScalarField_H
70#define fixedIncidentRadiationFvPatchScalarField_H
71
74
75// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
76
77namespace Foam
78{
79namespace radiation
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
96public:
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);
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&);
166
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// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition Ostream.H:59
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
A FieldMapper for finite-volume patch fields.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition fvPatch.H:71
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual tmp< fvPatchField< scalar > > clone(const DimensionedField< scalar, volMesh > &iF) const
Clone with an internal field reference.
virtual tmp< fvPatchField< scalar > > clone() const
Return a clone.
fixedIncidentRadiationFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName("fixedIncidentRadiation")
Runtime type information.
temperatureCoupledBase(const fvPatch &patch, const KMethodType method=KMethodType::mtFluidThermo)
Default construct from patch, using fluidThermo (default) or specified method.
A class for managing temporary objects.
Definition tmp.H:75
Namespace for radiation modelling.
Namespace for OpenFOAM.
List< label > labelList
A List of labels.
Definition List.H:62
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
fvPatchField< scalar > fvPatchScalarField
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68