mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fault Reactivation updates (#10665)
* Support getting pore pressure for all nodes * Misc fixes and updates in fault reactivation UI * Disable fault reactivation result unless you load an odb from a valid working folder
This commit is contained in:
@@ -18,6 +18,8 @@
|
||||
|
||||
#include "RigGriddedPart3d.h"
|
||||
|
||||
#include "RimFaultReactivationDataAccess.h"
|
||||
|
||||
#include "cvfTextureImage.h"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -46,6 +48,16 @@ void RigGriddedPart3d::reset()
|
||||
m_nodes.clear();
|
||||
m_elementIndices.clear();
|
||||
m_meshLines.clear();
|
||||
|
||||
clearModelData();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigGriddedPart3d::clearModelData()
|
||||
{
|
||||
m_nodePorePressure.clear();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -344,3 +356,29 @@ const std::map<RigGriddedPart3d::Boundary, std::vector<unsigned int>>& RigGridde
|
||||
{
|
||||
return m_boundaryNodes;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const std::vector<double>& RigGriddedPart3d::nodePorePressure( size_t outputTimeStep ) const
|
||||
{
|
||||
if ( outputTimeStep >= m_nodePorePressure.size() ) return m_emptyData;
|
||||
return m_nodePorePressure[outputTimeStep];
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigGriddedPart3d::extractModelData( RimFaultReactivationDataAccess* dataAccess, size_t outputTimeStep )
|
||||
{
|
||||
if ( m_nodePorePressure.size() <= outputTimeStep )
|
||||
{
|
||||
m_nodePorePressure.resize( outputTimeStep + 1 );
|
||||
}
|
||||
|
||||
for ( auto& node : m_nodes )
|
||||
{
|
||||
double pressure = dataAccess->porePressureAtPosition( node, 1.0 );
|
||||
m_nodePorePressure[outputTimeStep].push_back( pressure );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user