BlackoilWellModelNetworkPressureComputation.hpp File Reference
#include <opm/common/TimingMacros.hpp>
#include <opm/input/eclipse/Schedule/Group/GConSump.hpp>
#include <opm/input/eclipse/Schedule/Group/GSatProd.hpp>
#include <opm/input/eclipse/Schedule/Network/ExtNetwork.hpp>
#include <opm/input/eclipse/Schedule/Schedule.hpp>
#include <opm/input/eclipse/Schedule/ScheduleState.hpp>
#include <opm/input/eclipse/Schedule/SummaryState.hpp>
#include <opm/input/eclipse/Schedule/VFPProdTable.hpp>
#include <opm/input/eclipse/Units/Units.hpp>
#include <opm/output/data/Groups.hpp>
#include <opm/simulators/wells/BlackoilWellModelGeneric.hpp>
#include <opm/simulators/wells/VFPHelpers.hpp>
#include <opm/simulators/wells/VFPInjProperties.hpp>
#include <opm/simulators/wells/VFPProdProperties.hpp>
#include <fmt/format.h>
#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstddef>
#include <map>
#include <ranges>
#include <set>
#include <stack>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for BlackoilWellModelNetworkPressureComputation.hpp:

Go to the source code of this file.

Classes

struct  Opm::NetworkBranchPressure< Scalar >
 Result of a single network branch VFP lookup. More...
 
struct  Opm::NetworkVfpPressureCalculator< Scalar, IndexTraits, VFPProdProperties< Scalar > >
 
struct  Opm::NetworkVfpPressureCalculator< Scalar, IndexTraits, VFPInjProperties< Scalar > >
 
class  Opm::NetworkPressureComputation< GenericWellModel, VfpProperties, Communication >
 Class to compute network pressures using VFP tables, given flow rates for each group and fixed pressures at network roots. Optionally, the ALQ values from wells can be included in the rates. More...
 

Namespaces

namespace  Opm
 
namespace  Opm::detail
 

Functions

template<typename Scalar , typename IndexTraits , typename Table >
bool Opm::detail::clampToTableAxes (const Table &table, std::vector< Scalar > &rates, Scalar &up_press)
 
bool Opm::detail::isConnectedNetworkNode (const Network::ExtNetwork &network, const std::string &name)
 
template<typename Scalar >
std::map< std::string, Scalar > Opm::networkGasConsumptionRates (const Network::ExtNetwork &network, const ScheduleState &sched_state, const SummaryState &summary_state)
 Net gas consumption (GCONSUMP consumption minus import, SI units) to remove from the flow at each node of a production network. More...
 
template<typename Scalar >
bool Opm::nodeFollowsOverriddenNode (const Network::ExtNetwork &network, std::string node, const std::map< std::string, Scalar > &overrides)
 Whether the pressure of a node follows from one of the overridden nodes (see the terminal pressure overrides of NetworkPressureComputation): the node itself is overridden, or the nodes above it lead to one without crossing a node that has a fixed pressure of its own. Such a node has a fixed pressure that no override reaches through it, so the nodes below it do not follow the overridden node above. More...