mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#7720 Export of MSW : Export data from imported well paths
The tie-in concept was only available for modeled well paths. Make sure both modeled and file well paths produce MSW output
This commit is contained in:
parent
e33a03b379
commit
805df93aed
@ -746,7 +746,7 @@ void RicWellPathExportMswCompletionsImpl::generateFishbonesMswExportInfo(
|
|||||||
exportInfo->setHasSubGridIntersections( exportInfo->hasSubGridIntersections() || foundSubGridIntersections );
|
exportInfo->setHasSubGridIntersections( exportInfo->hasSubGridIntersections() || foundSubGridIntersections );
|
||||||
// branch->sortSegments();
|
// branch->sortSegments();
|
||||||
|
|
||||||
std::vector<RimModeledWellPath*> connectedWellPaths = wellPathsWithTieIn( wellPath );
|
auto connectedWellPaths = wellPathsWithTieIn( wellPath );
|
||||||
for ( auto childWellPath : connectedWellPaths )
|
for ( auto childWellPath : connectedWellPaths )
|
||||||
{
|
{
|
||||||
auto childMswBranch = createChildMswBranch( childWellPath );
|
auto childMswBranch = createChildMswBranch( childWellPath );
|
||||||
@ -844,7 +844,7 @@ bool RicWellPathExportMswCompletionsImpl::generateFracturesMswExportInfo(
|
|||||||
exportInfo->setHasSubGridIntersections( exportInfo->hasSubGridIntersections() || foundSubGridIntersections );
|
exportInfo->setHasSubGridIntersections( exportInfo->hasSubGridIntersections() || foundSubGridIntersections );
|
||||||
branch->sortSegments();
|
branch->sortSegments();
|
||||||
|
|
||||||
std::vector<RimModeledWellPath*> connectedWellPaths = wellPathsWithTieIn( wellPath );
|
auto connectedWellPaths = wellPathsWithTieIn( wellPath );
|
||||||
for ( auto childWellPath : connectedWellPaths )
|
for ( auto childWellPath : connectedWellPaths )
|
||||||
{
|
{
|
||||||
auto childMswBranch = createChildMswBranch( childWellPath );
|
auto childMswBranch = createChildMswBranch( childWellPath );
|
||||||
@ -941,7 +941,7 @@ bool RicWellPathExportMswCompletionsImpl::generatePerforationsMswExportInfo(
|
|||||||
exportInfo->setHasSubGridIntersections( exportInfo->hasSubGridIntersections() || foundSubGridIntersections );
|
exportInfo->setHasSubGridIntersections( exportInfo->hasSubGridIntersections() || foundSubGridIntersections );
|
||||||
branch->sortSegments();
|
branch->sortSegments();
|
||||||
|
|
||||||
std::vector<RimModeledWellPath*> connectedWellPaths = wellPathsWithTieIn( wellPath );
|
auto connectedWellPaths = wellPathsWithTieIn( wellPath );
|
||||||
|
|
||||||
for ( auto childWellPath : connectedWellPaths )
|
for ( auto childWellPath : connectedWellPaths )
|
||||||
{
|
{
|
||||||
@ -1879,8 +1879,7 @@ void RicWellPathExportMswCompletionsImpl::assignBranchNumbersToBranch( const Rim
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
std::unique_ptr<RicMswBranch>
|
std::unique_ptr<RicMswBranch> RicWellPathExportMswCompletionsImpl::createChildMswBranch( const RimWellPath* childWellPath )
|
||||||
RicWellPathExportMswCompletionsImpl::createChildMswBranch( const RimModeledWellPath* childWellPath )
|
|
||||||
{
|
{
|
||||||
auto initialChildMD = childWellPath->wellPathTieIn()->tieInMeasuredDepth();
|
auto initialChildMD = childWellPath->wellPathTieIn()->tieInMeasuredDepth();
|
||||||
auto initialChildTVD = -childWellPath->wellPathGeometry()->interpolatedPointAlongWellPath( initialChildMD ).z();
|
auto initialChildTVD = -childWellPath->wellPathGeometry()->interpolatedPointAlongWellPath( initialChildMD ).z();
|
||||||
@ -1919,18 +1918,16 @@ std::unique_ptr<RicMswBranch>
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
std::vector<RimModeledWellPath*> RicWellPathExportMswCompletionsImpl::wellPathsWithTieIn( const RimWellPath* wellPath )
|
std::vector<RimWellPath*> RicWellPathExportMswCompletionsImpl::wellPathsWithTieIn( const RimWellPath* wellPath )
|
||||||
{
|
{
|
||||||
std::vector<RimModeledWellPath*> connectedWellPaths;
|
std::vector<RimWellPath*> connectedWellPaths;
|
||||||
{
|
{
|
||||||
auto wellPaths = RimProject::current()->allWellPaths();
|
auto wellPaths = RimProject::current()->allWellPaths();
|
||||||
for ( auto w : wellPaths )
|
for ( auto well : wellPaths )
|
||||||
{
|
{
|
||||||
auto modelWellPath = dynamic_cast<RimModeledWellPath*>( w );
|
if ( well && well->isEnabled() && well->wellPathTieIn() && well->wellPathTieIn()->parentWell() == wellPath )
|
||||||
if ( modelWellPath && modelWellPath->isEnabled() && modelWellPath->wellPathTieIn() &&
|
|
||||||
modelWellPath->wellPathTieIn()->parentWell() == wellPath )
|
|
||||||
{
|
{
|
||||||
connectedWellPaths.push_back( modelWellPath );
|
connectedWellPaths.push_back( well );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -193,7 +193,7 @@ private:
|
|||||||
gsl::not_null<RicMswBranch*> branch,
|
gsl::not_null<RicMswBranch*> branch,
|
||||||
gsl::not_null<int*> branchNumber );
|
gsl::not_null<int*> branchNumber );
|
||||||
|
|
||||||
static std::unique_ptr<RicMswBranch> createChildMswBranch( const RimModeledWellPath* childWellPath );
|
static std::unique_ptr<RicMswBranch> createChildMswBranch( const RimWellPath* childWellPath );
|
||||||
|
|
||||||
static std::vector<RimModeledWellPath*> wellPathsWithTieIn( const RimWellPath* wellPath );
|
static std::vector<RimWellPath*> wellPathsWithTieIn( const RimWellPath* wellPath );
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user