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:
parent
2fea355cd2
commit
0e49d983a2
@ -516,7 +516,7 @@ void RicExportFractureCompletionsImpl::getWellPressuresAndInitialProductionTimeS
|
||||
bool RicExportFractureCompletionsImpl::checkForStimPlanConductivity( const RimFractureTemplate* fracTemplate,
|
||||
const RimFracture* fracture )
|
||||
{
|
||||
auto fracTemplateStimPlan = dynamic_cast<const RimStimPlanFractureTemplate*>( fracTemplate );
|
||||
auto fracTemplateStimPlan = dynamic_cast<const RimMeshFractureTemplate*>( fracTemplate );
|
||||
if ( fracTemplateStimPlan )
|
||||
{
|
||||
if ( !fracTemplateStimPlan->hasConductivity() )
|
||||
|
@ -34,9 +34,9 @@
|
||||
#include "RimFractureContainment.h"
|
||||
#include "RimFractureTemplate.h"
|
||||
#include "RimFractureTemplateCollection.h"
|
||||
#include "RimMeshFractureTemplate.h"
|
||||
#include "RimOilField.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimStimPlanFractureTemplate.h"
|
||||
#include "RimTools.h"
|
||||
#include "RimWellPath.h"
|
||||
#include "RimWellPathCollection.h"
|
||||
@ -81,8 +81,8 @@ QString RicWellPathFractureTextReportFeatureImpl::wellPathFractureReport(
|
||||
|
||||
textStream << lineStart << "\n";
|
||||
|
||||
std::vector<RimStimPlanFractureTemplate*> stimPlanTemplates;
|
||||
std::vector<RimEllipseFractureTemplate*> ellipseTemplates;
|
||||
std::vector<RimMeshFractureTemplate*> stimPlanTemplates;
|
||||
std::vector<RimEllipseFractureTemplate*> ellipseTemplates;
|
||||
|
||||
{
|
||||
auto proj = RimProject::current();
|
||||
@ -101,7 +101,7 @@ QString RicWellPathFractureTextReportFeatureImpl::wellPathFractureReport(
|
||||
continue;
|
||||
}
|
||||
|
||||
auto stimPlanTemplate = dynamic_cast<RimStimPlanFractureTemplate*>( fracTemplate );
|
||||
auto stimPlanTemplate = dynamic_cast<RimMeshFractureTemplate*>( fracTemplate );
|
||||
if ( stimPlanTemplate )
|
||||
{
|
||||
stimPlanTemplates.push_back( stimPlanTemplate );
|
||||
@ -269,7 +269,7 @@ QString RicWellPathFractureTextReportFeatureImpl::createWellFileLocationText( co
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RicWellPathFractureTextReportFeatureImpl::createStimPlanFileLocationText(
|
||||
const std::vector<RimStimPlanFractureTemplate*>& stimPlanTemplates ) const
|
||||
const std::vector<RimMeshFractureTemplate*>& stimPlanTemplates ) const
|
||||
{
|
||||
if ( stimPlanTemplates.empty() ) return "";
|
||||
|
||||
@ -307,7 +307,7 @@ QString RicWellPathFractureTextReportFeatureImpl::createStimPlanFileLocationText
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RicWellPathFractureTextReportFeatureImpl::createStimPlanFractureText(
|
||||
const std::vector<RimStimPlanFractureTemplate*>& stimPlanTemplates ) const
|
||||
const std::vector<RimMeshFractureTemplate*>& stimPlanTemplates ) const
|
||||
{
|
||||
if ( stimPlanTemplates.empty() ) return "";
|
||||
|
||||
|
@ -25,7 +25,7 @@ class RimWellPathFracture;
|
||||
class RimEclipseCase;
|
||||
class RimFractureTemplate;
|
||||
class RimEllipseFractureTemplate;
|
||||
class RimStimPlanFractureTemplate;
|
||||
class RimMeshFractureTemplate;
|
||||
class RifTextDataTableFormatter;
|
||||
class RicWellPathFractureReportItem;
|
||||
|
||||
@ -43,8 +43,8 @@ public:
|
||||
|
||||
private:
|
||||
QString createWellFileLocationText( const std::vector<RimWellPath*>& wellPaths ) const;
|
||||
QString createStimPlanFileLocationText( const std::vector<RimStimPlanFractureTemplate*>& stimPlanTemplates ) const;
|
||||
QString createStimPlanFractureText( const std::vector<RimStimPlanFractureTemplate*>& stimPlanTemplates ) const;
|
||||
QString createStimPlanFileLocationText( const std::vector<RimMeshFractureTemplate*>& stimPlanTemplates ) const;
|
||||
QString createStimPlanFractureText( const std::vector<RimMeshFractureTemplate*>& stimPlanTemplates ) const;
|
||||
QString createEllipseFractureText( const std::vector<RimEllipseFractureTemplate*>& ellipseTemplates ) const;
|
||||
QString createFractureText( const std::vector<RimFractureTemplate*>& fractureTemplates ) const;
|
||||
QString createFractureInstancesText( const std::vector<RimWellPathFracture*>& fractureTemplates ) const;
|
||||
|
@ -37,7 +37,7 @@
|
||||
#include "RimEllipseFractureTemplate.h"
|
||||
#include "RimFracture.h"
|
||||
#include "RimFractureContainmentTools.h"
|
||||
#include "RimStimPlanFractureTemplate.h"
|
||||
#include "RimMeshFractureTemplate.h"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -187,7 +187,7 @@ double RigEclipseToStimPlanCalculator::areaWeightedWidth() const
|
||||
width = ellipseFractureTemplate->width();
|
||||
}
|
||||
|
||||
auto stimPlanFractureTemplate = dynamic_cast<const RimStimPlanFractureTemplate*>( m_fracture->fractureTemplate() );
|
||||
auto stimPlanFractureTemplate = dynamic_cast<const RimMeshFractureTemplate*>( m_fracture->fractureTemplate() );
|
||||
if ( stimPlanFractureTemplate )
|
||||
{
|
||||
auto widthValues = stimPlanFractureTemplate->widthResultValues();
|
||||
@ -202,7 +202,10 @@ double RigEclipseToStimPlanCalculator::areaWeightedWidth() const
|
||||
size_t globalStimPlanCellIndex = singleCellCalc.first;
|
||||
double widthValue = widthValues[globalStimPlanCellIndex];
|
||||
|
||||
calc.addValueAndWeight( widthValue, cellArea );
|
||||
if ( !std::isinf( widthValue ) && !std::isnan( widthValue ) )
|
||||
{
|
||||
calc.addValueAndWeight( widthValue, cellArea );
|
||||
}
|
||||
}
|
||||
|
||||
width = calc.weightedMean();
|
||||
@ -227,7 +230,11 @@ double RigEclipseToStimPlanCalculator::areaWeightedConductivity() const
|
||||
{
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user