mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-10-13 09:22:05 -05:00
Add gaslift optimization support for MSW.
Implements gas lift optimization support for multisegmented wells (MSW).
This commit is contained in:
1 parent
a520733d5b
commit
54160827de
15 files changed
+238
-147
No files matched your search
@@ -31,8 +31,6 @@
|
||||
#include <opm/simulators/wells/WellInterface.hpp>
|
||||
#include <opm/simulators/wells/WellProdIndexCalculator.hpp>
|
||||
#include <opm/simulators/wells/ParallelWellInfo.hpp>
|
||||
#include <opm/simulators/wells/GasLiftSingleWell.hpp>
|
||||
#include <opm/simulators/wells/GasLiftGroupInfo.hpp>
|
||||
|
||||
#include <opm/models/blackoil/blackoilpolymermodules.hh>
|
||||
#include <opm/models/blackoil/blackoilsolventmodules.hh>
|
||||
@@ -83,11 +81,6 @@ namespace Opm
|
||||
using typename Base::SparseMatrixAdapter;
|
||||
using typename Base::FluidState;
|
||||
using typename Base::RateVector;
|
||||
using typename Base::GasLiftSingleWell;
|
||||
using typename Base::GLiftOptWells;
|
||||
using typename Base::GLiftProdWells;
|
||||
using typename Base::GLiftWellStateMap;
|
||||
using typename Base::GLiftSyncGroups;
|
||||
|
||||
using Base::has_solvent;
|
||||
using Base::has_zFraction;
|
||||
@@ -202,19 +195,6 @@ namespace Opm
|
||||
return this->param_.matrix_add_well_contributions_;
|
||||
}
|
||||
|
||||
virtual void gasLiftOptimizationStage1 (
|
||||
WellState& well_state,
|
||||
const GroupState& group_state,
|
||||
const Simulator& ebosSimulator,
|
||||
DeferredLogger& deferred_logger,
|
||||
GLiftProdWells &prod_wells,
|
||||
GLiftOptWells &glift_wells,
|
||||
GLiftWellStateMap &state_map,
|
||||
GasLiftGroupInfo &group_info,
|
||||
GLiftSyncGroups &sync_groups,
|
||||
bool glift_debug
|
||||
) const override;
|
||||
|
||||
/* returns BHP */
|
||||
double computeWellRatesAndBhpWithThpAlqProd(const Simulator &ebos_simulator,
|
||||
const SummaryState &summary_state,
|
||||
@@ -229,19 +209,17 @@ namespace Opm
|
||||
std::vector<double> &potentials,
|
||||
double alq) const;
|
||||
|
||||
// NOTE: Cannot be protected since it is used by GasLiftRuntime
|
||||
std::optional<double> computeBhpAtThpLimitProdWithAlq(
|
||||
virtual std::optional<double> computeBhpAtThpLimitProdWithAlq(
|
||||
const Simulator& ebos_simulator,
|
||||
const SummaryState& summary_state,
|
||||
DeferredLogger& deferred_logger,
|
||||
double alq_value) const;
|
||||
double alq_value) const override;
|
||||
|
||||
// NOTE: Cannot be protected since it is used by GasLiftRuntime
|
||||
void computeWellRatesWithBhp(
|
||||
virtual void computeWellRatesWithBhp(
|
||||
const Simulator& ebosSimulator,
|
||||
const double& bhp,
|
||||
std::vector<double>& well_flux,
|
||||
DeferredLogger& deferred_logger) const;
|
||||
DeferredLogger& deferred_logger) const override;
|
||||
|
||||
// NOTE: These cannot be protected since they are used by GasLiftRuntime
|
||||
using Base::phaseUsage;
|
||||
|
||||
Reference in new issue
Block a user