#2146 Num Flooded PV: Add allTimeSteps for all active native cells

This commit is contained in:
Rebecca Cox
2017-11-20 09:24:19 +01:00
parent 931bc71deb
commit f5290f020b
7 changed files with 54 additions and 1 deletions

View File

@@ -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;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -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);

View File

@@ -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;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -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: