mirror of
https://github.com/OPM/ResInsight.git
synced 2026-08-02 09:39:37 -05:00
#8030 Ensemble Fracture Statistics: report area for individual fractures
This commit is contained in:
@@ -78,6 +78,47 @@ RigHistogramData RigEnsembleFractureStatisticsCalculator::createStatisticsData(
|
||||
const std::vector<cvf::ref<RigStimPlanFractureDefinition>>& fractureDefinitions,
|
||||
PropertyType propertyType,
|
||||
int numBins )
|
||||
{
|
||||
std::vector<double> samples = calculateProperty( fractureDefinitions, propertyType );
|
||||
|
||||
RigHistogramData histogramData;
|
||||
|
||||
double sum;
|
||||
double range;
|
||||
double dev;
|
||||
RigStatisticsMath::calculateBasicStatistics( samples,
|
||||
&histogramData.min,
|
||||
&histogramData.max,
|
||||
&sum,
|
||||
&range,
|
||||
&histogramData.mean,
|
||||
&dev );
|
||||
|
||||
double p50;
|
||||
double mean;
|
||||
RigStatisticsMath::calculateStatisticsCurves( samples,
|
||||
&histogramData.p10,
|
||||
&p50,
|
||||
&histogramData.p90,
|
||||
&mean,
|
||||
RigStatisticsMath::PercentileStyle::SWITCHED );
|
||||
|
||||
std::vector<size_t> histogram;
|
||||
RigHistogramCalculator histogramCalculator( histogramData.min, histogramData.max, numBins, &histogram );
|
||||
for ( auto s : samples )
|
||||
histogramCalculator.addValue( s );
|
||||
|
||||
histogramData.histogram = histogram;
|
||||
|
||||
return histogramData;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<double> RigEnsembleFractureStatisticsCalculator::calculateProperty(
|
||||
const std::vector<cvf::ref<RigStimPlanFractureDefinition>>& fractureDefinitions,
|
||||
PropertyType propertyType )
|
||||
{
|
||||
std::vector<double> samples;
|
||||
if ( propertyType == PropertyType::HEIGHT )
|
||||
@@ -112,36 +153,7 @@ RigHistogramData RigEnsembleFractureStatisticsCalculator::createStatisticsData(
|
||||
samples = calculateFormationDip( fractureDefinitions );
|
||||
}
|
||||
|
||||
RigHistogramData histogramData;
|
||||
|
||||
double sum;
|
||||
double range;
|
||||
double dev;
|
||||
RigStatisticsMath::calculateBasicStatistics( samples,
|
||||
&histogramData.min,
|
||||
&histogramData.max,
|
||||
&sum,
|
||||
&range,
|
||||
&histogramData.mean,
|
||||
&dev );
|
||||
|
||||
double p50;
|
||||
double mean;
|
||||
RigStatisticsMath::calculateStatisticsCurves( samples,
|
||||
&histogramData.p10,
|
||||
&p50,
|
||||
&histogramData.p90,
|
||||
&mean,
|
||||
RigStatisticsMath::PercentileStyle::SWITCHED );
|
||||
|
||||
std::vector<size_t> histogram;
|
||||
RigHistogramCalculator histogramCalculator( histogramData.min, histogramData.max, numBins, &histogram );
|
||||
for ( auto s : samples )
|
||||
histogramCalculator.addValue( s );
|
||||
|
||||
histogramData.histogram = histogram;
|
||||
|
||||
return histogramData;
|
||||
return samples;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -60,6 +60,10 @@ public:
|
||||
static std::vector<cvf::ref<RigStimPlanFractureDefinition>>
|
||||
removeZeroWidthDefinitions( const std::vector<cvf::ref<RigStimPlanFractureDefinition>>& fractureDefinitions );
|
||||
|
||||
static std::vector<double>
|
||||
calculateProperty( const std::vector<cvf::ref<RigStimPlanFractureDefinition>>& fractureDefinitions,
|
||||
PropertyType propertyType );
|
||||
|
||||
private:
|
||||
static std::vector<double>
|
||||
calculateGridStatistics( const std::vector<cvf::ref<RigStimPlanFractureDefinition>>& fractureDefinitions,
|
||||
|
||||
Reference in New Issue
Block a user