Opm Namespace Reference

Namespaces

namespace  Action
 
namespace  cmp
 
namespace  data
 
namespace  DifferentiateOutputTable
 
namespace  EclIO
 
namespace  EclipseIOUtil
 
namespace  ECLPVT
 
namespace  ECLUnits
 
namespace  FaceDir
 
namespace  Field
 
namespace  FlowDiagnostics
 
namespace  fun
 
namespace  InitIO
 
namespace  injection
 
namespace  InputError
 
namespace  Interp1D
 
namespace  Lab
 
namespace  Log
 
namespace  Metric
 
namespace  MinpvMode
 
namespace  MULTREGT
 
namespace  Operate
 
namespace  out
 
namespace  parameter
 
namespace  ParserConst
 
namespace  ParserKeywords
 
namespace  PinchMode
 
namespace  prefix
 Conversion prefix for units.
 
namespace  PVT_M
 
namespace  Raw
 
namespace  RawConsts
 Consts used in the non semantic, raw parsing of the eclipse file.
 
namespace  RestartIO
 
namespace  RptIO
 
namespace  satfunc
 
namespace  SatFunc
 
namespace  ScheduleEvents
 
namespace  Table
 
namespace  TimeService
 
namespace  UDA
 
namespace  UDQ
 
namespace  unit
 
namespace  utils
 
namespace  value
 

Classes

class  Actdims
 
class  ActiveGridCells
 Simple class capturing active cells of a grid. More...
 
class  Aquancon
 
class  Aqudims
 
class  AquiferConfig
 
class  AquiferCT
 
class  Aquifetp
 
class  AqutabTable
 
class  AssembledConnections
 
class  BCConfig
 
class  Box
 
class  BoxManager
 
class  BrineDensityTable
 
class  ColumnSchema
 
struct  Compsegs
 
class  Connection
 
struct  ConnectionData
 
struct  ContinueOnError
 
class  CoordMapper
 
class  CounterLog
 Provides a simple sytem for log message which are found by the Parser/Deck/EclipseState classes during processing the deck. More...
 
class  Deck
 
class  DeckItem
 
class  DeckKeyword
 
class  DeckOutput
 
class  DeckRecord
 
class  DeckSection
 
class  DeckValue
 
class  DeckView
 
struct  DENSITYRecord
 
struct  DensityTable
 
class  DenT
 
class  Dimension
 
class  DynamicState
 
class  DynamicVector
 
class  ECLFluxCalc
 Class for computing connection fluxes in the absence of flux output. More...
 
class  ECLGraph
 
class  EclHysterConfig
 
class  ECLInitFileData
 
class  EclipseConfig
 
class  EclipseGrid
 
class  EclipseGridInspector
 A class for inspecting the contents of an eclipse file. More...
 
class  EclipseIO
 A class to write the reservoir state and the well state of a blackoil simulation to disk using the Eclipse binary format. More...
 
class  EclipsePRTLog
 
class  EclipseState
 
struct  ECLPropTableRawData
 Raw table data from which to construct collection of interpolants. More...
 
class  ECLRegionMapping
 
class  ECLRestartData
 
class  ECLSaturationFunc
 
class  ECLWellSolution
 
class  EDITNNC
 Represents edit information for non-neighboring connections (NNCs, faults, etc.) More...
 
class  EDITSection
 
class  EndpointScaling
 
class  EnkrvdTable
 
class  EnptvdTable
 
class  Eqldims
 
class  Equil
 
class  EquilRecord
 
class  ErrorGuard
 
class  Events
 
class  Fault
 
class  FaultCollection
 
class  FaultFace
 
class  FieldProps
 
class  FieldPropsManager
 
struct  FlatTable
 
class  FoamadsTable
 
class  FoamConfig
 Foam behaviour data for all SATNUM regions. More...
 
class  FoamData
 Foam behaviour data for a single SATNUM region. More...
 
class  FoammobTable
 
class  GasvisctTable
 
class  GConSale
 
class  GConSump
 
class  GridDims
 
class  GridProperties
 
class  GridProperty
 
class  GRIDSection
 
class  Group
 
class  GTNode
 
class  GuideRate
 
class  GuideRateConfig
 
class  GuideRateModel
 
class  ImkrvdTable
 
class  ImptvdTable
 
class  InitConfig
 
class  IOConfig
 
class  IOrderSet
 
class  JFunc
 
class  KeywordGenerator
 
class  KeywordLoader
 
struct  KeywordSize
 
class  LinearisedOutputTable
 
class  LinearSolverProblem
 
class  Location
 
class  LogBackend
 Abstract interface class for log backends. More...
 
class  Logger
 
struct  MakeInterpolants
 
class  MaterialLawProblem
 
class  MessageFormatterInterface
 Abstract interface for message formatting classes. More...
 
class  MessageLimiter
 Handles limiting the number of messages with the same tag. More...
 
class  MessageLimits
 
class  MiscTable
 
struct  MLimits
 
class  MonotCubicInterpolator
 Represents one dimensional function f with single valued argument x that can be interpolated using monotone cubic interpolation. More...
 
class  MsfnTable
 
class  msim
 
struct  MULTREGTRecord
 
class  MULTREGTScanner
 
class  NeighbourhoodIterator
 
class  NNC
 
struct  NNCdata
 
class  NonuniformTableLinear
 This class uses linear interpolation to compute the value (and its derivative) of a function f sampled at possibly nonuniform points. If values outside the domain are sought, values will be extrapolated linearly. More...
 
class  NotImplemented
 
class  NumericalProblem
 
class  OilVaporizationProperties
 
class  OilvisctTable
 
class  OpmInputError
 
class  OpmLog
 
class  OrderedMap
 
class  OutputWriter
 
class  OverburdTable
 
class  Parameter
 
class  ParameterGroup
 
struct  ParameterMapItem
 
struct  ParameterMapItemTrait
 
struct  ParameterMapItemTrait< bool >
 
struct  ParameterMapItemTrait< double >
 
struct  ParameterMapItemTrait< int >
 
struct  ParameterMapItemTrait< ParameterGroup >
 
struct  ParameterMapItemTrait< std::string >
 
struct  ParameterRequirementAnd
 
struct  ParameterRequirementMemberOf
 
struct  ParameterRequirementNegative
 
struct  ParameterRequirementNone
 
struct  ParameterRequirementNonEmpty
 
