mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-15 10:08:34 +05:00
42056 [CEA] Viscous layer 2D fails on a disc
Fix problem with VL in some cases
This commit is contained in:
parent
1ea734c62e
commit
a1e2cdd1ed
@ -1018,7 +1018,7 @@ bool _ViscousBuilder2D::makePolyLines()
|
|||||||
faceBndBox2D.Add( *_polyLineVec[ iPoLine]._segTree->getBox() );
|
faceBndBox2D.Add( *_polyLineVec[ iPoLine]._segTree->getBox() );
|
||||||
const double boxTol = 1e-3 * sqrt( faceBndBox2D.SquareExtent() );
|
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;
|
vector< const _Segment* > foundSegs;
|
||||||
double maxPossibleThick = 0;
|
double maxPossibleThick = 0;
|
||||||
@ -1041,6 +1041,8 @@ bool _ViscousBuilder2D::makePolyLines()
|
|||||||
foundSegs.clear();
|
foundSegs.clear();
|
||||||
L2._segTree->GetSegmentsNear( L1._lEdges[iLE]._ray, foundSegs );
|
L2._segTree->GetSegmentsNear( L1._lEdges[iLE]._ray, foundSegs );
|
||||||
for ( size_t i = 0; i < foundSegs.size(); ++i )
|
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 ))
|
if ( intersection.Compute( *foundSegs[i], L1._lEdges[iLE]._ray ))
|
||||||
{
|
{
|
||||||
double distToL2 = intersection._param2 / L1._lEdges[iLE]._len2dTo3dRatio;
|
double distToL2 = intersection._param2 / L1._lEdges[iLE]._len2dTo3dRatio;
|
||||||
|
Loading…
Reference in New Issue
Block a user