Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
mattijs
2012-10-15 16:00:36 +01:00
75 changed files with 891 additions and 846 deletions

View File

@ -33,7 +33,7 @@ Description
by "zeroGradient" and then corrected from the flux:
\f[
U_p = U_c - n*(n.U_c) + \frac{n*\phi_p}{|Sf|}
U_p = U_c - n (n \cdot U_c) + \frac{n \phi_p}{|S_f|}
\f]
where
@ -43,7 +43,7 @@ Description
U_c | velocity in cells adjacent to the patch [m/s]
n | patch normal vectors
\phi_p | flux at the patch [m3/s or kg/s]
Sf | patch face area vectors [m2]
S_f | patch face area vectors [m2]
\endvartable
where

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -26,6 +26,7 @@ License
#include "noPyrolysis.H"
#include "addToRunTimeSelectionTable.H"
#include "volFields.H"
#include "absorptionEmissionModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -31,6 +31,7 @@ License
#include "fvcDiv.H"
#include "fvcVolumeIntegrate.H"
#include "fvMatrices.H"
#include "absorptionEmissionModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -46,7 +46,6 @@ temperatureThermoBaffleFvPatchScalarField
turbulentTemperatureCoupledBaffleMixedFvPatchScalarField(p, iF),
owner_(false),
baffle_(),
solidThermoType_(new primitiveEntry("thermoType", "undefined")),
dict_(dictionary::null)
{}
@ -69,7 +68,6 @@ temperatureThermoBaffleFvPatchScalarField
),
owner_(ptf.owner_),
baffle_(ptf.baffle_),
solidThermoType_(ptf.solidThermoType_().clone()),
dict_(ptf.dict_)
{}
@ -85,7 +83,6 @@ temperatureThermoBaffleFvPatchScalarField
turbulentTemperatureCoupledBaffleMixedFvPatchScalarField(p, iF, dict),
owner_(false),
baffle_(),
solidThermoType_(new primitiveEntry("thermoType", "undefined")),
dict_(dict)
{
if (!isA<mappedPatchBase>(patch().patch()))
@ -126,7 +123,6 @@ temperatureThermoBaffleFvPatchScalarField
Info << "Creating thermal baffle" << nbrMesh << endl;
baffle_.reset(baffle::New(thisMesh, dict).ptr());
owner_ = true;
solidThermoType_ = dict.lookupEntry("thermoType", false, false).clone();
baffle_->rename(nbrMesh);
}
}
@ -142,10 +138,10 @@ temperatureThermoBaffleFvPatchScalarField
turbulentTemperatureCoupledBaffleMixedFvPatchScalarField(ptf, iF),
owner_(ptf.owner_),
baffle_(ptf.baffle_),
solidThermoType_(ptf.solidThermoType_().clone()),
dict_(ptf.dict_)
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
@ -219,13 +215,12 @@ void temperatureThermoBaffleFvPatchScalarField::write(Ostream& os) const
os.writeKeyword(word(thermoModel + "Coeffs"));
os << dict_.subDict(thermoModel + "Coeffs") << nl;
os << solidThermoType_() << nl;
os.writeKeyword("mixture");
os << dict_.subDict("mixture") << nl;
}
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makePatchTypeField

View File

@ -139,9 +139,6 @@ class temperatureThermoBaffleFvPatchScalarField
//- Thermal baffle
autoPtr<regionModels::thermoBaffleModels::thermoBaffleModel> baffle_;
//- Solid thermo type
autoPtr<entry> solidThermoType_;
//- Dictionary
dictionary dict_;

View File

