ENH: Updated radiation models selection tables

This commit is contained in:
andy
2012-10-15 11:48:14 +01:00
parent 614ffb6b0f
commit a72ef4a169
7 changed files with 57 additions and 52 deletions

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);
}
}

View File

@ -24,8 +24,6 @@ License
\*---------------------------------------------------------------------------*/
#include "fvDOM.H"
#include "addToRunTimeSelectionTable.H"
#include "absorptionEmissionModel.H"
#include "scatterModel.H"
#include "constants.H"
@ -40,13 +38,7 @@ namespace Foam
namespace radiation
{
defineTypeNameAndDebug(fvDOM, 0);
addToRunTimeSelectionTable
(
radiationModel,
fvDOM,
dictionary
);
addToRadiationRunTimeSelectionTables(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);
}
}

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,12 +34,7 @@ namespace Foam
{
defineTypeNameAndDebug(opaqueSolid, 0);
addToRunTimeSelectionTable
(
radiationModel,
opaqueSolid,
dictionary
);
addToRadiationRunTimeSelectionTables(opaqueSolid);
}
}

View File

@ -41,6 +41,24 @@ namespace Foam
}
// * * * * * * * * * * * * * 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)
@ -120,12 +138,12 @@ Foam::radiation::radiationModel::radiationModel
T_(T),
radiation_(lookupOrDefault("radiation", true)),
coeffs_(subOrEmptyDict(type + "Coeffs")),
solverFreq_(lookupOrDefault<label>("solverFreq", 1)),
solverFreq_(1),
firstIter_(true),
absorptionEmission_(absorptionEmissionModel::New(*this, mesh_)),
scatter_(scatterModel::New(*this, mesh_))
absorptionEmission_(NULL),
scatter_(NULL)
{
solverFreq_ = max(1, solverFreq_);
initialise();
}
@ -153,12 +171,12 @@ Foam::radiation::radiationModel::radiationModel
T_(T),
radiation_(lookupOrDefault("radiation", true)),
coeffs_(subOrEmptyDict(type + "Coeffs")),
solverFreq_(lookupOrDefault<label>("solverFreq", 1)),
solverFreq_(1),
firstIter_(true),
absorptionEmission_(absorptionEmissionModel::New(*this, mesh_)),
scatter_(scatterModel::New(*this, mesh_))
absorptionEmission_(NULL),
scatter_(NULL)
{
solverFreq_ = max(1, solverFreq_);
initialise();
}
@ -175,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

@ -45,6 +45,7 @@ SourceFiles
#include "IOdictionary.H"
#include "autoPtr.H"
#include "runTimeSelectionTables.H"
#include "addToRunTimeSelectionTable.H"
#include "volFields.H"
#include "fluidThermo.H"
#include "fvMatrices.H"
@ -109,6 +110,9 @@ private:
// Private Member Functions
//- Initialise
void initialise();
//- Disallow default bitwise copy construct
radiationModel(const radiationModel&);
@ -215,6 +219,24 @@ public:
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define addToRadiationRunTimeSelectionTables(model) \
\
addToRunTimeSelectionTable \
( \
radiationModel, \
model, \
dictionary \
); \
\
addToRunTimeSelectionTable \
( \
radiationModel, \
model, \
T \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace radiation

View File

@ -24,7 +24,6 @@ License
\*---------------------------------------------------------------------------*/
#include "viewFactor.H"
#include "addToRunTimeSelectionTable.H"
#include "constants.H"
#include "greyDiffusiveViewFactorFixedValueFvPatchScalarField.H"
#include "typeInfo.H"
@ -39,13 +38,7 @@ namespace Foam
namespace radiation
{
defineTypeNameAndDebug(viewFactor, 0);
addToRunTimeSelectionTable
(
radiationModel,
viewFactor,
dictionary
);
addToRadiationRunTimeSelectionTables(viewFactor);
}
}