mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#7729 MSW : Fix wrong segment for lateral
A lateral is connected to wrong segment for user defined reference MD
This commit is contained in:
@@ -206,6 +206,8 @@ RicMswSegment* RicMswBranch::findClosestSegmentWithLowerMD( double measuredDepth
|
|||||||
return segmentCount() > 0 ? segments().back() : nullptr;
|
return segmentCount() > 0 ? segments().back() : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( segmentCount() > 0 )
|
||||||
|
{
|
||||||
RicMswSegment* closestSegment = nullptr;
|
RicMswSegment* closestSegment = nullptr;
|
||||||
double smallestDistance = std::numeric_limits<double>::infinity();
|
double smallestDistance = std::numeric_limits<double>::infinity();
|
||||||
|
|
||||||
@@ -214,15 +216,24 @@ RicMswSegment* RicMswBranch::findClosestSegmentWithLowerMD( double measuredDepth
|
|||||||
// WELSEGS is reported as the midpoint of the segment
|
// WELSEGS is reported as the midpoint of the segment
|
||||||
double midpointMD = 0.5 * ( seg->startMD() + seg->endMD() );
|
double midpointMD = 0.5 * ( seg->startMD() + seg->endMD() );
|
||||||
|
|
||||||
|
// Use a signed difference to find the closest segment below the measured depth location
|
||||||
double candidateDistance = measuredDepthLocation - midpointMD;
|
double candidateDistance = measuredDepthLocation - midpointMD;
|
||||||
if ( candidateDistance > 0.0 && candidateDistance < smallestDistance )
|
|
||||||
|
if ( closestSegment == nullptr )
|
||||||
{
|
{
|
||||||
closestSegment = seg;
|
closestSegment = seg;
|
||||||
smallestDistance = candidateDistance;
|
smallestDistance = std::fabs( candidateDistance );
|
||||||
}
|
}
|
||||||
|
else if ( candidateDistance > 0.0 && candidateDistance < smallestDistance )
|
||||||
|
{
|
||||||
|
closestSegment = seg;
|
||||||
|
smallestDistance = std::fabs( candidateDistance );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return closestSegment;
|
||||||
}
|
}
|
||||||
|
|
||||||
return closestSegment;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user