Skip to content
Snippets Groups Projects
Commit 44768639 authored by sergio's avatar sergio Committed by Sergio Ferraris
Browse files

ENH: Adding radiation to thermalShell

parent 384b9f81
Branches
Tags
1 merge request!475finiteArea: new models and solvers for films
......@@ -43,16 +43,55 @@ defineTypeNameAndDebug(thermalShell, 0);
addToRunTimeSelectionTable(thermalShellModel, thermalShell, dictionary);
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
bool thermalShell::read(const dictionary& dict)
bool thermalShell::init(const dictionary& dict)
{
if (thickness_ > 0)
{
h_ = dimensionedScalar("thickness", dimLength, thickness_);
}
this->solution().readEntry("nNonOrthCorr", nNonOrthCorr_);
return true;
}
tmp<areaScalarField> thermalShell::qr()
{
IOobject io
(
"tqr",
primaryMesh().time().timeName(),
primaryMesh()
);
auto taqr =
tmp<areaScalarField>::New
(
io,
regionMesh(),
dimensionedScalar(dimPower/dimArea, Zero)
);
if (qrName_ != "none")
{
auto& aqr = taqr.ref();
const auto qr = primaryMesh().lookupObject<volScalarField>(qrName_);
const volScalarField::Boundary& vqr = qr.boundaryField();
aqr.primitiveFieldRef() = vsm().mapToSurface<scalar>(vqr);
}
return taqr;
}
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
void thermalShell::solveEnergy()
{
if (debug)
......@@ -68,7 +107,7 @@ void thermalShell::solveEnergy()
- fam::laplacian(kappa()*h_, T_)
==
qs_
//+ q(T_) handled by faOption contactHeatFlux
+ qr()
+ faOptions()(h_, rhoCph, T_)
);
......@@ -118,18 +157,16 @@ thermalShell::thermalShell
IOobject::AUTO_WRITE
),
regionMesh()
)
),
qrName_(dict.getOrDefault<word>("qr", "none")),
thickness_(dict.getOrDefault<scalar>("thickness", 0))
{
init();
init(dict);
}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
void thermalShell::init()
{}
void thermalShell::preEvolveRegion()
{}
......
......@@ -98,7 +98,10 @@ class thermalShell
// Private Member Functions
//- Initialize thermalShell
void init();
bool init(const dictionary& dict);
//- Return radiative heat flux
tmp<areaScalarField> qr();
protected:
......@@ -125,12 +128,14 @@ protected:
//- Thickness
areaScalarField h_;
//- Name of the primary region radiative flux
const word qrName_;
// Protected Member Functions
//- Uniform thickness
scalar thickness_;
//- Read control parameters from dictionary
virtual bool read(const dictionary& dict);
// Protected Member Functions
// Equations
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment