mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: turbulentTemperatureRadCoupledMixed: incorrect multi-layer averaging (#1440)
This commit is contained in:
@ -123,14 +123,16 @@ turbulentTemperatureRadCoupledMixedFvPatchScalarField
|
|||||||
|
|
||||||
if (thicknessLayers_.size() > 0)
|
if (thicknessLayers_.size() > 0)
|
||||||
{
|
{
|
||||||
|
// total thermal transmittance by harmonic averaging
|
||||||
forAll (thicknessLayers_, iLayer)
|
forAll (thicknessLayers_, iLayer)
|
||||||
{
|
{
|
||||||
const scalar l = thicknessLayers_[iLayer];
|
const scalar l = thicknessLayers_[iLayer];
|
||||||
if (l > 0.0)
|
if (l > 0.0)
|
||||||
{
|
{
|
||||||
contactRes_ += kappaLayers_[iLayer]/l;
|
contactRes_ += l/kappaLayers_[iLayer]; // inverse sum
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
contactRes_ = 1.0/contactRes_; // new total inverse
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,17 +212,16 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs()
|
|||||||
|
|
||||||
|
|
||||||
// Swap to obtain full local values of neighbour K*delta
|
// Swap to obtain full local values of neighbour K*delta
|
||||||
tmp<scalarField> KDeltaNbr(new scalarField(TcNbr.size(), 0.0));
|
scalarField KDeltaNbr;
|
||||||
if (contactRes_ == 0.0)
|
if (contactRes_ == 0.0)
|
||||||
{
|
{
|
||||||
// Swap to obtain full local values of neighbour K*delta
|
KDeltaNbr = nbrField.kappa(nbrField)*nbrPatch.deltaCoeffs();
|
||||||
KDeltaNbr() = nbrField.kappa(nbrField)*nbrPatch.deltaCoeffs();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
KDeltaNbr() = contactRes_;
|
KDeltaNbr.setSize(nbrField.size(), contactRes_);
|
||||||
}
|
}
|
||||||
mpp.distribute(KDeltaNbr());
|
mpp.distribute(KDeltaNbr);
|
||||||
|
|
||||||
scalarField KDelta(kappa(*this)*patch().deltaCoeffs());
|
scalarField KDelta(kappa(*this)*patch().deltaCoeffs());
|
||||||
|
|
||||||
@ -237,11 +238,11 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs()
|
|||||||
mpp.distribute(QrNbr);
|
mpp.distribute(QrNbr);
|
||||||
}
|
}
|
||||||
|
|
||||||
scalarField alpha(KDeltaNbr() - (Qr + QrNbr)/Tp);
|
scalarField alpha(KDeltaNbr - (Qr + QrNbr)/Tp);
|
||||||
|
|
||||||
valueFraction() = alpha/(alpha + KDelta);
|
valueFraction() = alpha/(alpha + KDelta);
|
||||||
|
|
||||||
refValue() = (KDeltaNbr()*TcNbr)/alpha;
|
refValue() = (KDeltaNbr*TcNbr)/alpha;
|
||||||
|
|
||||||
mixedFvPatchScalarField::updateCoeffs();
|
mixedFvPatchScalarField::updateCoeffs();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user