From e290850d401d80ae25ca8252544bcaaf5b1e44a0 Mon Sep 17 00:00:00 2001 From: Hrvoje Jasak Date: Sun, 13 Mar 2011 23:17:19 +0000 Subject: [PATCH] Improvement for non-orthogonality > 90 deg --- .../fvMesh/fvPatches/basic/coupled/coupledFvPatch.C | 4 +++- .../fvPatches/constraint/overlapGgi/overlapGgiFvPatch.C | 2 +- .../fvMesh/fvPatches/derived/cohesive/cohesiveFvPatch.C | 7 ------- src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.C | 9 +-------- 4 files changed, 5 insertions(+), 17 deletions(-) diff --git a/src/finiteVolume/fvMesh/fvPatches/basic/coupled/coupledFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/basic/coupled/coupledFvPatch.C index 502564c78..b66848148 100644 --- a/src/finiteVolume/fvMesh/fvPatches/basic/coupled/coupledFvPatch.C +++ b/src/finiteVolume/fvMesh/fvPatches/basic/coupled/coupledFvPatch.C @@ -56,7 +56,9 @@ void coupledFvPatch::makeCorrVecs(vectorField& cv) const vectorField patchDeltas = delta(); vectorField n = nf(); - cv = n - patchDeltas*patchDeltaCoeffs; + // If non-orthogonality is over 90 deg, kill correction vector + // HJ, 27/Feb/2011 + cv = pos(n & patchDeltas)*(n - patchDeltas*patchDeltaCoeffs); } diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/overlapGgi/overlapGgiFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/overlapGgi/overlapGgiFvPatch.C index 0c7f00de1..7e42c8c7d 100644 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/overlapGgi/overlapGgiFvPatch.C +++ b/src/finiteVolume/fvMesh/fvPatches/constraint/overlapGgi/overlapGgiFvPatch.C @@ -86,7 +86,7 @@ void Foam::overlapGgiFvPatch::makeCorrVecs(vectorField& cv) const { // Non-orthogonality correction on a ggi interface // MB, 7/April/2009 - + // Calculate correction vectors on coupled patches const scalarField& patchDeltaCoeffs = deltaCoeffs(); diff --git a/src/finiteVolume/fvMesh/fvPatches/derived/cohesive/cohesiveFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/derived/cohesive/cohesiveFvPatch.C index b700655bf..ece02be9a 100644 --- a/src/finiteVolume/fvMesh/fvPatches/derived/cohesive/cohesiveFvPatch.C +++ b/src/finiteVolume/fvMesh/fvPatches/derived/cohesive/cohesiveFvPatch.C @@ -42,13 +42,6 @@ namespace Foam void Foam::cohesiveFvPatch::makeCorrVecs(vectorField& cv) const { - // Correction vector -// vectorField d = delta(); -// vectorField n = nf(); -// cv = n - d/(n & d); - - // Old version: no non-orthogonal correction on the wall - // Testing. HJ, 9/Apr/2009 cv = vector::zero; } diff --git a/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.C b/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.C index 5c3c3f3ca..ef900b23b 100644 --- a/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.C +++ b/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.C @@ -115,7 +115,7 @@ tmp fvPatch::Cn() const const unallocLabelList& faceCells = this->faceCells(); - // get reference to global cell centres + // Get reference to global cell centres const vectorField& gcc = boundaryMesh().mesh().cellCentres(); forAll (faceCells, faceI) @@ -165,13 +165,6 @@ void fvPatch::makeDeltaCoeffs(scalarField& dc) const void fvPatch::makeCorrVecs(vectorField& cv) const { - // Correction vector -// vectorField d = delta(); -// vectorField n = nf(); -// cv = n - d/(n & d); - - // Old version: no non-orthogonal correction on the wall - // Testing. HJ, 9/Apr/2009 cv = vector::zero; }