ENH: Have radiative flux Qr on all radiation models
[OpenFOAM-1.6.x.git] / src / thermophysicalModels / radiation / radiationModel / P1 / P1.H
bloba2c15ee8901cc96bff8c366e7487b8f74fb53e4e
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     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, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Class
26     Foam::radiation::P1
28 Description
29     Works well for combustion applications where optical thickness, tau is
30     large, i.e. tau = a*L > 3 (L = distance between objects)
32     Assumes
33      - all surfaces are diffuse
34      - tends to over predict radiative fluxes from sources/sinks
35        *** SOURCES NOT CURRENTLY INCLUDED ***
37 SourceFiles
38     P1.C
40 \*---------------------------------------------------------------------------*/
42 #ifndef radiationModelP1_H
43 #define radiationModelP1_H
45 #include "radiationModel.H"
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 namespace Foam
51 namespace radiation
54 /*---------------------------------------------------------------------------*\
55                            Class P1 Declaration
56 \*---------------------------------------------------------------------------*/
58 class P1
60     public radiationModel
62     // Private data
64         //- Incident radiation / [W/m2]
65         volScalarField G_;
67         //- Total radiative heat flux [W/m2]
68         volScalarField Qr_;
70         //- Absorption coefficient
71         volScalarField a_;
73         //- Emission coefficient
74         volScalarField e_;
76         //- Emission contribution
77         volScalarField E_;
80     // Private member functions
82         //- Disallow default bitwise copy construct
83         P1(const P1&);
85         //- Disallow default bitwise assignment
86         void operator=(const P1&);
89 public:
91     //- Runtime type information
92     TypeName("P1");
95     // Constructors
97         //- Construct from components
98         P1(const volScalarField& T);
101     // Destructor
102     virtual ~P1();
105     // Member functions
107         // Edit
109             //- Solve radiation equation(s)
110             void calculate();
112             //- Read radiation properties dictionary
113             bool read();
116         // Access
118             //- Source term component (for power of T^4)
119             virtual tmp<volScalarField> Rp() const;
121             //- Source term component (constant)
122             virtual tmp<DimensionedField<scalar, volMesh> > Ru() const;
126 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
128 } // End namespace radiation
129 } // End namespace Foam
131 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 #endif
135 // ************************************************************************* //