]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
42056 [CEA] Viscous layer 2D fails on a disc asozinov/42056 51/head
authorasozinov <alexey.sozinov@opencascade.com>
Mon, 8 Jul 2024 13:04:14 +0000 (14:04 +0100)
committerasozinov <alexey.sozinov@opencascade.com>
Mon, 8 Jul 2024 13:04:14 +0000 (14:04 +0100)
Fix problem with VL in some cases

src/StdMeshers/StdMeshers_ViscousLayers2D.cxx

index b89a42c2d2cb385ce1264b424a71d5c2b1cec7fe..01ec3b475ecacfb47bbe468e7f40c67c7eafa00e 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 fining 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;