Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CMakeLists_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ list (APPEND MAIN_SOURCE_FILES
opm/simulators/wells/BlackoilWellModelGasLift.cpp
opm/simulators/wells/BlackoilWellModelGeneric.cpp
opm/simulators/wells/BlackoilWellModelGuideRates.cpp
opm/simulators/wells/BlackoilWellModelNetworkGeneric.cpp
opm/simulators/wells/BlackoilWellModelNldd.cpp
opm/simulators/wells/BlackoilWellModelRestart.cpp
opm/simulators/wells/BlackoilWellModelWBP.cpp
Expand Down Expand Up @@ -1131,6 +1132,9 @@ list (APPEND PUBLIC_HEADER_FILES
opm/simulators/wells/BlackoilWellModelGasLift_impl.hpp
opm/simulators/wells/BlackoilWellModelGeneric.hpp
opm/simulators/wells/BlackoilWellModelGuideRates.hpp
opm/simulators/wells/BlackoilWellModelNetwork.hpp
opm/simulators/wells/BlackoilWellModelNetwork_impl.hpp
opm/simulators/wells/BlackoilWellModelNetworkGeneric.hpp
opm/simulators/wells/BlackoilWellModelNldd.hpp
opm/simulators/wells/BlackoilWellModelNldd_impl.hpp
opm/simulators/wells/BlackoilWellModelRestart.hpp
Expand Down
33 changes: 16 additions & 17 deletions opm/simulators/wells/BlackoilWellModel.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
#include <opm/simulators/wells/BlackoilWellModelGasLift.hpp>
#include <opm/simulators/wells/BlackoilWellModelGeneric.hpp>
#include <opm/simulators/wells/BlackoilWellModelGuideRates.hpp>
#include <opm/simulators/wells/BlackoilWellModelNetwork.hpp>
#include <opm/simulators/wells/GasLiftGroupInfo.hpp>
#include <opm/simulators/wells/GasLiftSingleWell.hpp>
#include <opm/simulators/wells/GasLiftSingleWellGeneric.hpp>
Expand Down Expand Up @@ -281,10 +282,6 @@ template<class Scalar> class WellContributions;
bool
updateWellControls(DeferredLogger& deferred_logger);

std::tuple<bool, Scalar>
updateNetworks(const bool mandatory_network_balance, DeferredLogger& deferred_logger, const bool relax_network_tolerance = false);


void updateAndCommunicate(const int reportStepIdx,
const int iterationIdx,
DeferredLogger& deferred_logger);
Expand Down Expand Up @@ -425,6 +422,20 @@ template<class Scalar> class WellContributions;
setupRescoupScopedLogger(DeferredLogger& local_logger);

#endif

bool updateWellControlsAndNetwork(const bool mandatory_network_balance,
const double dt,
DeferredLogger& local_deferredLogger);

// TODO: finding a better naming
void assembleWellEqWithoutIteration(const double dt, DeferredLogger& deferred_logger);

const std::vector<Scalar>& B_avg() const
{ return B_avg_; }

const ModelParameters& param() const
{ return param_; }

protected:
Simulator& simulator_;

Expand Down Expand Up @@ -458,7 +469,6 @@ template<class Scalar> class WellContributions;
Scalar gravity_{};
std::vector<Scalar> depth_{};
bool alternative_well_rate_init_{};
std::map<std::string, Scalar> well_group_thp_calc_;
std::unique_ptr<RateConverterType> rateConverter_{};
std::map<std::string, std::unique_ptr<AverageRegionalPressureType>> regionalAveragePressureCalculator_{};

Expand All @@ -468,9 +478,6 @@ template<class Scalar> class WellContributions;
// A flag to tell the convergence report whether we need to take another newton step
bool network_needs_more_balancing_force_another_newton_iteration_{false};

// Pre-step network solve at static reservoir conditions (group and well states might be updated)
void doPreStepNetworkRebalance(DeferredLogger& deferred_logger);

std::vector<Scalar> B_avg_{};

const EquilGrid& equilGrid() const
Expand All @@ -494,12 +501,6 @@ template<class Scalar> class WellContributions;
const double dt,
DeferredLogger& local_deferredLogger);

bool updateWellControlsAndNetwork(const bool mandatory_network_balance,
const double dt,
DeferredLogger& local_deferredLogger);

bool computeWellGroupThp(const double dt, DeferredLogger& local_deferredLogger);

/// Update rank's notion of intersecting wells and their
/// associate solution variables.
///
Expand Down Expand Up @@ -549,9 +550,6 @@ template<class Scalar> class WellContributions;

void prepareWellsBeforeAssembling(const double dt, DeferredLogger& deferred_logger);

// TODO: finding a better naming
void assembleWellEqWithoutIteration(const double dt, DeferredLogger& deferred_logger);

void extractLegacyCellPvtRegionIndex_();

void extractLegacyDepth_();
Expand All @@ -574,6 +572,7 @@ template<class Scalar> class WellContributions;

private:
BlackoilWellModelGasLift<TypeTag> gaslift_;
BlackoilWellModelNetwork<TypeTag> network_;
BlackoilWellModelNldd<TypeTag>* nldd_ = nullptr; //!< NLDD well model adapter (not owned)

// These members are used to avoid reallocation in specific functions
Expand Down
Loading