From a913b7ad54214f3b845a5a8ad1c55b0e0116d39f Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 28 Apr 2014 15:07:53 +0400 Subject: [PATCH] 22576: EDF 8029 SMESH: Bug with 3D viscous layer Add more smoothing loops after fixing all bad faces --- src/StdMeshers/StdMeshers_ViscousLayers.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/StdMeshers/StdMeshers_ViscousLayers.cxx b/src/StdMeshers/StdMeshers_ViscousLayers.cxx index 1f6d46263..11dec7d1e 100644 --- a/src/StdMeshers/StdMeshers_ViscousLayers.cxx +++ b/src/StdMeshers/StdMeshers_ViscousLayers.cxx @@ -2379,8 +2379,8 @@ bool _ViscousBuilder::smoothAndCheck(_SolidData& data, else { // smooth on FACE's - int step = 0, badNb = 0; moved = true; - while (( ++step <= 5 && moved ) || improved ) + int step = 0, stepLimit = 5, badNb = 0; moved = true; + while (( ++step <= stepLimit && moved ) || improved ) { dumpFunction(SMESH_Comment("smooth")<Smooth(badNb); improved = ( badNb < oldBadNb ); + // issue 22576. no bad faces but still there are intersections to fix + if ( improved && badNb == 0 ) + stepLimit = step + 3; + dumpFunctionEnd(); } if ( badNb > 0 ) -- 2.30.2