]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
42056 [CEA] Viscous layer 2D fails on a disc
authorasozinov <alexey.sozinov@opencascade.com>
Mon, 8 Jul 2024 13:04:14 +0000 (14:04 +0100)
committerChristophe Bourcier <christophe.bourcier@cea.fr>
Tue, 15 Oct 2024 11:54:09 +0000 (13:54 +0200)
Fix problem with VL in some cases

src/StdMeshers/StdMeshers_ViscousLayers2D.cxx

index b89a42c2d2cb385ce1264b424a71d5c2b1cec7fe..c25d0d05b4e029e724e2d576444d53d6cfc0041a 100644 (file)
@@ -1018,7 +1018,7 @@ bool _ViscousBuilder2D::makePolyLines()
     faceBndBox2D.Add( *_polyLineVec[ iPoLine]._segTree->getBox() );
   const double boxTol = 1e-3 * sqrt( faceBndBox2D.SquareExtent() );
 
-  if ( _maxThickness * maxLen2dTo3dRatio > sqrt( faceBndBox2D.SquareExtent() ) / 10 )
+  if ( _maxThickness * maxLen2dTo3dRatio > sqrt( faceBndBox2D.SquareExtent() ) / 2 )
   {
     vector< const _Segment* > foundSegs;
     double maxPossibleThick = 0;
@@ -1041,6 +1041,8 @@ bool _ViscousBuilder2D::makePolyLines()
           foundSegs.clear();
           L2._segTree->GetSegmentsNear( L1._lEdges[iLE]._ray, foundSegs );
           for ( size_t i = 0; i < foundSegs.size(); ++i )
+            // In this block periodically finding strange intersection with parameter close to 0
+            // to investigate
             if ( intersection.Compute( *foundSegs[i], L1._lEdges[iLE]._ray ))
             {
               double  distToL2 = intersection._param2 / L1._lEdges[iLE]._len2dTo3dRatio;