struct  ParameterRequirementNonNegative
 
struct  ParameterRequirementNonPositive
 
struct  ParameterRequirementNonZero
 
struct  ParameterRequirementPositive
 
struct  ParameterRequirementProbability
 
class  ParseContext
 
class  Parser
 
class  ParserItem
 
class  ParserKeyword
 
class  ParserRecord
 
class  PbvdTable
 
class  PdvdTable
 
class  Phases
 
struct  PlmixparRecord
 
struct  PlmixparTable
 
class  PlyadsTable
 
class  PlydhflfTable
 
class  PlymaxTable
 
class  PlymwinjTable
 
class  PlyrockTable
 
class  PlyshlogTable
 
class  PlyviscTable
 
struct  PlyvmhRecord
 
struct  PlyvmhTable
 
class  PmiscTable
 
class  PolyInjTable
 
class  PROPSSection
 
struct  PVCDORecord
 
struct  PvcdoTable
 
class  PvdgTable
 
class  PvdoTable
 
class  PvdsTable
 
class  PvtgTable
 
class  PvtoTable
 
struct  PVTWRecord
 
class  PvtwsaltTable
 
struct  PvtwTable
 
class  PvtxTable
 
class  Python
 
class  PythonInterp
 
class  RandomVector
 
class  RawKeyword
 
class  RawRecord
 
class  RawString
 
class  Regdims
 
class  REGIONSSection
 
class  RegulaFalsi
 
class  RegulaFalsiBisection
 
class  RestartConfig
 
class  RestartKey
 
class  RestartSchedule
 
class  RestartValue
 
class  RFTConfig
 
class  Rock2dTable
 
class  Rock2dtrTable
 
class  RockConfig
 
struct  ROCKRecord
 
struct  RockTable
 
class  RocktabTable
 
class  RockwnodTable
 
class  RPTConfig
 
class  RsvdTable
 
class  RtempvdTable
 
class  Runspec
 
class  RUNSPECSection
 
class  RvvdTable
 
class  SaltvdTable
 
class  SatFuncControls
 
class  SatFuncInterpolant
 
class  Schedule
 
class  SCHEDULESection
 
class  Segment
 
class  Serializer
 
class  SgcwmisTable
 
class  SgfnTable
 
class  SgofTable
 
class  SgwfnTable
 
struct  ShrateRecord
 
struct  ShrateTable
 
struct  SimpleIteratorRange
 
class  SimpleMessageFormatter
 A simple formatter capable of adding message prefixes and colors. More...
 
class  SimpleTable
 
class  SimulationConfig
 
class  SimulationDataContainer
 
class  SkprpolyTable
 
class  SkprwatTable
 
class  SlgofTable
 
class  Sof2Table
 
class  Sof3Table
 
class  SOLUTIONSection
 
class  SolventDensityTable
 
class  SorwmisTable
 
class  SparseVector
 
class  SpecheatTable
 
class  SpecrockTable
 
class  SpiralICD
 
class  SsfnTable
 
struct  StandardCond
 
class  StarToken
 
struct  Stone1exRecord
 
struct  Stone1exTable
 
class  StreamLog
 
class  string_view
 
class  SummaryConfig
 
class  SummaryConfigNode
 
class  SUMMARYSection
 
class  SummaryState
 
class  SwfnTable
 
class  SwofTable
 
class  Tabdims
 
class  TableColumn
 
class  TableContainer
 
class  TableIndex
 
class  TableManager
 
class  Tables
 
class  TableSchema
 
class  ThresholdPressure
 
struct  ThrowOnError
 
class  TimeMap
 
class  TimerLog
 
class  TimeStampUTC
 
struct  TlmixparRecord
 
struct  TlmixparTable
 
class  TlpmixpaTable
 
class  TooManyIterations
 
class  TracerConfig
 
class  TracerVdTable
 A class that contains tracer concentration vs depth table. More...
 
class  TransMult
 
struct  Tuning
 
class  UDAValue
 
class  UDQActive
 
class  UDQAssign
 
class  UDQASTNode
 
class  UDQBinaryFunction
 
class  UDQConfig
 
class  UDQContext
 
class  UDQDefine
 
class  UDQExpression
 
class  UDQFunction
 
class  UDQFunctionTable
 
class  UDQIndex
 
class  UDQInput
 
class  UDQParams
 
struct  UDQParseNode
 
class  UDQParser
 
class  UDQScalar
 
class  UDQScalarFunction
 
class  UDQSet
 
class  UDQUnaryElementalFunction
 
class  UniformTableLinear
 This class uses linear interpolation to compute the value (and its derivative) of a function f sampled at uniform points. More...
 
class  UnitSystem
 
class  Value
 
class  Valve
 
class  VFPInjTable
 
class  VFPProdTable
 
struct  VISCREFRecord
 
struct  ViscrefTable
 
struct  WarnAndContinueOnError
 
struct  WATDENTRecord
 
struct  WatdentTable
 
class  WatvisctTable
 
class  Well
 
struct  WellBrineProperties
 
class  WellConnections
 
class  Welldims
 
class  WellEconProductionLimits
 
struct  WellFoamProperties
 
struct  WellPolymerProperties
 
class  WellSegmentDims
 
class  WellSegments
 
class  WellTestConfig
 
class  WellTestState
 
class  WellTracerProperties
 
class  WellType
 
class  WList
 
class  WListManager
 
class  ZcornMapper
 

Typedefs

typedef std::shared_ptr< TimerLogTimerLogPtr
 
typedef std::shared_ptr< const TimerLogTimerLogConstPtr
 
using time_point = std::chrono::time_point< std::chrono::system_clock, std::chrono::duration< int64_t, std::ratio< 1, 1000 > > >
 
typedef std::map< std::pair< int, int >, const MULTREGTRecord * > MULTREGTSearchMap
 
typedef std::tuple< size_t, FaceDir::DirEnum, double > MULTREGTConnection
 

Enumerations

enum class  Section {
  RUNSPEC , GRID , EDIT , PROPS ,
  REGIONS , SOLUTION , SUMMARY , SCHEDULE
}
 
enum  DeckChecks { SectionTopology = 0x0001 , KeywordSection = 0x0002 , UnknownKeywords = 0x0004 , AllChecks = 0xffff }
 
