Opm::BlackoilWellModelNetwork< TypeTag > Class Template Reference

Class for handling the blackoil well network model. More...

#include <BlackoilWellModelNetwork.hpp>

Inheritance diagram for Opm::BlackoilWellModelNetwork< TypeTag >:
Inheritance graph

Public Member Functions

 BlackoilWellModelNetwork (BlackoilWellModel< TypeTag > &well_model)
 
std::tuple< bool, Scalar > update (const bool mandatory_network_balance, DeferredLogger &deferred_logger, const bool relax_network_tolerance=false)
 
void doPreStepRebalance (DeferredLogger &deferred_logger)
 
bool active () const
 return true if network is active (at least one network well in prediction mode) More...
 
const std::map< std::string, GetPropType< TypeTag, Properties::Scalar > > & nodePressures () const
 
void setNodePressures (const std::map< std::string, GetPropType< TypeTag, Properties::Scalar > > &values)
 
void setFromRestart (const std::optional< std::map< std::string, double > > &restart_pressures)
 
void initialize (const int report_step)
 Initialize wells according to network configuration. More...
 
void initializeWell (WellInterfaceGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > &well)
 Initialize a single well according to network configuration. More...
 
void updateActiveState (const int report_step)
 Checks if network is active (at least one network well on prediction). More...
 
bool needPreStepRebalance (const int report_step) const
 
bool shouldBalance (const int reportStepIndex, const int iterationIdx) const
 
GetPropType< TypeTag, Properties::ScalarupdatePressures (const int reportStepIdx, const GetPropType< TypeTag, Properties::Scalar > damping_factor, const GetPropType< TypeTag, Properties::Scalar > update_upper_bound)
 
void assignNodeValues (std::map< std::string, data::NodeData > &nodevalues, const int reportStepIdx) const
 
void commitState ()
 
void resetState ()
 
void serializeOp (Serializer &serializer)
 
bool operator== (const BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > &rhs) const
 

Protected Member Functions

bool computeWellGroupThp (const double dt, DeferredLogger &local_deferredLogger)
 
std::map< std::string, GetPropType< TypeTag, Properties::Scalar > > computePressures (const Network::ExtNetwork &network, const VFPProdProperties< GetPropType< TypeTag, Properties::Scalar > > &vfp_prod_props, const int reportStepIdx, const Parallel::Communication &comm) const
 

Protected Attributes

BlackoilWellModel< TypeTag > & well_model_
 
std::map< std::string, Scalar > well_group_thp_calc_
 
bool active_
 
std::map< std::string, GetPropType< TypeTag, Properties::Scalar > > node_pressures_
 
std::map< std::string, GetPropType< TypeTag, Properties::Scalar > > last_valid_node_pressures_
 

Detailed Description

template<typename TypeTag>
class Opm::BlackoilWellModelNetwork< TypeTag >

Class for handling the blackoil well network model.

Constructor & Destructor Documentation

◆ BlackoilWellModelNetwork()

template<typename TypeTag >
Opm::BlackoilWellModelNetwork< TypeTag >::BlackoilWellModelNetwork ( BlackoilWellModel< TypeTag > &  well_model)

Member Function Documentation

◆ active()

bool Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::active ( ) const
inlineinherited

return true if network is active (at least one network well in prediction mode)

◆ assignNodeValues()

void Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::assignNodeValues ( std::map< std::string, data::NodeData > &  nodevalues,
const int  reportStepIdx 
) const
inherited

◆ commitState()

void Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::commitState ( )
inlineinherited

◆ computePressures()

std::map< std::string, GetPropType< TypeTag, Properties::Scalar > > Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::computePressures ( const Network::ExtNetwork &  network,
const VFPProdProperties< GetPropType< TypeTag, Properties::Scalar > > &  vfp_prod_props,
const int  reportStepIdx,
const Parallel::Communication comm 
) const
protectedinherited

◆ computeWellGroupThp()

template<typename TypeTag >
bool Opm::BlackoilWellModelNetwork< TypeTag >::computeWellGroupThp ( const double  dt,
DeferredLogger local_deferredLogger 
)
protected

This function is to be used for well groups in an extended network that act as a subsea manifold The wells of such group should have a common THP and total phase rate(s) obeying (if possible) the well group constraint set by GCONPROD

References Opm::DeferredLogger::debug(), Opm::WellGroupControls< Scalar, IndexTraits >::getAutoChokeGroupProductionTargetRate(), Opm::ExceptionType::NONE, and Opm::to_string().

◆ doPreStepRebalance()

template<typename TypeTag >
void Opm::BlackoilWellModelNetwork< TypeTag >::doPreStepRebalance ( DeferredLogger deferred_logger)

◆ initialize()

void Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::initialize ( const int  report_step)
inherited

Initialize wells according to network configuration.

◆ initializeWell()

void Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::initializeWell ( WellInterfaceGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > &  well)
inherited

Initialize a single well according to network configuration.

◆ needPreStepRebalance()

bool Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::needPreStepRebalance ( const int  report_step) const
inherited

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.)

◆ nodePressures()

const std::map< std::string, GetPropType< TypeTag, Properties::Scalar > > & Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::nodePressures ( ) const
inlineinherited

◆ operator==()

bool Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::operator== ( const BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > &  rhs) const
inherited

◆ resetState()

void Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::resetState ( )
inlineinherited

◆ serializeOp()

void Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::serializeOp ( Serializer &  serializer)
inlineinherited

◆ setFromRestart()

void Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::setFromRestart ( const std::optional< std::map< std::string, double > > &  restart_pressures)
inherited

◆ setNodePressures()

void Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::setNodePressures ( const std::map< std::string, GetPropType< TypeTag, Properties::Scalar > > &  values)
inlineinherited

◆ shouldBalance()

bool Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::shouldBalance ( const int  reportStepIndex,
const int  iterationIdx 
) const
inherited

◆ update()

template<typename TypeTag >
std::tuple< bool, typename BlackoilWellModelNetwork< TypeTag >::Scalar > Opm::BlackoilWellModelNetwork< TypeTag >::update ( const bool  mandatory_network_balance,
DeferredLogger deferred_logger,
const bool  relax_network_tolerance = false 
)

◆ updateActiveState()

void Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::updateActiveState ( const int  report_step)
inherited

Checks if network is active (at least one network well on prediction).

◆ updatePressures()

GetPropType< TypeTag, Properties::Scalar > Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::updatePressures ( const int  reportStepIdx,
const GetPropType< TypeTag, Properties::Scalar damping_factor,
const GetPropType< TypeTag, Properties::Scalar update_upper_bound 
)
inherited

Member Data Documentation

◆ active_

bool Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::active_
protectedinherited

◆ last_valid_node_pressures_

std::map<std::string, GetPropType< TypeTag, Properties::Scalar > > Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::last_valid_node_pressures_
protectedinherited

◆ node_pressures_

std::map<std::string, GetPropType< TypeTag, Properties::Scalar > > Opm::BlackoilWellModelNetworkGeneric< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::node_pressures_
protectedinherited

◆ well_group_thp_calc_

template<typename TypeTag >
std::map<std::string, Scalar> Opm::BlackoilWellModelNetwork< TypeTag >::well_group_thp_calc_
protected

◆ well_model_

template<typename TypeTag >
BlackoilWellModel<TypeTag>& Opm::BlackoilWellModelNetwork< TypeTag >::well_model_
protected

The documentation for this class was generated from the following files: