From 562504983234ac297691bd4aa4356e89e74bb23e Mon Sep 17 00:00:00 2001 From: asozinov Date: Mon, 8 Jul 2024 14:04:14 +0100 Subject: [PATCH] 42056 [CEA] Viscous layer 2D fails on a disc Fix problem with VL in some cases --- src/StdMeshers/StdMeshers_ViscousLayers2D.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/StdMeshers/StdMeshers_ViscousLayers2D.cxx b/src/StdMeshers/StdMeshers_ViscousLayers2D.cxx index b89a42c2d..01ec3b475 100644 --- a/src/StdMeshers/StdMeshers_ViscousLayers2D.cxx +++ b/src/StdMeshers/StdMeshers_ViscousLayers2D.cxx @@ -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; -- 2.39.2