enum class  Phase {
  OIL = 0 , GAS = 1 , WATER = 2 , SOLVENT = 3 ,
  POLYMER = 4 , ENERGY = 5 , POLYMW = 6 , FOAM = 7 ,
  BRINE = 8
}
 
enum  TokenType {
  number , ecl_expr , open_paren , close_paren ,
  op_gt , op_ge , op_lt , op_le ,
  op_eq , op_ne , op_and , op_or ,
  end , error
}
 
enum class  FuncType {
  none , time , region , field ,
  group , well , well_segment , well_connection ,
  Well_lgr , aquifer , block
}
 
enum class  ICDStatus { OPEN , SHUT }
 
enum class  InjectorType { WATER = 1 , GAS = 2 , OIL = 3 , MULTI = 4 }
 
enum class  UDQVarType {
  NONE = 0 , SCALAR = 1 , CONNECTION_VAR = 2 , FIELD_VAR = 3 ,
  REGION_VAR = 4 , SEGMENT_VAR = 5 , AQUIFER_VAR = 6 , BLOCK_VAR = 7 ,
  WELL_VAR = 8 , GROUP_VAR = 9
}
 
enum class  UDQTokenType {
  error = 0 , number = 1 , open_paren = 2 , close_paren = 3 ,
  ecl_expr = 7 , binary_op_add = 8 , binary_op_sub = 9 , binary_op_div = 10 ,
  binary_op_mul = 11 , binary_op_pow = 12 , binary_op_uadd = 13 , binary_op_umul = 14 ,
  binary_op_umin = 15 , binary_op_umax = 16 , binary_cmp_eq = 17 , binary_cmp_ne = 18 ,
  binary_cmp_le = 19 , binary_cmp_ge = 20 , binary_cmp_lt = 21 , binary_cmp_gt = 22 ,
  elemental_func_randn = 23 , elemental_func_randu = 24 , elemental_func_rrandn = 25 , elemental_func_rrandu = 26 ,
  elemental_func_abs = 27 , elemental_func_def = 28 , elemental_func_exp = 29 , elemental_func_idv = 30 ,
  elemental_func_ln = 31 , elemental_func_log = 32 , elemental_func_nint = 33 , elemental_func_sorta = 34 ,
  elemental_func_sortd = 35 , elemental_func_undef = 36 , scalar_func_sum = 37 , scalar_func_avea = 38 ,
  scalar_func_aveg = 39 , scalar_func_aveh = 40 , scalar_func_max = 41 , scalar_func_min = 42 ,
  scalar_func_norm1 = 43 , scalar_func_norm2 = 44 , scalar_func_normi = 45 , scalar_func_prod = 46 ,
  table_lookup = 47 , end = 100
}
 
enum class  UDQAction { ASSIGN , DEFINE , UNITS , UPDATE }
 
enum class  UDAControl {
  WCONPROD_ORAT , WCONPROD_GRAT , WCONPROD_WRAT , WCONPROD_LRAT ,
  WCONPROD_RESV , WCONPROD_BHP , WCONPROD_THP , WCONINJE_RATE ,
  WCONINJE_RESV , WCONINJE_BHP , WCONINJE_THP , GCONPROD_OIL_TARGET ,
  GCONPROD_WATER_TARGET , GCONPROD_GAS_TARGET , GCONPROD_LIQUID_TARGET
}
 
enum class  UDAKeyword { WCONPROD , WCONINJE , GCONINJE , GCONPROD }
 
enum class  BCType { RATE , FREE }
 
enum class  BCComponent {
  OIL , GAS , WATER , SOLVENT ,
  POLYMER , NONE
}
 
enum  ParserKeywordSizeEnum {
  SLASH_TERMINATED = 0 , FIXED = 1 , OTHER_KEYWORD_IN_DECK = 2 , UNKNOWN = 3 ,
  FIXED_CODE = 4 , DOUBLE_SLASH_TERMINATED = 5
}
 
enum  ParserKeywordActionEnum { INTERNALIZE = 0 , IGNORE = 1 , IGNORE_WARNING = 2 , THROW_EXCEPTION = 3 }
 
enum class  type_tag {
  unknown = 0 , integer = 1 , string = 2 , raw_string = 3 ,
  fdouble = 4 , uda = 5
}
 
enum class  ECLPhaseIndex { Aqua = 0 , Liquid = 1 , Vapour = 2 }
 

Functions

std::string unique_path (const std::string &input)
 
template<typename T >
void buildUniformMonotoneTable (const std::vector< double > &xv, const std::vector< T > &yv, const int samples, UniformTableLinear< T > &table)
 
int tableIndex (const std::vector< double > &table, double x)
 
double linearInterpolationDerivative (const std::vector< double > &xv, const std::vector< double > &yv, double x)
 
double linearInterpolation (const std::vector< double > &xv, const std::vector< double > &yv, double x)
 
double linearInterpolationNoExtrapolation (const std::vector< double > &xv, const std::vector< double > &yv, double x)
 
double linearInterpolation (const std::vector< double > &xv, const std::vector< double > &yv, double x, int &ix1)
 
template<typename FI >
bool isNondecreasing (const FI beg, const FI end)
 Detect if a sequence is nondecreasing. More...
 
template<class Functor >
void bracketZero (const Functor &f, const double x0, const double dx, double &a, double &b)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const UniformTableLinear< T > &t)
 
std::string correct_parameter_tag (const ParameterMapItem &item)
 
std::string correct_type (const Parameter &parameter, const std::string &type)
 
std::pair< std::string, std::stringsplitParam (const std::string &name)
 
template<>
std::string Serializer::get< std::string > ()
 
template<typename T , typename U >
U & uppercase (const T &src, U &dst)
 
template<typename T >
std::decay< T >::type uppercase (T &&x)
 
template<typename T >
std::string ltrim_copy (const T &s)
 
template<typename T >
std::string rtrim_copy (const T &s)
 
template<typename T >
std::string trim_copy (const T &s)
 
template<typename T >
void replaceAll (T &data, const T &toSearch, const T &replace)
 
std::vector< std::stringsplit_string (const std::string &input, char delimiter)
 
std::vector< std::stringsplit_string (const std::string &input, const std::string &delimiters)
 
TimeStampUTC operator+ (const TimeStampUTC &lhs, std::chrono::duration< double > delta)
 
std::time_t asTimeT (const TimeStampUTC &tp)
 
std::time_t asLocalTimeT (const TimeStampUTC &tp)
 
