43 const Simulator& ebosSimulator)
45 , ebos_simulator_(ebosSimulator)
52 virtual void initFromRestart(
const data::Aquifers&
aquiferSoln) = 0;
54 virtual void initialSolutionApplied() = 0;
56 virtual void beginTimeStep() = 0;
57 virtual void endTimeStep() = 0;
59 virtual data::AquiferData aquiferData()
const = 0;
61 virtual void computeFaceAreaFraction(
const std::vector<double>&
total_face_area) = 0;
62 virtual double totalFaceArea()
const = 0;
64 template <
class Context>
65 void addToSource(RateVector& rates,
74 virtual void addToSource(RateVector& rates,
78 int aquiferID()
const {
return this->aquiferID_; }
81 bool co2store_or_h2store_()
const
83 const auto&
rspec = ebos_simulator_.vanguard().eclState().runspec();
84 return rspec.co2Storage() ||
rspec.h2Storage();
90 if (co2store_or_h2store_() && FluidSystem::phaseIsActive(FluidSystem::oilPhaseIdx))
91 return FluidSystem::oilPhaseIdx;
93 return FluidSystem::waterPhaseIdx;
96 const int aquiferID_{};
97 const Simulator& ebos_simulator_;