23 #ifndef OPM_WELLINTERFACE_INDICES_HEADER_INCLUDED 24 #define OPM_WELLINTERFACE_INDICES_HEADER_INCLUDED 26 #include <opm/material/densead/Evaluation.hpp> 28 #include <opm/simulators/wells/WellInterfaceFluidSystem.hpp> 32 template<
class Flu
idSystem,
class Indices>
33 class WellInterfaceIndices :
public WellInterfaceFluidSystem<FluidSystem>
36 using WellInterfaceFluidSystem<FluidSystem>::Gas;
37 using WellInterfaceFluidSystem<FluidSystem>::Oil;
38 using WellInterfaceFluidSystem<FluidSystem>::Water;
39 using Scalar =
typename FluidSystem::Scalar;
40 using Eval = DenseAd::Evaluation<Scalar, Indices::numDerivatives>;
41 using ModelParameters =
typename WellInterfaceFluidSystem<FluidSystem>::ModelParameters;
43 Scalar scalingFactor(
const int phaseIdx)
const;
45 template <
class EvalWell>
46 Eval restrictEval(
const EvalWell& in)
const 49 out.setValue(in.value());
50 for (
int eqIdx = 0; eqIdx < Indices::numEq; ++eqIdx) {
51 out.setDerivative(eqIdx, in.derivative(eqIdx));
57 WellInterfaceIndices(
const Well& well,
58 const ParallelWellInfo<Scalar>& parallel_well_info,
60 const ModelParameters& param,
61 const typename WellInterfaceFluidSystem<FluidSystem>::RateConverterType& rate_converter,
62 const int pvtRegionIdx,
63 const int num_conservation_quantities,
65 const int index_of_well,
66 const std::vector<PerforationData<Scalar>>& perf_data);
71 #endif // OPM_WELLINTERFACE_INDICES_HEADER_INCLUDED This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45