github OPM/opm-grid release/2026.04/final

3 hours ago

Release Highlights

  • Added the option to solve the energy equations sequentially after the black-oil equations.
  • Support has been added for pressure and temperature dependent water viscosity for runs with brine (BRINE) and energy (THERMAL).
  • Flow now supports runs with brine (BRINE) and energy (THERMAL).
  • Added support for double precision WORK arrays for compressed property arrays (for example SOGCR).
  • If necessary, the gas PVT tables PVTG and PVDG are modified internally to ensure that negative inverse formation volume factors will never be extrapolated.
  • Implemented endpoint scaling for gas-water systems.
  • Killough's hysteresis wetting phase modification (EHYSTR keyword item 13) is now supported.
  • Added support for RSCONST keyword to define a constant solution gas-oil ratio for all dead oil PVT tables.
  • Added support for EQUIL keyword item 9 (EQLOPT3) greater than zero.
  • Added support for well energy injection/production rate and total summary vectors: WTPRHEA, WTPTHEA, WTIRHEA and WTITHEA.
  • Support has been added for the gas lift injection total summary vectors: FGLIT, GGLIT, and WGLIT.
  • Extended summary (ESMRY) files are now output by default. The command line option --enable-esmry is now set to true by default.
  • Added support for region oil recovery efficiency summary vector ROE.
  • Production and gas lift supply rates from satellite groups (GSATPROD) are now accumulated in summary output.
  • Added support for inter-block flows of oil, water, and gas in the negative i, j, and k directions (BFLO[GOW][IJK]-).
  • Added support for summary output of inter-block oil, water, and gas velocities in the positive/negative i, j, and k directions (BVEL[GOW][IJK][-]).
  • All current well lists are now reported to the Print (PRT) file when the WELSPECS mnemonic is specified on the RPTSCHED keyword.
  • Support for using the WDFAC and BRANPROP keywords in an ACTIONX block has been successfully tested.
  • The grid independent well keywords WELTRAJ and COMPTRAJ now partially support multi-segment wells.
  • Added support for using well completion quantities in ACTIONX Boolean conditions.
  • Added partial support for the TUNINGDP keyword.
  • Added support for VFPPROD tables with only one data record (single-line lift curves).
  • The default value for the NUPCOL keyword has been reduced to from 12 to 3.
  • Drift compensation is now applied to mass losses in the energy equations when using the temperature model (TEMP).

