mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Adding Qr to externalWallHeatFluxTemperature
This commit is contained in:
@ -69,6 +69,7 @@ externalWallHeatFluxTemperatureFvPatchScalarField
|
|||||||
q_(p.size(), 0.0),
|
q_(p.size(), 0.0),
|
||||||
h_(p.size(), 0.0),
|
h_(p.size(), 0.0),
|
||||||
Ta_(p.size(), 0.0),
|
Ta_(p.size(), 0.0),
|
||||||
|
QrName_("undefined-Qr"),
|
||||||
thicknessLayers_(),
|
thicknessLayers_(),
|
||||||
kappaLayers_()
|
kappaLayers_()
|
||||||
{
|
{
|
||||||
@ -93,6 +94,7 @@ externalWallHeatFluxTemperatureFvPatchScalarField
|
|||||||
q_(ptf.q_, mapper),
|
q_(ptf.q_, mapper),
|
||||||
h_(ptf.h_, mapper),
|
h_(ptf.h_, mapper),
|
||||||
Ta_(ptf.Ta_, mapper),
|
Ta_(ptf.Ta_, mapper),
|
||||||
|
QrName_(ptf.QrName_),
|
||||||
thicknessLayers_(ptf.thicknessLayers_),
|
thicknessLayers_(ptf.thicknessLayers_),
|
||||||
kappaLayers_(ptf.kappaLayers_)
|
kappaLayers_(ptf.kappaLayers_)
|
||||||
{}
|
{}
|
||||||
@ -112,6 +114,7 @@ externalWallHeatFluxTemperatureFvPatchScalarField
|
|||||||
q_(p.size(), 0.0),
|
q_(p.size(), 0.0),
|
||||||
h_(p.size(), 0.0),
|
h_(p.size(), 0.0),
|
||||||
Ta_(p.size(), 0.0),
|
Ta_(p.size(), 0.0),
|
||||||
|
QrName_(dict.lookupOrDefault<word>("Qr", "none")),
|
||||||
thicknessLayers_(),
|
thicknessLayers_(),
|
||||||
kappaLayers_()
|
kappaLayers_()
|
||||||
{
|
{
|
||||||
@ -181,6 +184,7 @@ externalWallHeatFluxTemperatureFvPatchScalarField
|
|||||||
q_(tppsf.q_),
|
q_(tppsf.q_),
|
||||||
h_(tppsf.h_),
|
h_(tppsf.h_),
|
||||||
Ta_(tppsf.Ta_),
|
Ta_(tppsf.Ta_),
|
||||||
|
QrName_(tppsf.QrName_),
|
||||||
thicknessLayers_(tppsf.thicknessLayers_),
|
thicknessLayers_(tppsf.thicknessLayers_),
|
||||||
kappaLayers_(tppsf.kappaLayers_)
|
kappaLayers_(tppsf.kappaLayers_)
|
||||||
{}
|
{}
|
||||||
@ -199,6 +203,7 @@ externalWallHeatFluxTemperatureFvPatchScalarField
|
|||||||
q_(tppsf.q_),
|
q_(tppsf.q_),
|
||||||
h_(tppsf.h_),
|
h_(tppsf.h_),
|
||||||
Ta_(tppsf.Ta_),
|
Ta_(tppsf.Ta_),
|
||||||
|
QrName_(tppsf.QrName_),
|
||||||
thicknessLayers_(tppsf.thicknessLayers_),
|
thicknessLayers_(tppsf.thicknessLayers_),
|
||||||
kappaLayers_(tppsf.kappaLayers_)
|
kappaLayers_(tppsf.kappaLayers_)
|
||||||
{}
|
{}
|
||||||
@ -245,6 +250,12 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
|
|||||||
const scalarField Tp(*this);
|
const scalarField Tp(*this);
|
||||||
scalarField hp(patch().size(), 0.0);
|
scalarField hp(patch().size(), 0.0);
|
||||||
|
|
||||||
|
scalarField Qr(Tp.size(), 0.0);
|
||||||
|
if (QrName_ != "none")
|
||||||
|
{
|
||||||
|
Qr = patch().lookupPatchField<volScalarField, scalar>(QrName_);
|
||||||
|
}
|
||||||
|
|
||||||
switch (mode_)
|
switch (mode_)
|
||||||
{
|
{
|
||||||
case fixedHeatFlux:
|
case fixedHeatFlux:
|
||||||
@ -281,15 +292,17 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
|
|||||||
|
|
||||||
if (mode_ == fixedHeatFlux)
|
if (mode_ == fixedHeatFlux)
|
||||||
{
|
{
|
||||||
refGrad() = q_/kappa(Tp);
|
refGrad() = (q_ + Qr)/kappa(Tp);
|
||||||
refValue() = 0.0;
|
refValue() = 0.0;
|
||||||
valueFraction() = 0.0;
|
valueFraction() = 0.0;
|
||||||
}
|
}
|
||||||
else if (mode_ == fixedHeatTransferCoeff)
|
else if (mode_ == fixedHeatTransferCoeff)
|
||||||
{
|
{
|
||||||
|
Qr /= Tp;
|
||||||
refGrad() = 0.0;
|
refGrad() = 0.0;
|
||||||
refValue() = Ta_;
|
refValue() = hp*Ta_/(hp - Qr);
|
||||||
valueFraction() = hp/(hp + kappa(Tp)*patch().deltaCoeffs());
|
valueFraction() =
|
||||||
|
(hp - Qr)/((hp - Qr) + kappa(Tp)*patch().deltaCoeffs());
|
||||||
}
|
}
|
||||||
|
|
||||||
mixedFvPatchScalarField::updateCoeffs();
|
mixedFvPatchScalarField::updateCoeffs();
|
||||||
@ -318,9 +331,11 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::write
|
|||||||
{
|
{
|
||||||
mixedFvPatchScalarField::write(os);
|
mixedFvPatchScalarField::write(os);
|
||||||
temperatureCoupledBase::write(os);
|
temperatureCoupledBase::write(os);
|
||||||
|
os.writeKeyword("Qr")<< QrName_ << token::END_STATEMENT << nl;
|
||||||
|
|
||||||
switch (mode_)
|
switch (mode_)
|
||||||
{
|
{
|
||||||
|
|
||||||
case fixedHeatFlux:
|
case fixedHeatFlux:
|
||||||
{
|
{
|
||||||
q_.writeEntry("q", os);
|
q_.writeEntry("q", os);
|
||||||
|
|||||||
@ -60,6 +60,7 @@ Description
|
|||||||
thicknessLayers | list of thicknesses per layer [m] | yes |
|
thicknessLayers | list of thicknesses per layer [m] | yes |
|
||||||
kappaLayers | list of thermal conductivites per layer [W/m/K] | yes |
|
kappaLayers | list of thermal conductivites per layer [W/m/K] | yes |
|
||||||
kappaName | name of thermal conductivity field | yes |
|
kappaName | name of thermal conductivity field | yes |
|
||||||
|
QrName | name of the radiative field | no | no
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
@ -75,6 +76,7 @@ Description
|
|||||||
kappaLayers (1 2 3 4)
|
kappaLayers (1 2 3 4)
|
||||||
value uniform 300.0;
|
value uniform 300.0;
|
||||||
kappaName none;
|
kappaName none;
|
||||||
|
QrName none;
|
||||||
}
|
}
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
@ -137,6 +139,9 @@ private:
|
|||||||
//- Ambient temperature / [K]
|
//- Ambient temperature / [K]
|
||||||
scalarField Ta_;
|
scalarField Ta_;
|
||||||
|
|
||||||
|
//- Name of the radiative heat flux
|
||||||
|
const word QrName_;
|
||||||
|
|
||||||
//- Thickness of layers
|
//- Thickness of layers
|
||||||
scalarList thicknessLayers_;
|
scalarList thicknessLayers_;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user