Loading...
Searching...
No Matches
transparent.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) 2018 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::transparent
28
29Description
30 Radiation boundary model for transparent walls. It requires to
31 specify a wallAbsorptionEmissionModel in boundaryRadiationProperties
32 file.
33
34Usage
35 \verbatim
36
37 type transparent;
38 wallAbsorptionEmissionModel
39 {
40 type multiBandAbsorption;
41 absorptivity (0.3 0.7);
42 emissivity (0.3 0.7);
43 };
44
45 \endverbatim
46
47\*---------------------------------------------------------------------------*/
48
49#ifndef Foam_radiation_transparent_H
50#define Foam_radiation_transparent_H
51
53
54// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55
56namespace Foam
57{
58namespace radiation
59{
60
61/*---------------------------------------------------------------------------*\
62 Class transparent Declaration
63\*---------------------------------------------------------------------------*/
64
65class transparent
66:
68{
69
70protected:
71
72 // Protected data
73
74 //- Reference to the polyPatch
75 const polyPatch& pp_;
76
77
78public:
79
80 //- Runtime type information
81 TypeName("transparent");
82
83 // Constructors
84
85 //- Construct from components
86 transparent(const dictionary& dict, const polyPatch& pp);
87
88
89 //- Destructor
90 virtual ~transparent() = default;
92
93 // Member Functions
94
95 //- Return emissivity
96 virtual tmp<scalarField> e
97 (
98 const label bandI,
99 const vectorField* incomingDirection,
100 const scalarField* T
101 ) const;
102
103 //- Return emissivity on face
104 virtual scalar e
105 (
106 const label faceI,
107 const label bandI,
108 const vector& dir,
109 const scalar T
110 ) const;
111
112 //- Return absorptivity on patch
113 virtual tmp<scalarField> a
114 (
115 const label bandI,
116 const vectorField* incomingDirection,
117 const scalarField* T
118 ) const;
119
120 //- Return absorptivity on face
121 virtual scalar a
122 (
123 const label faceI,
124 const label bandI,
125 const vector& dir,
126 const scalar T
127 ) const;
128
129 //- Return transmissivity on patch
130 virtual tmp<scalarField> t
131 (
132 const label bandI,
133 const vectorField* incomingDirection,
134 const scalarField* T
135 ) const;
136
137 //- Return transmissivity on face
138 virtual scalar t
139 (
140 const label faceI,
141 const label bandI,
142 const vector& dir,
143 const scalar T
144 ) const;
145
146 //- Return specular reflectivity on patch
147 virtual tmp<scalarField> rSpec
148 (
149 const label bandI,
150 const vectorField* incomingDirection,
151 const scalarField* T
152 ) const;
153
154 //- Return specular reflectivity on face
155 virtual scalar rSpec
156 (
157 const label faceI,
158 const label bandI,
159 const vector& dir,
160 const scalar T
161 ) const;
162
163 //- Return diffusive reflectivity on patch
164 virtual tmp<scalarField> rDiff
165 (
166 const label bandI,
167 const vectorField* incomingDirection,
168 const scalarField* T
169 ) const;
170
171 //- Return diffusive reflectivity on face
172 virtual scalar rDiff
173 (
174 const label faceI,
175 const label bandI,
176 const vector& dir,
177 const scalar T
178 ) const;
179
180 //- Is Grey
181 virtual bool isGrey() const;
182
183 //- Number of bands
184 virtual label nBands() const;
185};
186
187
188// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
189
190} // End namespace radiation
191} // End namespace Foam
192
193// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
194
195#endif
196
197// ************************************************************************* //
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
A patch is a list of labels that address the faces in the global face list.
Definition polyPatch.H:73
boundaryRadiationPropertiesPatch(const dictionary &, const polyPatch &)
Construct from patch, internal field and dictionary.
virtual tmp< scalarField > a(const label bandI, const vectorField *incomingDirection, const scalarField *T) const
Return absorptivity on patch.
Definition transparent.C:89
virtual bool isGrey() const
Is Grey.
virtual ~transparent()=default
Destructor.
TypeName("transparent")
Runtime type information.
const polyPatch & pp_
Reference to the polyPatch.
Definition transparent.H:70
virtual tmp< scalarField > rDiff(const label bandI, const vectorField *incomingDirection, const scalarField *T) const
Return diffusive reflectivity on patch.
virtual label nBands() const
Number of bands.
virtual tmp< scalarField > t(const label bandI, const vectorField *incomingDirection, const scalarField *T) const
Return transmissivity on patch.
virtual tmp< scalarField > rSpec(const label bandI, const vectorField *incomingDirection, const scalarField *T) const
Return specular reflectivity on patch.
transparent(const dictionary &dict, const polyPatch &pp)
Construct from components.
Definition transparent.C:44
A class for managing temporary objects.
Definition tmp.H:75
Namespace for radiation modelling.
Namespace for OpenFOAM.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
Vector< scalar > vector
Definition vector.H:57
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dictionary dict
volScalarField & e
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68