turbulentTemperatureRadCoupledMixed: Corrected/improved mixed BC formulation to ensure the reference temperature is physical

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1369
This commit is contained in:
Henry
2014-12-29 11:13:34 +00:00
parent e3307142c7
commit 1d824a2232

View File

@ -219,7 +219,7 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs()
} }
mpp.distribute(KDeltaNbr); mpp.distribute(KDeltaNbr);
scalarField KDelta(kappa(*this)*patch().deltaCoeffs()); scalarField KDelta(kappa(Tp)*patch().deltaCoeffs());
scalarField Qr(Tp.size(), 0.0); scalarField Qr(Tp.size(), 0.0);
if (QrName_ != "none") if (QrName_ != "none")
@ -234,17 +234,15 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs()
mpp.distribute(QrNbr); mpp.distribute(QrNbr);
} }
scalarField alpha(KDeltaNbr - (Qr + QrNbr)/Tp); valueFraction() = KDeltaNbr/(KDeltaNbr + KDelta);
refValue() = TcNbr;
valueFraction() = alpha/(alpha + KDelta); refGrad() = (Qr + QrNbr)/kappa(Tp);
refValue() = (KDeltaNbr*TcNbr)/alpha;
mixedFvPatchScalarField::updateCoeffs(); mixedFvPatchScalarField::updateCoeffs();
if (debug) if (debug)
{ {
scalar Q = gSum(kappa(*this)*patch().magSf()*snGrad()); scalar Q = gSum(kappa(Tp)*patch().magSf()*snGrad());
Info<< patch().boundaryMesh().mesh().name() << ':' Info<< patch().boundaryMesh().mesh().name() << ':'
<< patch().name() << ':' << patch().name() << ':'
@ -254,9 +252,9 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs()
<< this->dimensionedInternalField().name() << " :" << this->dimensionedInternalField().name() << " :"
<< " heat transfer rate:" << Q << " heat transfer rate:" << Q
<< " walltemperature " << " walltemperature "
<< " min:" << gMin(*this) << " min:" << gMin(Tp)
<< " max:" << gMax(*this) << " max:" << gMax(Tp)
<< " avg:" << gAverage(*this) << " avg:" << gAverage(Tp)
<< endl; << endl;
} }