mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fault reactivation: Use same pore pressure gradient for POR and stress.
This commit is contained in:
parent
f1135919e7
commit
80697d3540
@ -48,8 +48,8 @@ RimFaultReactivationDataAccess::RimFaultReactivationDataAccess( RimEclipseCase*
|
|||||||
const std::vector<size_t>& timeSteps )
|
const std::vector<size_t>& timeSteps )
|
||||||
: m_timeSteps( timeSteps )
|
: m_timeSteps( timeSteps )
|
||||||
{
|
{
|
||||||
// TODO: correct default pore pressure gradient?
|
double porePressureGradient = 1.0;
|
||||||
m_accessors.push_back( std::make_shared<RimFaultReactivationDataAccessorPorePressure>( thecase, 1.0 ) );
|
m_accessors.push_back( std::make_shared<RimFaultReactivationDataAccessorPorePressure>( thecase, porePressureGradient ) );
|
||||||
m_accessors.push_back( std::make_shared<RimFaultReactivationDataAccessorVoidRatio>( thecase, 0.0001 ) );
|
m_accessors.push_back( std::make_shared<RimFaultReactivationDataAccessorVoidRatio>( thecase, 0.0001 ) );
|
||||||
m_accessors.push_back( std::make_shared<RimFaultReactivationDataAccessorTemperature>( thecase ) );
|
m_accessors.push_back( std::make_shared<RimFaultReactivationDataAccessorTemperature>( thecase ) );
|
||||||
if ( geoMechCase )
|
if ( geoMechCase )
|
||||||
@ -71,7 +71,7 @@ RimFaultReactivationDataAccess::RimFaultReactivationDataAccess( RimEclipseCase*
|
|||||||
RimFaultReactivation::Property::LateralStressComponentY };
|
RimFaultReactivation::Property::LateralStressComponentY };
|
||||||
for ( auto property : stressProperties )
|
for ( auto property : stressProperties )
|
||||||
{
|
{
|
||||||
m_accessors.push_back( std::make_shared<RimFaultReactivationDataAccessorStress>( geoMechCase, property, 0.003 ) );
|
m_accessors.push_back( std::make_shared<RimFaultReactivationDataAccessorStress>( geoMechCase, property, porePressureGradient ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -381,7 +381,7 @@ void RimFaultReactivationDataAccessorStress::fillInMissingValues( const std::vec
|
|||||||
auto [lastOverburdenIndex, firstUnderburdenIndex] = findOverburdenAndUnderburdenIndex( values );
|
auto [lastOverburdenIndex, firstUnderburdenIndex] = findOverburdenAndUnderburdenIndex( values );
|
||||||
|
|
||||||
// Fill in overburden values using gradient
|
// Fill in overburden values using gradient
|
||||||
double topPorePressure = calculatePorePressure( std::abs( intersections[0].z() ), 1.0 );
|
double topPorePressure = calculatePorePressure( std::abs( intersections[0].z() ), gradient );
|
||||||
double overburdenGradient =
|
double overburdenGradient =
|
||||||
computeGradient( intersections[0].z(), topPorePressure, intersections[lastOverburdenIndex].z(), values[lastOverburdenIndex] );
|
computeGradient( intersections[0].z(), topPorePressure, intersections[lastOverburdenIndex].z(), values[lastOverburdenIndex] );
|
||||||
|
|
||||||
@ -392,7 +392,7 @@ void RimFaultReactivationDataAccessorStress::fillInMissingValues( const std::vec
|
|||||||
|
|
||||||
// Fill in underburden values using gradient
|
// Fill in underburden values using gradient
|
||||||
int lastElementIndex = static_cast<int>( values.size() ) - 1;
|
int lastElementIndex = static_cast<int>( values.size() ) - 1;
|
||||||
double bottomPorePressure = calculatePorePressure( std::abs( intersections[lastElementIndex].z() ), 1.0 );
|
double bottomPorePressure = calculatePorePressure( std::abs( intersections[lastElementIndex].z() ), gradient );
|
||||||
double underburdenGradient = computeGradient( intersections[firstUnderburdenIndex].z(),
|
double underburdenGradient = computeGradient( intersections[firstUnderburdenIndex].z(),
|
||||||
values[firstUnderburdenIndex],
|
values[firstUnderburdenIndex],
|
||||||
intersections[lastElementIndex].z(),
|
intersections[lastElementIndex].z(),
|
||||||
|
Loading…
Reference in New Issue
Block a user