diff --git a/src/fvOptions/corrections/limitTemperature/limitTemperature.C b/src/fvOptions/corrections/limitTemperature/limitTemperature.C index cd4037e485..97e0057f3a 100644 --- a/src/fvOptions/corrections/limitTemperature/limitTemperature.C +++ b/src/fvOptions/corrections/limitTemperature/limitTemperature.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -109,12 +109,47 @@ void Foam::fv::limitTemperature::correct(volScalarField& he) scalarField& hec = he.primitiveFieldRef(); + const scalarField& T = thermo.T(); + + scalar Tmin0 = min(T); + scalar Tmax0 = max(T); + + label nOverTmax = 0; + label nLowerTmin = 0; + forAll(cells_, i) { const label celli = cells_[i]; + if (hec[celli] < heMin[i]) + { + nLowerTmin++; + } + else if (hec[celli] > heMax[i]) + { + nOverTmax++; + } hec[celli]= max(min(hec[celli], heMax[i]), heMin[i]); } + reduce(nOverTmax, sumOp