std::ostream & operator<< (std::ostream &stream, const UDAValue &uda_value)
 
bool checkDeck (const Deck &deck, const Parser &parser, const ParseContext &parseContext, ErrorGuard &errorGuard, size_t enabledChecks=AllChecks)
 
bool enable3DPropsTesting ()
 
Phase get_phase (const std::string &)
 
std::ostream & operator<< (std::ostream &, const Phase &)
 
int maxGroupSize (const Schedule &sched, const std::size_t step)
 
void checkConsistentArrayDimensions (const EclipseState &es, const Schedule &sched, const ParseContext &ctxt, ErrorGuard &guard)
 
Group::GroupType operator| (Group::GroupType lhs, Group::GroupType rhs)
 
Group::GroupType operator& (Group::GroupType lhs, Group::GroupType rhs)
 
template<typename T >
from_int (int int_status)
 
template<typename T >
int to_int (T status)
 
bool isRegular (const Segment &segment)
 
bool isSpiralICD (const Segment &segment)
 
bool isValve (const Segment &segment)
 
WellConnectionsnewConnectionsWithSegments (const DeckKeyword &compsegs, const WellConnections &input_connections, const WellSegments &segments, const EclipseGrid &grid, const ParseContext &parseContext, ErrorGuard &errors)
 
const std::string InjectorType2String (InjectorType enumValue)
 
InjectorType InjectorTypeFromString (const std::string &stringValue)
 
std::ostream & operator<< (std::ostream &stream, const SummaryState &st)
 
std::ostream & operator<< (std::ostream &stream, const TimeMap &tm)
 
UDQScalar operator+ (const UDQScalar &lhs, const UDQScalar &rhs)
 
UDQScalar operator+ (const UDQScalar &lhs, double rhs)
 
UDQScalar operator+ (double lhs, const UDQScalar &rhs)
 
UDQScalar operator- (const UDQScalar &lhs, const UDQScalar &rhs)
 
UDQScalar operator- (const UDQScalar &lhs, double rhs)
 
UDQScalar operator- (double lhs, const UDQScalar &rhs)
 
UDQScalar operator* (const UDQScalar &lhs, const UDQScalar &rhs)
 
UDQScalar operator* (const UDQScalar &lhs, double rhs)
 
UDQScalar operator* (double lhs, const UDQScalar &rhs)
 
UDQScalar operator/ (const UDQScalar &lhs, const UDQScalar &rhs)
 
UDQScalar operator/ (const UDQScalar &lhs, double rhs)
 
UDQScalar operator/ (double lhs, const UDQScalar &rhs)
 
UDQSet operator+ (const UDQSet &lhs, const UDQSet &rhs)
 
UDQSet operator+ (const UDQSet &lhs, double rhs)
 
UDQSet operator+ (double lhs, const UDQSet &rhs)
 
UDQSet operator- (const UDQSet &lhs, const UDQSet &rhs)
 
UDQSet operator- (const UDQSet &lhs, double rhs)
 
UDQSet operator- (double lhs, const UDQSet &rhs)
 
UDQSet operator* (const UDQSet &lhs, const UDQSet &rhs)
 
UDQSet operator* (const UDQSet &lhs, double rhs)
 
UDQSet operator* (double lhs, const UDQSet &rhs)
 
UDQSet operator/ (const UDQSet &lhs, const UDQSet &rhs)
 
UDQSet operator/ (const UDQSet &lhs, double rhs)
 
UDQSet operator/ (double lhs, const UDQSet &rhs)
 
std::ostream & operator<< (std::ostream &, const Well::WellInjectionProperties &)
 
std::ostream & operator<< (std::ostream &, const WellProductionProperties &)
 
int eclipseControlMode (const Well::InjectorCMode imode, const InjectorType itype, const Well::Status wellStatus)
 
int eclipseControlMode (const Well::ProducerCMode pmode, const Well::Status wellStatus)
 
int eclipseControlMode (const Well &well, const SummaryState &st)
 
std::ostream & operator<< (std::ostream &os, const Well::Status &st)
 
std::ostream & operator<< (std::ostream &os, const Well::ProducerCMode &cm)
 
std::ostream & operator<< (std::ostream &os, const Well::InjectorCMode &cm)
 
SummaryConfigNode::Category parseKeywordCategory (const std::string &keyword)
 
bool operator== (const SummaryConfigNode &lhs, const SummaryConfigNode &rhs)
 
bool operator< (const SummaryConfigNode &lhs, const SummaryConfigNode &rhs)
 
bool operator!= (const SummaryConfigNode &lhs, const SummaryConfigNode &rhs)
 
bool operator<= (const SummaryConfigNode &lhs, const SummaryConfigNode &rhs)
 
bool operator> (const SummaryConfigNode &lhs, const SummaryConfigNode &rhs)
 
bool operator>= (const SummaryConfigNode &lhs, const SummaryConfigNode &rhs)
 
const std::string ParserKeywordActionEnum2String (ParserKeywordActionEnum enumValue)
 
const std::string ParserKeywordSizeEnum2String (ParserKeywordSizeEnum enumValue)
 
ParserKeywordSizeEnum ParserKeywordSizeEnumFromString (const std::string &stringValue)
 
ParserKeywordActionEnum ParserKeywordActionEnumFromString (const std::string &stringValue)
 
std::ostream & operator<< (std::ostream &, const ParserItem::item_size &)
 
std::ostream & operator<< (std::ostream &, const ParserKeyword &)
 
std::ostream & operator<< (std::ostream &, const ParserRecord &)
 
std::ostream & operator<< (std::ostream &stream, const Opm::string_view &view)
 
std::string operator+ (std::string str, const Opm::string_view &view)
 
std::string operator+ (const Opm::string_view &view, const std::string &str)
 
bool operator== (const Opm::string_view &view, const std::string &rhs)
 
bool operator== (const Opm::string_view &view, const char *rhs)
 
bool operator== (const std::string &lhs, const Opm::string_view &view)
 
bool operator== (const char *lhs, const Opm::string_view &view)
 
bool operator!= (const Opm::string_view &view, const std::string &rhs)
 
bool operator!= (const std::string &lhs, const Opm::string_view &view)
 
bool operator!= (const Opm::string_view &view, const char *rhs)
 
bool operator!= (const char *lhs, const Opm::string_view &view)
 
std::string tag_name (type_tag x)
 
