mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2146 Num Flooded PV: Add allTimeSteps for all active native cells
This commit is contained in:
@@ -93,6 +93,25 @@ void RigStatisticsCalculator::addDataToHistogramCalculator(RigHistogramCalculato
|
||||
void RigStatisticsCalculator::mobileVolumeWeightedMean(size_t timeStepIndex, double& mean)
|
||||
{}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigStatisticsCalculator::mobileVolumeWeightedMean(double& mean)
|
||||
{
|
||||
double sum = 0.0;
|
||||
size_t tsCount = this->timeStepCount();
|
||||
for (size_t tIdx = 0; tIdx < tsCount; tIdx++)
|
||||
{
|
||||
double meanForTimeStep;
|
||||
this->mobileVolumeWeightedMean(tIdx, meanForTimeStep);
|
||||
sum += meanForTimeStep;
|
||||
}
|
||||
if (tsCount != 0)
|
||||
{
|
||||
mean = sum / tsCount;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -49,6 +49,7 @@ public:
|
||||
|
||||
virtual size_t timeStepCount() = 0;
|
||||
|
||||
virtual void mobileVolumeWeightedMean(double& mean);
|
||||
virtual void mobileVolumeWeightedMean(size_t timeStepIndex, double& mean);
|
||||
|
||||
static void posNegClosestToZero(const std::vector<double>& values, double& pos, double& neg);
|
||||
|
||||
@@ -293,6 +293,21 @@ void RigStatisticsDataCache::mobileVolumeWeightedMean(size_t timeStepIndex, doub
|
||||
mean = m_statsPrTs[timeStepIndex].m_volumeWeightedMean;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigStatisticsDataCache::mobileVolumeWeightedMean(double& mean)
|
||||
{
|
||||
if (!m_statsAllTimesteps.m_isVolumeWeightedMeanCalculated)
|
||||
{
|
||||
m_statisticsCalculator->mobileVolumeWeightedMean(m_statsAllTimesteps.m_volumeWeightedMean);
|
||||
|
||||
m_statsAllTimesteps.m_isVolumeWeightedMeanCalculated = true;
|
||||
}
|
||||
|
||||
mean = m_statsAllTimesteps.m_volumeWeightedMean;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -58,6 +58,7 @@ public:
|
||||
const std::vector<int>& uniqueCellScalarValues();
|
||||
const std::vector<int>& uniqueCellScalarValues(size_t timeStepIndex);
|
||||
|
||||
void mobileVolumeWeightedMean(double& mean);
|
||||
void mobileVolumeWeightedMean(size_t timeStepIndex, double& mean);
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user