mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-30 09:00:20 -05:00
Enhances dual porosity result display and plotting
Improves the handling and display of dual porosity results by: - Adds an option to display a dual porosity label in the UI tree, clarifying the porosity model being used. - Adjusts the K index calculation for the fracture porosity model in relative permeability plots, ensuring correct indexing. - Adds a warning message when plotting relative permeability curves for fracture cells since it is not fully supported. - Replaces direct checks for dual-porosity results with checks against the main grid to determine dual porosity for UI element display.
This commit is contained in:
1 parent
33bf89d196
commit
441a0d4338
9 files changed
+78
-24
No files matched your search
@@ -34,6 +34,7 @@
|
||||
#include "RigFlowDiagResultAddress.h"
|
||||
#include "RigFlowDiagResults.h"
|
||||
#include "RigFormationNames.h"
|
||||
#include "RigMainGrid.h"
|
||||
|
||||
#include "ContourMap/RimContourMapProjection.h"
|
||||
#include "ContourMap/RimEclipseContourMapProjection.h"
|
||||
@@ -115,6 +116,8 @@ RimEclipseResultDefinition::RimEclipseResultDefinition( caf::PdmUiItemInfo::Labe
|
||||
|
||||
CAF_PDM_InitField( &m_divideByCellFaceArea, "DivideByCellFaceArea", false, "Divide By Area" );
|
||||
|
||||
CAF_PDM_InitField( &m_showDualPorosityLabel, "ShowDualPorosityLabel", true, "Show Dual Porosity Label" );
|
||||
|
||||
CAF_PDM_InitScriptableFieldNoDefault( &m_selectedInjectorTracers, "SelectedInjectorTracers", "Injector Tracers" );
|
||||
m_selectedInjectorTracers.uiCapability()->setUiHidden( true );
|
||||
|
||||
@@ -1477,9 +1480,10 @@ void RimEclipseResultDefinition::defineUiOrdering( QString uiConfigName, caf::Pd
|
||||
{
|
||||
uiOrdering.add( &m_resultTypeUiField );
|
||||
|
||||
if ( hasDualPorFractureResult() )
|
||||
if ( m_eclipseCase && m_eclipseCase->mainGrid() && m_eclipseCase->mainGrid()->isDualPorosity() )
|
||||
{
|
||||
uiOrdering.add( &m_porosityModelUiField );
|
||||
uiOrdering.add( &m_showDualPorosityLabel );
|
||||
}
|
||||
|
||||
if ( m_resultTypeUiField() == RiaDefines::ResultCatType::FLOW_DIAGNOSTICS )
|
||||
@@ -1577,6 +1581,14 @@ void RimEclipseResultDefinition::defineUiOrdering( QString uiConfigName, caf::Pd
|
||||
uiOrdering.skipRemainingFields( true );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimEclipseResultDefinition::showDualPorosityLabel() const
|
||||
{
|
||||
return m_showDualPorosityLabel;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -1611,19 +1623,6 @@ void RimEclipseResultDefinition::assignFlowSolutionFromCase()
|
||||
setFlowSolution( defaultFlowDiagSolution );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimEclipseResultDefinition::hasDualPorFractureResult()
|
||||
{
|
||||
if ( m_eclipseCase && m_eclipseCase->eclipseCaseData() )
|
||||
{
|
||||
return m_eclipseCase->eclipseCaseData()->hasFractureResults();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -1730,7 +1729,7 @@ void RimEclipseResultDefinition::updateLegendTitle( RimRegularLegendConfig* lege
|
||||
title += additionalResultTextShort();
|
||||
}
|
||||
|
||||
if ( hasDualPorFractureResult() )
|
||||
if ( m_eclipseCase && m_eclipseCase->mainGrid() && m_eclipseCase->mainGrid()->isDualPorosity() )
|
||||
{
|
||||
QString porosityModelText = caf::AppEnum<RiaDefines::PorosityModelType>::uiText( porosityModel() );
|
||||
|
||||
|
||||
Reference in new issue
Block a user