mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Thermal Fracture: make fracture completions export work.
This commit is contained in:
@@ -516,7 +516,7 @@ void RicExportFractureCompletionsImpl::getWellPressuresAndInitialProductionTimeS
|
|||||||
bool RicExportFractureCompletionsImpl::checkForStimPlanConductivity( const RimFractureTemplate* fracTemplate,
|
bool RicExportFractureCompletionsImpl::checkForStimPlanConductivity( const RimFractureTemplate* fracTemplate,
|
||||||
const RimFracture* fracture )
|
const RimFracture* fracture )
|
||||||
{
|
{
|
||||||
auto fracTemplateStimPlan = dynamic_cast<const RimStimPlanFractureTemplate*>( fracTemplate );
|
auto fracTemplateStimPlan = dynamic_cast<const RimMeshFractureTemplate*>( fracTemplate );
|
||||||
if ( fracTemplateStimPlan )
|
if ( fracTemplateStimPlan )
|
||||||
{
|
{
|
||||||
if ( !fracTemplateStimPlan->hasConductivity() )
|
if ( !fracTemplateStimPlan->hasConductivity() )
|
||||||
|
|||||||
@@ -34,9 +34,9 @@
|
|||||||
#include "RimFractureContainment.h"
|
#include "RimFractureContainment.h"
|
||||||
#include "RimFractureTemplate.h"
|
#include "RimFractureTemplate.h"
|
||||||
#include "RimFractureTemplateCollection.h"
|
#include "RimFractureTemplateCollection.h"
|
||||||
|
#include "RimMeshFractureTemplate.h"
|
||||||
#include "RimOilField.h"
|
#include "RimOilField.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimStimPlanFractureTemplate.h"
|
|
||||||
#include "RimTools.h"
|
#include "RimTools.h"
|
||||||
#include "RimWellPath.h"
|
#include "RimWellPath.h"
|
||||||
#include "RimWellPathCollection.h"
|
#include "RimWellPathCollection.h"
|
||||||
@@ -81,8 +81,8 @@ QString RicWellPathFractureTextReportFeatureImpl::wellPathFractureReport(
|
|||||||
|
|
||||||
textStream << lineStart << "\n";
|
textStream << lineStart << "\n";
|
||||||
|
|
||||||
std::vector<RimStimPlanFractureTemplate*> stimPlanTemplates;
|
std::vector<RimMeshFractureTemplate*> stimPlanTemplates;
|
||||||
std::vector<RimEllipseFractureTemplate*> ellipseTemplates;
|
std::vector<RimEllipseFractureTemplate*> ellipseTemplates;
|
||||||
|
|
||||||
{
|
{
|
||||||
auto proj = RimProject::current();
|
auto proj = RimProject::current();
|
||||||
@@ -101,7 +101,7 @@ QString RicWellPathFractureTextReportFeatureImpl::wellPathFractureReport(
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto stimPlanTemplate = dynamic_cast<RimStimPlanFractureTemplate*>( fracTemplate );
|
auto stimPlanTemplate = dynamic_cast<RimMeshFractureTemplate*>( fracTemplate );
|
||||||
if ( stimPlanTemplate )
|
if ( stimPlanTemplate )
|
||||||
{
|
{
|
||||||
stimPlanTemplates.push_back( stimPlanTemplate );
|
stimPlanTemplates.push_back( stimPlanTemplate );
|
||||||
@@ -269,7 +269,7 @@ QString RicWellPathFractureTextReportFeatureImpl::createWellFileLocationText( co
|
|||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
QString RicWellPathFractureTextReportFeatureImpl::createStimPlanFileLocationText(
|
QString RicWellPathFractureTextReportFeatureImpl::createStimPlanFileLocationText(
|
||||||
const std::vector<RimStimPlanFractureTemplate*>& stimPlanTemplates ) const
|
const std::vector<RimMeshFractureTemplate*>& stimPlanTemplates ) const
|
||||||
{
|
{
|
||||||
if ( stimPlanTemplates.empty() ) return "";
|
if ( stimPlanTemplates.empty() ) return "";
|
||||||
|
|
||||||
@@ -307,7 +307,7 @@ QString RicWellPathFractureTextReportFeatureImpl::createStimPlanFileLocationText
|
|||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
QString RicWellPathFractureTextReportFeatureImpl::createStimPlanFractureText(
|
QString RicWellPathFractureTextReportFeatureImpl::createStimPlanFractureText(
|
||||||
const std::vector<RimStimPlanFractureTemplate*>& stimPlanTemplates ) const
|
const std::vector<RimMeshFractureTemplate*>& stimPlanTemplates ) const
|
||||||
{
|
{
|
||||||
if ( stimPlanTemplates.empty() ) return "";
|
if ( stimPlanTemplates.empty() ) return "";
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ class RimWellPathFracture;
|
|||||||
class RimEclipseCase;
|
class RimEclipseCase;
|
||||||
class RimFractureTemplate;
|
class RimFractureTemplate;
|
||||||
class RimEllipseFractureTemplate;
|
class RimEllipseFractureTemplate;
|
||||||
class RimStimPlanFractureTemplate;
|
class RimMeshFractureTemplate;
|
||||||
class RifTextDataTableFormatter;
|
class RifTextDataTableFormatter;
|
||||||
class RicWellPathFractureReportItem;
|
class RicWellPathFractureReportItem;
|
||||||
|
|
||||||
@@ -43,8 +43,8 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
QString createWellFileLocationText( const std::vector<RimWellPath*>& wellPaths ) const;
|
QString createWellFileLocationText( const std::vector<RimWellPath*>& wellPaths ) const;
|
||||||
QString createStimPlanFileLocationText( const std::vector<RimStimPlanFractureTemplate*>& stimPlanTemplates ) const;
|
QString createStimPlanFileLocationText( const std::vector<RimMeshFractureTemplate*>& stimPlanTemplates ) const;
|
||||||
QString createStimPlanFractureText( const std::vector<RimStimPlanFractureTemplate*>& stimPlanTemplates ) const;
|
QString createStimPlanFractureText( const std::vector<RimMeshFractureTemplate*>& stimPlanTemplates ) const;
|
||||||
QString createEllipseFractureText( const std::vector<RimEllipseFractureTemplate*>& ellipseTemplates ) const;
|
QString createEllipseFractureText( const std::vector<RimEllipseFractureTemplate*>& ellipseTemplates ) const;
|
||||||
QString createFractureText( const std::vector<RimFractureTemplate*>& fractureTemplates ) const;
|
QString createFractureText( const std::vector<RimFractureTemplate*>& fractureTemplates ) const;
|
||||||
QString createFractureInstancesText( const std::vector<RimWellPathFracture*>& fractureTemplates ) const;
|
QString createFractureInstancesText( const std::vector<RimWellPathFracture*>& fractureTemplates ) const;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
#include "RimEllipseFractureTemplate.h"
|
#include "RimEllipseFractureTemplate.h"
|
||||||
#include "RimFracture.h"
|
#include "RimFracture.h"
|
||||||
#include "RimFractureContainmentTools.h"
|
#include "RimFractureContainmentTools.h"
|
||||||
#include "RimStimPlanFractureTemplate.h"
|
#include "RimMeshFractureTemplate.h"
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
@@ -187,7 +187,7 @@ double RigEclipseToStimPlanCalculator::areaWeightedWidth() const
|
|||||||
width = ellipseFractureTemplate->width();
|
width = ellipseFractureTemplate->width();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto stimPlanFractureTemplate = dynamic_cast<const RimStimPlanFractureTemplate*>( m_fracture->fractureTemplate() );
|
auto stimPlanFractureTemplate = dynamic_cast<const RimMeshFractureTemplate*>( m_fracture->fractureTemplate() );
|
||||||
if ( stimPlanFractureTemplate )
|
if ( stimPlanFractureTemplate )
|
||||||
{
|
{
|
||||||
auto widthValues = stimPlanFractureTemplate->widthResultValues();
|
auto widthValues = stimPlanFractureTemplate->widthResultValues();
|
||||||
@@ -202,7 +202,10 @@ double RigEclipseToStimPlanCalculator::areaWeightedWidth() const
|
|||||||
size_t globalStimPlanCellIndex = singleCellCalc.first;
|
size_t globalStimPlanCellIndex = singleCellCalc.first;
|
||||||
double widthValue = widthValues[globalStimPlanCellIndex];
|
double widthValue = widthValues[globalStimPlanCellIndex];
|
||||||
|
|
||||||
calc.addValueAndWeight( widthValue, cellArea );
|
if ( !std::isinf( widthValue ) && !std::isnan( widthValue ) )
|
||||||
|
{
|
||||||
|
calc.addValueAndWeight( widthValue, cellArea );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
width = calc.weightedMean();
|
width = calc.weightedMean();
|
||||||
@@ -227,7 +230,11 @@ double RigEclipseToStimPlanCalculator::areaWeightedConductivity() const
|
|||||||
{
|
{
|
||||||
double cellArea = singleCellCalc.second.areaOpenForFlow();
|
double cellArea = singleCellCalc.second.areaOpenForFlow();
|
||||||
|
|
||||||
calc.addValueAndWeight( singleCellCalc.second.fractureCell().getConductivityValue(), cellArea );
|
double conductivity = singleCellCalc.second.fractureCell().getConductivityValue();
|
||||||
|
if ( !std::isinf( conductivity ) && !std::isnan( conductivity ) )
|
||||||
|
{
|
||||||
|
calc.addValueAndWeight( conductivity, cellArea );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return calc.validAggregatedWeight() ? calc.weightedMean() : 0.0;
|
return calc.validAggregatedWeight() ? calc.weightedMean() : 0.0;
|
||||||
|
|||||||
Reference in New Issue
Block a user