externalWallHeatFluxTemperature: Changed relaxation strategy

Now uses previous valueFraction and refValue values rather than the previous
boundary temperature for relaxation.

Resolves bug-report https://bugs.openfoam.org/view.php?id=3175
This commit is contained in:
Henry Weller
2019-02-22 12:34:38 +00:00
parent a4e6adcd54
commit 190dd33576

View File

@ -344,6 +344,10 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
const scalarField& Tp(*this);
// Store current valueFraction and refValue for relaxation
const scalarField valueFraction0(valueFraction());
const scalarField refValue0(refValue());
scalarField qr(Tp.size(), 0);
if (qrName_ != "none")
{
@ -443,8 +447,11 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
}
}
valueFraction() = relaxation_*valueFraction() + (1 - relaxation_);
refValue() = relaxation_*refValue() + (1 - relaxation_)*Tp;
valueFraction() =
relaxation_*valueFraction()
+ (1 - relaxation_)*valueFraction0;
refValue() = relaxation_*refValue() + (1 - relaxation_)*refValue0;
mixedFvPatchScalarField::updateCoeffs();