20#ifndef OPM_GASLIFT_SINGLE_WELL_HEADER_INCLUDED
21#define OPM_GASLIFT_SINGLE_WELL_HEADER_INCLUDED
26#include <opm/simulators/wells/GasLiftSingleWellGeneric.hpp>
27#include <opm/simulators/wells/GasLiftGroupInfo.hpp>
28#include <opm/simulators/wells/WellInterface.hpp>
34template<
class TypeTag>
35class GasLiftSingleWell :
public GasLiftSingleWellGeneric<GetPropType<TypeTag, Properties::Scalar>>
37 using Scalar = GetPropType<TypeTag, Properties::Scalar>;
38 using Simulator = GetPropType<TypeTag, Properties::Simulator>;
39 using GLiftSyncGroups =
typename GasLiftSingleWellGeneric<Scalar>::GLiftSyncGroups;
40 using BasicRates =
typename GasLiftSingleWellGeneric<Scalar>::BasicRates;
43 GasLiftSingleWell(
const WellInterface<TypeTag>& well,
44 const Simulator& simulator,
45 const SummaryState& summary_state,
46 DeferredLogger& deferred_logger,
47 WellState<Scalar>& well_state,
48 const GroupState<Scalar>& group_state,
49 GasLiftGroupInfo<Scalar>& group_info,
50 GLiftSyncGroups& sync_groups,
51 const Parallel::Communication& comm,
54 const WellInterfaceGeneric<Scalar>& getWell()
const override {
return well_; }
58 computeBhpAtThpLimit_(Scalar alq,
59 bool debug_ouput =
true)
const override;
61 BasicRates computeWellRates_(Scalar bhp,
63 bool debug_output =
true)
const override;
65 void setAlqMaxRate_(
const GasLiftWell& well);
66 void setupPhaseVariables_();
67 bool checkThpControl_()
const override;
69 const Simulator& simulator_;
70 const WellInterface<TypeTag>& well_;
75#ifndef OPM_GASLIFT_SINGLE_WELL_IMPL_HEADER_INCLUDED
76#include "GasLiftSingleWell_impl.hpp"
Declare the properties used by the infrastructure code of the finite volume discretizations.
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37
This file provides the infrastructure to retrieve run-time parameters.
The Opm property system, traits with inheritance.