@ -31,7 +31,7 @@ License
#include "addToRunTimeSelectionTable.H"
#include "zeroGradientFvPatchFields.H"
#include "fvMatrices.H"
#include "absorptionEmissionModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -51,7 +51,6 @@ addToRunTimeSelectionTable(thermoBaffleModel, thermoBaffle2D, dictionary);
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
bool thermoBaffle2D::read()
{
this->solution().lookup("nNonOrthCorr") >> nNonOrthCorr_;
@ -158,7 +157,6 @@ void thermoBaffle2D::solveEnergy()
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
thermoBaffle2D::thermoBaffle2D
(
const word& modelType,
@ -205,6 +203,14 @@ thermoBaffle2D::thermoBaffle2D
dimEnergy/dimVolume/dimTime,
pTraits<scalar>::zero
)
),
radiation_
(
radiation::radiationModel::New
(
dict.subDict("radiation"),
thermo_->T()
)
)
{
init();
@ -257,6 +263,13 @@ thermoBaffle2D::thermoBaffle2D
dimEnergy/dimVolume/dimTime,
pTraits<scalar>::zero
)
),
radiation_
(
radiation::radiationModel::New
(
thermo_->T()
)
)
{
init();
@ -278,17 +291,11 @@ void thermoBaffle2D::init()
{
label patchI = intCoupledPatchIDs_[0];
const label Qsb = Qs_.boundaryField()[patchI].size();
if (Qsb!= thickness_.size())
{
FatalErrorIn
(
"thermoBaffle2D::thermoBaffle2D"
"("
" const word& modelType,"
" const fvMesh& mesh,"
" const dictionary& dict"
")"
) << "the boundary field of Qs is "
FatalErrorIn("thermoBaffle2D::init()")
<< "the boundary field of Qs is "
<< Qsb << " and " << nl
<< "the field 'thickness' is " << thickness_.size() << nl
<< exit(FatalError);
@ -349,7 +356,8 @@ const solidThermo& thermoBaffle2D::thermo() const
void thermoBaffle2D::info() const
{
const labelList& coupledPatches = intCoupledPatchIDs();
forAll (coupledPatches, i)
forAll(coupledPatches, i)
{
const label patchI = coupledPatches[i];
const fvPatchScalarField& ph = h_.boundaryField()[patchI];

View File

@ -100,6 +100,12 @@ protected:
volScalarField Q_;
// Sub models
//- Pointer to radiation model
autoPtr<radiation::radiationModel> radiation_;
// Protected member functions
//- Read control parameters IO dictionary

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -38,7 +38,6 @@ namespace thermoBaffleModels
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
inline tmp<scalarField> thermoBaffle2D::he
(
const scalarField& p,

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -107,11 +107,12 @@ void thermoBaffleModel::init()
const label patchI = intCoupledPatchIDs_[i];
const polyPatch& pp = rbm[patchI];
if (
!isA<mappedVariableThicknessWallPolyPatch>(pp)
&& oneD_
&& !constantThickness_
)
if
(
!isA<mappedVariableThicknessWallPolyPatch>(pp)
&& oneD_
&& !constantThickness_
)
{
FatalErrorIn
(
@ -192,9 +193,6 @@ void thermoBaffleModel::init()
}
}
}
// Create radiation model
radiation_.reset(radiation::radiationModel::New(T()).ptr());
}
}
@ -207,8 +205,7 @@ thermoBaffleModel::thermoBaffleModel(const fvMesh& mesh)
thickness_(),
delta_("delta", dimLength, 0.0),
oneD_(false),
constantThickness_(true),
radiation_(NULL)
constantThickness_(true)
{}
@ -224,8 +221,7 @@ thermoBaffleModel::thermoBaffleModel
thickness_(),
delta_("delta", dimLength, 0.0),
oneD_(false),
constantThickness_(dict.lookupOrDefault<bool>("constantThickness", true)),
radiation_(NULL)
constantThickness_(dict.lookupOrDefault<bool>("constantThickness", true))
{
init();
}
@ -237,8 +233,7 @@ thermoBaffleModel::thermoBaffleModel(const word& modelType, const fvMesh& mesh)
thickness_(),
delta_("delta", dimLength, 0.0),
oneD_(false),
constantThickness_(lookupOrDefault<bool>("constantThickness", true)),
radiation_(NULL)
constantThickness_(lookupOrDefault<bool>("constantThickness", true))
{
init();
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -90,9 +90,6 @@ protected:
//- Is thickness constant
bool constantThickness_;
//- Pointer to radiation model
autoPtr<radiation::radiationModel> radiation_;
// Protected Member Functions
@ -157,7 +154,7 @@ public:
// Selectors
//- Return a reference to the selected model
static autoPtr<thermoBaffleModel> New(const fvMesh& mesh);
static autoPtr<thermoBaffleModel> New(const fvMesh& mesh);
//- Return a reference to the selected model using dictionary
static autoPtr<thermoBaffleModel> New
@ -173,7 +170,6 @@ public:
// Member Functions
// Access
//- Return solid thermo

View File

@ -38,7 +38,6 @@ namespace thermoBaffleModels
autoPtr<thermoBaffleModel> thermoBaffleModel::New(const fvMesh& mesh)
{
word modelType;
{
IOdictionary thermoBafflePropertiesDict
@ -56,6 +55,7 @@ autoPtr<thermoBaffleModel> thermoBaffleModel::New(const fvMesh& mesh)
thermoBafflePropertiesDict.lookup("thermoBaffleModel") >> modelType;
}
Info<< "Selecting baffle model " << modelType << endl;
meshConstructorTable::iterator cstrIter =
@ -82,7 +82,6 @@ autoPtr<thermoBaffleModel> thermoBaffleModel::New
const dictionary& dict
)
{
word modelType = dict.lookup("thermoBaffleModel");
Info<< "Selecting baffle model " << modelType << endl;
@ -93,7 +92,7 @@ autoPtr<thermoBaffleModel> thermoBaffleModel::New
if (cstrIter == dictionaryConstructorTablePtr_->end())
{
FatalErrorIn("thermoBaffleModel::New(const fvMesh&,const dictionary&)")
FatalErrorIn("thermoBaffleModel::New(const fvMesh&, const dictionary&)")
<< "Unknown thermoBaffleModel type " << modelType
<< nl << nl
<< "Valid thermoBaffleModel types are:" << nl

View File

@ -13,6 +13,7 @@ radiationModel/opaqueSolid/opaqueSolid.C
/* Scatter model */
submodels/scatterModel/scatterModel/scatterModel.C
submodels/scatterModel/scatterModel/scatterModelNew.C
submodels/scatterModel/noScatter/noScatter.C
submodels/scatterModel/constantScatter/constantScatter.C

View File

@ -25,11 +25,10 @@ License
#include "radiationCoupledBase.H"
#include "volFields.H"
#include "mappedPatchBase.H"
#include "fvPatchFieldMapper.H"
#include "radiationModel.H"
#include "absorptionEmissionModel.H"
// * * * * * * * * * * * * * Static Member Data * * * * * * * * * * * * * * //
@ -136,10 +135,7 @@ Foam::scalarField Foam::radiationCoupledBase::emissivity() const
{
// Get the coupling information from the mappedPatchBase
const mappedPatchBase& mpp =
refCast<const mappedPatchBase>
(
patch_.patch()
);
refCast<const mappedPatchBase>(patch_.patch());
const polyMesh& nbrMesh = mpp.sampleMesh();
@ -153,10 +149,10 @@ Foam::scalarField Foam::radiationCoupledBase::emissivity() const
// Force recalculation of mapping and schedule
const mapDistribute& distMap = mpp.map();
const fvPatch& nbrPatch = refCast<const fvMesh>
(
nbrMesh
).boundary()[mpp.samplePolyPatch().index()];
const fvMesh& nbrFvMesh = refCast<const fvMesh>(nbrMesh);
const fvPatch& nbrPatch =
nbrFvMesh.boundary()[mpp.samplePolyPatch().index()];
scalarField emissivity
@ -187,7 +183,6 @@ Foam::scalarField Foam::radiationCoupledBase::emissivity() const
) << "Unimplemented method " << method_ << endl
<< "Please set 'emissivity' to one of "
<< emissivityMethodTypeNames_.toc()
<< " and 'emissivityName' to the name of the volScalar"
<< exit(FatalError);
}
break;

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -24,7 +24,6 @@ License
\*---------------------------------------------------------------------------*/
#include "P1.H"
#include "addToRunTimeSelectionTable.H"
#include "fvm.H"
#include "absorptionEmissionModel.H"
@ -40,13 +39,7 @@ namespace Foam
namespace radiation
{
defineTypeNameAndDebug(P1, 0);
addToRunTimeSelectionTable
(
radiationModel,
P1,
dictionary
);
addToRadiationRunTimeSelectionTables(P1);
}
}
@ -123,6 +116,76 @@ Foam::radiation::P1::P1(const volScalarField& T)
{}
Foam::radiation::P1::P1(const dictionary& dict, const volScalarField& T)
:
radiationModel(typeName, dict, T),
G_
(
IOobject
(
"G",
mesh_.time().timeName(),
mesh_,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh_
),
Qr_
(
IOobject
(
"Qr",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0)
),
a_
(
IOobject
(
"a",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("a", dimless/dimLength, 0.0)
),
e_
(
IOobject
(
"e",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
dimensionedScalar("a", dimless/dimLength, 0.0)
),
E_
(
IOobject
(
"E",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
dimensionedScalar("E", dimMass/dimLength/pow3(dimTime), 0.0)
)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::P1::~P1()

View File

@ -96,6 +96,9 @@ public:
//- Construct from components
P1(const volScalarField& T);
//- Construct from components
P1(const dictionary& dict, const volScalarField& T);
//- Destructor
virtual ~P1();

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -24,8 +24,6 @@ License
\*---------------------------------------------------------------------------*/
#include "fvDOM.H"
#include "addToRunTimeSelectionTable.H"
#include "absorptionEmissionModel.H"
#include "scatterModel.H"
#include "constants.H"
@ -40,96 +38,14 @@ namespace Foam
namespace radiation
{
defineTypeNameAndDebug(fvDOM, 0);
addToRunTimeSelectionTable
(
radiationModel,
fvDOM,
dictionary
);
addToRadiationRunTimeSelectionTables(fvDOM);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
Foam::radiation::fvDOM::fvDOM(const volScalarField& T)
:
radiationModel(typeName, T),
G_
(
IOobject
(
"G",
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("G", dimMass/pow3(dimTime), 0.0)
),
Qr_
(
IOobject
(
"Qr",
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0)
),
Qem_
(
IOobject
(
"Qem",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
dimensionedScalar("Qem", dimMass/pow3(dimTime), 0.0)
),
Qin_
(
IOobject
(
"Qin",
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("Qin", dimMass/pow3(dimTime), 0.0)
),
a_
(
IOobject
(
"a",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
dimensionedScalar("a", dimless/dimLength, 0.0)
),
nTheta_(readLabel(coeffs_.lookup("nTheta"))),
nPhi_(readLabel(coeffs_.lookup("nPhi"))),
nRay_(0),
nLambda_(absorptionEmission_->nBands()),
aLambda_(nLambda_),
blackBody_(nLambda_, T),
IRay_(0),
convergence_(coeffs_.lookupOrDefault<scalar>("convergence", 0.0)),
maxIter_(coeffs_.lookupOrDefault<label>("maxIter", 50))
void Foam::radiation::fvDOM::initialise()
{
if (mesh_.nSolutionD() == 3) //3D
{
@ -255,15 +171,186 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T)
Info<< "fvDOM : Allocated " << IRay_.size()
<< " rays with average orientation:" << nl;
forAll(IRay_, i)
{
Info<< '\t' << IRay_[i].I().name()
<< '\t' << IRay_[i].dAve() << nl;
}
Info<< endl;
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::radiation::fvDOM::fvDOM(const volScalarField& T)
:
radiationModel(typeName, T),
G_
(
IOobject
(
"G",
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("G", dimMass/pow3(dimTime), 0.0)
),
Qr_
(
IOobject
(
"Qr",
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0)
),
Qem_
(
IOobject
(
"Qem",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
dimensionedScalar("Qem", dimMass/pow3(dimTime), 0.0)
),
Qin_
(
IOobject
(
"Qin",
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("Qin", dimMass/pow3(dimTime), 0.0)
),
a_
(
IOobject
(
"a",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
dimensionedScalar("a", dimless/dimLength, 0.0)
),
nTheta_(readLabel(coeffs_.lookup("nTheta"))),
nPhi_(readLabel(coeffs_.lookup("nPhi"))),
nRay_(0),
nLambda_(absorptionEmission_->nBands()),
aLambda_(nLambda_),
blackBody_(nLambda_, T),
IRay_(0),
convergence_(coeffs_.lookupOrDefault<scalar>("convergence", 0.0)),
maxIter_(coeffs_.lookupOrDefault<label>("maxIter", 50))
{
initialise();
}
Foam::radiation::fvDOM::fvDOM
(
const dictionary& dict,
const volScalarField& T
)
:
radiationModel(typeName, dict, T),
G_
(
IOobject
(
"G",
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("G", dimMass/pow3(dimTime), 0.0)
),
Qr_
(
IOobject
(
"Qr",
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("Qr", dimMass/pow3(dimTime), 0.0)
),
Qem_
(
IOobject
(
"Qem",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
dimensionedScalar("Qem", dimMass/pow3(dimTime), 0.0)
),
Qin_
(
IOobject
(
"Qin",
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh_,
dimensionedScalar("Qin", dimMass/pow3(dimTime), 0.0)
),
a_
(
IOobject
(
"a",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
dimensionedScalar("a", dimless/dimLength, 0.0)
),
nTheta_(readLabel(coeffs_.lookup("nTheta"))),
nPhi_(readLabel(coeffs_.lookup("nPhi"))),
nRay_(0),
nLambda_(absorptionEmission_->nBands()),
aLambda_(nLambda_),
blackBody_(nLambda_, T),
IRay_(0),
convergence_(coeffs_.lookupOrDefault<scalar>("convergence", 0.0)),
maxIter_(coeffs_.lookupOrDefault<label>("maxIter", 50))
{
initialise();
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::fvDOM::~fvDOM()

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -124,6 +124,9 @@ class fvDOM
// Private Member Functions
//- Initialise
void initialise();
//- Disallow default bitwise copy construct
fvDOM(const fvDOM&);
@ -145,6 +148,9 @@ public:
//- Construct from components
fvDOM(const volScalarField& T);
//- Construct from components
fvDOM(const dictionary& dict, const volScalarField& T);
//- Destructor
virtual ~fvDOM();

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -24,7 +24,6 @@ License
\*---------------------------------------------------------------------------*/
#include "noRadiation.H"
#include "addToRunTimeSelectionTable.H"
#include "physicoChemicalConstants.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -34,13 +33,7 @@ namespace Foam
namespace radiation
{
defineTypeNameAndDebug(noRadiation, 0);
addToRunTimeSelectionTable
(
radiationModel,
noRadiation,
dictionary
);
addToRadiationRunTimeSelectionTables(noRadiation);
}
}
@ -53,6 +46,16 @@ Foam::radiation::noRadiation::noRadiation(const volScalarField& T)
{}
Foam::radiation::noRadiation::noRadiation
(
const dictionary& dict,
const volScalarField& T
)
:
radiationModel(dict, T)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::noRadiation::~noRadiation()

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -46,7 +46,7 @@ namespace radiation
{
/*---------------------------------------------------------------------------*\
Class noRadiation Declaration
Class noRadiation Declaration
\*---------------------------------------------------------------------------*/
class noRadiation
@ -73,6 +73,9 @@ public:
//- Construct from components
noRadiation(const volScalarField& T);
//- Construct from components
noRadiation(const dictionary& dict, const volScalarField& T);
//- Destructor
virtual ~noRadiation();

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -24,7 +24,6 @@ License
\*---------------------------------------------------------------------------*/
#include "opaqueSolid.H"
#include "addToRunTimeSelectionTable.H"
#include "physicoChemicalConstants.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -35,24 +34,26 @@ namespace Foam
{
defineTypeNameAndDebug(opaqueSolid, 0);
addToRunTimeSelectionTable
(
radiationModel,
opaqueSolid,
dictionary
);
addToRadiationRunTimeSelectionTables(opaqueSolid);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::radiation::opaqueSolid::opaqueSolid(const volScalarField& T)
:
radiationModel(typeName, T)
{}
Foam::radiation::opaqueSolid::opaqueSolid
(
const dictionary& dict,
const volScalarField& T
)
:
radiationModel(typeName, T)
radiationModel(typeName, dict, T)
{}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -47,7 +47,7 @@ namespace radiation
{
/*---------------------------------------------------------------------------*\
Class opaqueSolid Declaration
Class opaqueSolid Declaration
\*---------------------------------------------------------------------------*/
class opaqueSolid
@ -74,6 +74,9 @@ public:
//- Construct from components
opaqueSolid(const volScalarField& T);
//- Construct from components
opaqueSolid(const dictionary& dict, const volScalarField& T);
//- Destructor
virtual ~opaqueSolid();

View File

@ -35,11 +35,30 @@ namespace Foam
namespace radiation
{
defineTypeNameAndDebug(radiationModel, 0);
defineRunTimeSelectionTable(radiationModel, T);
defineRunTimeSelectionTable(radiationModel, dictionary);
}
}
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::radiation::radiationModel::initialise()
{
if (radiation_)
{
solverFreq_ = max(1, lookupOrDefault<label>("solverFreq", 1));
absorptionEmission_.reset
(
absorptionEmissionModel::New(*this, mesh_).ptr()
);
scatter_.reset(scatterModel::New(*this, mesh_).ptr());
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::radiation::radiationModel::radiationModel(const volScalarField& T)
@ -67,6 +86,36 @@ Foam::radiation::radiationModel::radiationModel(const volScalarField& T)
{}
Foam::radiation::radiationModel::radiationModel
(
const dictionary& dict,
const volScalarField& T
)
:
IOdictionary
(
IOobject
(
"radiationProperties",
T.time().constant(),
T.mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
dict
),
mesh_(T.mesh()),
time_(T.time()),
T_(T),
radiation_(false),
coeffs_(dictionary::null),
solverFreq_(0),
firstIter_(true),
absorptionEmission_(NULL),
scatter_(NULL)
{}
Foam::radiation::radiationModel::radiationModel
(
const word& type,
@ -87,14 +136,47 @@ Foam::radiation::radiationModel::radiationModel
mesh_(T.mesh()),
time_(T.time()),
T_(T),
radiation_(lookup("radiation")),
coeffs_(subDict(type + "Coeffs")),
solverFreq_(lookupOrDefault<label>("solverFreq", 1)),
radiation_(lookupOrDefault("radiation", true)),
coeffs_(subOrEmptyDict(type + "Coeffs")),
solverFreq_(1),
firstIter_(true),
absorptionEmission_(absorptionEmissionModel::New(*this, mesh_)),
scatter_(scatterModel::New(*this, mesh_))
absorptionEmission_(NULL),
scatter_(NULL)
{
solverFreq_ = max(1, solverFreq_);
initialise();
}
Foam::radiation::radiationModel::radiationModel
(
const word& type,
const dictionary& dict,
const volScalarField& T
)
:
IOdictionary
(
IOobject
(
"radiationProperties",
T.time().constant(),
T.mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
dict
),
mesh_(T.mesh()),
time_(T.time()),
T_(T),
radiation_(lookupOrDefault("radiation", true)),
coeffs_(subOrEmptyDict(type + "Coeffs")),
solverFreq_(1),
firstIter_(true),
absorptionEmission_(NULL),
scatter_(NULL)
{
initialise();
}
@ -111,7 +193,7 @@ bool Foam::radiation::radiationModel::read()
if (regIOobject::read())
{
lookup("radiation") >> radiation_;
coeffs_ = subDict(type() + "Coeffs");
coeffs_ = subOrEmptyDict(type() + "Coeffs");
solverFreq_ = lookupOrDefault<label>("solverFreq", 1);
solverFreq_ = max(1, solverFreq_);

View File

@ -35,6 +35,7 @@ Description
SourceFiles
radiationModel.C
radiationModelNew.C
\*---------------------------------------------------------------------------*/
@ -44,11 +45,10 @@ SourceFiles
#include "IOdictionary.H"
#include "autoPtr.H"
#include "runTimeSelectionTables.H"
#include "volFields.H"
#include "addToRunTimeSelectionTable.H"
#include "volFieldsFwd.H"
#include "fluidThermo.H"
#include "fvMatrices.H"
#include "blackBodyEmission.H"
#include "absorptionEmissionModel.H"
#include "fvMatricesFwd.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -58,6 +58,7 @@ namespace radiation
{
// Forward declaration of classes
class absorptionEmissionModel;
class scatterModel;
/*---------------------------------------------------------------------------*\
@ -108,6 +109,9 @@ private:
// Private Member Functions
//- Initialise
void initialise();
//- Disallow default bitwise copy construct
radiationModel(const radiationModel&);
@ -123,16 +127,28 @@ public:
// Declare runtime constructor selection table
declareRunTimeSelectionTable
(
autoPtr,
radiationModel,
dictionary,
(
const volScalarField& T
),
(T)
);
declareRunTimeSelectionTable
(
autoPtr,
radiationModel,
T,
(
const volScalarField& T
),
(T)
);
declareRunTimeSelectionTable
(
autoPtr,
radiationModel,
dictionary,
(
const dictionary& dict,
const volScalarField& T
),
(dict, T)
);
// Constructors
@ -140,14 +156,32 @@ public:
//- Null constructor
radiationModel(const volScalarField& T);
//- Construct with dictionary
radiationModel(const dictionary& dict, const volScalarField& T);
//- Construct from components
radiationModel(const word& type, const volScalarField& T);
//- Construct from components
radiationModel
(
const word& type,
const dictionary& dict,
const volScalarField& T
);
// Selectors
//- Return a reference to the selected radiation model
static autoPtr<radiationModel> New(const volScalarField& T);
//- Return a reference to the selected radiation model
static autoPtr<radiationModel> New(const volScalarField& T);
//- Return a reference to the selected radiation model
static autoPtr<radiationModel> New
(
const dictionary& dict,
const volScalarField& T
);
//- Destructor
@ -184,6 +218,24 @@ public:
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define addToRadiationRunTimeSelectionTables(model) \
\
addToRunTimeSelectionTable \
( \
radiationModel, \
model, \
dictionary \
); \
\
addToRunTimeSelectionTable \
( \
radiationModel, \
model, \
T \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace radiation

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -23,7 +23,6 @@ License
\*---------------------------------------------------------------------------*/
#include "error.H"
#include "radiationModel.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -53,10 +52,10 @@ Foam::radiation::radiationModel::New
Info<< "Selecting radiationModel " << modelType << endl;
dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(modelType);
TConstructorTable::iterator cstrIter =
TConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end())
if (cstrIter == TConstructorTablePtr_->end())
{
FatalErrorIn
(
@ -64,7 +63,7 @@ Foam::radiation::radiationModel::New
) << "Unknown radiationModel type "
<< modelType << nl << nl
<< "Valid radiationModel types are:" << nl
<< dictionaryConstructorTablePtr_->sortedToc()
<< TConstructorTablePtr_->sortedToc()
<< exit(FatalError);
}
@ -72,4 +71,34 @@ Foam::radiation::radiationModel::New
}
Foam::autoPtr<Foam::radiation::radiationModel>
Foam::radiation::radiationModel::New
(
const dictionary& dict,
const volScalarField& T
)
{
const word modelType(dict.lookup("radiationModel"));
Info<< "Selecting radiationModel " << modelType << endl;
dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(modelType);
if (cstrIter == dictionaryConstructorTablePtr_->end())
{
FatalErrorIn
(
"radiationModel::New(const dictionary&, const volScalarField&)"
) << "Unknown radiationModel type "
<< modelType << nl << nl
<< "Valid radiationModel types are:" << nl
<< dictionaryConstructorTablePtr_->sortedToc()
<< exit(FatalError);
}
return autoPtr<radiationModel>(cstrIter()(dict, T));
}
// ************************************************************************* //

View File

@ -24,7 +24,7 @@ License
\*---------------------------------------------------------------------------*/
#include "viewFactor.H"
#include "addToRunTimeSelectionTable.H"
#include "surfaceFields.H"
#include "constants.H"
#include "greyDiffusiveViewFactorFixedValueFvPatchScalarField.H"
#include "typeInfo.H"
@ -39,68 +39,14 @@ namespace Foam
namespace radiation
{
defineTypeNameAndDebug(viewFactor, 0);
addToRunTimeSelectionTable
(
radiationModel,
viewFactor,
dictionary
);
addToRadiationRunTimeSelectionTables(viewFactor);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
Foam::radiation::viewFactor::viewFactor(const volScalarField& T)
:
radiationModel(typeName, T),
finalAgglom_
(
IOobject
(
"finalAgglom",
mesh_.facesInstance(),
mesh_,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
)
),
map_(),
coarseMesh_
(
IOobject
(
mesh_.name(),
mesh_.polyMesh::instance(),
mesh_.time(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
finalAgglom_
),
Qr_
(
IOobject
(
"Qr",
mesh_.time().timeName(),
mesh_,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh_
),
Fmatrix_(),
CLU_(),
selectedPatches_(mesh_.boundary().size(), -1),
totalNCoarseFaces_(0),
nLocalCoarseFaces_(0),
constEmissivity_(false),
iterCounter_(0),
pivotIndices_(0)
void Foam::radiation::viewFactor::initialise()
{
const polyBoundaryMesh& coarsePatches = coarseMesh_.boundaryMesh();
const volScalarField::GeometricBoundaryField& Qrp = Qr_.boundaryField();
@ -281,6 +227,120 @@ Foam::radiation::viewFactor::viewFactor(const volScalarField& T)
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::radiation::viewFactor::viewFactor(const volScalarField& T)
:
radiationModel(typeName, T),
finalAgglom_
(
IOobject
(
"finalAgglom",
mesh_.facesInstance(),
mesh_,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
)
),
map_(),
coarseMesh_
(
IOobject
(
mesh_.name(),
mesh_.polyMesh::instance(),
mesh_.time(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
finalAgglom_
),
Qr_
(
IOobject
(
"Qr",
mesh_.time().timeName(),
mesh_,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh_
),
Fmatrix_(),
CLU_(),
selectedPatches_(mesh_.boundary().size(), -1),
totalNCoarseFaces_(0),
nLocalCoarseFaces_(0),
constEmissivity_(false),
iterCounter_(0),
pivotIndices_(0)
{
initialise();
}
Foam::radiation::viewFactor::viewFactor
(
const dictionary& dict,
const volScalarField& T
)
:
radiationModel(typeName, dict, T),
finalAgglom_
(
IOobject
(
"finalAgglom",
mesh_.facesInstance(),
mesh_,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
)
),
map_(),
coarseMesh_
(
IOobject
(
mesh_.name(),
mesh_.polyMesh::instance(),
mesh_.time(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh_,
finalAgglom_
),
Qr_
(
IOobject
(
"Qr",
mesh_.time().timeName(),
mesh_,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh_
),
Fmatrix_(),
CLU_(),
selectedPatches_(mesh_.boundary().size(), -1),
totalNCoarseFaces_(0),
nLocalCoarseFaces_(0),
constEmissivity_(false),
iterCounter_(0),
pivotIndices_(0)
{
initialise();
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::viewFactor::~viewFactor()

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -107,6 +107,9 @@ class viewFactor
// Private Member Functions
//- Initialise
void initialise();
//- Insert view factors into main matrix
void insertMatrixElements
(
@ -135,6 +138,9 @@ public:
//- Construct from components
viewFactor(const volScalarField& T);
//- Construct from components
viewFactor(const dictionary& dict, const volScalarField& T);
//- Destructor
virtual ~viewFactor();

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -73,18 +73,14 @@ public:
// Constructors
//- Construct from components
binaryAbsorptionEmission
(
const dictionary& dict,
const fvMesh& mesh
);
binaryAbsorptionEmission(const dictionary& dict, const fvMesh& mesh);
//- Destructor
virtual ~binaryAbsorptionEmission();
// Member Operators
// Member Functions
// Access

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -77,18 +77,14 @@ public:
// Constructors
//- Construct from components
constantAbsorptionEmission
(
const dictionary& dict,
const fvMesh& mesh
);
constantAbsorptionEmission(const dictionary& dict, const fvMesh& mesh);
//- Destructor
virtual ~constantAbsorptionEmission();
// Member Operators
// Member Functions
// Access

View File

@ -152,18 +152,14 @@ public:
// Constructors
//- Construct from components
greyMeanAbsorptionEmission
(
const dictionary& dict,
const fvMesh& mesh
);
greyMeanAbsorptionEmission(const dictionary& dict, const fvMesh& mesh);
//- Destructor
virtual ~greyMeanAbsorptionEmission();
// Member Operators
// Member Functions
// Access

View File

@ -125,7 +125,7 @@ public:
virtual ~greyMeanSolidAbsorptionEmission();
// Member Operators
// Member Functions
// Access

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -56,17 +56,13 @@ class noAbsorptionEmission
public:
//- Runtime type information
TypeName("noAbsorptionEmission");
TypeName("none");
// Constructors
//- Construct from components
noAbsorptionEmission
(
const dictionary& dict,
const fvMesh& mesh
);
noAbsorptionEmission(const dictionary& dict, const fvMesh& mesh);
//- Destructor

View File

@ -181,11 +181,7 @@ public:
// Constructors
//- Construct from components
wideBandAbsorptionEmission
(
const dictionary& dict,
const fvMesh& mesh
);
wideBandAbsorptionEmission(const dictionary& dict, const fvMesh& mesh);
//- Destructor

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -45,7 +45,7 @@ namespace radiation
{
/*---------------------------------------------------------------------------*\
Class constantScatter Declaration
Class constantScatter Declaration
\*---------------------------------------------------------------------------*/
class constantScatter
@ -78,25 +78,17 @@ public:
// Constructors
//- Construct from components
constantScatter
(
const dictionary& dict,
const fvMesh& mesh
);
constantScatter(const dictionary& dict, const fvMesh& mesh);
//- Destructor
~constantScatter();
virtual ~constantScatter();
// Member Operators
// Member Functions
// Edit
// Access
//- Return scatter coefficient
tmp<volScalarField> sigmaEff() const;
//- Return scatter coefficient
tmp<volScalarField> sigmaEff() const;
};

View File

@ -0,0 +1,83 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "noScatter.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
namespace radiation
{
defineTypeNameAndDebug(noScatter, 0);
addToRunTimeSelectionTable(scatterModel, noScatter, dictionary);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::radiation::noScatter::noScatter
(
const dictionary& dict,
const fvMesh& mesh
)
:
scatterModel(dict, mesh)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::radiation::noScatter::~noScatter()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::radiation::noScatter::sigmaEff() const
{
return tmp<volScalarField>
(
new volScalarField
(
IOobject
(
"sigma",
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
mesh_,
dimensionedScalar("zero", dimless/dimLength, 0.0)
)
);
}
// ************************************************************************* //

View File

@ -0,0 +1,88 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::radiation::noScatter
Description
Dummy scatter model for 'none'
SourceFiles
scatterModel.C
\*---------------------------------------------------------------------------*/
#ifndef radiationConstantScatter_H
#define radiationConstantScatter_H
#include "scatterModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace radiation
{
/*---------------------------------------------------------------------------*\
Class noScatter Declaration
\*---------------------------------------------------------------------------*/
class noScatter
:
public scatterModel
{
public:
//- Runtime type information
TypeName("none");
// Constructors
//- Construct from components
noScatter(const dictionary& dict, const fvMesh& mesh);
//- Destructor
virtual ~noScatter();
// Member Functions
//- Return scatter coefficient
tmp<volScalarField> sigmaEff() const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace radiation
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -45,7 +45,7 @@ namespace radiation
{
/*---------------------------------------------------------------------------*\
Class scatterModel Declaration
Class scatterModel Declaration
\*---------------------------------------------------------------------------*/
class scatterModel
@ -81,11 +81,7 @@ public:
// Constructors
//- Construct from components
scatterModel
(
const dictionary& dict,
const fvMesh& mesh
);
scatterModel(const dictionary& dict, const fvMesh& mesh);
// Selector
@ -103,10 +99,8 @@ public:
// Member Functions
// Access
//- Return scatter coefficient
virtual tmp<volScalarField> sigmaEff() const = 0;
//- Return scatter coefficient
virtual tmp<volScalarField> sigmaEff() const = 0;
};

View File

@ -16,20 +16,13 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel greyMeanSolidAbsorptionEmission;
greyMeanSolidAbsorptionEmissionCoeffs
{
v
{
absorptivity 0.0; //opaque
@ -41,16 +34,9 @@ greyMeanSolidAbsorptionEmissionCoeffs
absorptivity 0.0;
emissivity 0.85;
}
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,18 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation on;
radiationModel fvDOM;
noRadiation
{
}
P1Coeffs
{
}
fvDOMCoeffs
{
nPhi 3; // azimuthal angles in PI/2 on X-Y.(from Y to X)
@ -194,13 +184,7 @@ greyMeanAbsorptionEmissionCoeffs
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -15,18 +15,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation on;
radiationModel fvDOM;
noRadiation
{
}
P1Coeffs
{
}
fvDOMCoeffs
{
nPhi 4; // azimuthal angles in PI/2 on X-Y.(from Y to X)
@ -191,13 +181,7 @@ greyMeanAbsorptionEmissionCoeffs
}
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,18 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation on;
radiationModel fvDOM;
noRadiation
{
}
P1Coeffs
{
}
fvDOMCoeffs
{
nPhi 2; // azimuthal angles in PI/2 on X-Y.(from Y to X)
@ -192,13 +182,7 @@ greyMeanAbsorptionEmissionCoeffs
}
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -98,7 +98,6 @@ dictionaryReplacement
kappa fluidThermo;
kappaName none;
// Thermo baffle model
thermoBaffleModel thermoBaffle2D;
regionName baffleRegion;
@ -108,7 +107,6 @@ dictionaryReplacement
{
}
// Solid thermo
thermoType
{
@ -121,7 +119,6 @@ dictionaryReplacement
energy sensibleEnthalpy;
}
mixture
{
specie
@ -144,6 +141,13 @@ dictionaryReplacement
}
}
radiation
{
radiationModel opaqueSolid;
absorptionEmissionModel none;
scatterModel none;
}
value uniform 300;
}
}

View File

@ -15,18 +15,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation on;
radiationModel P1;
noRadiation
{
}
P1Coeffs
{
}
// Number of flow iterations per radiation iteration
solverFreq 1;
@ -39,13 +29,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -15,18 +15,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation on;
radiationModel fvDOM;
noRadiation
{
}
P1Coeffs
{
}
fvDOMCoeffs
{
nPhi 3; // azimuthal angles in PI/2 on X-Y.(from Y to X)
@ -47,13 +37,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -18,8 +18,5 @@ radiation off;
radiationModel none;
noRadiation
{
}
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -18,8 +18,5 @@ radiation off;
radiationModel none;
noRadiation
{
}
// ************************************************************************* //

View File

@ -18,8 +18,5 @@ radiation off;
radiationModel none;
noRadiation
{
}
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -18,8 +18,4 @@ radiation off;
radiationModel none;
noRadiation
{
}
// ************************************************************************* //

View File

@ -18,8 +18,5 @@ radiation off;
radiationModel none;
noRadiation
{
}
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -18,8 +18,5 @@ radiation off;
radiationModel none;
noRadiation
{
}
// ************************************************************************* //

View File

@ -18,8 +18,5 @@ radiation off;
radiationModel none;
noRadiation
{
}
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -18,8 +18,5 @@ radiation off;
radiationModel none;
noRadiation
{
}
// ************************************************************************* //

View File

@ -15,9 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation on;
radiationModel viewFactor;//fvDOM;//P1;
radiationModel viewFactor;
viewFactorCoeffs
{
@ -26,22 +24,6 @@ viewFactorCoeffs
constantEmissivity true; //constant emissivity on surfaces.
}
noRadiation
{
}
P1Coeffs
{
}
fvDOMCoeffs
{
nPhi 3; // azimuthal angles in PI/2 on X-Y.(from Y to X)
nTheta 4; // polar angles in PI (from Z to X-Y plane)
convergence 1e-3; // convergence criteria for radiation iteration
maxIter 5; // maximum number of iterations
}
// Number of flow iterations per radiation iteration
solverFreq 3;
@ -144,13 +126,7 @@ greyMeanAbsorptionEmissionCoeffs
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -16,14 +16,8 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel opaqueSolid;
opaqueSolidCoeffs
{
}
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
@ -33,13 +27,7 @@ constantAbsorptionEmissionCoeffs
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -14,9 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation on;
radiationModel viewFactor;//fvDOM;//P1;
radiationModel viewFactor;
viewFactorCoeffs
{
@ -25,22 +23,6 @@ viewFactorCoeffs
constantEmissivity true; //constant emissivity on surfaces.
}
noRadiation
{
}
P1Coeffs
{
}
fvDOMCoeffs
{
nPhi 3; // azimuthal angles in PI/2 on X-Y.(from Y to X)
nTheta 4; // polar angles in PI (from Z to X-Y plane)
convergence 1e-3; // convergence criteria for radiation iteration
maxIter 5; // maximum number of iterations
}
// Number of flow iterations per radiation iteration
solverFreq 3;
@ -143,13 +125,7 @@ greyMeanAbsorptionEmissionCoeffs
}
scatterModel constantScatter;
constantScatterCoeffs
{
sigma sigma [ 0 -1 0 0 0 0 0 ] 0;
C C [ 0 0 0 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -19,6 +19,4 @@ radiation off;
radiationModel none;
solverFreq 10;
// ************************************************************************* //

View File

@ -19,6 +19,4 @@ radiation off;
radiationModel none;
solverFreq 10;
// ************************************************************************* //

View File

@ -15,16 +15,10 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation on;
solverFreq 1;
radiationModel P1;
noRadiation
{
}
P1Coeffs
{
C C [ 0 0 0 0 0 0 0 ] 0;

View File

@ -19,11 +19,5 @@ radiation off;
radiationModel none;
solverFreq 10;
absorptionEmissionModel none;
scatterModel none;
// ************************************************************************* //

View File

@ -19,47 +19,6 @@ radiation off;
radiationModel none;
solverFreq 10;
noRadiationCoeffs
{
}
P1Coeffs
{
C C [ 0 0 0 0 0 0 0 ] 0;
}
absorptionEmissionModel binaryAbsorptionEmission;
binaryAbsorptionEmissionCoeffs
{
model1
{
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
{
absorptivity absorptivity [ 0 -1 0 0 0 0 0 ] 0.5;
emissivity emissivity [ 0 -1 0 0 0 0 0 ] 0.5;
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
}
model2
{
absorptionEmissionModel cloudAbsorptionEmission;
cloudAbsorptionEmissionCoeffs
{
cloudNames ( coalCloud1 limestoneCloud1 );
}
}
}
scatterModel cloudScatter;
cloudScatterCoeffs
{
cloudNames ( coalCloud1 limestoneCloud1 );
}
// ************************************************************************* //

View File

@ -19,43 +19,4 @@ radiation off;
radiationModel none;
solverFreq 10;
P1Coeffs
{
C C [ 0 0 0 0 0 0 0 ] 0;
}
absorptionEmissionModel binaryAbsorptionEmission;
binaryAbsorptionEmissionCoeffs
{
model1
{
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
{
absorptivity absorptivity [ 0 -1 0 0 0 0 0 ] 0.5;
emissivity emissivity [ 0 -1 0 0 0 0 0 ] 0.5;
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
}
model2
{
absorptionEmissionModel cloudAbsorptionEmission;
cloudAbsorptionEmissionCoeffs
{
cloudNames ( coalCloud1 limestoneCloud1 );
}
}
}
scatterModel cloudScatter;
cloudScatterCoeffs
{
cloudNames ( coalCloud1 limestoneCloud1 );
}
// ************************************************************************* //

View File

@ -19,49 +19,5 @@ radiation off;
radiationModel none;
solverFreq 10;
P1Coeffs
{
C C [ 0 0 0 0 0 0 0 ] 0;
}
absorptionEmissionModel binaryAbsorptionEmission;
binaryAbsorptionEmissionCoeffs
{
model1
{
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
{
absorptivity absorptivity [ 0 -1 0 0 0 0 0 ] 0.5;
emissivity emissivity [ 0 -1 0 0 0 0 0 ] 0.5;
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
}
model2
{
absorptionEmissionModel cloudAbsorptionEmission;
cloudAbsorptionEmissionCoeffs
{
cloudNames
(
sprayCloud
);
}
}
}
scatterModel cloudScatter;
cloudScatterCoeffs
{
cloudNames
(
sprayCloud
);
}
// ************************************************************************* //