00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. 00006 \\/ M anipulation | 00007 ------------------------------------------------------------------------------- 00008 License 00009 This file is part of OpenFOAM. 00010 00011 OpenFOAM is free software: you can redistribute it and/or modify it 00012 under the terms of the GNU General Public License as published by 00013 the Free Software Foundation, either version 3 of the License, or 00014 (at your option) any later version. 00015 00016 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00018 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00019 for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. 00023 00024 Class 00025 Foam::radiation::P1 00026 00027 Description 00028 Works well for combustion applications where optical thickness, tau is 00029 large, i.e. tau = a*L > 3 (L = distance between objects) 00030 00031 Assumes 00032 - all surfaces are diffuse 00033 - tends to over predict radiative fluxes from sources/sinks 00034 *** SOURCES NOT CURRENTLY INCLUDED *** 00035 00036 SourceFiles 00037 P1.C 00038 00039 \*---------------------------------------------------------------------------*/ 00040 00041 #ifndef radiationModelP1_H 00042 #define radiationModelP1_H 00043 00044 #include <radiation/radiationModel.H> 00045 00046 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00047 00048 namespace Foam 00049 { 00050 namespace radiation 00051 { 00052 00053 /*---------------------------------------------------------------------------*\ 00054 Class P1 Declaration 00055 \*---------------------------------------------------------------------------*/ 00056 00057 class P1 00058 : 00059 public radiationModel 00060 { 00061 // Private data 00062 00063 //- Incident radiation / [W/m2] 00064 volScalarField G_; 00065 00066 //- Total radiative heat flux [W/m2] 00067 volScalarField Qr_; 00068 00069 //- Absorption coefficient 00070 volScalarField a_; 00071 00072 //- Emission coefficient 00073 volScalarField e_; 00074 00075 //- Emission contribution 00076 volScalarField E_; 00077 00078 00079 // Private member functions 00080 00081 //- Disallow default bitwise copy construct 00082 P1(const P1&); 00083 00084 //- Disallow default bitwise assignment 00085 void operator=(const P1&); 00086 00087 00088 public: 00089 00090 //- Runtime type information 00091 TypeName("P1"); 00092 00093 00094 // Constructors 00095 00096 //- Construct from components 00097 P1(const volScalarField& T); 00098 00099 00100 // Destructor 00101 virtual ~P1(); 00102 00103 00104 // Member functions 00105 00106 // Edit 00107 00108 //- Solve radiation equation(s) 00109 void calculate(); 00110 00111 //- Read radiation properties dictionary 00112 bool read(); 00113 00114 00115 // Access 00116 00117 //- Source term component (for power of T^4) 00118 virtual tmp<volScalarField> Rp() const; 00119 00120 //- Source term component (constant) 00121 virtual tmp<DimensionedField<scalar, volMesh> > Ru() const; 00122 }; 00123 00124 00125 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00126 00127 } // End namespace radiation 00128 } // End namespace Foam 00129 00130 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00131 00132 #endif 00133 00134 // ************************ vim: set sw=4 sts=4 et: ************************ //