Bård Skaflestad 68975be966 Add Accumulating Mapping Structure for Inter-Region Flows
This commit introduces a new helper facility,

    data::InterRegFlowMap

that knows how to interpret region IDs.  It is a simple wrapper
around a common CSR representation of (source, destination) region
ID pairs with the additional feature that the element type of the
connection is a linear sequence values of arithmetic type.  We've
initially elected to make this sequence out of 'float' in order to
conserve memory since we expect to do little arithmetic to the
sequence itself outside of compression and parallel communication.

Client code will be of two primary categories

  1. Producing side which inserts flow rates from individual
     connections, compresses the result when done, and communicates
     the results to one or more parallel I/O ranks

  2. Consuming side, typically on an I/O rank, which merges the
     contributions from multiple source ranks and extracts values
     pertaining inter-region flows for purpose of outputting time
     series data to a summary file.

The first case will create and populate 'FlowRates' and add these
into the container using the 'addConnection' function and finally
call 'compress' when complete.  Consumers will then use member
function 'getInterRegFlows' to extract a signed view of flow rate
values associated to a particular region ID pair (nullopt if no such
pair is registered).
2022-02-16 23:28:46 +01:00
2021-11-15 11:03:55 +01:00
2020-09-18 11:23:30 +02:00
2022-02-14 15:48:52 +01:00
2021-09-27 08:14:26 +02:00
2019-09-18 14:15:21 +02:00
2021-10-22 10:17:59 +02:00
2015-03-18 01:59:50 -05:00
2022-01-12 15:14:36 +01:00

opm-common: Tools for Eclipse reservoir simulation files

The Open Porous Media (OPM) software suite provides libraries and tools for modeling and simulation of porous media processes, especially for simulating CO2 sequestration and improved and enhanced oil recovery. The Eclipse file format is widely used in the reservoir simulation community. This package provides a library containing code for processing files in Eclipse format, Python binding for accessing Eclipse files and utility code used by other OPM modules (e.g. CMake modules used).

License

The library is distributed under the GNU General Public License, version 3 or later (GPLv3+).

Requirements

  • C++17 compatible compiler
  • CMake >= 3.10
  • Posix compatibility
Description
Common components for OPM, in particular build system (cmake).
Readme 74 MiB
Languages
C++ 79%
ECL 13.4%
Scheme 3.1%
CMake 2.4%
Python 1%
Other 1%