template<typename T >
type_tag get_type ()
 
template<>
type_tag get_type< int > ()
 
template<>
type_tag get_type< double > ()
 
template<>
type_tag get_type< std::string > ()
 
template<>
type_tag get_type< RawString > ()
 
template<>
type_tag get_type< UDAValue > ()
 
void setKeywordBox (const DeckRecord &deckRecord, BoxManager &boxManager)
 
bool isStarToken (const string_view &token, std::string &countString, std::string &valueString)
 
template<class T >
readValueToken (string_view)
 
class __attribute__ ((visibility("default"))) PyRunModule
 
std::vector< double > phaseSaturation (const ECLGraph &G, const ECLRestartData &rstrt, const ECLPhaseIndex phase)
 
std::ostream & operator<< (std::ostream &os, const AssembledConnections &ac)
 

Variables

const std::string ID_true = "true"
 
const std::string ID_false = "false"
 
const std::string ID_xmltag__param_grp = "ParameterGroup"
 
const std::string ID_xmltag__param = "Parameter"
 
const std::string ID_param_type__bool = "bool"
 
const std::string ID_param_type__int = "int"
 
const std::string ID_param_type__float = "double"
 
const std::string ID_param_type__string = "string"
 
const std::string ID_param_type__file = "file"
 
const std::string ID_param_type__cmdline = "cmdline"
 
const std::string ID_path_root = ""
 
const std::string ID_delimiter_path = "/"
 
const std::string ID_comment = "//"
 
const std::string ID_delimiter_assignment = "="
 
constexpr int NUM_PHASES_IN_ENUM = static_cast<int>(Phase::BRINE) + 1
 

Detailed Description

This class implements a small container which holds the transmissibility mulitpliers for all the faces in the grid. The multipliers in this class are built up from the transmissibility modifier keywords:

{MULTX , MULTX- , MULTY , MULTY- , MULTZ , MULTZ-, MULTFLT , MULTREGT}

The unit sets emplyed in ECLIPSE, in particular the FIELD units, are quite inconsistent. Ideally one should choose units for a set of base quantities like Mass,Time and Length and then derive the units for e.g. pressure and flowrate in a consisten manner. However that is not the case; for instance in the metric system we have:

[Length] = meters [time] = days [mass] = kg

This should give:

[Pressure] = [mass] / ([length] * [time]^2) = kg / (m * days * days)

Instead pressure is given in Bars. When it comes to FIELD units the number of such examples is long.

Typedef Documentation

◆ MULTREGTConnection

typedef std::tuple<size_t , FaceDir::DirEnum , double> Opm::MULTREGTConnection

◆ MULTREGTSearchMap

typedef std::map< std::pair<int , int> , const MULTREGTRecord * > Opm::MULTREGTSearchMap

◆ time_point

using Opm::time_point = typedef std::chrono::time_point<std::chrono::system_clock, std::chrono::duration<int64_t, std::ratio<1,1000> >>

◆ TimerLogConstPtr

typedef std::shared_ptr<const TimerLog> Opm::TimerLogConstPtr

◆ TimerLogPtr

typedef std::shared_ptr<TimerLog> Opm::TimerLogPtr

Enumeration Type Documentation

◆ BCComponent

enum class Opm::BCComponent
strong
Enumerator
OIL 
GAS 
WATER 
SOLVENT 
POLYMER 
NONE 

◆ BCType

enum class Opm::BCType
strong
Enumerator
RATE 
FREE 

◆ DeckChecks

Enumerator
SectionTopology 
KeywordSection 
UnknownKeywords 
AllChecks 

◆ ECLPhaseIndex

enum class Opm::ECLPhaseIndex
strong

Enum for indicating the phase–or set of phases–on which to apply a phase-dependent operation (e.g., extracting flux data from a result set or computing relative permeabilities from tabulated functions).

Enumerator
Aqua 
Liquid 
Vapour 

◆ FuncType

enum class Opm::FuncType
strong
Enumerator
none 
time 
region 
field 
group 
well 
well_segment 
well_connection 
Well_lgr 
aquifer 
block 

◆ ICDStatus

enum class Opm::ICDStatus
strong
Enumerator
OPEN 
SHUT 

◆ InjectorType

enum class Opm::InjectorType
strong
Enumerator
WATER 
GAS 
OIL 
MULTI 

◆ ParserKeywordActionEnum

Enumerator
INTERNALIZE 
IGNORE 
IGNORE_WARNING 
THROW_EXCEPTION 

◆ ParserKeywordSizeEnum

Enumerator
SLASH_TERMINATED 
FIXED 
OTHER_KEYWORD_IN_DECK 
UNKNOWN 
FIXED_CODE 
DOUBLE_SLASH_TERMINATED 

◆ Phase

enum class Opm::Phase
strong
Enumerator
OIL 
GAS 
WATER 
SOLVENT 
POLYMER 
ENERGY 
POLYMW 
FOAM 
BRINE 

◆ Section

enum class Opm::Section
strong
Enumerator
RUNSPEC 
GRID 
EDIT 
PROPS 
REGIONS 
SOLUTION 
SUMMARY 
SCHEDULE 

◆ TokenType

Enumerator
number 
ecl_expr 
open_paren 
close_paren 
op_gt 
op_ge 
op_lt 
op_le 
op_eq 
op_ne 
op_and 
op_or 
end 
error 

◆ type_tag

enum class Opm::type_tag
strong
Enumerator
unknown 
integer 
string 
raw_string 
fdouble 
uda 

◆ UDAControl

enum class Opm::UDAControl
strong
Enumerator
WCONPROD_ORAT 
WCONPROD_GRAT 
WCONPROD_WRAT 
WCONPROD_LRAT 
WCONPROD_RESV 
WCONPROD_BHP 
WCONPROD_THP 
WCONINJE_RATE 
WCONINJE_RESV 
WCONINJE_BHP 
WCONINJE_THP 
GCONPROD_OIL_TARGET 
GCONPROD_WATER_TARGET 
GCONPROD_GAS_TARGET 
GCONPROD_LIQUID_TARGET 

◆ UDAKeyword

enum class Opm::UDAKeyword
strong
Enumerator
WCONPROD 
WCONINJE 
GCONINJE 
GCONPROD 

◆ UDQAction

enum class Opm::UDQAction
strong
Enumerator
ASSIGN 
DEFINE 
UNITS 
UPDATE 

