From 24d1e50f45bc2b669a38af0b35c5ce72c236a0b7 Mon Sep 17 00:00:00 2001 From: Andrew Heather <a.heather@opencfd.co.uk> Date: Mon, 12 Jun 2017 09:18:22 +0100 Subject: [PATCH] BUG: LimitedScheme - corrected oriented flag. Fixes #493 --- .../LimitedScheme/LimitedScheme.C | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C index efe01350d4d..9c19472a1fd 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C +++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.C @@ -37,18 +37,19 @@ void Foam::LimitedScheme<Type, Limiter, LimitFunc>::calcLimiter surfaceScalarField& limiterField ) const { - const fvMesh& mesh = this->mesh(); + typedef GeometricField<typename Limiter::phiType, fvPatchField, volMesh> + VolFieldType; + + typedef GeometricField<typename Limiter::gradPhiType, fvPatchField, volMesh> + GradVolFieldType; - tmp<GeometricField<typename Limiter::phiType, fvPatchField, volMesh>> - tlPhi = LimitFunc<Type>()(phi); + const fvMesh& mesh = this->mesh(); - const GeometricField<typename Limiter::phiType, fvPatchField, volMesh>& - lPhi = tlPhi(); + tmp<VolFieldType> tlPhi = LimitFunc<Type>()(phi); + const VolFieldType& lPhi = tlPhi(); - tmp<GeometricField<typename Limiter::gradPhiType, fvPatchField, volMesh>> - tgradc(fvc::grad(lPhi)); - const GeometricField<typename Limiter::gradPhiType, fvPatchField, volMesh>& - gradc = tgradc(); + tmp<GradVolFieldType> tgradc(fvc::grad(lPhi)); + const GradVolFieldType& gradc = tgradc(); const surfaceScalarField& CDweights = mesh.surfaceInterpolation::weights(); @@ -76,8 +77,7 @@ void Foam::LimitedScheme<Type, Limiter, LimitFunc>::calcLimiter ); } - surfaceScalarField::Boundary& bLim = - limiterField.boundaryFieldRef(); + surfaceScalarField::Boundary& bLim = limiterField.boundaryFieldRef(); forAll(bLim, patchi) { @@ -128,6 +128,8 @@ void Foam::LimitedScheme<Type, Limiter, LimitFunc>::calcLimiter pLim = 1.0; } } + + limiterField.setOriented(); } -- GitLab