mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improve MSW export including multi lateral wells
Based on branch https://github.com/OPM/ResInsight/tree/system-msw-refactor - Move completion settings to property of well path - Rename to RimFishbones - Export implicit COMPSEGS for fishbones main bore - Add valve for each branch - Increase version number to be able to handle import of legacy project files
This commit is contained in:
@@ -452,6 +452,7 @@ QList<caf::PdmOptionItemInfo> RimWellPathValve::calculateValueOptions( const caf
|
||||
|
||||
RimProject* project = nullptr;
|
||||
this->firstAncestorOrThisOfTypeAsserted( project );
|
||||
|
||||
std::vector<RimValveTemplate*> allTemplates = project->allValveTemplates();
|
||||
for ( RimValveTemplate* valveTemplate : allTemplates )
|
||||
{
|
||||
@@ -484,8 +485,11 @@ void RimWellPathValve::fieldChangedByUi( const caf::PdmFieldHandle* changedField
|
||||
}
|
||||
|
||||
RimPerforationInterval* perfInterval;
|
||||
this->firstAncestorOrThisOfTypeAsserted( perfInterval );
|
||||
perfInterval->updateAllReferringTracks();
|
||||
this->firstAncestorOrThisOfType( perfInterval );
|
||||
if ( perfInterval )
|
||||
{
|
||||
perfInterval->updateAllReferringTracks();
|
||||
}
|
||||
|
||||
RimProject* proj;
|
||||
this->firstAncestorOrThisOfTypeAsserted( proj );
|
||||
@@ -509,35 +513,37 @@ void RimWellPathValve::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderin
|
||||
uiOrdering.add( &m_createValveTemplate, false );
|
||||
}
|
||||
|
||||
if ( componentType() == RiaDefines::WellPathComponentType::ICV ||
|
||||
componentType() == RiaDefines::WellPathComponentType::ICD )
|
||||
if ( uiConfigName != "TemplateOnly" )
|
||||
{
|
||||
if ( componentType() == RiaDefines::WellPathComponentType::ICV )
|
||||
if ( componentType() == RiaDefines::WellPathComponentType::ICV ||
|
||||
componentType() == RiaDefines::WellPathComponentType::ICD )
|
||||
{
|
||||
RimWellPath* wellPath;
|
||||
firstAncestorOrThisOfType( wellPath );
|
||||
if ( wellPath )
|
||||
if ( componentType() == RiaDefines::WellPathComponentType::ICV )
|
||||
{
|
||||
if ( wellPath->unitSystem() == RiaDefines::EclipseUnitSystem::UNITS_METRIC )
|
||||
RimWellPath* wellPath;
|
||||
firstAncestorOrThisOfType( wellPath );
|
||||
if ( wellPath )
|
||||
{
|
||||
m_measuredDepth.uiCapability()->setUiName( "Measured Depth [m]" );
|
||||
}
|
||||
else if ( wellPath->unitSystem() == RiaDefines::EclipseUnitSystem::UNITS_FIELD )
|
||||
{
|
||||
m_measuredDepth.uiCapability()->setUiName( "Measured Depth [ft]" );
|
||||
if ( wellPath->unitSystem() == RiaDefines::EclipseUnitSystem::UNITS_METRIC )
|
||||
{
|
||||
m_measuredDepth.uiCapability()->setUiName( "Measured Depth [m]" );
|
||||
}
|
||||
else if ( wellPath->unitSystem() == RiaDefines::EclipseUnitSystem::UNITS_FIELD )
|
||||
{
|
||||
m_measuredDepth.uiCapability()->setUiName( "Measured Depth [ft]" );
|
||||
}
|
||||
}
|
||||
uiOrdering.add( &m_measuredDepth, { true, 3, 1 } );
|
||||
}
|
||||
uiOrdering.add( &m_measuredDepth, { true, 3, 1 } );
|
||||
}
|
||||
|
||||
if ( componentType() == RiaDefines::WellPathComponentType::ICD ||
|
||||
componentType() == RiaDefines::WellPathComponentType::AICD )
|
||||
{
|
||||
caf::PdmUiGroup* group = uiOrdering.addNewGroup( "Multiple Valve Locations" );
|
||||
m_multipleValveLocations->uiOrdering( uiConfigName, *group );
|
||||
}
|
||||
}
|
||||
|
||||
if ( componentType() == RiaDefines::WellPathComponentType::ICD ||
|
||||
componentType() == RiaDefines::WellPathComponentType::AICD )
|
||||
{
|
||||
caf::PdmUiGroup* group = uiOrdering.addNewGroup( "Multiple Valve Locations" );
|
||||
m_multipleValveLocations->uiOrdering( uiConfigName, *group );
|
||||
}
|
||||
|
||||
if ( m_valveTemplate() != nullptr )
|
||||
{
|
||||
caf::PdmUiGroup* group = uiOrdering.addNewGroup( "Parameters from Template" );
|
||||
|
||||
Reference in New Issue
Block a user