diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C index 26e2936f31..347e3ddb89 100644 --- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C +++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C @@ -440,6 +440,7 @@ kinematicSingleLayer::kinematicSingleLayer cumulativeContErr_(0.0), deltaSmall_("deltaSmall", dimLength, SMALL), + deltaCoLimit_(solution().lookupOrDefault("deltaCoLimit", 1e-4)), rho_ ( @@ -898,15 +899,17 @@ scalar kinematicSingleLayer::CourantNumber() const if (regionMesh().nInternalFaces() > 0) { - const scalarField sumPhi(fvc::surfaceSum(mag(phi_))); + const scalarField sumPhi + ( + fvc::surfaceSum(mag(phi_))().internalField() + / (deltaRho_.internalField() + ROOTVSMALL) + ); - const scalarField& V = regionMesh().V(); - - forAll(deltaRho_, i) + forAll(delta_, i) { - if (deltaRho_[i] > SMALL) + if (delta_[i] > deltaCoLimit_) { - CoNum = max(CoNum, sumPhi[i]/deltaRho_[i]/V[i]); + CoNum = max(CoNum, sumPhi[i]/(delta_[i]*magSf()[i])); } } diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H index 197895c844..181a58b68b 100644 --- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H +++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H @@ -100,6 +100,9 @@ protected: //- Small delta const dimensionedScalar deltaSmall_; + //- Film thickness above which Courant number calculation in valid + scalar deltaCoLimit_; + // Thermo properties