BlackoilWellModelGeneric.hpp
Go to the documentation of this file.
449 const bool update_wellgrouptarget, // we only want to update the wellgrouptarget after the groups have found their controls
560 // Valid network pressures for output and initialization for safe restart after failed iterations
563 // previous injection multiplier, it is used in the injection multiplier calculation for WINJMULT keyword
Definition: BlackoilWellModelGasLift.hpp:42 Class for handling the blackoil well model. Definition: BlackoilWellModelGeneric.hpp:95 void commitWGState() Definition: BlackoilWellModelGeneric.hpp:203 std::map< std::string, std::vector< Group::ProductionCMode > > switched_prod_groups_ Definition: BlackoilWellModelGeneric.hpp:583 void updateAndCommunicateGroupData(const int reportStepIdx, const int iterationIdx, const Scalar tol_nupcol, const bool update_wellgrouptarget, DeferredLogger &deferred_logger) bool anyMSWellOpenLocal() const const EclipseState & eclState_ Definition: BlackoilWellModelGeneric.hpp:514 const PhaseUsageInfo< IndexTraits > & phaseUsage() const Definition: BlackoilWellModelGeneric.hpp:141 const WGState< Scalar, IndexTraits > & prevWGState() const Definition: BlackoilWellModelGeneric.hpp:331 BlackoilWellModelGeneric(Schedule &schedule, BlackoilWellModelGasLiftGeneric< Scalar, IndexTraits > &gaslift, const SummaryState &summaryState, const EclipseState &eclState, const PhaseUsageInfo< IndexTraits > &phase_usage, const Parallel::Communication &comm) std::vector< Well > getLocalWells(const int timeStepIdx) const const ConnectionIndexMap & connectionIndexMap(const std::size_t idx) Definition: BlackoilWellModelGeneric.hpp:295 const GroupState< Scalar > & groupState() const Definition: BlackoilWellModelGeneric.hpp:142 const PhaseUsageInfo< IndexTraits > & phase_usage_info_ Definition: BlackoilWellModelGeneric.hpp:520 void assignDynamicWellStatus(data::Wells &wsrpt) const void serializeOp(Serializer &serializer) Definition: BlackoilWellModelGeneric.hpp:257 bool reportStepStarts() const Definition: BlackoilWellModelGeneric.hpp:243 bool operator==(const BlackoilWellModelGeneric &rhs) const int numLocalWellsEnd() const WGState< Scalar, IndexTraits > last_valid_wgstate_ Definition: BlackoilWellModelGeneric.hpp:576 const Parallel::Communication & comm() const Definition: BlackoilWellModelGeneric.hpp:228 virtual int compressedIndexForInteriorLGR(const std::string &lgr_tag, const Connection &conn) const Definition: BlackoilWellModelGeneric.hpp:106 GuideRate guideRate_ Definition: BlackoilWellModelGeneric.hpp:555 virtual int compressedIndexForInterior(int cartesian_cell_idx) const =0 get compressed index for interior cells (-1, otherwise std::vector< WellInterfaceGeneric< Scalar, IndexTraits > * > well_container_generic_ Definition: BlackoilWellModelGeneric.hpp:542 WellGroupEvents report_step_start_events_ Well group events at start of report step. Definition: BlackoilWellModelGeneric.hpp:578 void resetWGState() Definition: BlackoilWellModelGeneric.hpp:351 void assignWellTargets(data::Wells &wsrpt) const virtual void calcResvCoeff(const int fipnum, const int pvtreg, const std::vector< Scalar > &production_rates, std::vector< Scalar > &resv_coeff)=0 void initializeWellProdIndCalculators() WGState< Scalar, IndexTraits > active_wgstate_ Definition: BlackoilWellModelGeneric.hpp:575 Scalar wellPI(const int well_index) const virtual ~BlackoilWellModelGeneric()=default std::vector< Well > wells_ecl_ Definition: BlackoilWellModelGeneric.hpp:529 bool hasLocalWell(const std::string &wname) const Returns true if well is defined and has connections on current rank. void assignInjectionWellTargets(const Well &well, data::WellControlLimits &limits) const const ParallelWellInfo< Scalar > & parallelWellInfo(const std::size_t idx) const Definition: BlackoilWellModelGeneric.hpp:280 BlackoilWellModelWBP< Scalar, IndexTraits > wbp_ Definition: BlackoilWellModelGeneric.hpp:517 const WellGroupEvents & reportStepStartEvents() const Definition: BlackoilWellModelGeneric.hpp:239 std::vector< const WellInterfaceGeneric< Scalar, IndexTraits > * > genericWells() const Definition: BlackoilWellModelGeneric.hpp:143 const std::map< std::string, double > & wellCloseTimes() const Definition: BlackoilWellModelGeneric.hpp:238 int numPhases() const const std::vector< Well > & eclWells() const Definition: BlackoilWellModelGeneric.hpp:132 void updateNupcolWGState() Definition: BlackoilWellModelGeneric.hpp:362 void inferLocalShutWells() void updateFiltrationModelsPostStep(const double dt, const std::size_t water_index, DeferredLogger &deferred_logger) const EclipseState & eclipseState() const Definition: BlackoilWellModelGeneric.hpp:230 bool wells_active_ Definition: BlackoilWellModelGeneric.hpp:522 int numLocalNonshutWells() const WGState< Scalar, IndexTraits > nupcol_wgstate_ Definition: BlackoilWellModelGeneric.hpp:577 std::unordered_map< int, std::vector< MSWellTracerRate< Scalar > > > MswTracerRates Definition: BlackoilWellModelGeneric.hpp:503 std::unique_ptr< VFPProperties< Scalar, IndexTraits > > vfp_properties_ Definition: BlackoilWellModelGeneric.hpp:556 bool report_step_starts_ Definition: BlackoilWellModelGeneric.hpp:525 std::vector< std::reference_wrapper< ParallelWellInfo< Scalar > > > local_parallel_well_info_ Definition: BlackoilWellModelGeneric.hpp:547 const Well & getWellEcl(const std::string &well_name) const const Parallel::Communication & comm_ Definition: BlackoilWellModelGeneric.hpp:515 std::vector< WellInterfaceGeneric< Scalar, IndexTraits > * > genericWells() Definition: BlackoilWellModelGeneric.hpp:146 std::vector< int > getCellsForConnections(const Well &well) const void updateWsolvent(const Group &group, const int reportStepIdx, const WellState< Scalar, IndexTraits > &wellState) std::unordered_map< int, std::vector< WellTracerRate< Scalar > > > WellTracerRates Definition: BlackoilWellModelGeneric.hpp:498 WellTestState & wellTestState() Definition: BlackoilWellModelGeneric.hpp:175 bool wellStructureChangedDynamically_ Definition: BlackoilWellModelGeneric.hpp:580 std::vector< std::vector< PerforationData< Scalar > > > well_perf_data_ Definition: BlackoilWellModelGeneric.hpp:530 bool wellsActive() const return true if wells are available in the reservoir bool forceShutWellByName(const std::string &wellname, const double simulation_time, const bool dont_shut_grup_wells) int numLocalWells() const bool terminal_output_ Definition: BlackoilWellModelGeneric.hpp:521 const WellTestState & wellTestState() const Definition: BlackoilWellModelGeneric.hpp:177 void reportGroupSwitching(DeferredLogger &local_deferredLogger) const std::unordered_map< std::string, WellFilterCake< Scalar, IndexTraits > > filter_cake_ Definition: BlackoilWellModelGeneric.hpp:567 std::map< std::string, double > well_close_times_ Definition: BlackoilWellModelGeneric.hpp:536 virtual void calculateProductivityIndexValues(DeferredLogger &deferred_logger)=0 void checkGconsaleLimits(const Group &group, WellState< Scalar, IndexTraits > &well_state, const int reportStepIdx, DeferredLogger &deferred_logger) void commitWGState(WGState< Scalar, IndexTraits > wgstate) Definition: BlackoilWellModelGeneric.hpp:341 data::GroupAndNetworkValues groupAndNetworkData(const int reportStepIdx) const void assignShutConnections(data::Wells &wsrpt, const int reportStepIndex) const std::vector< int > pvt_region_idx_ Definition: BlackoilWellModelGeneric.hpp:551 void setWsolvent(const Group &group, const int reportStepIdx, Scalar wsolvent) virtual void createWellContainer(const int time_step)=0 std::function< bool(const std::string &)> not_on_process_ Definition: BlackoilWellModelGeneric.hpp:539 const SummaryState & summaryState() const Definition: BlackoilWellModelGeneric.hpp:232 bool wasDynamicallyShutThisTimeStep(const std::string &well_name) const virtual void calculateProductivityIndexValuesShutWells(const int reportStepIdx, DeferredLogger &deferred_logger)=0 const GuideRate & guideRate() const Definition: BlackoilWellModelGeneric.hpp:234 bool checkGroupHigherConstraints(const Group &group, DeferredLogger &deferred_logger, const int reportStepIdx, const int max_number_of_group_switch, const bool update_group_switching_log) std::optional< int > last_run_wellpi_ Definition: BlackoilWellModelGeneric.hpp:527 const SummaryState & summaryState_ Definition: BlackoilWellModelGeneric.hpp:513 std::map< std::string, std::array< std::vector< Group::InjectionCMode >, 3 > > switched_inj_groups_ Definition: BlackoilWellModelGeneric.hpp:584 std::map< std::string, std::pair< std::string, std::string > > closed_offending_wells_ Definition: BlackoilWellModelGeneric.hpp:586 void updateClosedWellsThisStep(const std::string &well_name) const Definition: BlackoilWellModelGeneric.hpp:248 const WellState< Scalar, IndexTraits > & wellState() const Definition: BlackoilWellModelGeneric.hpp:152 std::vector< int > local_shut_wells_ Definition: BlackoilWellModelGeneric.hpp:544 void updateFiltrationModelsPreStep(DeferredLogger &deferred_logger) void setRepRadiusPerfLength() void calculateEfficiencyFactors(const int reportStepIdx) bool network_active_ Definition: BlackoilWellModelGeneric.hpp:523 virtual void calcInjResvCoeff(const int fipnum, const int pvtreg, std::vector< Scalar > &resv_coeff)=0 bool hasLocalCells(const std::string &wname) const Definition: BlackoilWellModelGeneric.hpp:289 void assignMswTracerRates(data::Wells &wsrpt, const MswTracerRates &mswTracerRates, const unsigned reportStep) const void updateInjFCMult(DeferredLogger &deferred_logger) void initInjMult() std::map< std::string, Scalar > node_pressures_ Definition: BlackoilWellModelGeneric.hpp:559 std::vector< ParallelWellInfo< Scalar > > parallel_well_info_ Definition: BlackoilWellModelGeneric.hpp:546 void assignProductionWellTargets(const Well &well, data::WellControlLimits &limits) const void checkGEconLimits(const Group &group, const double simulation_time, const int report_step_idx, DeferredLogger &deferred_logger) void assignGroupValues(const int reportStepIdx, std::map< std::string, data::GroupData > &gvalues) const void logPrimaryVars() const const Schedule & schedule() const Definition: BlackoilWellModelGeneric.hpp:140 bool networkActive() const return true if network is active (at least one network well in prediction mode) Scalar updateNetworkPressures(const int reportStepIdx, const Scalar damping_factor, const Scalar update_upper_bound) WellState< Scalar, IndexTraits > & wellState() Definition: BlackoilWellModelGeneric.hpp:160 void assignNodeValues(std::map< std::string, data::NodeData > &nodevalues, const int reportStepIdx) const void assignGroupControl(const Group &group, data::GroupData &gdata) const void initializeWellPerfData() void assignMassGasRate(data::Wells &wsrpt, const Scalar gasDensity) const bool hasOpenLocalWell(const std::string &well_name) const Returns true if well is defined, open and has connections on current rank. GuideRate & guideRate() Definition: BlackoilWellModelGeneric.hpp:235 BlackoilWellModelGasLiftGeneric< Scalar, IndexTraits > & gen_gaslift_ Definition: BlackoilWellModelGeneric.hpp:516 const std::map< std::string, double > & wellOpenTimes() const Definition: BlackoilWellModelGeneric.hpp:237 void initFromRestartFile(const RestartValue &restartValues, std::unique_ptr< WellTestState > wtestState, const std::size_t numCells, bool handle_ms_well, bool enable_distributed_wells) bool shouldBalanceNetwork(const int reportStepIndex, const int iterationIdx) const const WellState< Scalar, IndexTraits > & prevWellState() const Definition: BlackoilWellModelGeneric.hpp:326 virtual void computePotentials(const std::size_t widx, const WellState< Scalar, IndexTraits > &well_state_copy, std::string &exc_msg, ExceptionType::ExcEnum &exc_type, DeferredLogger &deferred_logger)=0 std::vector< std::vector< int > > getMaxWellConnections() const void assignWellTracerRates(data::Wells &wsrpt, const WellTracerRates &wellTracerRates, const unsigned reportStep) const std::vector< std::string > getWellsForTesting(const int timeStepIdx, const double simulationTime) void updateEclWells(const int timeStepIdx, const SimulatorUpdate &sim_update, const SummaryState &st) void updateInjMult(DeferredLogger &deferred_logger) bool initial_step_ Definition: BlackoilWellModelGeneric.hpp:524 bool needPreStepNetworkRebalance(const int report_step) const void updateNetworkActiveState(const int report_step) Checks if network is active (at least one network well on prediction). bool terminalOutput() const Definition: BlackoilWellModelGeneric.hpp:135 void prepareDeserialize(int report_step, const std::size_t numCells, bool handle_ms_well, bool enable_distributed_wells) GroupState< Scalar > & groupState() Definition: BlackoilWellModelGeneric.hpp:173 bool wasDynamicallyShutThisTimeStep(const int well_index) const const std::vector< PerforationData< Scalar > > & perfData(const int well_idx) const Definition: BlackoilWellModelGeneric.hpp:225 std::vector< std::reference_wrapper< ParallelWellInfo< Scalar > > > createLocalParallelWellInfo(const std::vector< Well > &wells) Create the parallel well information. std::unordered_map< std::string, std::vector< Scalar > > prev_inj_multipliers_ Definition: BlackoilWellModelGeneric.hpp:564 Schedule & schedule_ Definition: BlackoilWellModelGeneric.hpp:511 const WellState< Scalar, IndexTraits > & nupcolWellState() const Definition: BlackoilWellModelGeneric.hpp:169 std::vector< ConnectionIndexMap > conn_idx_map_ Definition: BlackoilWellModelGeneric.hpp:538 virtual void initWellContainer(const int reportStepIdx)=0 Scalar wellPI(const std::string &well_name) const std::map< std::string, Scalar > last_valid_node_pressures_ Definition: BlackoilWellModelGeneric.hpp:561 void updateWellPotentials(const int reportStepIdx, const bool onlyAfterEvent, const SummaryConfig &summaryConfig, DeferredLogger &deferred_logger) std::map< std::string, double > well_open_times_ Definition: BlackoilWellModelGeneric.hpp:533 std::unordered_set< std::string > closed_this_step_ Definition: BlackoilWellModelGeneric.hpp:553 bool isOwner(const std::string &wname) const Definition: BlackoilWellModelGeneric.hpp:283 void runWellPIScaling(const int reportStepIdx, DeferredLogger &local_deferredLogger) std::vector< WellProdIndexCalculator< Scalar > > prod_index_calc_ Definition: BlackoilWellModelGeneric.hpp:549 Class for handling the blackoil well model. Definition: BlackoilWellModelWBP.hpp:42 Definition: DeferredLogger.hpp:57 Definition: GroupState.hpp:41 Class encapsulating some information about parallel wells. Definition: ParallelWellInfo.hpp:198 Definition: GasLiftGroupInfo.hpp:37 Definition: WellGroupHelpers.hpp:51 Definition: WellInterfaceGeneric.hpp:53 Definition: WellState.hpp:66 Dune::Communication< MPIComm > Communication Definition: ParallelCommunication.hpp:30 Definition: blackoilnewtonmethodparams.hpp:31 Definition: blackoilboundaryratevector.hh:39 Definition: BlackoilWellModelGeneric.hpp:86 static constexpr bool value Definition: BlackoilWellModelGeneric.hpp:86 Definition: WGState.hpp:39 |