What's Changed

  • bump version to 2026.04-pre by @akva2 in #931
  • Janitoring: add missing parameter to doxy by @akva2 in #933
  • Correct warning for inactive parent cell blocks by @aritorto in #938
  • Correct partition types for intersections and points are correct. by @blattms in #937
  • Fix shared-face handling across different refined level grids by @aritorto in #940
  • Change .clang-format ColumnLimit to 100 characters by @hakonhagland in #943
  • Use test target file instead of hard-coded name by @SoilRos in #946
  • GPU support SparseTable for assembly by @multitalentloes in #929
  • Restrict data::Solution from leaf to level grids by @aritorto in #945
  • Skip the merge if no cells were added. by @michal-toth in #950
  • fixed: avoid capturing structured bindings by @akva2 in #952
  • Use CpGrid level zero methods instead of UgGridHelper by @aritorto in #953
  • [bugfix] Use currentData().back() in CpGrid::size() by @aritorto in #954
  • [bugfix] Nested LGRs by @aritorto in #956
  • separate cloning from building in jenkins pipeline by @akva2 in #958
  • add static analysis by @akva2 in #960
  • Assign average output values for parent cells by @aritorto in #955
  • [bugfix] CpGrid::logicalCartesianSize() returns level zero grid logCartSize by @aritorto in #959
  • allow overriding base of opm repositories in jenkins build scripts by @akva2 in #962
  • add support for absolute revisions by @akva2 in #963
  • Fix warnings for builds with -DWITH_NDEBUG=1 by @daavid00 in #965
  • Skip if restart key is OPMEXTRA by @aritorto in #964
  • remove unused variable by @akva2 in #966
  • remove C99 package by @akva2 in #967
  • bump minimum cmake version to 3.23 by @akva2 in #968
  • Add Entity/EntityRep ID comparison tests by @SoilRos in #949
  • [LGR] Map level Cart idx to level compressed idx by @aritorto in #969
  • Make entity marking dune conformant by @SoilRos in #947
  • rename hook to new project specific name by @akva2 in #970
  • use target Boost::unit_test_framework by @akva2 in #971
  • Use hooks by @akva2 in #972
  • CMakeLists_files.cmake is now processed in OpmLibMain by @akva2 in #973
  • explicitly link to opm-common by @akva2 in #974
  • policies are now set by OpmInit by @akva2 in #975
  • add missing doxy parameter by @akva2 in #976
  • replace std::transform with std::ranges::transform where appropriate by @akva2 in #978
  • replace std::sort with std::ranges::sort where appropriate by @akva2 in #979
  • replace std::for_each with std::ranges::for_each where appropriate by @akva2 in #980
  • replace std::copy with std::ranges::copy where appropriate by @akva2 in #983
  • Fix test_polyhedralgrid build failure with Dune 2.10 by @hakonhagland in #982
  • replace std::fill with std::fill_n where appropriate by @akva2 in #984
  • replace std::count_if with std::ranges::count_if where appropriate by @akva2 in #985
  • replace std::any_of with std::ranges::any_of where appropriate by @akva2 in #986
  • replace std::find with std::ranges::find where appropriate by @akva2 in #987
  • replace std::find_if with std::ranges::find_if where appropriate by @akva2 in #988
  • replace std::min_element with std::ranges::min_element where appropriate by @akva2 in #989
  • replace std::max_element with std::ranges::max_element where appropriate by @akva2 in #990
  • replace std::all_of with std::ranges::all_of where appropriate by @akva2 in #991
  • replace std::is_sorted with std::ranges::is_sorted where appropriate by @akva2 in #992
  • replace std::reverse with std::ranges::reverse where appropriate by @akva2 in #993
  • replace std::set_difference with std::ranges::set_difference where appropriate by @akva2 in #994
  • Split the id interface into two functions by @SoilRos in #977
  • Drop support for boost < 1.54 by @akva2 in #997
  • enable fortran language and setup FCMacros.h through FortranCInterface by @akva2 in #999
  • prereqs is now included by OpmLibMain by @akva2 in #1000
  • add option USE_OPM_COMMON by @akva2 in #998
  • no need to probe for this any longer by @akva2 in #1001
  • Some config variable cleanup by @akva2 in #1002
  • use target mode for all dependencies by @akva2 in #1003
  • Fix ISTL handling for dune 2.9 by @akva2 in #1004
  • Prefer Std::Numbers::PI by @bska in #1006
  • Required Dune-Geometry For OPM-Grid by @bska in #1009
  • Update globalCell checks for CpGrid with LGRs by @aritorto in #1007
  • compile definition for mpi is now handled by generic build system by @akva2 in #1011
  • explicitly check for dune-uggrid by @akva2 in #1010
  • Use defines from target and update prereqs to check for links by @akva2 in #1012
  • [LGR] Aquifer cells/connections refinement is not supported or ignored for CpGrid by @aritorto in #1008
  • fix build with -DUSE_OPM_COMMON=OFF by @akva2 in #1016
  • fixed: missing .* in absolute revision jenkins re by @akva2 in #1017
  • Backport PR1019: Remove warnings ranlinb by @michal-toth in #1026
  • Backport PR1024 --imbalance-tol instead of --imbalance-tolerance by @michal-toth in #1028

Full Changelog: release/2025.10/final...release/2026.04/final

Don't miss a new opm-grid release

NewReleases is sending notifications on new releases.