◆ UDQTokenType

enum class Opm::UDQTokenType
strong
Enumerator
error 
number 
open_paren 
close_paren 
ecl_expr 
binary_op_add 
binary_op_sub 
binary_op_div 
binary_op_mul 
binary_op_pow 
binary_op_uadd 
binary_op_umul 
binary_op_umin 
binary_op_umax 
binary_cmp_eq 
binary_cmp_ne 
binary_cmp_le 
binary_cmp_ge 
binary_cmp_lt 
binary_cmp_gt 
elemental_func_randn 
elemental_func_randu 
elemental_func_rrandn 
elemental_func_rrandu 
elemental_func_abs 
elemental_func_def 
elemental_func_exp 
elemental_func_idv 
elemental_func_ln 
elemental_func_log 
elemental_func_nint 
elemental_func_sorta 
elemental_func_sortd 
elemental_func_undef 
scalar_func_sum 
scalar_func_avea 
scalar_func_aveg 
scalar_func_aveh 
scalar_func_max 
scalar_func_min 
scalar_func_norm1 
scalar_func_norm2 
scalar_func_normi 
scalar_func_prod 
table_lookup 
end 

◆ UDQVarType

enum class Opm::UDQVarType
strong
Enumerator
NONE 
SCALAR 
CONNECTION_VAR 
FIELD_VAR 
REGION_VAR 
SEGMENT_VAR 
AQUIFER_VAR 
BLOCK_VAR 
WELL_VAR 
GROUP_VAR 

Function Documentation

◆ __attribute__()

class Opm::__attribute__ ( (visibility("default"))  )

◆ asLocalTimeT()

std::time_t Opm::asLocalTimeT ( const TimeStampUTC tp)

◆ asTimeT()

std::time_t Opm::asTimeT ( const TimeStampUTC tp)

◆ bracketZero()

template<class Functor >
void Opm::bracketZero ( const Functor &  f,
const double  x0,
const double  dx,
double &  a,
double &  b 
)
inline

Attempts to find an interval bracketing a zero by successive enlargement of search interval.

References b, OPM_THROW, and exprtk::details::x().

◆ buildUniformMonotoneTable()

template<typename T >
void Opm::buildUniformMonotoneTable ( const std::vector< double > &  xv,
const std::vector< T > &  yv,
const int  samples,
UniformTableLinear< T > &  table 
)

References exprtk::details::x().

◆ checkConsistentArrayDimensions()

void Opm::checkConsistentArrayDimensions ( const EclipseState es,
const Schedule sched,
const ParseContext ctxt,
ErrorGuard guard 
)

◆ checkDeck()

bool Opm::checkDeck ( const Deck deck,
const Parser parser,
const ParseContext parseContext,
ErrorGuard errorGuard,
size_t  enabledChecks = AllChecks 
)

◆ correct_parameter_tag()

◆ correct_type()

◆ eclipseControlMode() [1/3]

int Opm::eclipseControlMode ( const Well well,
const SummaryState st 
)

◆ eclipseControlMode() [2/3]

int Opm::eclipseControlMode ( const Well::InjectorCMode  imode,
const InjectorType  itype,
const Well::Status  wellStatus 
)

◆ eclipseControlMode() [3/3]

int Opm::eclipseControlMode ( const Well::ProducerCMode  pmode,
const Well::Status  wellStatus 
)

◆ enable3DPropsTesting()

bool Opm::enable3DPropsTesting ( )

◆ from_int()

template<typename T >
T Opm::from_int ( int  int_status)

◆ get_phase()

Phase Opm::get_phase ( const std::string )

◆ get_type()

template<typename T >
type_tag Opm::get_type ( )

◆ get_type< double >()

template<>
type_tag Opm::get_type< double > ( )
inline

References fdouble.

Referenced by Opm::DeckItem::is_double().

◆ get_type< int >()

template<>
type_tag Opm::get_type< int > ( )
inline

References integer.

Referenced by Opm::DeckItem::is_int().

◆ get_type< RawString >()

template<>
type_tag Opm::get_type< RawString > ( )
inline

References raw_string.

◆ get_type< std::string >()

◆ get_type< UDAValue >()

template<>
type_tag Opm::get_type< UDAValue > ( )
inline

References uda.

Referenced by Opm::DeckItem::is_uda().

◆ InjectorType2String()

const std::string Opm::InjectorType2String ( InjectorType  enumValue)

◆ InjectorTypeFromString()

InjectorType Opm::InjectorTypeFromString ( const std::string stringValue)

◆ isNondecreasing()

template<typename FI >
bool Opm::isNondecreasing ( const FI  beg,
const FI  end 
)

Detect if a sequence is nondecreasing.

Template Parameters
FIa forward iterator whose value type has operator< defined.
Parameters
begstart of sequence
endone-beyond-end of sequence
Returns
false if there exists two consecutive values (v1, v2) in the sequence for which v2 < v1, else returns true.

References end.

Referenced by Opm::NonuniformTableLinear< T >::inverse(), and Opm::NonuniformTableLinear< T >::NonuniformTableLinear().

◆ isRegular()

bool Opm::isRegular ( const Segment segment)
inline

◆ isSpiralICD()

bool Opm::isSpiralICD ( const Segment segment)
inline

◆ isStarToken()

bool Opm::isStarToken ( const string_view token,
std::string countString,
std::string valueString 
)

◆ isValve()

bool Opm::isValve ( const Segment segment)
inline

◆ linearInterpolation() [1/2]

double Opm::linearInterpolation ( const std::vector< double > &  xv,
const std::vector< double > &  yv,
double  x 
)
inline

◆ linearInterpolation() [2/2]

double Opm::linearInterpolation ( const std::vector< double > &  xv,
const std::vector< double > &  yv,
double  x,
int &  ix1 
)
inline

◆ linearInterpolationDerivative()

double Opm::linearInterpolationDerivative ( const std::vector< double > &  xv,
const std::vector< double > &  yv,
double  x 
)
inline

◆ linearInterpolationNoExtrapolation()

double Opm::linearInterpolationNoExtrapolation ( const std::vector< double > &  xv,
const std::vector< double > &  yv,
double  x 
)
inline

◆ ltrim_copy()

template<typename T >
std::string Opm::ltrim_copy ( const T &  s)

References string.

Referenced by trim_copy().

