All posts by Atgeirr Flø Rasmussen

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.

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.

Foam functionality in OPM Flow

An experimental foam module has been added to OPM Flow, and will be part of release 2019.10. With this it is possible to simulate certain types of surfactant injection. Such injection stimulates formation of foam to change mobility ratios, and give better reservoir sweep.

The implemented foam model treats surfactant transported in the gas phase, and reduces the mobility of that phase depending on the surfactant concentration. In addition to mobility reduction, adsorption to the reservoir rock is included in the model. To test the foam module use the keywords, FOAM, FOAMADS, FOAMMOB, FOAMROCK and WFOAM.

The model has not been tested on anything but artificial test cases so far, it is therefore likely to have omissions and bugs. If you try it out, please give us feedback by the mailinglist, github issues or direct email! A simple test case based on SPE1 has been added to the opm-tests repository, in the directory spe1_foam.

OPM release 2019.04

Dear OPM community!

We are happy to announce the 2019.04 release. Binary packages are available for Ubuntu Linux 16.04, 18.04 and 18.10 as well as Red Hat Enterprise 6 and 7.

As for the last release, we have been forced to disable MPI for the Ubuntu 18.04 package. If you want to run Flow in parallel you must use another version of Ubuntu, or compile it yourself.

The release manager for this release was Arne Morten Kvarving.

OPM summit 2019 in Utrecht

Dear OPM community,

We would like to invite you to participate in the 2019 OPM Summit on January  24th and 25th  in The Netherlands! This year the event will be hosted by TNO and we hope to welcome all of you in Utrecht. The details of the event are as follows:

*   Location:            Princetonlaan 6, Utrecht, The Netherlands
*   Dates/Time:      24th and 25th of January 2019. Start: 10:00 on Thursday and end at 15:00 on Friday
*   Fees:                   There are no fees for the meeting, Conference facilities and food will be provided by TNO

Please let me, Rohith Nair (rohith.nair@tno.nl), or Frank Wilschut (frank.wilschut@tno.nl) know as early as possible if you are planning to join the summit, so that we can make the necessary arrangements. We plan to make Thursday (24th) more user centered and Friday (25th) more developer focused, however the agenda is flexible and you can participate on either or both days. The agenda and the presentation slots for the meeting are still open so you are welcome to propose items you would like to share with the rest of the OPM community. If you would like to make a presentation please make the same request to the organizers with a title, authors and a paragraph describing the talk, preferably before 15 January. The agenda will be published on the website and to the participants as soon as it has been set. There will also be a conference dinner on the evening of the 24th (Thursday); in your reply please indicate if you would like to join the dinner.

Travel/Accommodation: Participants must make their own arrangements. Our office is on the university campus, but we recommend hotels in the city center or near the central train station (e.g. the NH and Apollo hotels). From the city center, TNO is easily accessible by bus or taxi.

Looking forward to seeing you here!
The Organizers (Rohith Nair and Frank Wilschut)