Class for handling the blackoil well model.
More...
#include <BlackoilWellModel.hpp>
|
using | ModelParameters = BlackoilModelParameters< TypeTag > |
|
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::GLiftEclWells |
|
using | GLiftSyncGroups = typename GasLiftSingleWellGeneric::GLiftSyncGroups |
|
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 |
|
void | addNeighbors (std::vector< NeighborSet > &neighbors) const override |
|
void | applyInitial () override |
|
void | linearize (SparseMatrixAdapter &jacobian, GlobalEqVector &res) override |
|
void | linearizeDomain (const Domain &domain, SparseMatrixAdapter &jacobian, GlobalEqVector &res) |
|
void | postSolve (GlobalEqVector &deltaX) override |
|
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 | getWellContributions (WellContributions &x) 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) |
|
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 * > | 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, 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 > & | 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 |
|
|
static constexpr std::size_t | pressureVarIndex = GetPropType<TypeTag, Properties::Indices>::pressureSwitchIdx |
|
static const int | numEq = Indices::numEq |
|
static const int | solventSaturationIdx = Indices::solventSaturationIdx |
|
static constexpr bool | has_solvent_ = getPropValue<TypeTag, Properties::EnableSolvent>() |
|
static constexpr bool | has_polymer_ = getPropValue<TypeTag, Properties::EnablePolymer>() |
|
static constexpr bool | has_energy_ = getPropValue<TypeTag, Properties::EnableEnergy>() |
|
static constexpr bool | has_micp_ = getPropValue<TypeTag, Properties::EnableMICP>() |
|
|
using | WellTracerRates = std::map< std::pair< std::string, std::string >, GetPropType< TypeTag, Properties::Scalar > > |
|
|
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 | 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::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 &group_info, GLiftWellStateMap &state_map) |
|
void | gasLiftOptimizationStage1SingleWell (WellInterface< TypeTag > *well, DeferredLogger &deferred_logger, GLiftProdWells &prod_wells, GLiftOptWells &glift_wells, GasLiftGroupInfo &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 | calcRates (const int fipnum, const int pvtreg, const std::vector< Scalar > &production_rates, std::vector< Scalar > &resv_coeff) override |
|
void | calcInjRates (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 > > | 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) |
|
void | assignShutConnections (data::Wells &wsrpt, const int reportStepIndex) 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 &group_info, GLiftWellStateMap &map, const int episodeIndex) |
|
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 |
|
|
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::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 > > | well_perf_data_ |
|
std::vector< ConnectionIndexMap > | conn_idx_map_ |
|
std::function< bool(const Well &)> | not_on_process_ |
|
std::vector< WellInterfaceGeneric * > | well_container_generic_ |
|
std::vector< int > | local_shut_wells_ |
|
std::vector< ParallelWellInfo > | parallel_well_info_ |
|
std::vector< std::reference_wrapper< ParallelWellInfo > > | local_parallel_well_info_ |
|
std::vector< WellProdIndexCalculator > | prod_index_calc_ |
|
ParallelWBPCalculation | wbpCalculationService_ |
|
std::vector< int > | pvt_region_idx_ |
|
std::unordered_set< std::string > | closed_this_step_ |
|
GuideRate | guideRate_ |
|
std::unique_ptr< VFPProperties > | 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 >
◆ 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 >
using Opm::BlackoilWellModel< TypeTag >::SparseMatrixAdapter = GetPropType<TypeTag, Properties::SparseMatrixAdapter> |
◆ VectorBlockType
template<typename TypeTag >
◆ WellInterfacePtr
template<typename TypeTag >
◆ WellTracerRates
using Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::WellTracerRates = std::map<std::pair<std::string, std::string>, GetPropType< TypeTag, Properties::Scalar > > |
|
protectedinherited |
◆ 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()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::assignGroupControl |
( |
const Group & |
group, |
|
|
data::GroupData & |
gdata |
|
) |
| const |
|
protectedinherited |
◆ assignGroupValues()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::assignGroupValues |
( |
const int |
reportStepIdx, |
|
|
std::map< std::string, data::GroupData > & |
gvalues |
|
) |
| const |
|
protectedinherited |
◆ assignNodeValues()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::assignNodeValues |
( |
std::map< std::string, data::NodeData > & |
nodevalues, |
|
|
const int |
reportStepIdx |
|
) |
| const |
|
protectedinherited |
◆ assignShutConnections()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::assignShutConnections |
( |
data::Wells & |
wsrpt, |
|
|
const int |
reportStepIndex |
|
) |
| const |
|
protectedinherited |
◆ assignWellTracerRates()
◆ beginEpisode()
template<typename TypeTag >
◆ beginIteration()
template<typename TypeTag >
◆ beginReportStep()
template<typename TypeTag >
◆ beginTimeStep()
template<typename TypeTag >
◆ calcInjRates()
template<typename TypeTag >
◆ calcRates()
template<typename TypeTag >
void Opm::BlackoilWellModel< TypeTag >::calcRates |
( |
const int |
fipnum, |
|
|
const int |
pvtreg, |
|
|
const std::vector< Scalar > & |
production_rates, |
|
|
std::vector< Scalar > & |
resv_coeff |
|
) |
| |
|
overrideprotectedvirtual |
◆ 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()
template<typename TypeTag >
◆ computeTotalRatesForDof() [1/2]
template<typename TypeTag >
template<class Context >
◆ computeTotalRatesForDof() [2/2]
template<typename TypeTag >
◆ computeWellBlockAveragePressures()
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 >
◆ 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()
bool Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::forceShutWellByName |
( |
const std::string & |
wellname, |
|
|
const double |
simulation_time |
|
) |
| |
|
inherited |
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()
std::vector< int > Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::getCellsForConnections |
( |
const Well & |
well | ) |
const |
|
protectedinherited |
◆ getDomainWellConvergence()
template<typename TypeTag >
◆ getLocalWells()
◆ getMaxWellConnections()
◆ getPrimaryVarsDomain()
template<typename TypeTag >
◆ getWell()
template<typename TypeTag >
◆ getWellContributions()
template<typename TypeTag >
◆ getWellConvergence()
template<typename TypeTag >
◆ getWellEcl()
◆ getWellsForTesting()
std::vector< std::string > Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::getWellsForTesting |
( |
const int |
timeStepIdx, |
|
|
const double |
simulationTime |
|
) |
| |
|
protectedinherited |
◆ gliftDebug()
◆ gliftDebugShowALQ()
◆ grid()
template<typename TypeTag >
◆ groupAndNetworkData()
data::GroupAndNetworkValues Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::groupAndNetworkData |
( |
const int |
reportStepIdx | ) |
const |
|
inherited |
◆ 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]
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::initFromRestartFile |
( |
const RestartValue & |
restartValues, |
|
|
WellTestState |
wtestState, |
|
|
const std::size_t |
numCells, |
|
|
bool |
handle_ms_well |
|
) |
| |
|
inherited |
◆ 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 >
◆ 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]
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::prepareDeserialize |
( |
int |
report_step, |
|
|
const std::size_t |
numCells, |
|
|
bool |
handle_ms_well |
|
) |
| |
|
inherited |
◆ 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()
◆ setPrimaryVarsDomain()
template<typename TypeTag >
◆ setRepRadiusPerfLength()
◆ setupDomains()
template<typename TypeTag >
◆ setWsolvent()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::setWsolvent |
( |
const Group & |
group, |
|
|
const int |
reportStepIdx, |
|
|
GetPropType< TypeTag, Properties::Scalar > |
wsolvent |
|
) |
| |
|
protectedinherited |
◆ shouldBalanceNetwork()
bool Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::shouldBalanceNetwork |
( |
const int |
reportStepIndex, |
|
|
const int |
iterationIdx |
|
) |
| const |
|
inherited |
◆ summaryState()
◆ timeStepSucceeded()
template<typename TypeTag >
◆ updateAndCommunicate()
template<typename TypeTag >
◆ updateAndCommunicateGroupData()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::updateAndCommunicateGroupData |
( |
const int |
reportStepIdx, |
|
|
const int |
iterationIdx |
|
) |
| |
|
protectedinherited |
◆ updateAverageFormationFactor()
template<typename TypeTag >
◆ updateClosedWellsThisStep()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::updateClosedWellsThisStep |
( |
const std::string & |
well_name | ) |
const |
|
inlineinherited |
◆ updateEclWells()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::updateEclWells |
( |
const int |
timeStepIdx, |
|
|
const SimulatorUpdate & |
sim_update, |
|
|
const SummaryState & |
st |
|
) |
| |
|
inherited |
◆ updateFiltrationParticleVolume()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::updateFiltrationParticleVolume |
( |
const double |
dt, |
|
|
const std::size_t |
water_index |
|
) |
| |
|
protectedinherited |
◆ updateGroupControls()
template<typename TypeTag >
◆ updateInjFCMult()
◆ updateInjMult()
◆ updateNetworkActiveState()
Checks if network is active (at least one network well on prediction).
◆ updateNetworkPressures()
GetPropType< TypeTag, Properties::Scalar > Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::updateNetworkPressures |
( |
const int |
reportStepIdx | ) |
|
|
protectedinherited |
◆ 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()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::updateWellPotentials |
( |
const int |
reportStepIdx, |
|
|
const bool |
onlyAfterEvent, |
|
|
const SummaryConfig & |
summaryConfig, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| |
|
protectedinherited |
◆ updateWellTestState()
template<typename TypeTag >
void Opm::BlackoilWellModel< TypeTag >::updateWellTestState |
( |
const double & |
simulationTime, |
|
|
WellTestState & |
wellTestState |
|
) |
| const |
|
protected |
◆ updateWsolvent()
void Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::updateWsolvent |
( |
const Group & |
group, |
|
|
const int |
reportStepIdx, |
|
|
const WellState< GetPropType< TypeTag, Properties::Scalar > > & |
wellState |
|
) |
| |
|
protectedinherited |
◆ wasDynamicallyShutThisTimeStep() [1/2]
◆ wasDynamicallyShutThisTimeStep() [2/2]
bool Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::wasDynamicallyShutThisTimeStep |
( |
const std::string & |
well_name | ) |
const |
|
inherited |
◆ wellBlockAveragePressures()
template<typename TypeTag >
◆ wellData()
template<typename TypeTag >
◆ wellPerfEfficiencyFactors()
template<typename TypeTag >
◆ wellPI() [1/2]
GetPropType< TypeTag, Properties::Scalar > Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::wellPI |
( |
const int |
well_index | ) |
const |
|
inherited |
◆ wellPI() [2/2]
GetPropType< TypeTag, Properties::Scalar > Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::wellPI |
( |
const std::string & |
well_name | ) |
const |
|
inherited |
◆ 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_
std::map<std::string, std::pair<std::string, std::string> > Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::closed_offending_wells_ |
|
protectedinherited |
◆ 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 >
constexpr bool Opm::BlackoilWellModel< TypeTag >::has_energy_ = getPropValue<TypeTag, Properties::EnableEnergy>() |
|
staticconstexpr |
◆ has_micp_
template<typename TypeTag >
◆ has_polymer_
template<typename TypeTag >
constexpr bool Opm::BlackoilWellModel< TypeTag >::has_polymer_ = getPropValue<TypeTag, Properties::EnablePolymer>() |
|
staticconstexpr |
◆ has_solvent_
template<typename TypeTag >
constexpr bool Opm::BlackoilWellModel< TypeTag >::has_solvent_ = getPropValue<TypeTag, Properties::EnableSolvent>() |
|
staticconstexpr |
◆ 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_
std::map<std::string, GetPropType< TypeTag, Properties::Scalar > > Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::node_pressures_ |
|
protectedinherited |
◆ not_on_process_
◆ numEq
template<typename TypeTag >
◆ nupcol_wgstate_
◆ parallel_well_info_
◆ param_
template<typename TypeTag >
◆ phase_usage_
◆ pressureVarIndex
template<typename TypeTag >
constexpr std::size_t Opm::BlackoilWellModel< TypeTag >::pressureVarIndex = GetPropType<TypeTag, Properties::Indices>::pressureSwitchIdx |
|
staticconstexpr |
◆ prev_inj_multipliers_
std::unordered_map<std::string, std::vector<GetPropType< TypeTag, Properties::Scalar > > > Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::prev_inj_multipliers_ |
|
protectedinherited |
◆ 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_
std::map<std::pair<std::string, Phase>, std::string> Opm::BlackoilWellModelGeneric< GetPropType< TypeTag, Properties::Scalar > >::switched_inj_groups_ |
|
protectedinherited |
◆ 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_perf_data_
◆ wells_active_
◆ wells_ecl_
◆ wellStructureChangedDynamically_
The documentation for this class was generated from the following files:
|