#ifndef OPM_FI_BLACK_OIL_MODEL_NOCACHE_HPP #define OPM_FI_BLACK_OIL_MODEL_NOCACHE_HPP #include namespace Opm { template class FIBlackOilModelNoCache: public FIBlackOilModel { using Simulator = GetPropType; using IntensiveQuantities = GetPropType; public: explicit FIBlackOilModelNoCache(Simulator& simulator) : FIBlackOilModel(simulator) {} IntensiveQuantities intensiveQuantities(unsigned globalIdx, unsigned timeIdx) const { OPM_TIMEBLOCK_LOCAL(intensiveQuantitiesNoCache); const auto& primaryVar = this->solution(timeIdx)[globalIdx]; const auto& problem = this->simulator_.problem(); if (!(this->enableIntensiveQuantityCache_) || !(this->intensiveQuantityCacheUpToDate_[timeIdx][globalIdx])) { IntensiveQuantities intQuants; intQuants.update(problem,primaryVar, globalIdx, timeIdx); return intQuants;// reqiored for updating extrution factor } else { IntensiveQuantities intQuants = (this->intensiveQuantityCache_[timeIdx][globalIdx]); return intQuants; } } }; } // namespace Opm #endif