20 #ifndef OPM_COMP_WELL_PRIMARY_VARIABLES_HPP 21 #define OPM_COMP_WELL_PRIMARY_VARIABLES_HPP 23 #include <opm/material/densead/Evaluation.hpp> 25 #include <flowexperimental/comp/wells/CompWellEquations.hpp> 31 template <
typename Flu
idSystem>
34 template <
typename Flu
idSystem,
typename Indices>
38 static constexpr
int numWellConservationEq = FluidSystem::numComponents;
39 static constexpr
int numWellControlEq = 1;
40 static constexpr
int numWellEq = numWellConservationEq + numWellControlEq;
46 static constexpr
int QTotal = 0;
47 static constexpr
int Bhp = numWellEq - numWellControlEq;
49 using Scalar =
typename FluidSystem::Scalar;
52 static constexpr
int numResEq = Indices::numEq;
55 using EvalWell = DenseAd::Evaluation<Scalar, numWellEq + numResEq>;
56 using Eval = DenseAd::Evaluation<Scalar, numResEq>;
58 using BVectorWell =
typename CompWellEquations<Scalar, numWellEq, numResEq>::BVectorWell;
62 using FluidState = CompositionalFluidState<T, FluidSystem>;
65 FluidState<T> toFluidState()
const;
69 void updateEvaluation();
71 EvalWell getBhp()
const;
73 EvalWell getTotalRate()
const;
75 static EvalWell extendEval(
const Eval& in);
77 static Eval restrictEval(
const EvalWell& in);
79 void updateNewton(
const BVectorWell& dwells);
82 std::array<Scalar, numWellEq> value_;
83 std::array<EvalWell, numWellEq> evaluation_;
86 Scalar temperature_{0.};
89 T getValue_(
int index)
const;
95 #include "CompWellPrimaryVariables_impl.hpp" 97 #endif // OPM_COMP_WELL_PRIMARY_VARIABLES_HPP Definition: CompWellPrimaryVariables.hpp:32
Structs needed for tpfalinearizer and its gpuparams struct extracted to be defined in one place that ...
Definition: blackoilbioeffectsmodules.hh:45
Definition: CompWellPrimaryVariables.hpp:35