mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6364 Add more default values and export for Stimplan detailed fluid loss.
Added in this commit: * Relative Permeabilty factor * Poro-Elastic Constant * Thermal Expansion Coefficient.
This commit is contained in:
parent
d0322a98ba
commit
1b5be32994
@ -42,6 +42,14 @@ void AppEnum<RiaDefines::CurveProperty>::setUp()
|
||||
addItem( RiaDefines::CurveProperty::FLUID_LOSS_COEFFICIENT, "FLUID_LOSS_COEFFICIENT", "Fluid Loss Coefficient" );
|
||||
addItem( RiaDefines::CurveProperty::SPURT_LOSS, "SPURT_LOSS", "Spurt Loss" );
|
||||
addItem( RiaDefines::CurveProperty::TEMPERATURE, "TEMPERATURE", "Temperature" );
|
||||
addItem( RiaDefines::CurveProperty::RELATIVE_PERMEABILITY_FACTOR,
|
||||
"RELATIVE_PERMEABILITY_FACTOR",
|
||||
"Relative Permeability Factor" );
|
||||
addItem( RiaDefines::CurveProperty::PORO_ELASTIC_CONSTANT, "PORO_ELASTIC_CONSTANT", "Poro-Elastic Constant" );
|
||||
addItem( RiaDefines::CurveProperty::THERMAL_EXPANSION_COEFFISIENT,
|
||||
"THERMAL_EXPANSION_COEFFISIENT",
|
||||
"Thermal Expansion Coeffisient" );
|
||||
|
||||
setDefault( RiaDefines::CurveProperty::UNDEFINED );
|
||||
}
|
||||
}; // namespace caf
|
||||
|
@ -45,5 +45,8 @@ enum class CurveProperty
|
||||
FLUID_LOSS_COEFFICIENT,
|
||||
SPURT_LOSS,
|
||||
TEMPERATURE,
|
||||
RELATIVE_PERMEABILITY_FACTOR,
|
||||
PORO_ELASTIC_CONSTANT,
|
||||
THERMAL_EXPANSION_COEFFISIENT,
|
||||
};
|
||||
}; // namespace RiaDefines
|
||||
|
@ -140,7 +140,10 @@ RimFractureModelPlot*
|
||||
RiaDefines::CurveProperty::BIOT_COEFFICIENT,
|
||||
RiaDefines::CurveProperty::K0,
|
||||
RiaDefines::CurveProperty::FLUID_LOSS_COEFFICIENT,
|
||||
RiaDefines::CurveProperty::SPURT_LOSS};
|
||||
RiaDefines::CurveProperty::SPURT_LOSS,
|
||||
RiaDefines::CurveProperty::RELATIVE_PERMEABILITY_FACTOR,
|
||||
RiaDefines::CurveProperty::PORO_ELASTIC_CONSTANT,
|
||||
RiaDefines::CurveProperty::THERMAL_EXPANSION_COEFFISIENT};
|
||||
|
||||
for ( auto result : results )
|
||||
{
|
||||
|
@ -186,6 +186,22 @@ RimFractureModel::RimFractureModel()
|
||||
|
||||
CAF_PDM_InitScriptableField( &m_useDetailedFluidLoss, "UseDetailedFluidLoss", true, "Use Detailed Fluid Loss", "", "", "" );
|
||||
|
||||
CAF_PDM_InitScriptableField( &m_relativePermeabilityFactorDefault,
|
||||
"RelativePermeabilityFactor",
|
||||
0.5,
|
||||
"Relative Permeability Factor",
|
||||
"",
|
||||
"",
|
||||
"" );
|
||||
CAF_PDM_InitScriptableField( &m_poroElasticConstantDefault, "PoroElasticConstant", 0.0, "Poro-Elastic Constant", "", "", "" );
|
||||
CAF_PDM_InitScriptableField( &m_thermalExpansionCoeffientDefault,
|
||||
"ThermalExpansionCoeffisient",
|
||||
0.0,
|
||||
"Thermal Expansion Coeffisient",
|
||||
"",
|
||||
"",
|
||||
"" );
|
||||
|
||||
CAF_PDM_InitScriptableFieldNoDefault( &m_elasticProperties, "ElasticProperties", "Elastic Properties", "", "", "" );
|
||||
m_elasticProperties.uiCapability()->setUiHidden( true );
|
||||
m_elasticProperties.uiCapability()->setUiTreeHidden( true );
|
||||
@ -738,6 +754,42 @@ double RimFractureModel::getUnderburdenGradient( const QString& keyword ) const
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RimFractureModel::getDefaultValueForProperty( RiaDefines::CurveProperty curveProperty ) const
|
||||
{
|
||||
if ( curveProperty == RiaDefines::CurveProperty::RELATIVE_PERMEABILITY_FACTOR )
|
||||
{
|
||||
return m_relativePermeabilityFactorDefault;
|
||||
}
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::PORO_ELASTIC_CONSTANT )
|
||||
{
|
||||
return m_poroElasticConstantDefault;
|
||||
}
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::THERMAL_EXPANSION_COEFFISIENT )
|
||||
{
|
||||
return m_thermalExpansionCoeffientDefault;
|
||||
}
|
||||
else
|
||||
{
|
||||
RiaLogging::error(
|
||||
QString( "Missing default for %1." ).arg( caf::AppEnum<RiaDefines::CurveProperty>( curveProperty ).uiText() ) );
|
||||
return std::numeric_limits<double>::infinity();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFractureModel::hasDefaultValueForProperty( RiaDefines::CurveProperty curveProperty ) const
|
||||
{
|
||||
auto withDefaults = {RiaDefines::CurveProperty::RELATIVE_PERMEABILITY_FACTOR,
|
||||
RiaDefines::CurveProperty::PORO_ELASTIC_CONSTANT,
|
||||
RiaDefines::CurveProperty::THERMAL_EXPANSION_COEFFISIENT};
|
||||
return std::find( withDefaults.begin(), withDefaults.end(), curveProperty ) != withDefaults.end();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -109,6 +109,9 @@ public:
|
||||
void setElasticProperties( RimElasticProperties* elasticProperties );
|
||||
RimElasticProperties* elasticProperties() const;
|
||||
|
||||
double getDefaultValueForProperty( RiaDefines::CurveProperty ) const;
|
||||
bool hasDefaultValueForProperty( RiaDefines::CurveProperty ) const;
|
||||
|
||||
RiaDefines::CurveProperty getDefaultPropertyForMissingValues( const QString& keyword ) const;
|
||||
double getDefaultForMissingOverburdenValue( const QString& keyword ) const;
|
||||
double getDefaultForMissingUnderburdenValue( const QString& keyword ) const;
|
||||
@ -160,5 +163,8 @@ protected:
|
||||
caf::PdmField<double> m_referenceTemperature;
|
||||
caf::PdmField<double> m_referenceTemperatureGradient;
|
||||
caf::PdmField<double> m_referenceTemperatureDepth;
|
||||
caf::PdmField<double> m_relativePermeabilityFactorDefault;
|
||||
caf::PdmField<double> m_poroElasticConstantDefault;
|
||||
caf::PdmField<double> m_thermalExpansionCoeffientDefault;
|
||||
caf::PdmField<bool> m_useDetailedFluidLoss;
|
||||
};
|
||||
|
@ -309,6 +309,11 @@ void RimElasticPropertiesCurve::performDataExtraction( bool* isUsingPseudoLength
|
||||
double val = rigElasticProperties.getSpurtLoss( porosity );
|
||||
values.push_back( val );
|
||||
}
|
||||
else if ( m_fractureModel->hasDefaultValueForProperty( curveProperty() ) )
|
||||
{
|
||||
double val = m_fractureModel->getDefaultValueForProperty( curveProperty() );
|
||||
values.push_back( val );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -599,7 +599,7 @@ std::vector<double> RimFractureModelPlot::calculateTemperature() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<double> RimFractureModelPlot::calculateRelativePermeabilityFactor() const
|
||||
{
|
||||
return std::vector<double>();
|
||||
return findCurveAndComputeLayeredAverage( RiaDefines::CurveProperty::RELATIVE_PERMEABILITY_FACTOR );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -607,7 +607,7 @@ std::vector<double> RimFractureModelPlot::calculateRelativePermeabilityFactor()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<double> RimFractureModelPlot::calculatePoroElasticConstant() const
|
||||
{
|
||||
return std::vector<double>();
|
||||
return findCurveAndComputeLayeredAverage( RiaDefines::CurveProperty::PORO_ELASTIC_CONSTANT );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -615,5 +615,5 @@ std::vector<double> RimFractureModelPlot::calculatePoroElasticConstant() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<double> RimFractureModelPlot::calculateThermalExpansionCoefficient() const
|
||||
{
|
||||
return std::vector<double>();
|
||||
return findCurveAndComputeLayeredAverage( RiaDefines::CurveProperty::THERMAL_EXPANSION_COEFFISIENT );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user