#5780 #5795 Improve handling of air gap in modelled well paths + fix result instability.

* Stop using the auto generated target at sea level to generate the well path
* This is because the well path is used to generate the target at sea level.
* The alternative would be to iterate until the target and well path is stable, assuming it converges.
This commit is contained in:
Gaute Lindkvist
2020-04-15 08:40:12 +02:00
committed by Magne Sjaastad
parent 7b445a7fb7
commit 7bbbac8277
6 changed files with 50 additions and 49 deletions

View File

@@ -86,7 +86,7 @@ void RicExportSelectedWellPathsFeature::writeWellPathGeometryToStream( QTextStre
}
else
{
rkb = modeledWellPath->geometryDefinition()->mdrkbAtFirstTarget();
rkb = modeledWellPath->geometryDefinition()->mdAtFirstTarget();
}
}
}
@@ -124,10 +124,10 @@ void RicExportSelectedWellPathsFeature::writeWellPathGeometryToStream( QTextStre
stream << "WELLNAME: '" << caf::Utils::makeValidFileBasename( exportName ) << "'" << endl;
auto numberFormat = RifTextDataTableDoubleFormatting( RIF_FLOAT, 2 );
formatter.header( {{"X", numberFormat, RIGHT},
{"Y", numberFormat, RIGHT},
{"TVDMSL", numberFormat, RIGHT},
{useMdRkb ? "MDRKB" : "MDMSL", numberFormat, RIGHT}} );
formatter.header( { { "X", numberFormat, RIGHT },
{ "Y", numberFormat, RIGHT },
{ "TVDMSL", numberFormat, RIGHT },
{ useMdRkb ? "MDRKB" : "MDMSL", numberFormat, RIGHT } } );
while ( currMd < endMd )
{

View File

@@ -149,16 +149,16 @@ bool RicCreateWellTargetsPickEventHandler::handle3dPickEvent( const Ric3dPickEve
if ( wellPathSourceInfo )
{
double mdrkbAtFirstTarget =
double mdAtFirstTarget =
wellPathSourceInfo->measuredDepth( firstPickItem.faceIdx(), intersectionPointInDomain );
RimModeledWellPath* modeledWellPath = dynamic_cast<RimModeledWellPath*>( wellPathSourceInfo->wellPath() );
if ( modeledWellPath )
{
mdrkbAtFirstTarget += modeledWellPath->geometryDefinition()->mdrkbAtFirstTarget();
mdAtFirstTarget += modeledWellPath->geometryDefinition()->mdAtFirstTarget();
}
m_geometryToAddTargetsTo->setMdrkbAtFirstTarget( mdrkbAtFirstTarget );
m_geometryToAddTargetsTo->setMdAtFirstTarget( mdAtFirstTarget );
}
}