◆ maxGroupSize()

int Opm::maxGroupSize ( const Schedule sched,
const std::size_t  step 
)

◆ newConnectionsWithSegments()

WellConnections * Opm::newConnectionsWithSegments ( const DeckKeyword compsegs,
const WellConnections input_connections,
const WellSegments segments,
const EclipseGrid grid,
const ParseContext parseContext,
ErrorGuard errors 
)

◆ operator!=() [1/5]

bool Opm::operator!= ( const char *  lhs,
const Opm::string_view view 
)
inline

◆ operator!=() [2/5]

bool Opm::operator!= ( const Opm::string_view view,
const char *  rhs 
)
inline

◆ operator!=() [3/5]

bool Opm::operator!= ( const Opm::string_view view,
const std::string rhs 
)
inline

◆ operator!=() [4/5]

bool Opm::operator!= ( const std::string lhs,
const Opm::string_view view 
)
inline

◆ operator!=() [5/5]

bool Opm::operator!= ( const SummaryConfigNode lhs,
const SummaryConfigNode rhs 
)
inline

◆ operator&()

Group::GroupType Opm::operator& ( Group::GroupType  lhs,
Group::GroupType  rhs 
)

◆ operator*() [1/6]

UDQScalar Opm::operator* ( const UDQScalar lhs,
const UDQScalar rhs 
)

◆ operator*() [2/6]

UDQScalar Opm::operator* ( const UDQScalar lhs,
double  rhs 
)

◆ operator*() [3/6]

UDQSet Opm::operator* ( const UDQSet lhs,
const UDQSet rhs 
)

◆ operator*() [4/6]

UDQSet Opm::operator* ( const UDQSet lhs,
double  rhs 
)

◆ operator*() [5/6]

UDQScalar Opm::operator* ( double  lhs,
const UDQScalar rhs 
)

◆ operator*() [6/6]

UDQSet Opm::operator* ( double  lhs,
const UDQSet rhs 
)

◆ operator+() [1/9]

std::string Opm::operator+ ( const Opm::string_view view,
const std::string str 
)
inline

◆ operator+() [2/9]

TimeStampUTC Opm::operator+ ( const TimeStampUTC lhs,
std::chrono::duration< double >  delta 
)

◆ operator+() [3/9]

UDQScalar Opm::operator+ ( const UDQScalar lhs,
const UDQScalar rhs 
)

◆ operator+() [4/9]

UDQScalar Opm::operator+ ( const UDQScalar lhs,
double  rhs 
)

◆ operator+() [5/9]

UDQSet Opm::operator+ ( const UDQSet lhs,
const UDQSet rhs 
)

◆ operator+() [6/9]

UDQSet Opm::operator+ ( const UDQSet lhs,
double  rhs 
)

◆ operator+() [7/9]

UDQScalar Opm::operator+ ( double  lhs,
const UDQScalar rhs 
)

◆ operator+() [8/9]

UDQSet Opm::operator+ ( double  lhs,
const UDQSet rhs 
)

◆ operator+() [9/9]

std::string Opm::operator+ ( std::string  str,
const Opm::string_view view 
)
inline

◆ operator-() [1/6]

UDQScalar Opm::operator- ( const UDQScalar lhs,
const UDQScalar rhs 
)

◆ operator-() [2/6]

UDQScalar Opm::operator- ( const UDQScalar lhs,
double  rhs 
)

◆ operator-() [3/6]

UDQSet Opm::operator- ( const UDQSet lhs,
const UDQSet rhs 
)

◆ operator-() [4/6]

UDQSet Opm::operator- ( const UDQSet lhs,
double  rhs 
)

◆ operator-() [5/6]

UDQScalar Opm::operator- ( double  lhs,
const UDQScalar rhs 
)

◆ operator-() [6/6]

UDQSet Opm::operator- ( double  lhs,
const UDQSet rhs 
)

◆ operator/() [1/6]

UDQScalar Opm::operator/ ( const UDQScalar lhs,
const UDQScalar rhs 
)

◆ operator/() [2/6]

UDQScalar Opm::operator/ ( const UDQScalar lhs,
double  rhs 
)

◆ operator/() [3/6]

UDQSet Opm::operator/ ( const UDQSet lhs,
const UDQSet rhs 
)

◆ operator/() [4/6]

UDQSet Opm::operator/ ( const UDQSet lhs,
double  rhs 
)

◆ operator/() [5/6]

UDQScalar Opm::operator/ ( double  lhs,
const UDQScalar rhs 
)

◆ operator/() [6/6]

UDQSet Opm::operator/ ( double  lhs,
const UDQSet rhs 
)

◆ operator<()

bool Opm::operator< ( const SummaryConfigNode lhs,
const SummaryConfigNode rhs 
)

◆ operator<<() [1/15]

std::ostream & Opm::operator<< ( std::ostream &  ,
const ParserItem::item_size  
)

◆ operator<<() [2/15]

std::ostream & Opm::operator<< ( std::ostream &  ,
const ParserKeyword  
)

◆ operator<<() [3/15]

std::ostream & Opm::operator<< ( std::ostream &  ,
const ParserRecord  
)

◆ operator<<() [4/15]

std::ostream & Opm::operator<< ( std::ostream &  ,
const Phase  
)

◆ operator<<() [5/15]

std::ostream & Opm::operator<< ( std::ostream &  ,
const Well::WellInjectionProperties  
)

◆ operator<<() [6/15]

std::ostream & Opm::operator<< ( std::ostream &  ,
const WellProductionProperties &   
)

◆ operator<<() [7/15]

std::ostream & Opm::operator<< ( std::ostream &  os,
const AssembledConnections ac 
)

Output an AssembledConnections object to a stream in text format.

Assumes compress() has been called, and that the weight-providing overload of addConnection() was used to build the ac instance, as for AssembledConnections::cellNeighbourhood().

◆ operator<<() [8/15]

template<typename T >
std::ostream & Opm::operator<< ( std::ostream &  os,
const UniformTableLinear< T > &  t 
)
inline

References exprtk::details::t().

◆ operator<<() [9/15]

std::ostream & Opm::operator<< ( std::ostream &  os,
const Well::InjectorCMode cm 
)

◆ operator<<() [10/15]

std::ostream & Opm::operator<< ( std::ostream &  os,
const Well::ProducerCMode cm 
)

◆ operator<<() [11/15]

