Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "cloudScatter.H"
00027 #include <OpenFOAM/addToRunTimeSelectionTable.H>
00028 #include <lagrangianIntermediate/thermoCloud.H>
00029
00030
00031
00032 namespace Foam
00033 {
00034 namespace radiation
00035 {
00036 defineTypeNameAndDebug(cloudScatter, 0);
00037
00038 addToRunTimeSelectionTable
00039 (
00040 scatterModel,
00041 cloudScatter,
00042 dictionary
00043 );
00044 }
00045 }
00046
00047
00048
00049
00050 Foam::radiation::cloudScatter::cloudScatter
00051 (
00052 const dictionary& dict,
00053 const fvMesh& mesh
00054 )
00055 :
00056 scatterModel(dict, mesh),
00057 coeffsDict_(dict.subDict(typeName + "Coeffs")),
00058 cloudNames_(coeffsDict_.lookup("cloudNames"))
00059 {}
00060
00061
00062
00063
00064 Foam::radiation::cloudScatter::~cloudScatter()
00065 {}
00066
00067
00068
00069
00070 Foam::tmp<Foam::volScalarField>
00071 Foam::radiation::cloudScatter::sigmaEff() const
00072 {
00073 tmp<volScalarField> tsigma
00074 (
00075 new volScalarField
00076 (
00077 IOobject
00078 (
00079 "sigma",
00080 mesh_.time().timeName(),
00081 mesh_,
00082 IOobject::NO_READ,
00083 IOobject::NO_WRITE,
00084 false
00085 ),
00086 mesh_,
00087 dimensionedScalar("zero", dimless/dimLength, 0.0)
00088 )
00089 );
00090
00091 forAll(cloudNames_, i)
00092 {
00093 const thermoCloud& tc
00094 (
00095 mesh_.objectRegistry::lookupObject<thermoCloud>(cloudNames_[i])
00096 );
00097
00098 tsigma() += tc.sigmap();
00099 }
00100
00101 return 3.0*tsigma;
00102 }
00103
00104
00105