44 const Simulator& simulator)
46 , simulator_(simulator)
53 virtual void initFromRestart(
const data::Aquifers& aquiferSoln) = 0;
55 virtual void initialSolutionApplied() = 0;
57 virtual void beginTimeStep() = 0;
58 virtual void endTimeStep() = 0;
60 virtual data::AquiferData aquiferData()
const = 0;
62 virtual void computeFaceAreaFraction(
const std::vector<Scalar>& total_face_area) = 0;
63 virtual Scalar totalFaceArea()
const = 0;
65 template <
class Context>
66 void addToSource(RateVector& rates,
67 const Context& context,
68 const unsigned spaceIdx,
69 const unsigned timeIdx)
71 const unsigned cellIdx = context.globalSpaceIndex(spaceIdx, timeIdx);
72 addToSource(rates, cellIdx, timeIdx);
75 virtual void addToSource(RateVector& rates,
76 const unsigned cellIdx,
77 const unsigned timeIdx) = 0;
79 int aquiferID()
const {
return this->aquiferID_; }
82 bool co2store_or_h2store_()
const
84 const auto& rspec = simulator_.vanguard().eclState().runspec();
85 return rspec.co2Storage() || rspec.h2Storage();
91 if (co2store_or_h2store_() && FluidSystem::phaseIsActive(FluidSystem::oilPhaseIdx))
92 return FluidSystem::oilPhaseIdx;
94 return FluidSystem::waterPhaseIdx;
97 const int aquiferID_{};
98 const Simulator& simulator_;
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:235