Class for handling the blackoil well model.
More...
#include <BlackoilWellModel.hpp>
|
using | Grid = GetPropType< TypeTag, Properties::Grid > |
|
using | EquilGrid = GetPropType< TypeTag, Properties::EquilGrid > |
|
using | FluidSystem = GetPropType< TypeTag, Properties::FluidSystem > |
|
using | ElementContext = GetPropType< TypeTag, Properties::ElementContext > |
|
using | Indices = GetPropType< TypeTag, Properties::Indices > |
|
using | Simulator = GetPropType< TypeTag, Properties::Simulator > |
|
using | Scalar = GetPropType< TypeTag, Properties::Scalar > |
|
using | RateVector = GetPropType< TypeTag, Properties::RateVector > |
|
using | GlobalEqVector = GetPropType< TypeTag, Properties::GlobalEqVector > |
|
using | SparseMatrixAdapter = GetPropType< TypeTag, Properties::SparseMatrixAdapter > |
|
using | GasLiftSingleWell = typename WellInterface< TypeTag >::GasLiftSingleWell |
|
using | GLiftOptWells = typename BlackoilWellModelGeneric< Scalar >::GLiftOptWells |
|
using | GLiftProdWells = typename BlackoilWellModelGeneric< Scalar >::GLiftProdWells |
|
using | GLiftWellStateMap = typename BlackoilWellModelGeneric< Scalar >::GLiftWellStateMap |
|
using | GLiftEclWells = typename GasLiftGroupInfo< Scalar >::GLiftEclWells |
|
using | GLiftSyncGroups = typename GasLiftSingleWellGeneric< Scalar >::GLiftSyncGroups |
|
using | ModelParameters = BlackoilModelParameters< Scalar > |
|
typedef BaseAuxiliaryModule< TypeTag >::NeighborSet | NeighborSet |
|
typedef Dune::FieldVector< Scalar, numEq > | VectorBlockType |
|
typedef Dune::BlockVector< VectorBlockType > | BVector |
|
typedef BlackOilPolymerModule< TypeTag > | PolymerModule |
|
typedef BlackOilMICPModule< TypeTag > | MICPModule |
|
using | RateConverterType = RateConverter::SurfaceToReservoirVoidage< FluidSystem, std::vector< int > > |
|
using | AverageRegionalPressureType = RegionAverageCalculator::AverageRegionalPressure< FluidSystem, std::vector< int > > |
|
using | Domain = SubDomain< Grid > |
|
using | WellInterfacePtr = std::shared_ptr< WellInterface< TypeTag > > |
|
using | PressureMatrix = Dune::BCRSMatrix< Opm::MatrixBlock< Scalar, 1, 1 > > |
|
|
| BlackoilWellModel (Simulator &simulator) |
|
void | init () |
|
void | initWellContainer (const int reportStepIdx) override |
|
unsigned | numDofs () const override |
| Returns the number of additional degrees of freedom required for the auxiliary module. More...
|
|
void | addNeighbors (std::vector< NeighborSet > &neighbors) const override |
| Specify the additional neighboring correlations caused by the auxiliary module. More...
|
|
void | applyInitial () override |
| Set the initial condition of the auxiliary module in the solution vector. More...
|
|
void | linearize (SparseMatrixAdapter &jacobian, GlobalEqVector &res) override |
| Linearize the auxiliary equation. More...
|
|
void | linearizeDomain (const Domain &domain, SparseMatrixAdapter &jacobian, GlobalEqVector &res) |
|
void | postSolve (GlobalEqVector &deltaX) override |
| This method is called after the linear solver has been called but before the solution is updated for the next iteration. More...
|
|
void | postSolveDomain (GlobalEqVector &deltaX, const Domain &domain) |
|
template<class Restarter > |
void | deserialize (Restarter &) |
|
template<class Restarter > |
void | serialize (Restarter &) |
| This method writes the complete state of the well to the harddisk. More...
|
|
void | beginEpisode () |
|
void | beginTimeStep () |
|
void | beginIteration () |
|
void | endIteration () |
|
void | endTimeStep () |
|
void | endEpisode () |
|
void | computeTotalRatesForDof (RateVector &rate, unsigned globalIdx) const |
|
template<class Context > |
void | computeTotalRatesForDof (RateVector &rate, const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
void | initFromRestartFile (const RestartValue &restartValues) |
|
void | prepareDeserialize (const int report_step) |
|
data::Wells | wellData () const |
|
data::WellBlockAveragePressures | wellBlockAveragePressures () const |
|
void | apply (BVector &r) const |
|
void | apply (const BVector &x, BVector &Ax) const |
|
void | applyScaleAdd (const Scalar alpha, const BVector &x, BVector &Ax) const |
|
ConvergenceReport | getWellConvergence (const std::vector< Scalar > &B_avg, const bool checkWellGroupControls=false) const |
|
ConvergenceReport | getDomainWellConvergence (const Domain &domain, const std::vector< Scalar > &B_avg, DeferredLogger &local_deferredLogger) const |
|
const SimulatorReportSingle & | lastReport () const |
|
void | addWellContributions (SparseMatrixAdapter &jacobian) const |
|
void | addReservoirSourceTerms (GlobalEqVector &residual, std::vector< typename SparseMatrixAdapter::MatrixBlock * > &diagMatAddress) const |
|
void | beginReportStep (const int time_step) |
|
void | calculateExplicitQuantities (DeferredLogger &deferred_logger) const |
|
void | prepareTimeStep (DeferredLogger &deferred_logger) |
|
void | initPrimaryVariablesEvaluation () const |
|
void | initPrimaryVariablesEvaluationDomain (const Domain &domain) const |
|
std::pair< bool, bool > | updateWellControls (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) |
|
bool | updateGroupControls (const Group &group, DeferredLogger &deferred_logger, const int reportStepIdx, const int iterationIdx) |
|
WellInterfacePtr | getWell (const std::string &well_name) const |
|
bool | hasWell (const std::string &well_name) const |
|
void | addWellPressureEquations (PressureMatrix &jacobian, const BVector &weights, const bool use_well_weights) const |
|
void | addWellPressureEquationsStruct (PressureMatrix &jacobian) const |
|
void | initGliftEclWellMap (GLiftEclWells &ecl_well_map) |
|
const std::vector< WellInterfacePtr > & | localNonshutWells () const |
| Get list of local nonshut wells. More...
|
|
void | assembleDomain (const int iterationIdx, const double dt, const Domain &domain) |
|
void | updateWellControlsDomain (DeferredLogger &deferred_logger, const Domain &domain) |
|
void | logPrimaryVars () const |
|
std::vector< Scalar > | getPrimaryVarsDomain (const Domain &domain) const |
|
void | setPrimaryVarsDomain (const Domain &domain, const std::vector< Scalar > &vars) |
|
void | setupDomains (const std::vector< Domain > &domains) |
|
void | setDofOffset (int value) |
| Set the offset in the global system of equations for the first degree of freedom of this auxiliary module. More...
|
|
int | dofOffset () |
| Return the offset in the global system of equations for the first degree of freedom of this auxiliary module. More...
|
|
int | localToGlobalDof (unsigned localDofIdx) const |
| Given a degree of freedom relative to the current auxiliary equation, return the corresponding index in the global system of equations. More...
|
|
int | numLocalWells () const |
|
int | numLocalWellsEnd () const |
|
int | numLocalNonshutWells () const |
|
int | numPhases () const |
|
bool | wellsActive () const |
| return true if wells are available in the reservoir More...
|
|
bool | networkActive () const |
| return true if network is active (at least one network well in prediction mode) More...
|
|
bool | anyMSWellOpenLocal () const |
|
const Well & | getWellEcl (const std::string &well_name) const |
|
std::vector< Well > | getLocalWells (const int timeStepIdx) const |
|
const Schedule & | schedule () const |
|
const PhaseUsage & | phaseUsage () const |
|
const GroupState< GetPropType< TypeTag, Properties::Scalar > > & | groupState () const |
|
GroupState< GetPropType< TypeTag, Properties::Scalar > > & | groupState () |
|
std::vector< const WellInterfaceGeneric< GetPropType< TypeTag, Properties::Scalar > > * > | genericWells () const |
|
const WellState< GetPropType< TypeTag, Properties::Scalar > > & | wellState () const |
|
WellState< GetPropType< TypeTag, Properties::Scalar > > & | wellState () |
|
const WellState< GetPropType< TypeTag, Properties::Scalar > > & | nupcolWellState () const |
|
WellTestState & | wellTestState () |
|
const WellTestState & | wellTestState () const |
|
GetPropType< TypeTag, Properties::Scalar > | wellPI (const int well_index) const |
|
GetPropType< TypeTag, Properties::Scalar > | wellPI (const std::string &well_name) const |
|
void | updateEclWells (const int timeStepIdx, const SimulatorUpdate &sim_update, const SummaryState &st) |
|
void | initFromRestartFile (const RestartValue &restartValues, std::unique_ptr< WellTestState > wtestState, const std::size_t numCells, bool handle_ms_well) |
|
void | prepareDeserialize (int report_step, const std::size_t numCells, bool handle_ms_well) |
|
void | commitWGState () |
|
data::GroupAndNetworkValues | groupAndNetworkData (const int reportStepIdx) const |
|
bool | hasTHPConstraints () const |
| Return true if any well has a THP constraint. More...
|
|
void | updateNetworkActiveState (const int report_step) |
| Checks if network is active (at least one network well on prediction). More...
|
|
bool | needPreStepNetworkRebalance (const int report_step) const |
|
bool | forceShutWellByName (const std::string &wellname, const double simulation_time) |
|
const std::vector< PerforationData< GetPropType< TypeTag, Properties::Scalar > > > & | perfData (const int well_idx) const |
|
const Parallel::Communication & | comm () const |
|
const EclipseState & | eclipseState () const |
|
const SummaryState & | summaryState () const |
|
const GuideRate & | guideRate () const |
|
bool | reportStepStarts () const |
|
bool | shouldBalanceNetwork (const int reportStepIndex, const int iterationIdx) const |
|
void | updateClosedWellsThisStep (const std::string &well_name) const |
|
bool | wasDynamicallyShutThisTimeStep (const std::string &well_name) const |
|
void | serializeOp (Serializer &serializer) |
|
bool | operator== (const BlackoilWellModelGeneric &rhs) const |
|
|
void | initializeWellState (const int timeStepIdx) |
|
void | createWellContainer (const int report_step) override |
|
WellInterfacePtr | createWellPointer (const int wellID, const int report_step) const |
|
template<typename WellType > |
std::unique_ptr< WellType > | createTypedWellPointer (const int wellID, const int time_step) const |
|
WellInterfacePtr | createWellForWellTest (const std::string &well_name, const int report_step, DeferredLogger &deferred_logger) const |
|
void | doPreStepNetworkRebalance (DeferredLogger &deferred_logger) |
|
const Grid & | grid () const |
|
const EquilGrid & | equilGrid () const |
|
const EclipseState & | eclState () const |
|
void | assemble (const int iterationIdx, const double dt) |
|
std::pair< bool, bool > | updateWellControlsAndNetworkIteration (const bool mandatory_network_balance, const bool relax_network_tolerance, const double dt, DeferredLogger &local_deferredLogger) |
|
bool | updateWellControlsAndNetwork (const bool mandatory_network_balance, const double dt, DeferredLogger &local_deferredLogger) |
|
void | computeWellGroupThp (const double dt, DeferredLogger &local_deferredLogger) |
|
void | initializeLocalWellStructure (const int reportStepIdx, const bool enableWellPIScaling) |
|
void | initializeGroupStructure (const int reportStepIdx) |
|
void | timeStepSucceeded (const double simulationTime, const double dt) |
|
void | endReportStep () |
|
void | recoverWellSolutionAndUpdateWellState (const BVector &x) |
|
void | recoverWellSolutionAndUpdateWellStateDomain (const BVector &x, const Domain &domain) |
|
void | updatePrimaryVariables (DeferredLogger &deferred_logger) |
|
void | initializeWBPCalculationService () |
|
data::WellBlockAveragePressures | computeWellBlockAveragePressures () const |
|
ParallelWBPCalculation< Scalar >::EvaluatorFactory | makeWellSourceEvaluatorFactory (const std::vector< Well >::size_type wellIdx) const |
|
void | registerOpenWellsForWBPCalculation () |
|
void | updateAverageFormationFactor () |
|
void | computePotentials (const std::size_t widx, const WellState< Scalar > &well_state_copy, std::string &exc_msg, ExceptionType::ExcEnum &exc_type, DeferredLogger &deferred_logger) override |
|
const std::vector< Scalar > & | wellPerfEfficiencyFactors () const |
|
void | calculateProductivityIndexValuesShutWells (const int reportStepIdx, DeferredLogger &deferred_logger) override |
|
void | calculateProductivityIndexValues (DeferredLogger &deferred_logger) override |
|
void | calculateProductivityIndexValues (const WellInterface< TypeTag > *wellPtr, DeferredLogger &deferred_logger) |
|
int | numComponents () const |
|
int | reportStepIndex () const |
|
void | assembleWellEq (const double dt, DeferredLogger &deferred_logger) |
|
void | assembleWellEqDomain (const double dt, const Domain &domain, DeferredLogger &deferred_logger) |
|
void | prepareWellsBeforeAssembling (const double dt, DeferredLogger &deferred_logger) |
|
void | assembleWellEqWithoutIteration (const double dt, DeferredLogger &deferred_logger) |
|
bool | maybeDoGasLiftOptimize (DeferredLogger &deferred_logger) |
|
void | gasLiftOptimizationStage1 (DeferredLogger &deferred_logger, GLiftProdWells &prod_wells, GLiftOptWells &glift_wells, GasLiftGroupInfo< Scalar > &group_info, GLiftWellStateMap &state_map) |
|
void | gasLiftOptimizationStage1SingleWell (WellInterface< TypeTag > *well, DeferredLogger &deferred_logger, GLiftProdWells &prod_wells, GLiftOptWells &glift_wells, GasLiftGroupInfo< Scalar > &group_info, GLiftWellStateMap &state_map, GLiftSyncGroups &groups_to_sync) |
|
void | extractLegacyCellPvtRegionIndex_ () |
|
void | extractLegacyDepth_ () |
|
void | updateWellTestState (const double &simulationTime, WellTestState &wellTestState) const |
| upate the wellTestState related to economic limits More...
|
|
void | wellTesting (const int timeStepIdx, const double simulationTime, DeferredLogger &deferred_logger) |
|
void | calcResvCoeff (const int fipnum, const int pvtreg, const std::vector< Scalar > &production_rates, std::vector< Scalar > &resv_coeff) override |
|
void | calcInjResvCoeff (const int fipnum, const int pvtreg, std::vector< Scalar > &resv_coeff) override |
|
void | computeWellTemperature () |
|
int | compressedIndexForInterior (int cartesian_cell_idx) const override |
| get compressed index for interior cells (-1, otherwise More...
|
|
void | commitWGState (WGState< GetPropType< TypeTag, Properties::Scalar > > wgstate) |
|
bool | wasDynamicallyShutThisTimeStep (const int well_index) const |
|
const WellState< GetPropType< TypeTag, Properties::Scalar > > & | prevWellState () const |
|
const WGState< GetPropType< TypeTag, Properties::Scalar > > & | prevWGState () const |
|
void | resetWGState () |
|
void | updateNupcolWGState () |
|
std::vector< std::reference_wrapper< ParallelWellInfo< GetPropType< TypeTag, Properties::Scalar > > > > | createLocalParallelWellInfo (const std::vector< Well > &wells) |
| Create the parallel well information. More...
|
|
void | initializeWellProdIndCalculators () |
|
void | initializeWellPerfData () |
|
GetPropType< TypeTag, Properties::Scalar > | updateNetworkPressures (const int reportStepIdx) |
|
void | updateWsolvent (const Group &group, const int reportStepIdx, const WellState< GetPropType< TypeTag, Properties::Scalar > > &wellState) |
|
void | setWsolvent (const Group &group, const int reportStepIdx, GetPropType< TypeTag, Properties::Scalar > wsolvent) |
|
virtual void | calcResvCoeff (const int fipnum, const int pvtreg, const std::vector< GetPropType< TypeTag, Properties::Scalar > > &production_rates, std::vector< GetPropType< TypeTag, Properties::Scalar > > &resv_coeff)=0 |
|
virtual void | calcInjResvCoeff (const int fipnum, const int pvtreg, std::vector< GetPropType< TypeTag, Properties::Scalar > > &resv_coeff)=0 |
|
void | assignShutConnections (data::Wells &wsrpt, const int reportStepIndex) const |
|
void | assignWellTargets (data::Wells &wsrpt) const |
|
void | assignProductionWellTargets (const Well &well, data::WellControlLimits &limits) const |
|
void | assignInjectionWellTargets (const Well &well, data::WellControlLimits &limits) const |
|
void | assignGroupControl (const Group &group, data::GroupData &gdata) const |
|
void | assignGroupValues (const int reportStepIdx, std::map< std::string, data::GroupData > &gvalues) const |
|
void | assignNodeValues (std::map< std::string, data::NodeData > &nodevalues, const int reportStepIdx) const |
|
void | calculateEfficiencyFactors (const int reportStepIdx) |
|
void | checkGconsaleLimits (const Group &group, WellState< GetPropType< TypeTag, Properties::Scalar > > &well_state, const int reportStepIdx, DeferredLogger &deferred_logger) |
|
void | checkGEconLimits (const Group &group, const double simulation_time, const int report_step_idx, DeferredLogger &deferred_logger) |
|
bool | checkGroupHigherConstraints (const Group &group, DeferredLogger &deferred_logger, const int reportStepIdx) |
|
void | updateAndCommunicateGroupData (const int reportStepIdx, const int iterationIdx) |
|
void | inferLocalShutWells () |
|
void | setRepRadiusPerfLength () |
|
void | gliftDebug (const std::string &msg, DeferredLogger &deferred_logger) const |
|
void | gliftDebugShowALQ (DeferredLogger &deferred_logger) |
|
void | gasLiftOptimizationStage2 (DeferredLogger &deferred_logger, GLiftProdWells &prod_wells, GLiftOptWells &glift_wells, GasLiftGroupInfo< GetPropType< TypeTag, Properties::Scalar > > &group_info, GLiftWellStateMap &map, const int episodeIndex) |
|
virtual void | computePotentials (const std::size_t widx, const WellState< GetPropType< TypeTag, Properties::Scalar > > &well_state_copy, std::string &exc_msg, ExceptionType::ExcEnum &exc_type, DeferredLogger &deferred_logger)=0 |
|
void | updateWellPotentials (const int reportStepIdx, const bool onlyAfterEvent, const SummaryConfig &summaryConfig, DeferredLogger &deferred_logger) |
|
void | initInjMult () |
|
void | updateInjMult (DeferredLogger &deferred_logger) |
|
void | updateInjFCMult (DeferredLogger &deferred_logger) |
|
void | updateFiltrationParticleVolume (const double dt, const std::size_t water_index) |
|
void | runWellPIScaling (const int reportStepIdx, DeferredLogger &local_deferredLogger) |
|
std::vector< int > | getCellsForConnections (const Well &well) const |
|
std::vector< std::vector< int > > | getMaxWellConnections () const |
|
std::vector< std::string > | getWellsForTesting (const int timeStepIdx, const double simulationTime) |
|
void | assignWellTracerRates (data::Wells &wsrpt, const WellTracerRates &wellTracerRates) const |
|
void | assignMswTracerRates (data::Wells &wsrpt, const MswTracerRates &mswTracerRates) const |
|
void | assignMassGasRate (data::Wells &wsrpt, const GetPropType< TypeTag, Properties::Scalar > &gasDensity) const |
|
|
Simulator & | simulator_ |
|
std::vector< WellInterfacePtr > | well_container_ {} |
|
std::vector< bool > | is_cell_perforated_ {} |
|
const ModelParameters | param_ |
|
std::size_t | global_num_cells_ {} |
|
std::size_t | local_num_cells_ {} |
|
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_ {} |
|
std::vector< WBPCalcID > | wbpCalcMap_ {} |
|
SimulatorReportSingle | last_report_ {} |
|
BVector | scaleAddRes_ {} |
|
std::vector< Scalar > | B_avg_ {} |
|
std::map< std::string, int > | well_domain_ |
|
Schedule & | schedule_ |
|
const SummaryState & | summaryState_ |
|
const EclipseState & | eclState_ |
|
const Parallel::Communication & | comm_ |
|
PhaseUsage | phase_usage_ |
|
bool | terminal_output_ |
|
bool | wells_active_ |
|
bool | network_active_ |
|
bool | initial_step_ |
|
bool | report_step_starts_ |
|
std::optional< int > | last_run_wellpi_ |
|
std::vector< Well > | wells_ecl_ |
|
std::vector< std::vector< PerforationData< GetPropType< TypeTag, Properties::Scalar > > > > | well_perf_data_ |
|
std::vector< ConnectionIndexMap > | conn_idx_map_ |
|
std::function< bool(const Well &)> | not_on_process_ |
|
std::vector< WellInterfaceGeneric< GetPropType< TypeTag, Properties::Scalar > > * > | well_container_generic_ |
|
std::vector< int > | local_shut_wells_ |
|
std::vector< ParallelWellInfo< GetPropType< TypeTag, Properties::Scalar > > > | parallel_well_info_ |
|
std::vector< std::reference_wrapper< ParallelWellInfo< GetPropType< TypeTag, Properties::Scalar > > > > | local_parallel_well_info_ |
|
std::vector< WellProdIndexCalculator< GetPropType< TypeTag, Properties::Scalar > > > | prod_index_calc_ |
|
ParallelWBPCalculation< GetPropType< TypeTag, Properties::Scalar > > | wbpCalculationService_ |
|
std::vector< int > | pvt_region_idx_ |
|
std::unordered_set< std::string > | closed_this_step_ |
|
GuideRate | guideRate_ |
|
std::unique_ptr< VFPProperties< GetPropType< TypeTag, Properties::Scalar > > > | vfp_properties_ |
|
std::map< std::string, GetPropType< TypeTag, Properties::Scalar > > | node_pressures_ |
|
std::unordered_map< std::string, std::vector< GetPropType< TypeTag, Properties::Scalar > > > | prev_inj_multipliers_ |
|
std::unordered_map< std::string, WellFilterCake< GetPropType< TypeTag, Properties::Scalar > > > | filter_cake_ |
|
WGState< GetPropType< TypeTag, Properties::Scalar > > | active_wgstate_ |
|
WGState< GetPropType< TypeTag, Properties::Scalar > > | last_valid_wgstate_ |
|
WGState< GetPropType< TypeTag, Properties::Scalar > > | nupcol_wgstate_ |
|
bool | glift_debug |
|
double | last_glift_opt_time_ |
|
bool | wellStructureChangedDynamically_ |
|
std::map< std::string, std::string > | switched_prod_groups_ |
|
std::map< std::pair< std::string, Phase >, std::string > | switched_inj_groups_ |
|
std::map< std::string, std::pair< std::string, std::string > > | closed_offending_wells_ |
|
template<typename TypeTag>
class Opm::BlackoilWellModel< TypeTag > Class for handling the blackoil well model.
◆ AverageRegionalPressureType
template<typename TypeTag >
◆ BVector
template<typename TypeTag >
◆ Domain
template<typename TypeTag >
◆ ElementContext
template<typename TypeTag >
◆ EquilGrid
template<typename TypeTag >
◆ FluidSystem
template<typename TypeTag >
◆ GasLiftSingleWell
template<typename TypeTag >
◆ GLiftEclWells
template<typename TypeTag >
◆ GLiftOptWells
template<typename TypeTag >
◆ GLiftProdWells
template<typename TypeTag >
◆ GLiftSyncGroups
template<typename TypeTag >
◆ GLiftWellStateMap
template<typename TypeTag >
◆ GlobalEqVector
template<typename TypeTag >
◆ Grid
template<typename TypeTag >
◆ Indices
template<typename TypeTag >
◆ MICPModule
template<typename TypeTag >
◆ ModelParameters
template<typename TypeTag >
◆ MswTracerRates
◆ NeighborSet
template<typename TypeTag >
◆ PolymerModule
template<typename TypeTag >
◆ PressureMatrix
template<typename TypeTag >
◆ RateConverterType
template<typename TypeTag >
◆ RateVector
template<typename TypeTag >
◆ Scalar
template<typename TypeTag >
◆ Simulator
template<typename TypeTag >
◆ SparseMatrixAdapter
template<typename TypeTag >
◆ VectorBlockType
template<typename TypeTag >
◆ WellInterfacePtr
template<typename TypeTag >
◆ WellTracerRates
◆ BlackoilWellModel()
template<typename TypeTag >
◆ addNeighbors()
template<typename TypeTag >
◆ addReservoirSourceTerms()
template<typename TypeTag >
◆ addWellContributions()
template<typename TypeTag >
◆ addWellPressureEquations()
template<typename TypeTag >
◆ addWellPressureEquationsStruct()
template<typename TypeTag >
◆ anyMSWellOpenLocal()
◆ apply() [1/2]
template<typename TypeTag >
◆ apply() [2/2]
template<typename TypeTag >
◆ applyInitial()
template<typename TypeTag >
◆ applyScaleAdd()
template<typename TypeTag >
◆ assemble()
template<typename TypeTag >
◆ assembleDomain()
template<typename TypeTag >
◆ assembleWellEq()
template<typename TypeTag >
◆ assembleWellEqDomain()
template<typename TypeTag >
◆ assembleWellEqWithoutIteration()
template<typename TypeTag >
◆ assignGroupControl()
◆ assignGroupValues()
◆ assignInjectionWellTargets()
◆ assignMassGasRate()
◆ assignMswTracerRates()
◆ assignNodeValues()
◆ assignProductionWellTargets()
◆ assignShutConnections()
◆ assignWellTargets()
◆ assignWellTracerRates()
◆ beginEpisode()
template<typename TypeTag >
◆ beginIteration()
template<typename TypeTag >
◆ beginReportStep()
template<typename TypeTag >
◆ beginTimeStep()
template<typename TypeTag >
◆ calcInjResvCoeff() [1/2]
|
protectedpure virtualinherited |
◆ calcInjResvCoeff() [2/2]
template<typename TypeTag >
◆ calcResvCoeff() [1/2]
|
protectedpure virtualinherited |
◆ calcResvCoeff() [2/2]
template<typename TypeTag >
void Opm::BlackoilWellModel< TypeTag >::calcResvCoeff |
( |
const int |
fipnum, |
|
|
const int |
pvtreg, |
|
|
const std::vector< Scalar > & |
production_rates, |
|
|
std::vector< Scalar > & |
resv_coeff |
|
) |
| |
|
overrideprotected |
◆ calculateEfficiencyFactors()
◆ calculateExplicitQuantities()
template<typename TypeTag >
Calculating the explict quantities used in the well calculation. By explicit, we mean they are cacluated at the beginning of the time step and no derivatives are included in these quantities
◆ calculateProductivityIndexValues() [1/2]
template<typename TypeTag >
◆ calculateProductivityIndexValues() [2/2]
template<typename TypeTag >
◆ calculateProductivityIndexValuesShutWells()
template<typename TypeTag >
◆ checkGconsaleLimits()
◆ checkGEconLimits()
◆ checkGroupHigherConstraints()
◆ comm()
◆ commitWGState() [1/2]
◆ commitWGState() [2/2]
◆ compressedIndexForInterior()
template<typename TypeTag >
|
inlineoverrideprotectedvirtual |
◆ computePotentials() [1/2]
|
protectedpure virtualinherited |
◆ computePotentials() [2/2]
template<typename TypeTag >
◆ computeTotalRatesForDof() [1/2]
template<typename TypeTag >
template<class Context >
◆ computeTotalRatesForDof() [2/2]
template<typename TypeTag >
◆ computeWellBlockAveragePressures()
template<typename TypeTag >
◆ computeWellGroupThp()
template<typename TypeTag >
◆ computeWellTemperature()
template<typename TypeTag >
◆ createLocalParallelWellInfo()
Create the parallel well information.
- Parameters
-
localWells | The local wells from ECL schedule |
◆ createTypedWellPointer()
template<typename TypeTag >
template<typename WellType >
std::unique_ptr< WellType > Opm::BlackoilWellModel< TypeTag >::createTypedWellPointer |
( |
const int |
wellID, |
|
|
const int |
time_step |
|
) |
| const |
|
protected |
◆ createWellContainer()
template<typename TypeTag >
◆ createWellForWellTest()
template<typename TypeTag >
◆ createWellPointer()
template<typename TypeTag >
◆ deserialize()
template<typename TypeTag >
template<class Restarter >
◆ dofOffset()
Return the offset in the global system of equations for the first degree of freedom of this auxiliary module.
◆ doPreStepNetworkRebalance()
template<typename TypeTag >
◆ eclipseState()
◆ eclState()
template<typename TypeTag >
◆ endEpisode()
template<typename TypeTag >
◆ endIteration()
template<typename TypeTag >
◆ endReportStep()
template<typename TypeTag >
◆ endTimeStep()
template<typename TypeTag >
◆ equilGrid()
template<typename TypeTag >
◆ extractLegacyCellPvtRegionIndex_()
template<typename TypeTag >
◆ extractLegacyDepth_()
template<typename TypeTag >
◆ forceShutWellByName()
Shut down any single well Returns true if the well was actually found and shut.
◆ gasLiftOptimizationStage1()
template<typename TypeTag >
◆ gasLiftOptimizationStage1SingleWell()
template<typename TypeTag >
◆ gasLiftOptimizationStage2()
◆ genericWells()
◆ getCellsForConnections()
◆ getDomainWellConvergence()
template<typename TypeTag >
◆ getLocalWells()
◆ getMaxWellConnections()
◆ getPrimaryVarsDomain()
template<typename TypeTag >
◆ getWell()
template<typename TypeTag >
◆ getWellConvergence()
template<typename TypeTag >
◆ getWellEcl()
◆ getWellsForTesting()
◆ gliftDebug()
◆ gliftDebugShowALQ()
◆ grid()
template<typename TypeTag >
◆ groupAndNetworkData()
◆ groupState() [1/2]
◆ groupState() [2/2]
◆ guideRate()
◆ hasTHPConstraints()
Return true if any well has a THP constraint.
◆ hasWell()
template<typename TypeTag >
◆ inferLocalShutWells()
◆ init()
template<typename TypeTag >
◆ initFromRestartFile() [1/2]
template<typename TypeTag >
◆ initFromRestartFile() [2/2]
◆ initGliftEclWellMap()
template<typename TypeTag >
◆ initializeGroupStructure()
template<typename TypeTag >
◆ initializeLocalWellStructure()
template<typename TypeTag >
void Opm::BlackoilWellModel< TypeTag >::initializeLocalWellStructure |
( |
const int |
reportStepIdx, |
|
|
const bool |
enableWellPIScaling |
|
) |
| |
|
protected |
Update rank's notion of intersecting wells and their associate solution variables.
- Parameters
-
[in] | reportStepIdx | Report step. |
[in] | enableWellPIScaling | Whether or not to enable WELPI scaling. Typically enabled (i.e., true) only at the start of a report step. |
References OPM_BEGIN_PARALLEL_TRY_CATCH, and OPM_END_PARALLEL_TRY_CATCH_LOG.
◆ initializeWBPCalculationService()
template<typename TypeTag >
◆ initializeWellPerfData()
◆ initializeWellProdIndCalculators()
◆ initializeWellState()
template<typename TypeTag >
◆ initInjMult()
◆ initPrimaryVariablesEvaluation()
template<typename TypeTag >
◆ initPrimaryVariablesEvaluationDomain()
template<typename TypeTag >
◆ initWellContainer()
template<typename TypeTag >
◆ lastReport()
template<typename TypeTag >
◆ linearize()
template<typename TypeTag >
◆ linearizeDomain()
template<typename TypeTag >
◆ localNonshutWells()
template<typename TypeTag >
◆ localToGlobalDof()
◆ logPrimaryVars()
template<typename TypeTag >
◆ makeWellSourceEvaluatorFactory()
template<typename TypeTag >
◆ maybeDoGasLiftOptimize()
template<typename TypeTag >
◆ needPreStepNetworkRebalance()
Checks if there are reasons to perform a pre-step network re-balance. (Currently, the only reasons are network well status changes.) (TODO: Consider if adding network change events would be helpful.)
◆ networkActive()
return true if network is active (at least one network well in prediction mode)
◆ numComponents()
template<typename TypeTag >
◆ numDofs()
template<typename TypeTag >
◆ numLocalNonshutWells()
◆ numLocalWells()
◆ numLocalWellsEnd()
◆ numPhases()
◆ nupcolWellState()
◆ operator==()
◆ perfData()
◆ phaseUsage()
◆ postSolve()
template<typename TypeTag >
◆ postSolveDomain()
template<typename TypeTag >
◆ prepareDeserialize() [1/2]
template<typename TypeTag >
◆ prepareDeserialize() [2/2]
◆ prepareTimeStep()
template<typename TypeTag >
◆ prepareWellsBeforeAssembling()
template<typename TypeTag >
◆ prevWellState()
◆ prevWGState()
◆ recoverWellSolutionAndUpdateWellState()
template<typename TypeTag >
◆ recoverWellSolutionAndUpdateWellStateDomain()
template<typename TypeTag >
◆ registerOpenWellsForWBPCalculation()
template<typename TypeTag >
◆ reportStepIndex()
template<typename TypeTag >
◆ reportStepStarts()
◆ resetWGState()
◆ runWellPIScaling()
◆ schedule()
◆ serialize()
template<typename TypeTag >
template<class Restarter >
This method writes the complete state of the well to the harddisk.
◆ serializeOp()
◆ setDofOffset()
◆ setPrimaryVarsDomain()
template<typename TypeTag >
◆ setRepRadiusPerfLength()
◆ setupDomains()
template<typename TypeTag >
◆ setWsolvent()
◆ shouldBalanceNetwork()
◆ summaryState()
◆ timeStepSucceeded()
template<typename TypeTag >
◆ updateAndCommunicate()
template<typename TypeTag >
◆ updateAndCommunicateGroupData()
◆ updateAverageFormationFactor()
template<typename TypeTag >
◆ updateClosedWellsThisStep()
◆ updateEclWells()
◆ updateFiltrationParticleVolume()
◆ updateGroupControls()
template<typename TypeTag >
◆ updateInjFCMult()
◆ updateInjMult()
◆ updateNetworkActiveState()
Checks if network is active (at least one network well on prediction).
◆ updateNetworkPressures()
◆ updateNupcolWGState()
◆ updatePrimaryVariables()
template<typename TypeTag >
◆ updateWellControls()
template<typename TypeTag >
std::pair< bool, bool > Opm::BlackoilWellModel< TypeTag >::updateWellControls |
( |
const bool |
mandatory_network_balance, |
|
|
DeferredLogger & |
deferred_logger, |
|
|
const bool |
relax_network_tolerance = false |
|
) |
| |
◆ updateWellControlsAndNetwork()
template<typename TypeTag >
◆ updateWellControlsAndNetworkIteration()
template<typename TypeTag >
std::pair< bool, bool > Opm::BlackoilWellModel< TypeTag >::updateWellControlsAndNetworkIteration |
( |
const bool |
mandatory_network_balance, |
|
|
const bool |
relax_network_tolerance, |
|
|
const double |
dt, |
|
|
DeferredLogger & |
local_deferredLogger |
|
) |
| |
|
protected |
◆ updateWellControlsDomain()
template<typename TypeTag >
◆ updateWellPotentials()
◆ updateWellTestState()
template<typename TypeTag >
void Opm::BlackoilWellModel< TypeTag >::updateWellTestState |
( |
const double & |
simulationTime, |
|
|
WellTestState & |
wellTestState |
|
) |
| const |
|
protected |
◆ updateWsolvent()
◆ wasDynamicallyShutThisTimeStep() [1/2]
◆ wasDynamicallyShutThisTimeStep() [2/2]
◆ wellBlockAveragePressures()
template<typename TypeTag >
◆ wellData()
template<typename TypeTag >
References Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::assignMassGasRate(), Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::assignMswTracerRates(), Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::assignShutConnections(), Opm::BlackoilWellModelGuideRates< Scalar >::assignWellGuideRates(), Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::assignWellTargets(), Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::assignWellTracerRates(), Opm::BlackoilWellModel< TypeTag >::eclState(), Opm::WellState< Scalar >::report(), Opm::BlackoilWellModel< TypeTag >::reportStepIndex(), Opm::BlackoilWellModel< TypeTag >::simulator_, and Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::wellState().
◆ wellPerfEfficiencyFactors()
template<typename TypeTag >
◆ wellPI() [1/2]
◆ wellPI() [2/2]
◆ wellsActive()
return true if wells are available in the reservoir
◆ wellState() [1/2]
◆ wellState() [2/2]
◆ wellTesting()
template<typename TypeTag >
◆ wellTestState() [1/2]
◆ wellTestState() [2/2]
◆ active_wgstate_
◆ alternative_well_rate_init_
template<typename TypeTag >
◆ B_avg_
template<typename TypeTag >
◆ closed_offending_wells_
◆ closed_this_step_
|
mutableprotectedinherited |
◆ comm_
◆ conn_idx_map_
◆ depth_
template<typename TypeTag >
◆ eclState_
◆ filter_cake_
◆ glift_debug
◆ global_num_cells_
template<typename TypeTag >
◆ gravity_
template<typename TypeTag >
◆ guideRate_
◆ has_energy_
template<typename TypeTag >
◆ has_micp_
template<typename TypeTag >
◆ has_polymer_
template<typename TypeTag >
◆ has_solvent_
template<typename TypeTag >
◆ initial_step_
◆ is_cell_perforated_
template<typename TypeTag >
◆ last_glift_opt_time_
◆ last_report_
template<typename TypeTag >
◆ last_run_wellpi_
◆ last_valid_wgstate_
◆ local_num_cells_
template<typename TypeTag >
◆ local_parallel_well_info_
◆ local_shut_wells_
◆ network_active_
◆ node_pressures_
◆ not_on_process_
◆ numEq
template<typename TypeTag >
◆ nupcol_wgstate_
◆ parallel_well_info_
◆ param_
template<typename TypeTag >
◆ phase_usage_
◆ pressureVarIndex
template<typename TypeTag >
◆ prev_inj_multipliers_
◆ prod_index_calc_
◆ pvt_region_idx_
◆ rateConverter_
template<typename TypeTag >
◆ regionalAveragePressureCalculator_
template<typename TypeTag >
◆ report_step_starts_
◆ scaleAddRes_
template<typename TypeTag >
◆ schedule_
◆ simulator_
template<typename TypeTag >
◆ solventSaturationIdx
template<typename TypeTag >
◆ summaryState_
◆ switched_inj_groups_
◆ switched_prod_groups_
◆ terminal_output_
◆ vfp_properties_
◆ wbpCalcMap_
template<typename TypeTag >
◆ wbpCalculationService_
|
mutableprotectedinherited |
◆ well_container_
template<typename TypeTag >
◆ well_container_generic_
◆ well_domain_
template<typename TypeTag >
◆ well_group_thp_calc_
template<typename TypeTag >
◆ well_perf_data_
◆ wells_active_
◆ wells_ecl_
◆ wellStructureChangedDynamically_
The documentation for this class was generated from the following files:
|