BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / src / thermophysicalModels / solid / radiation / const / constSolidRad.H
blob6919763077af937e67a7a5f67a54e937a15dd08c
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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.
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.
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/>.
24 Class
25     Foam::constSolidRad
27 Description
28     Constant radiative properties
30 SourceFiles
31     constSolidRadI.H
32     constSolidRad.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef constSolidRad_H
37 #define constSolidRad_H
39 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 namespace Foam
44 template<class thermo> class constSolidRad;
46 template<class thermo>
47 Ostream& operator<<
49     Ostream&,
50     const constSolidRad<thermo>&
53 /*---------------------------------------------------------------------------*\
54                       Class constSolidRad Declaration
55 \*---------------------------------------------------------------------------*/
57 template<class thermo>
58 class constSolidRad
60     public  thermo
62     // Private data
64         //- Absorption coefficient
65         scalar kappa_;
67         //- Scattering coefficient
68         scalar sigmaS_;
70         //- Emissivity coefficient
71         scalar emissivity_;
74          //- Construct from components
75         inline constSolidRad
76         (
77             const thermo& t,
78             const scalar kappa,
79             const scalar sigmaS,
80             const scalar emissivity
81         );
84 public:
86     // Constructors
88         //- Construct from Istream
89         constSolidRad(const dictionary&);
91         //- Construct as named copy
92         inline constSolidRad(const word& name, const constSolidRad&);
94         //- Construct and return a clone
95         inline autoPtr<constSolidRad> clone() const;
97         // Selector from Istream
98         inline static autoPtr<constSolidRad> New(Istream& is);
101     // Member functions
103         //- Return absorption coefficient [1/m]
104         inline scalar kappa(scalar T) const;
106         //- Return scattering [1/m]
107         inline scalar sigmaS(scalar T) const;
109         //- Return  emissivity[]
110         inline scalar emissivity(scalar T) const;
113     // Ostream Operator
115         friend Ostream& operator<< <thermo>
116         (
117             Ostream&,
118             const constSolidRad&
119         );
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125 } // End namespace Foam
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129 #include "constSolidRadI.H"
131 #ifdef NoRepository
132 #   include "constSolidRad.C"
133 #endif
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137 #endif
139 // ************************************************************************* //