mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improve filtering by 3D view for Producer/Injector Connectivity Table (#10027)
- Calculate by visible cells: Calculate flow diag by use of visible cells in 3D view (already existing functionality). - Filter producers: select producer wells based on visibility in 3D view. Synch connected injectors - even if they are not visible in 3D view. - Filter injectors: select injector wells based on visibility in 3D view. Synch connected producers - even if they are not visible in 3D view.
This commit is contained in:
@@ -73,7 +73,7 @@ std::vector<SimulationWellCellBranch>
|
||||
|
||||
if ( timeStepIndex < 0 )
|
||||
{
|
||||
wellFramePtr = wellResults->staticWellCells();
|
||||
wellFramePtr = wellResults->staticWellResultFrame();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -327,7 +327,7 @@ RiaDefines::WellProductionType RigSimWellData::wellProductionType( size_t result
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const RigWellResultFrame* RigSimWellData::staticWellCells() const
|
||||
const RigWellResultFrame* RigSimWellData::staticWellResultFrame() const
|
||||
{
|
||||
// Make sure we have computed the static representation of the well
|
||||
if ( m_staticWellCells->m_wellResultBranches.size() == 0 )
|
||||
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
bool isOpen( size_t resultTimeStepIndex ) const;
|
||||
RiaDefines::WellProductionType wellProductionType( size_t resultTimeStepIndex ) const;
|
||||
|
||||
const RigWellResultFrame* staticWellCells() const;
|
||||
const RigWellResultFrame* staticWellResultFrame() const;
|
||||
|
||||
void computeMappingFromResultTimeIndicesToWellTimeIndices( const std::vector<QDateTime>& resultTimes );
|
||||
|
||||
|
||||
@@ -214,7 +214,7 @@ void RigSimulationWellCenterLineCalculator::calculateWellPipeCenterlineForTimeSt
|
||||
|
||||
if ( timeStepIndex < 0 )
|
||||
{
|
||||
wellFramePtr = wellResults->staticWellCells();
|
||||
wellFramePtr = wellResults->staticWellResultFrame();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -301,3 +301,19 @@ cvf::Vec3d RigWellResultPoint::bottomPosition() const
|
||||
{
|
||||
return m_bottomPosition;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RigWellResultPoint> RigWellResultFrame::allResultPoints() const
|
||||
{
|
||||
std::vector<RigWellResultPoint> allPoints;
|
||||
for ( const auto& resultBranch : m_wellResultBranches )
|
||||
{
|
||||
for ( const auto& resultPoint : resultBranch.m_branchResultPoints )
|
||||
{
|
||||
allPoints.push_back( resultPoint );
|
||||
}
|
||||
}
|
||||
return allPoints;
|
||||
}
|
||||
|
||||
@@ -120,8 +120,9 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
const RigWellResultPoint* findResultCellWellHeadIncluded( size_t gridIndex, size_t gridCellIndex ) const;
|
||||
const RigWellResultPoint* findResultCellWellHeadExcluded( size_t gridIndex, size_t gridCellIndex ) const;
|
||||
const RigWellResultPoint* findResultCellWellHeadIncluded( size_t gridIndex, size_t gridCellIndex ) const;
|
||||
const RigWellResultPoint* findResultCellWellHeadExcluded( size_t gridIndex, size_t gridCellIndex ) const;
|
||||
std::vector<RigWellResultPoint> allResultPoints() const;
|
||||
|
||||
RigWellResultPoint wellHeadOrStartCell() const;
|
||||
RiaDefines::WellProductionType m_productionType;
|
||||
|
||||
Reference in New Issue
Block a user