A revised reference manual for OPM Flow is now available. As usual, all new functionality in Flow has been documented. This now brings the manual passed 2000 pages! Another huge thanks to David Baxendale for his relentless efforts keeping the manual up to date!
OPM Release 2020.10
Dear OPM Users,
It is my pleasure to announce that the binary packages for the 2020.10 OPM release are now available for RHEL 6, 7, and 8, as well as for Ubuntu 20.04 LTS (code name Focal Fossa) and Ubuntu 18.04 LTS (code name Bionic Beaver). The Ubuntu packages may be downloaded from the OPM Project’s Personal Package Archive (ppa:opm/ppa). If you have not already included this in your package sources you can do so with the commands
sudo apt-add-repository ppa:opm/ppa sudo apt-get update
Then you can install the simulator and its prerequisites using the command
sudo apt install libopm-simulators1-bin
I would like to express my gratitude to the users who provided feedback on our release candidates and to the developers for building the features that go into this release. At this time there is one known issue relating to extrapolating a SALTVD table outside its domain of definition in simulation runs with BRINE. We recommend that users take care that SALTVD table data is provided for the entire vertical range of the simulation model geometry. Additional details concerning this problem are discussed in GitHub Issue #2889.
Best Regards,
Bård Skaflestad
SINTEF Digital, Mathematics & Cybernetics, Computational Geosciences group
Release Manager OPM 2020.10 Release
Release Notes for OPM 2020.10 Release
Since the OPM 2020.04 release in May 2020 we have worked on many aspects of the simulator, with a particular focus on prediction mode abilities and expanding support for user-defined quantities and dynamic actions (ACTIONX keyword). We have also added specialized physics models including Brine and CO2 storage capabilities as well as two experimental accelerators for the linear solvers based on OpenCL and CUDA for GPU calculations.
User-Visible Changes and Highlights,
New Command Line Options and Output Files
- Add a new output file, CASE.INFOSTEP, that contains per-timestep performance numbers (e.g., number of linear solves, number of linear iterations, setup time)
- Improve efficiency in loading summary files, especially to support manipulating summary data from Python wrappers. This also includes a new special purpose utility, called “make_lodsmry”, that creates files named “CASE.LODSMRY” which contain the summary vectors collected in the time direction-all values for one vector before all values of another vector.
- Exclusively use the “flexible” framework for selecting linear solvers, through the new command line option “–linsolver”. We support the preconfigured options “ilu0”, “cpr_trueimpes”, “cpr_quasiimpes”, “cpr” (alias for “cpr_trueimpes”) or “amg”. Advanced users may alternatively select a runtime configuration represented in JSON by passing a filename with the extension “.json”. The default setting is “ilu0”.
- Use non-strict tolerances only if a small fraction of the total pore-volume violates the strict tolerances. By default the simulator uses a non-strict PV threshold of 0.03 (3%), but this is configurable at runtime with the new option ‘–relaxed-max-pv-fraction’.
- Add new option ProjectSaturations (–project-saturations) which ensures all saturation values are in the interval [0, 1], including runs that use solvents.
New Simulator Features
- Initial support for calling simulator step functions from Python language wrappers.
- Add a new PVT model for CO2 and brine.
- Support salt-dependent water PVT properties.
- Add support for using user-defined arguments (UDAs) in WELTARG and GCONPROD requests.
- Add support for using SOF2 (Family II) with Family I (SGOF/SWOF) keywords in the case of three-phase solvent models.
- Add support for well-level temperature summary output in thermal simulations (keywords WT[PI]CHEA).
- Add support for well, group, and field-level summary output of gas-lift injection rates (keywords xGLIR).
- Add summary output for analytical aquifers (AAQR, AAQT, AAQP).
- Support counting abandoned producers/injectors in summary vectors [FG]MW[PI]A.
- Implement FILLEPS. Saturation function scaling endpoints also honour TOLCRIT when output to the CASE.INIT file.
- Generalise implementation of the FIP keyword and handle summary keywords like RPR__REG.
- Improved the error messages from the initial parsing.
- Support for group control targets/prediction mode with guide rates.
- Includes voidage replacement and reinjection scenarios.
- Includes support for outputting guiderate values at well and group levels to the summary files (summary keywords WxPGR and GxPGR).
- Add more logging for the setup phase when processing the .DATA file-including which keywords and their file locations are being processed at any one time. This is to assist the user in narrowing down problems in the input file.
- Support gas-lift optimisation for standard (non-segmented) wells.
- Add support for editing transmissibility values in the EDIT section.
- Add support for handling MULTZ in a pinched-out column of cells when the PINCH multiplier processing mode is ‘ALL’.
- Guarantee clean shutdown in a parallel simulation run if any process throws an exception.
- Add support for running Zoltan-based partitioning on a single process only.
Important Bugfixes
- Fix the default pressure initialization for CT (Carter-Tracey) analytical aquifers.
- Fix the way we incorporate gravity terms in boundary conditions fluxes.
- Fix bugs with TRAN keywords in EDIT section.
- Ensure VTK dataset filenames use relative paths.
- Bugfixes for MPI.
- Fixes to the build, especially for the “opm-upscaling” module.
- Fix a bug in the interaction of TUNING and WSEGITER. This is needed for ECLIPSE-compatible restart.
Tutorial on workflows in Python for reservoir simulation
Alejandro Primera has made a series of tutorial videos on advanced workflows in Python for reservoir simulation available. All you need to follow them are OPM Flow, ResInsight and Python.
Thanks to Alejandro Primera for the contribution!
Flow manual for the 20.04 release available
A revised reference manual for OPM Flow is now available. As usual, all new functionality in Flow has been documented. This now brings the manual up to 1897 pages! Another huge thanks to David Baxendale for his relentless efforts keeping the manual in great shape!
OPM Release 2020.04
- Major improvements to the group control capabilities.
- In mpi runs the initialization is only done on one node,
significantly reducing memory consumption. - The parser now recognizes all Eclipse100 keywords; for the keywords
which are recognized by the parser but not really handled by the
simulator a warning well be printed.
OPM Meeting talks available
Most of the talks from the 2020 OPM Meeting in Eichstätt are now available on the talks and publications page.
Updated compiler and library version requirements
Dear OPM community,
At the recent OPM meeting, it was decided to require newer versions of some libraries and compilers for building OPM Flow going forward. The new requirements are:
- C++ compiler with C++17 support (gcc minimum version 7).
- Dune version 2.6 or newer.
These requirements are easy to satisfy on newer systems such as Ubuntu 18.04. In particular, Dune 2.6 is provided for Ubuntu 18.04 through our package archive (ppa), which can be added as follows if you did not do so already:
sudo apt-add-repository ppa:opm/ppa sudo apt-get update
For older systems such as Ubuntu 16.04 it will still be possible to install binaries of existing versions of OPM Flow (up to version 2019.10), but if you need newer features you will need to upgrade.
Build instructions will be updated shortly to reflect this.
Flow manual for the 19.10 release available
A revised reference manual for OPM Flow is now available. Compared to the revision from June, this is an even more massive update. This time all Eclipse 100 keywords are present, including documentation of all the new functionality. Another huge thanks to David Baxendale for his relentless efforts keeping the manual in great shape!
OPM Meeting Feb. 4-5, 2020 in Eichstätt, Germany
We are pleased to invite you to participate in the 2020 OPM Meeting on February 4-5, 2020! This time the event will be hosted by Dr. Blatt – HPC-Simulation-Software & Services in Eichstätt, Germany.
For those arriving during the day, we will reserve tables to meetup in a restaurant/pub on Monday Feb 3. The next day will be full of talks (given by attendees) and end with a conference dinner in the evening. Wednesday will be more informal and developer centric with talks and discussion sessions and groups.
For more information (including schedule, travel information) and registration, please visit the registration page. Please register as early as possible to make planning more easy.
We hope to welcome all of you in Eichstätt next year.
OPM release 2019.10
We are happy to announce the 2019.10 release of OPM. Binary Packages for Ubuntu 16.04 and 18.04 as well as Redhat Enterprise Linux 6 and 7. For further information please read the installation instructions
The former module ewoms of OPM has been renamed to opm-models in this release. Some of its directories have been renamed to reflect this (ewoms/blackoil -> opm/models/blackoil, ewoms/common -> opm/models/utils, ewoms/disc -> opm/models/discretization, ewoms/io -> opm/models/io, ewoms->parallel -> opm/models/parallel, ewoms/linear -> opm/simulators/linalg).
Further changes/improvements included in this release are:
- Renaming / Restructuring
- The namespace Ewoms has been renamed to Opm.
- Most files/header that were located in directory opm/autodiff in opm-simulators have been moved to opm/simulators/aquifers, opm/simulators/linalg, opm/simulators/utils, or opm/simulators/wells depending on their content.
- Additions
- Support for additional keywords: ROCKCOMP keyword (water induced rock compaction), COMPDAT, UDQ, UDA, GRUP, FILLEPS.
- Support for GOR checking for WECON.
- Improved support for WTEST.
- Support for one phase simulations.
- Experimental support for driftCompensation (off by default, enable using –ecl-enable-drift-compensation=true).
- Experimental support for foam module (keywords FOAM; FOAMADS, FOAMFSC, FOAMMOB, FOAMOPTS, FOAMROCK, WFOAM).
- Many unsupported keywords are now listed as missing features (those starting with A – M, R, T, V, W, Z).
- Write well potentials to restart files if needed.
- Support different edge weights when loadbalancing (uniform, transmissibilities, log of transmissibilities).
- Improved support for multisegment wells (now enabled by default).
- Many new regression tests.
- Added an experimental linear solver subsystem (including complex CPR solvers) that is configurable during runtime (not parallel, needs DUNE>=2.6).
- Use refactored well implementation from opm-common.
- Output NNCs in an Eclipse compliant manner.
- Output several diagnostics when parsing a deck.
- Fixes
- Made dune-fem version information available
- Restart values are only read once (twice before).
- Fixed several bugs concerning restart.
- Ebos now logs to *.PRT and *DBG files
- Abort runs without reading the deck if command line parameters are incorrect.
- Use grid region mapping from opm-grid.
- Fixed negative thp values from extrapolation using VFP tables.
- Logging from well testing is now in *.PRT and *.LOG files
- Serveral fixes to multisegement well model.
- *.INIT and *.GRID files are also output on restart.
- Do not update RESV for prediction producers.
- Output FPRP instead of ovewriting FPR values.
- Always write transmissibilities between vertical neighbours to
TRANZ (even for NNCs). - Support upcoming DUNE 2.7
Special thanks goes to everybody in the community for testing and
especially to Arne Morten Kvarving for preparing the binary packages and discovering all mistakes by the release manager (Markus Blatt) in no time.