Loading...
Searching...
No Matches
solidAbsorption.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) 2015-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::solidAbsorption
28
29Description
30 Radiation absorptivity-emissivity model to be used on walls on
31 inter-region patches when the solid opaque radiation model is used
32 in the solid and the wall emissivity and absorptivity are taken from
33 the solid radiation properties
34
35Usage
36 Example usage
37 \verbatim
38 wallAbsorptionEmissionModel
39 {
40 type solidAbsorption;
41 };
42 \endverbatim
43
44
45SourceFiles
46 solidAbsorption.C
47
48\*---------------------------------------------------------------------------*/
49
50#ifndef Foam_radiation_solidAbsorption_H
51#define Foam_radiation_solidAbsorption_H
52
54#include "fvMesh.H"
55
56// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57
58namespace Foam
59{
60namespace radiation
61{
63/*---------------------------------------------------------------------------*\
64 Class solidAbsorption Declaration
65\*---------------------------------------------------------------------------*/
66
68:
70{
71
72 // Private members
73
74 //- Nbr region
75 const fvMesh& nbrRegion() const;
76
77 //- Nbr index patch
78 label nbrPatchIndex() const;
79
80public:
81
82 //- Runtime type information
83 TypeName("solidAbsorption");
85
86 // Constructors
87
88 //- Construct from components
90
91
92 //- Destructor
93 virtual ~solidAbsorption();
94
95
96 // Member Functions
97
98 //- absorptivity coefficient
100 (
101 const label bandI = 0,
102 const vectorField* incomingDirection = nullptr,
103 const scalarField* T = nullptr
104 ) const;
105
106 //- Return absorptivity on face
107 scalar a
108 (
109 const label faceI,
110 const label bandI = 0,
111 const vector dir = Zero,
112 const scalar T = 0
113 ) const;
114
115 //- Return emission coefficient
117 (
118 const label bandI = 0,
119 const vectorField* incomingDirection = nullptr,
120 const scalarField* T = nullptr
121 ) const;
122
123 //- Return emission coefficient
124 scalar e
125 (
126 const label faceI,
127 const label bandI = 0,
128 const vector dir = Zero,
129 const scalar T = 0
130 ) const;
131
132
133 //- Is Grey
134 inline bool isGrey() const
135 {
136 return true;
137 }
138
139 //- Number of bands
140 inline label nBands() const;
141};
142
143
144// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145
146} // End namespace radiation
147} // End namespace Foam
148
149// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150
151#endif
152
153// ************************************************************************* //
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
Mesh data needed to do the Finite Volume discretisation.
Definition fvMesh.H:85
A patch is a list of labels that address the faces in the global face list.
Definition polyPatch.H:73
TypeName("solidAbsorption")
Runtime type information.
tmp< scalarField > a(const label bandI=0, const vectorField *incomingDirection=nullptr, const scalarField *T=nullptr) const
absorptivity coefficient
virtual ~solidAbsorption()
Destructor.
label nBands() const
Number of bands.
solidAbsorption(const dictionary &dict, const polyPatch &pp)
Construct from components.
wallAbsorptionEmissionModel(const dictionary &dict, const polyPatch &pp)
Construct from components.
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.
static constexpr const zero Zero
Global zero (0).
Definition zero.H:127
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