|
typedef BlackoilModelParametersEbos< TypeTag > | ModelParameters |
|
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::GLiftOptWells |
|
using | GLiftProdWells = typename BlackoilWellModelGeneric::GLiftProdWells |
|
using | GLiftWellStateMap = typename BlackoilWellModelGeneric::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 | WellInterfacePtr = std::shared_ptr< WellInterface< TypeTag > > |
|
using | PressureMatrix = Dune::BCRSMatrix< Opm::MatrixBlock< double, 1, 1 > > |
|
using | GLiftOptWells = std::map< std::string, std::unique_ptr< GasLiftSingleWellGeneric > > |
|
using | GLiftProdWells = std::map< std::string, const WellInterfaceGeneric * > |
|
using | GLiftWellStateMap = std::map< std::string, std::unique_ptr< GasLiftWellState > > |
|
|
| BlackoilWellModel (Simulator &ebosSimulator) |
|
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 | postSolve (GlobalEqVector &deltaX) override |
|
template<class Restarter > |
void | deserialize (Restarter &) |
|
template<class Restarter > |
void | serialize (Restarter &) |
| This method writes the complete state of the well to the harddisk.
|
|
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 |
|
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 |
|
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 | updatePerforationIntensiveQuantities () |
|
void | calculateExplicitQuantities (DeferredLogger &deferred_logger) const |
| Calculating the explict quantities used in the well calculation. More...
|
|
void | prepareTimeStep (DeferredLogger &deferred_logger) |
|
void | initPrimaryVariablesEvaluation () const |
|
std::tuple< bool, bool, double > | updateWellControls (DeferredLogger &deferred_logger) |
|
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 |
|
int | numLocalWellsEnd () const |
|
void | addWellPressureEquations (PressureMatrix &jacobian, const BVector &weights, const bool use_well_weights) const |
|
std::vector< std::vector< int > > | getMaxWellConnections () const |
|
void | addWellPressureEquationsStruct (PressureMatrix &jacobian) const |
|
void | initGliftEclWellMap (GLiftEclWells &ecl_well_map) |
|
const std::vector< WellInterfacePtr > & | localNonshutWells () const |
| Get list of local nonshut wells.
|
|
int | numLocalNonshutWells () const |
|
void | initFromRestartFile (const RestartValue &restartValues, WellTestState wtestState, const size_t numCells, bool handle_ms_well) |
|
void | prepareDeserialize (int report_step, const size_t numCells, bool handle_ms_well) |
|
| BlackoilWellModelGeneric (Schedule &schedule, const SummaryState &summaryState, const EclipseState &eclState, const PhaseUsage &phase_usage, const Parallel::Communication &comm) |
|
int | numLocalWells () const |
|
int | numPhases () const |
|
bool | wellsActive () const |
| return true if wells are available in the reservoir
|
|
bool | hasWell (const std::string &wname) const |
|
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 & | groupState () const |
|
std::vector< const WellInterfaceGeneric * > | genericWells () const |
|
const WellState & | wellState () const |
|
WellState & | wellState () |
|
GroupState & | groupState () |
|
WellTestState & | wellTestState () |
|
const WellTestState & | wellTestState () const |
|
double | wellPI (const int well_index) const |
|
double | wellPI (const std::string &well_name) const |
|
void | updateEclWells (const int timeStepIdx, const std::unordered_set< std::string > &wells, const SummaryState &st) |
|
void | initFromRestartFile (const RestartValue &restartValues, WellTestState wtestState, const size_t numCells, bool handle_ms_well) |
|
void | prepareDeserialize (int report_step, const 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.
|
|
bool | forceShutWellByName (const std::string &wellname, const double simulation_time) |
| Shut down any single well Returns true if the well was actually found and shut.
|
|
const std::vector< PerforationData > & | perfData (const int well_idx) const |
|
const Parallel::Communication & | comm () const |
|
const SummaryState & | summaryState () const |
|
const GuideRate & | guideRate () const |
|
bool | reportStepStarts () const |
|
bool | shouldBalanceNetwork (const int reportStepIndex, const int iterationIdx) const |
|
bool | shouldIterateNetwork (const int reportStepIndex, const std::size_t recursion_level, const double network_imbalance) const |
|
template<class Serializer > |
void | serializeOp (Serializer &serializer) |
|
bool | operator== (const BlackoilWellModelGeneric &rhs) const |
|
|
void | initializeWellState (const int timeStepIdx, const SummaryState &summaryState) |
|
void | createWellContainer (const int time_step) override |
|
WellInterfacePtr | createWellPointer (const int wellID, const int time_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 |
|
const Grid & | grid () const |
|
const EquilGrid & | equilGrid () const |
|
const EclipseState & | eclState () const |
|
void | assemble (const int iterationIdx, const double dt) |
|
bool | assembleImpl (const int iterationIdx, const double dt, const std::size_t recursion_level, DeferredLogger &local_deferredLogger) |
|
void | timeStepSucceeded (const double &simulationTime, const double dt) |
|
void | endReportStep () |
|
void | recoverWellSolutionAndUpdateWellState (const BVector &x) |
|
void | updatePrimaryVariables (DeferredLogger &deferred_logger) |
|
void | updateAverageFormationFactor () |
|
void | computePotentials (const std::size_t widx, const WellState &well_state_copy, std::string &exc_msg, ExceptionType::ExcEnum &exc_type, DeferredLogger &deferred_logger) override |
|
const std::vector< double > & | 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) |
|
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
|
|
void | wellTesting (const int timeStepIdx, const double simulationTime, DeferredLogger &deferred_logger) |
|
void | calcRates (const int fipnum, const int pvtreg, const std::vector< double > &production_rates, std::vector< double > &resv_coeff) override |
|
void | calcInjRates (const int fipnum, const int pvtreg, std::vector< double > &resv_coeff) override |
|
void | computeWellTemperature () |
|
void | assignWellTracerRates (data::Wells &wsrpt) const |
|
int | compressedIndexForInterior (int cartesian_cell_idx) const override |
| get compressed index for interior cells (-1, otherwise More...
|
|
const WellState & | prevWellState () const |
|
const WGState & | prevWGState () const |
|
const WellState & | nupcolWellState () const |
|
void | commitWGState (WGState wgstate) |
|
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 () |
|
bool | wasDynamicallyShutThisTimeStep (const int well_index) const |
|
std::pair< bool, double > | updateNetworkPressures (const int reportStepIdx) |
|
void | updateWsolvent (const Group &group, const int reportStepIdx, const WellState &wellState) |
|
void | setWsolvent (const Group &group, const int reportStepIdx, double wsolvent) |
|
virtual void | calcRates (const int fipnum, const int pvtreg, const std::vector< double > &production_rates, std::vector< double > &resv_coeff)=0 |
|
virtual void | calcInjRates (const int fipnum, const int pvtreg, std::vector< double > &resv_coeff)=0 |
|
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 |
|
void | calculateEfficiencyFactors (const int reportStepIdx) |
|
void | checkGconsaleLimits (const Group &group, WellState &well_state, const int reportStepIdx, 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) |
|
virtual void | computePotentials (const std::size_t widx, const WellState &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) |
|
virtual void | createWellContainer (const int time_step)=0 |
|
virtual void | initWellContainer (const int reportStepIdx)=0 |
|
virtual void | calculateProductivityIndexValuesShutWells (const int reportStepIdx, DeferredLogger &deferred_logger)=0 |
|
virtual void | calculateProductivityIndexValues (DeferredLogger &deferred_logger)=0 |
|
void | runWellPIScaling (const int timeStepIdx, DeferredLogger &local_deferredLogger) |
|
virtual int | compressedIndexForInterior (int cartesian_cell_idx) const =0 |
| get compressed index for interior cells (-1, otherwise More...
|
|
std::vector< int > | getCellsForConnections (const Well &well) const |
|
std::vector< std::string > | getWellsForTesting (const int timeStepIdx, const double simulationTime) |
|
template<typename TypeTag>
class Opm::BlackoilWellModel< TypeTag >
Class for handling the blackoil well model.