20 #ifndef OPM_COMP_WELLINTERFACE_HPP 21 #define OPM_COMP_WELLINTERFACE_HPP 24 #include <opm/simulators/wells/PerforationData.hpp> 26 #include <flowexperimental/comp/wells/SingleCompWellState.hpp> 32 template <
typename TypeTag>
43 using VectorBlockType = Dune::FieldVector<Scalar, Indices::numEq>;
44 using BVector = Dune::BlockVector<VectorBlockType>;
49 const int index_of_well,
50 const std::vector<CompConnectionData>& well_connection_data);
56 const std::string& name()
const;
58 virtual void calculateExplicitQuantities(
const Simulator& simulator,
61 virtual void updatePrimaryVariables(
const Simulator& simulator,
64 virtual bool iterateWellEq(
const Simulator& simulator,
68 void addCellRates(RateVector& rates,
unsigned cellIdx)
const;
70 const std::vector<std::size_t>& cells()
const {
return well_cells_; }
72 virtual void apply(BVector& r)
const = 0;
78 virtual bool getConvergence()
const = 0;
80 virtual void addWellContributions(SparseMatrixAdapter&)
const = 0;
84 const Well& well_ecl_;
85 int index_of_well_{-1};
87 int number_of_connection_ {};
88 Scalar reference_depth_ {};
90 std::vector<RateVector> connectionRates_;
94 std::vector<std::size_t> well_cells_;
97 std::vector<Scalar> well_index_;
98 std::vector<int> saturation_table_number_;
107 #include "CompWellInterface_impl.hpp" 109 #endif // OPM_COMP_WELLINTERFACE_HPP Definition: CompWellInterface.hpp:33
Definition: CompWellPrimaryVariables.hpp:32
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:233
virtual void recoverWellSolutionAndUpdateWellState(const BVector &x, SingleWellState &well_state)=0
using the solution x to recover the solution xw for wells and applying xw to update Well State ...
Structs needed for tpfalinearizer and its gpuparams struct extracted to be defined in one place that ...
Definition: blackoilbioeffectsmodules.hh:45
Static data associated with a well perforation.
Definition: BlackoilWellModelRestart.hpp:41
The Opm property system, traits with inheritance.