std::ostream & Opm::operator<< ( std::ostream &  os,
const Well::Status st 
)

◆ operator<<() [12/15]

std::ostream & Opm::operator<< ( std::ostream &  stream,
const Opm::string_view view 
)

◆ operator<<() [13/15]

std::ostream & Opm::operator<< ( std::ostream &  stream,
const SummaryState st 
)

◆ operator<<() [14/15]

std::ostream & Opm::operator<< ( std::ostream &  stream,
const TimeMap tm 
)

◆ operator<<() [15/15]

std::ostream & Opm::operator<< ( std::ostream &  stream,
const UDAValue uda_value 
)

◆ operator<=()

bool Opm::operator<= ( const SummaryConfigNode lhs,
const SummaryConfigNode rhs 
)
inline

◆ operator==() [1/5]

bool Opm::operator== ( const char *  lhs,
const Opm::string_view view 
)
inline

◆ operator==() [2/5]

bool Opm::operator== ( const Opm::string_view view,
const char *  rhs 
)
inline

◆ operator==() [3/5]

◆ operator==() [4/5]

bool Opm::operator== ( const std::string lhs,
const Opm::string_view view 
)
inline

◆ operator==() [5/5]

bool Opm::operator== ( const SummaryConfigNode lhs,
const SummaryConfigNode rhs 
)

◆ operator>()

bool Opm::operator> ( const SummaryConfigNode lhs,
const SummaryConfigNode rhs 
)
inline

◆ operator>=()

bool Opm::operator>= ( const SummaryConfigNode lhs,
const SummaryConfigNode rhs 
)
inline

◆ operator|()

Group::GroupType Opm::operator| ( Group::GroupType  lhs,
Group::GroupType  rhs 
)

◆ parseKeywordCategory()

SummaryConfigNode::Category Opm::parseKeywordCategory ( const std::string keyword)

◆ ParserKeywordActionEnum2String()

const std::string Opm::ParserKeywordActionEnum2String ( ParserKeywordActionEnum  enumValue)

◆ ParserKeywordActionEnumFromString()

ParserKeywordActionEnum Opm::ParserKeywordActionEnumFromString ( const std::string stringValue)

◆ ParserKeywordSizeEnum2String()

const std::string Opm::ParserKeywordSizeEnum2String ( ParserKeywordSizeEnum  enumValue)

◆ ParserKeywordSizeEnumFromString()

ParserKeywordSizeEnum Opm::ParserKeywordSizeEnumFromString ( const std::string stringValue)

◆ phaseSaturation()

std::vector< double > Opm::phaseSaturation ( const ECLGraph G,
const ECLRestartData rstrt,
const ECLPhaseIndex  phase 
)

Extract phase saturation of single phase for all active cells in all grids.

Handles the case of oil saturation being explicitly stored in a result set or implicitly defined from the gas and/or water saturations.

Parameters
[in]GConnected topology of current model's active cells. Needed to linearise phase saturations (e.g., SOIL) that are distributed on local grids to all of the model's active cells (
member function G.rawLinearisedCellData()
std::function< double(double, double)> function
Definition: Operate.hpp:28
).
[in]rstrtECLIPSE restart vectors. Result set view assumed to be positioned at a particular report step of interest.
[in]phasePhase for which to extract the phase saturation values.
Returns
Phase saturation values of active phase phase for all active cells in model G. Empty if phase phase is not actually active in the current result set or if the saturation values are not stored on the current report/restart step.

◆ readValueToken()

template<class T >
T Opm::readValueToken ( string_view  )

◆ replaceAll()

template<typename T >
void Opm::replaceAll ( T &  data,
const T &  toSearch,
const T &  replace 
)

◆ rtrim_copy()

template<typename T >
std::string Opm::rtrim_copy ( const T &  s)

References end, and string.

Referenced by trim_copy().

◆ Serializer::get< std::string >()

template<>
std::string Opm::Serializer::get< std::string > ( )
inline

References buffer, length, and string.

◆ setKeywordBox()

void Opm::setKeywordBox ( const DeckRecord deckRecord,
BoxManager boxManager 
)

◆ split_string() [1/2]

std::vector< std::string > Opm::split_string ( const std::string input,
char  delimiter 
)
inline

References string.

◆ split_string() [2/2]

std::vector< std::string > Opm::split_string ( const std::string input,
const std::string delimiters 
)
inline

References end.

◆ splitParam()

std::pair< std::string, std::string > Opm::splitParam ( const std::string name)

◆ tableIndex()

int Opm::tableIndex ( const std::vector< double > &  table,
double  x 
)
inline

◆ tag_name()

std::string Opm::tag_name ( type_tag  x)
inline

◆ to_int()

template<typename T >
int Opm::to_int ( status)

◆ trim_copy()

template<typename T >
std::string Opm::trim_copy ( const T &  s)

References ltrim_copy(), and rtrim_copy().

◆ unique_path()

std::string Opm::unique_path ( const std::string input)

◆ uppercase() [1/2]

template<typename T , typename U >
U & Opm::uppercase ( const T &  src,
U &  dst 
)

References Catch::begin, and end.

Referenced by uppercase().

◆ uppercase() [2/2]

template<typename T >
std::decay< T >::type Opm::uppercase ( T &&  x)

Variable Documentation

◆ ID_comment

const std::string Opm::ID_comment = "//"

◆ ID_delimiter_assignment

const std::string Opm::ID_delimiter_assignment = "="

◆ ID_delimiter_path

const std::string Opm::ID_delimiter_path = "/"

◆ ID_false

◆ ID_param_type__bool

◆ ID_param_type__cmdline

const std::string Opm::ID_param_type__cmdline = "cmdline"

◆ ID_param_type__file

const std::string Opm::ID_param_type__file = "file"

◆ ID_param_type__float

◆ ID_param_type__int

◆ ID_param_type__string

◆ ID_path_root

const std::string Opm::ID_path_root = ""

◆ ID_true

◆ ID_xmltag__param

const std::string Opm::ID_xmltag__param = "Parameter"

Referenced by Opm::Parameter::getTag().

◆ ID_xmltag__param_grp

const std::string Opm::ID_xmltag__param_grp = "ParameterGroup"

◆ NUM_PHASES_IN_ENUM

constexpr int Opm::NUM_PHASES_IN_ENUM = static_cast<int>(Phase::BRINE) + 1
constexpr