Skip to content

release/2025.04/final

Latest
Compare
Choose a tag to compare
@multitalentloes multitalentloes released this 09 May 11:13
· 898 commits to master since this release
25a9259

Release Highlights

  • Support for well on/off cycling (WCYCLE keyword)
  • Fix for initial in-place fluid volumes reported to the .PRT file, both in base runs and in restarted runs
  • Initial support for reservoir coupling
  • Initial support for calculating and reporting per-cell quantities in compositional runs
  • Support mnemonic value WELLS=2 in the RPTSCHED keyword
  • Performance improvements in property evaluation
  • Initial support for deferring property evaluation dedicated hardware accelerators/GPUs
  • Support for the AmgX library of linear solvers
  • Support version 11 of the libfmt library
  • New and experimental consistency checks for saturation functions, especially for end-point scaling. Off by default.

What's Changed

  • Enable New Saturation Function Consistency Checks by @bska in #5596
  • FIX gas-water restart by @totto82 in #5668
  • In partitioning, only account for wells that will be active at some point in time by @vkip in #5609
  • in flowexp_blackoil, invalidate output data after solution is updated by @GitPaean in #5664
  • Separate non-DUNE methods in LevelCartesianIndexMapper by @aritorto in #5649
  • Fix issue with stopped injectors in thermal runs by @totto82 in #5605
  • Bugfixes #5609 by @vkip in #5686
  • enableThresholdPressure_ initialized to be false by @GitPaean in #5691
  • Add Logging for Python Actions by @bska in #5699
  • ecl style output for compositional simulation by @GitPaean in #5687
  • fixed: set active indices in fieldprops by @akva2 in #5701
  • Print gpus used on simulator startup by @multitalentloes in #5611
  • fixed: division by zero if no gpu device was found by @akva2 in #5705
  • Update flow manpage with help2man. by @blattms in #5708
  • fixed: test-suites needs a name by @akva2 in #5710
  • dont switch from GRUP if check_group_constrains_well_iterations=false by @totto82 in #5695
  • Fix gaslift 1 by @totto82 in #5694
  • fixed: building pypi release packages by @akva2 in #5719
  • Add LINRAD (hybrid linear-radial) filter cake model by @vkip in #5717
  • Added the missing plus in gplv3+ for the Python packages. by @blattms in #5722
  • Removed GPL copyright header from licensed under Boost license. by @blattms in #5721
  • Fix index bug in gpubridge separate wells by @razvnane in #5720
  • Correctly mark data files with ODBL and DBCL license by @blattms in #5723
  • Gpu support co2gaspvt by @multitalentloes in #5636
  • fixed: RESTART_SCHED parameter never took effect by @akva2 in #5725
  • fixed: fmt::join is in ranges.h using {{fmt11}} by @akva2 in #5726
  • Avoid potential segfault due to invalid vector.end() after erase() by @vkip in #5740
  • Activate New Regression Tests for ACTIONX Name Matching by @bska in #5750
  • Do not try to compute initial solution for inactive multi-segment wells split across processors by @vkip in #5751
  • Make sure all errors from parsing show up in the log files. by @blattms in #5707
  • Feature/ms wells - part 1: Initial assembly of B C D and the residual by @lisajulia in #5680
  • Cmake: Use upper case for COMPONENTS of FindSuiteSparse by @blattms in #5745
  • dont shut well with GRUP control that struggles to converge by @totto82 in #5735
  • Well testing using gas lift facilities by @svenn-t in #5757
  • Subtract reduction rate for current group when checking higher group constraints by @steink in #5729
  • Only update target of group-controlled wells during updateAndCommunicate by @steink in #5748
  • Support GCONSUMP on multiple levels in the group hierarchy by @vkip in #5739
  • Use formattedErrors() and simplify. by @atgeirr in #5765
  • Update second stage preconditioner for CPR instead of recreate by @jakobtorben in #5758
  • Restore threshold pressures from restart by @vkip in #5743
  • Network sub iter by @totto82 in #5767
  • added: ability to pass command line parameters from python by @akva2 in #5760
  • Changes in how the simulator handles NUPCOL by @totto82 in #5724
  • Write correct THRESHPR values also from restart by @vkip in #5770
  • fixed: well model could deadlock by @akva2 in #5773
  • bump minimum dune version to 2.9 by @akva2 in #5500
  • changed: do not use boost.test in test_tasklets_failure by @akva2 in #5782
  • Zoltan partitioner with all perforated cells of a well merged to one vertex by @michal-toth in #5749
  • fixed: always calculate initial FIP by @akva2 in #5784
  • Expose finesmoother pre/post smooth parameters in CPR setup by @jakobtorben in #5786
  • Feature/ms wells - part 2: Solving, straightforward option by @lisajulia in #5746
  • Feature/ms wells test by @lisajulia in #5747
  • Alternative way of avoiding group control oscillations by @totto82 in #5753
  • Ensure tracer flow for cross-flowing injector connections is included by @vkip in #5789
  • Allow for the third group switch by @totto82 in #5791
  • remove 16 days restriction for timestep in predicition mode by @totto82 in #2970
  • Use regular OpenMP for loop, then iterate over chunks inside. by @atgeirr in #5777
  • Add Hypre BoomerAMG Support by @jakobtorben in #5762
  • Make OpenCL optional by @kjetilly in #5793
  • Feature/ms wells fix restart file error by @lisajulia in #5802
  • added: support WCYCLE by @akva2 in #5792
  • Add test for distributed MSWells with two MSWells by @lisajulia in #5805
  • Amgx integration by @jakobtorben in #5808
  • Do not write initial FIP for CpGrid with LGRs for now by @aritorto in #5813
  • Use initial pressure if ROCKOPTS item 2 is STORE by @svenn-t in #5785
  • Allow query for efficiency scaling factor in off-process wells where required by @akva2 in #5816
  • LevelCartesianIndexMapper constructor for AluGrid taking only a grid as an argument by @aritorto in #5715
  • Allow group guide rates in case that a group is an auto choke group by @plgbrts in #5754
  • Remove the mpi calls from the business logic by @lisajulia in #5819
  • Move implementation of WellOperators out of BlackoilWellModel by @akva2 in #5823
  • use reservoir rates not reduction rate in target calculator for VREP by @totto82 in #5783
  • adjust output and parameters in gpu autotuner by @multitalentloes in #5779
  • split AdaptiveTimeStepping to use an impl file by @akva2 in #5834
  • changed: use standard header guard structure for _impl.hpp clangd helpers by @akva2 in #5835
  • [Nit] Add EHYSTR(HYSTMOD) = 4 to list of supported values in message by @gdfldm in #5837
  • Reduce size of enums to save 15 bytes per cell. by @atgeirr in #5841
  • changed: move GasLift code in BlackoilWellModel to separate class by @akva2 in #5832
  • add test for gpu brineco2pvt by @multitalentloes in #5839
  • Fix clang complaints about incorrect constexpr usage. by @atgeirr in #5844
  • Add test for inserting keyword WTMULT from a Pyaction by @lisajulia in #5830
  • Add test for WLIST keyword in Pyaction and ACTIONX by @lisajulia in #5836
  • Add gpudilu mixed precision by @multitalentloes in #5674
  • Fix errors in documentation. by @lisajulia in #5853
  • Use new linearizer for blackoil + thermal by @totto82 in #5843
  • Fix RFT output for shut distributed wells by @vkip in #5824
  • Add parallel versions of the PyAction tests by @lisajulia in #5860
  • Add mixed precision double diagonal gpu ilu0 variants by @multitalentloes in #5688
  • gas water for multisegment well by @GitPaean in #5818
  • Switch default load balancer to Zoltan with vertex = all cells of a well by @blattms in #5800
  • regression test for gas water and multisegment wells by @GitPaean in #5868
  • BlackoilModel: move to has-a instead of is-a modelling of penalty cards by @akva2 in #5871
  • Add tests for GEFAC for ACTIONX and PYACTON by @lisajulia in #5846
  • Fixes related to zero guiderates from NETV by @totto82 in #5822
  • Fix WCYCLE for multiple blocks by @akva2 in #5877
  • Skip allocTrans when !(enableEclOutput || loadBalancerSet == 0 || partitionJacobiBlocks) by @daavid00 in #5817
  • Transmissibility: add a cache for centroids and use this in update() by @akva2 in #5888
  • Prevent spawning more threads if we limit OMP thread count by @michal-toth in #5856
  • Feature/py action insert kw welpi wpimult alternative by @lisajulia in #5892
  • added: option to only compare summary files in regression tests by @akva2 in #5897
  • Compositional simulations with more cubic EOS formulations by @svenn-t in #5886
  • Reservoir coupling: Implement time stepping by @hakonhagland in #5620
  • Skip empty positional arguments by @vkip in #5679
  • Bugfix: Upon restart, do not try to restore segment info for inactive wells by @vkip in #5861
  • Implement gsatprod by @totto82 in #5894
  • Add run SPE1CASE1_CARFIN.DATA by @aritorto in #5903
  • fixed: use a vector in mpibuffer by @akva2 in #5907
  • added more timing by @hnil in #5909
  • Add multi-threading to transmissibility calculation by @akva2 in #5890
  • Dont reset subtimestep from tuning/wcycle if time step is chopped due to convergence issues by @totto82 in #5902
  • Allow empty leaf nodes that do not exist in GRUPTREE by @vkip in #5919
  • Switch property evaluation to using ElementChunks. by @atgeirr in #5912
  • Parameterize network sub-iterations and pressure update dampening by @vkip in #5918
  • Improve well shutting logic by @totto82 in #5900
  • hacking to register the parameter ForceDisableFluidInPlaceOutput by @GitPaean in #5926
  • Expose CornerCells and OverlapLayers Load Balancing Settings by @bska in #5942
  • Smart pointers for GPU memory by @kjetilly in #5946
  • Added utility class to hold a GPU resource (stream, event, graph, etc). by @kjetilly in #5951
  • Limit relative roughness in Haaland friction factor calculation by @vkip in #5945
  • Added copy functions from GPU smart pointers by @kjetilly in #5956
  • Separate keyword validation for fully supported keywords by @vkip in #5866
  • Add Infrastructure for Geomechanical Analysis by @bska in #5801
  • Fixes for NVCC older than 12.5.1 by @kjetilly in #5958
  • Add VoigtArray and SymmTensor classes by @akva2 in #5959
  • Add MechContainer by @akva2 in #5960
  • Fixed: Data output should use move semantics by @akva2 in #5965
  • Fix shared library linking issues by @akva2 in #5963
  • clang-format now adds newline at the end of file. by @kjetilly in #5970
  • Using the CriticalException in PreconditionerFactory and ISTLSolver by @kjetilly in #5969
  • component indices are now int by @akva2 in #5950
  • Improve gpuistl using cudaGraphs by @multitalentloes in #5852
  • Add CompositionalContainer, a container for compositional data output by @akva2 in #5978
  • Compositional simulator expanded to three phases by @svenn-t in #5851
  • Consistent primary variables by @hnil in #5952
  • Add TracerContainer, a container for tracer data output by @akva2 in #5987
  • Simplify GenericOutputBlackoilModule::doAllocBuffers by @akva2 in #5989
  • Support instantaneous flow rates in extended network (WEFAC and GEFAC item 3) by @vkip in #5410
  • General third order time step controller by @erikhide in #5974
  • Add RFTContainer, a container for RFT data output by @akva2 in #5996
  • Add a container for FLOWS data output by @akva2 in #5954
  • Fix to write residuals by @daavid00 in #6002
  • FlowProblem(Blackoil|Comp): Return a reference to EclWriter by @akva2 in #6001
  • Add RESIDUAL output to a regression test by @akva2 in #6003
  • Allow empty non-group leaf nodes by @vkip in #6010
  • Report Connection Level Fracturing Statistics to I/O Layer by @bska in #5811
  • Fix Summary BFLOW* by @daavid00 in #6013
  • Extract addLgrs, invoke it before loadBalance by @aritorto in #5981
  • fix tracy support by @akva2 in #6024
  • Add missing communication for parallel runs with MSWells by @lisajulia in #5937
  • Added tests for error macros on GPU. by @kjetilly in #5962
  • Adapt to ElementChunks now requiring partition argument. by @atgeirr in #6027
  • add some profiling blocks to tracer by @akva2 in #6035
  • Ensure MSUMLINS and MSUMNEWT is updated. by @atgeirr in #6039
  • TracerModel: avoid setting up ILU if no solves will be performed by @akva2 in #6045
  • Only check trivial_target for GRUP when checking in THP by @totto82 in #6018
  • Make pre-solve network optional by @totto82 in #6048
  • Tracer: add some structs for well rate output and avoid complex keys by @akva2 in #6044
  • make nonlinear system possible to change by @hnil in #6046
  • Fix parallel tracers by @akva2 in #6052
  • Tracer: enumerate components by @akva2 in #6058
  • Fix to write vtk (if enabled) for dry runs in cases without oilPhase by @daavid00 in #6057
  • Improving terminal/dbg output by @daavid00 in #6059
  • Fix gpmaint for region 0 by @totto82 in #5916
  • modify stagnation and oscillation code for MSW by @totto82 in #6020
  • Make Zoltan's Hyperedge Size Threshold Runtime Controllable by @bska in #6036
  • Fix to write vtk (if enabled) for dry runs in cases with drsdt by @daavid00 in #6060
  • Add a first test case for reservoir coupling by @hakonhagland in #5893
  • Prevent some nan creations during output generation. by @blattms in #6077
  • Prevent zero division by @michal-toth in #6053
  • Set SOIL to 0 when readExplicitInitialCondition and 1-SGAS-SWAT=0 by @daavid00 in #6079
  • WellModel: make a copy of events at start of time step by @akva2 in #6080
  • fixed: clear out events before processing actions by @akva2 in #6078
  • PERMFACT for each saturation region by @daavid00 in #6074
  • Fixes for NVCC by @kjetilly in #6054
  • Fix network iterations by @totto82 in #6062
  • Tracer: Code deduplication by @akva2 in #6083
  • Added set -e to hipify_file.sh by @kjetilly in #6088
  • Add GSATPROD to regression test by @totto82 in #6089
  • Add ACTIONX_GCONINJE to regression test suite. by @blattms in #6087
  • PRT: Use {fmt} to format injection log by @akva2 in #6090
  • PRT: Use {fmt} to format production log by @akva2 in #6093
  • PRT: Use {fmt} to format cumulative log by @akva2 in #6094
  • Bug fix in linear solver by @daavid00 in #6091
  • PRT: Use {fmt} to format fip logs by @akva2 in #6096
  • Apply simulator update once by @vkip in #6070
  • Added WELL as supported to GCONPROD message for unsupported options by @blattms in #6101
  • Add Regression Tests for GCONPROD(7)=WELL by @bska in #6106
  • removing undefined and unused function computeWellGroupTarget() from BlackoilWellModel by @GitPaean in #6102
  • Support for RTPSCHED WELLS=2 by @akva2 in #6099
  • Fix a recent bug indexing in the CPRW cell weights. by @atgeirr in #6109
  • Support WCONHIST/WCONINJ in ACTIONX by @blattms in #6092
  • Add support for MSW PRT report by @akva2 in #6110
  • Added regression tests for WCONINJH and WCONHIST in ACTIONX. by @blattms in #6112
  • Make wellModelMatrixAdapter serial only by @jakobtorben in #6113
  • Prepare OPM for DUNE 2.10 by @blattms in #5585
  • Add support for merging well cells for NLDD partitioning by @jakobtorben in #6103
  • Support for RSW in the SOLUTION section by @daavid00 in #6111
  • Set thp from network in well testing by @totto82 in #6116
  • Calculate original FIP by reading restart data for step 0 by @akva2 in #6119
  • Compositional well by @GitPaean in #6042
  • Add network+wtest test by @totto82 in #6130
  • Use well rates from well_state_nupcol instead of previous_well_state in updateWellRates by @totto82 in #6128
  • Actually respect NUPCOL (not NUPCOL+1) and allow network to converge with GLO by @vkip in #6100
  • BUGIFIX: Only respect item 7 in GCONPROD for individual constrains, by @totto82 in #6135
  • using std::optional for function initialInplace() by @GitPaean in #6137
  • For convective mixing, store the saturated dissolution factor. by @atgeirr in #5774
  • Fix and improve nldd timing and output reporting by @jakobtorben in #6124
  • Fix compositional field output names by @akva2 in #6143
  • Trigger WELSPECS Report From Simulator Side by @bska in #6107
  • Updating MICP by @daavid00 in #6105
  • Pre-solve network only once by @vkip in #6138
  • Dont resolve well equation when computing initial guess for thp in updateWellStateWithTarget by @totto82 in #6081
  • Silence various warnings. by @atgeirr in #6148
  • Changes in SOURCE structure by @svenn-t in #6140
  • Extending the SUMMARY keywords for CO2STORE and H2STORE by @daavid00 in #6127
  • Backport of pr 6104 by @multitalentloes in #6159
  • Backport of PR 6153 by @multitalentloes in #6161
  • Backport of PR 6156 by @multitalentloes in #6162
  • Backport of pr 6157 by @multitalentloes in #6163
  • Backport of pr 6164 by @multitalentloes in #6165
  • Backport of pr 6151 by @multitalentloes in #6166
  • backport of pr 6194 by @multitalentloes in #6201
  • Backport of pr 6184 by @multitalentloes in #6202
  • Backport of pr 6182 by @multitalentloes in #6203
  • backport of pr 6198 by @multitalentloes in #6204
  • Backport of pr 6210 by @multitalentloes in #6239

New Contributors

Full Changelog: release/2024.10/final...release/2025.04/final