diff --git a/src/thermophysicalModels/radiationModels/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C b/src/thermophysicalModels/radiationModels/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C index 58dbdcc57c..8948182d55 100644 --- a/src/thermophysicalModels/radiationModels/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C +++ b/src/thermophysicalModels/radiationModels/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.C @@ -27,6 +27,7 @@ License #include "addToRunTimeSelectionTable.H" #include "unitConversion.H" #include "zeroGradientFvPatchFields.H" +#include "basicMultiComponentMixture.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -59,17 +60,24 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission speciesNames_(0), specieIndex_(0), lookUpTablePtr_(), - thermo_ - ( - mesh, - const_cast - ( - mesh.lookupObject("thermophysicalProperties") - ) - ), + thermo_(mesh.lookupObject("thermophysicalProperties")), EhrrCoeff_(readScalar(coeffsDict_.lookup("EhrrCoeff"))), Yj_(nSpecies_) { + if (!isA(thermo_)) + { + FatalErrorIn + ( + "radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission" + "(" + "const dictionary&, " + "const fvMesh&" + ")" + ) << "Model requires a multi-component thermo package" + << abort(FatalError); + } + + label nFunc = 0; const dictionary& functionDicts = dict.subDict(typeName + "Coeffs"); @@ -195,10 +203,12 @@ Foam::radiation::greyMeanAbsorptionEmission::~greyMeanAbsorptionEmission() Foam::tmp Foam::radiation::greyMeanAbsorptionEmission::aCont(const label bandI) const { - const volScalarField& T = thermo_.thermo().T(); - const volScalarField& p = thermo_.thermo().p(); + const basicMultiComponentMixture& mixture = + dynamic_cast(thermo_); + + const volScalarField& T = thermo_.T(); + const volScalarField& p = thermo_.p(); - const basicMultiComponentMixture& mixture = thermo_.carrier(); tmp ta ( diff --git a/src/thermophysicalModels/radiationModels/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.H b/src/thermophysicalModels/radiationModels/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.H index a41d2adf09..b677dde736 100644 --- a/src/thermophysicalModels/radiationModels/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.H +++ b/src/thermophysicalModels/radiationModels/submodels/absorptionEmissionModel/greyMeanAbsorptionEmission/greyMeanAbsorptionEmission.H @@ -89,8 +89,7 @@ SourceFiles #include "absorptionEmissionModel.H" #include "HashTable.H" #include "absorptionCoeffs.H" -#include "SLGThermo.H" -//#include "basicThermo.H" +#include "basicThermo.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -135,7 +134,7 @@ private: mutable autoPtr > lookUpTablePtr_; //- SLG thermo package - SLGThermo thermo_; + const basicThermo& thermo_; //- Emission constant coefficient const scalar EhrrCoeff_;