jakobtorben
8ff335c2f2
Refactor test_GpuPressureTransferPolicy to separate tests
2025-09-18 16:54:05 +02:00
jakobtorben
807a558cc5
Improve logic for selecting AMG solvers between CPU and GPU accelerators
2025-09-18 16:54:02 +02:00
jakobtorben
c36d3f1b99
Add CPR GPU preconditioner using shared implementation for CPU/GPU
2025-09-18 16:25:51 +02:00
jakobtorben
0762097411
Make GpuVector support default constructing vectors and resizing
2025-09-18 16:25:51 +02:00
jakobtorben
50998073ec
Add well operator check in ISTLSolverGPUISTL
2025-09-18 16:25:51 +02:00
jakobtorben
fc3e9209ef
Implement CPR weight calculation for gpu-ISTL
2025-09-18 16:25:49 +02:00
jakobtorben
cea8d4c87f
Introduce GpuPressureTransferPolicy and gpu operations for CPR-AMG
2025-09-18 11:00:54 +02:00
Tobias Meyer Andersen
df807606a7
Merge pull request #6472 from jakobtorben/fix_mpi_parallel_ISTLSolverGPUISTL
...
Fix MPI parallel ISTLSolverGPUISTL and register parallel GPU preconditioners
2025-09-18 09:40:28 +02:00
Atgeirr Flø Rasmussen
0f3db11be4
Merge pull request #6467 from totto82/check_network_conv
...
Check whether network is converged before accepting the iteration
2025-09-18 09:28:31 +02:00
Bård Skaflestad
3c5e25428a
Merge pull request #6479 from akva2/janitoring_py_classes
...
Some janitoring in python classes
2025-09-17 17:17:46 +02:00
Arne Morten Kvarving
484e61b573
Merge pull request #6478 from akva2/update_py_packaging
...
python packaging: update to use python_simulator_modules target
2025-09-17 15:04:28 +02:00
Arne Morten Kvarving
b68e6567f8
Some janitoring in python classes
...
- add some breathing space in headers
- remove Opm:: for symbols in Opm namespace
- use type-aligned &/*
- add "IDE helper structure"
- add some const
- add a type alias to reduce long statements
- reformat some clang-format atrocities
- return directly in a switch clause
2025-09-17 14:59:42 +02:00
Arne Morten Kvarving
26660b6640
python packaging: update to use python_simulator_modules target
2025-09-17 14:53:52 +02:00
Bård Skaflestad
6e3b1916b4
Merge pull request #6477 from jakobtorben/fix_hypre_test_version_compatibility_issue
...
Fix version compatibility issue in Hypre test
2025-09-17 14:26:41 +02:00
Arne Morten Kvarving
dc2300f524
Merge pull request #6075 from svenn-t/pygaswater
...
Python gas-water simulator
2025-09-17 13:52:30 +02:00
jakobtorben
5f862ee513
Fix version compatibility issue in Hypre test
2025-09-17 13:30:01 +02:00
Tor Harald Sandve
9d4015354e
Merge pull request #6476 from totto82/fix_event
...
Use WELL_STATUS_CHANGE instead of REQUEST_SHUT/OPEN WELL
2025-09-17 13:29:26 +02:00
Tor Harald Sandve
877414445b
Use WELL_STATUS_CHANGE instead of REQUEST_SHUT/OPEN WELL
2025-09-17 11:43:16 +02:00
Håkon Hægland
3c6313b619
Custom target to build all simulator modules
...
Create a convenience target to build all Python simulator modules.
2025-09-17 10:06:50 +02:00
Svenn Tveit
753fcc2ec4
Cleaned up formatting
2025-09-17 10:06:50 +02:00
Svenn Tveit
a69e10485b
Clarify ordering and clean up doc in rest of the tests
2025-09-17 10:06:50 +02:00
Håkon Hægland
b5e7ccc0b1
Clarify why test case ordering is necessary
...
and delete comment in code about static variables that can no longer be
reproduced.
2025-09-17 10:06:49 +02:00
Svenn Tveit
67a701ef4f
Tests for PyGasWaterSimulator
2025-09-17 10:06:49 +02:00
Svenn Tveit
32dd09c78f
Add Python gas-water simulator and refactor to template base class
...
Extend the Python blackoil simulator to support two-phase gas-water
simulations by extracting common functionality into a template base
class and implementing proper module separation.
- Extract PyBaseSimulator<TypeTag> template base class containing all
common simulator functionality (20+ methods including advance, run,
step, property access, and MPI handling)
- Add PyGasWaterSimulator for two-phase gas-water simulations using
FlowGasWaterProblem TypeTag with oil phase disabled
- Split Python modules to avoid ODR violations:
- BlackOil.so for PyBlackOilSimulator (FlowProblemTPFA)
- GasWater.so for PyGasWaterSimulator (FlowGasWaterProblem)
- Implement proper template instantiation control with explicit
instantiations per module
- Eliminate ~400 lines of code duplication between simulators
- Clean inheritance hierarchy: derived classes contain only constructors
- Type-safe specialization through OPM's TypeTag property system
- Separate docstring generation for each simulator type
- Independent build targets with shared infrastructure
- Update CMakeLists.txt to support multiple pybind11 modules
- Add docstrings_gw_simulators.json for gas-water simulator documentation
- Remove centralized Pybind11Exporter.cpp in favor of distributed exports
- Implement proper build dependencies and custom targets
This establishes a scalable foundation for extending OPM's Python
bindings to support additional simulator types (thermal, polymer,
solvent) while maintaining type safety and avoiding symbol conflicts.
Files changed: 21 files, 915 insertions, 428 deletions
2025-09-17 10:06:44 +02:00
Tor Harald Sandve
6c82c449bb
Check whether network is converged before accepting the iteration
2025-09-17 09:57:30 +02:00
Tor Harald Sandve
0bbb885093
Merge pull request #6463 from totto82/bug_fix_global_is_GRUP
...
Dont include temporary stopped wells among the wells considered for group control
2025-09-17 08:34:32 +02:00
Kai Bao
1d20cd56d3
Merge pull request #6050 from totto82/wecon10
...
Support opening of following-on well
2025-09-16 20:53:07 +02:00
jakobtorben
4aed1f7e02
Register MPI parallel GPU preconditioners
2025-09-16 14:47:02 +02:00
jakobtorben
fe523aa21e
Fix GPU-ISTL solver parallel setup
2025-09-16 14:47:02 +02:00
jakobtorben
06853bd69e
Fix GPU communication object lifetime in FlexibleSolverWrapper
2025-09-16 14:46:58 +02:00
Atgeirr Flø Rasmussen
4ca1699c78
Merge pull request #6473 from GitPaean/aicd_item22
...
incorporating the item 22 of WSEGAICD
2025-09-16 13:51:38 +02:00
Bård Skaflestad
8a70daa790
Merge pull request #6474 from kjetilly/cstdint
...
Added include of cstdint
2025-09-16 13:45:48 +02:00
Tor Harald Sandve
6cf9dc2ce6
add regression test
2025-09-16 13:10:37 +02:00
Kai Bao
76504060eb
incorporating the item 22 of WSEGAICD
2025-09-16 11:44:34 +02:00
Kjetil Olsen Lye
06c58b5b1b
Added include of cstdint
2025-09-16 11:20:00 +02:00
Atgeirr Flø Rasmussen
9fb3de576e
Merge pull request #6469 from GitPaean/cleaning_up_blackoilprimaryvariable
...
some cleaning up in blackoilprimaryvariables
2025-09-16 10:56:23 +02:00
Bård Skaflestad
acdabd98d5
Merge pull request #6471 from atgeirr/compact-enums
...
Adapt to reduced enum sizes in upstream.
2025-09-16 09:05:54 +02:00
Atgeirr Flø Rasmussen
1c78cb8b68
Merge pull request #6468 from totto82/dont_use_classical
...
Dont go back to classical approach during un-converged operability check
2025-09-16 08:32:59 +02:00
Kai Bao
68c7850308
removing assignMassConservative() from blackoilprimaryvariables
2025-09-15 22:40:01 +02:00
Atgeirr Flø Rasmussen
5e9d03a312
Adapt to reduced enum sizes in upstream.
2025-09-15 16:33:28 +02:00
Tor Harald Sandve
76a8e267b6
dont update group data before the well container is created
2025-09-15 16:13:21 +02:00
Atgeirr Flø Rasmussen
4e9f94afad
Merge pull request #5971 from kjetilly/blackoilfluidstategpu
...
Tests for BlackOilFluidState on the GPU
2025-09-15 15:23:41 +02:00
Kai Bao
b2d5a48487
some cleaning up in blackoilprimaryvariables
2025-09-15 14:34:09 +02:00
Tor Harald Sandve
b1d3a22112
Dont go back to classical approach during un-converged operability check
2025-09-15 14:20:06 +02:00
Kjetil Olsen Lye
38a2e20e2c
Removed unused variables
2025-09-15 14:08:52 +02:00
Arne Morten Kvarving
c167c4c8ab
Merge pull request #6466 from multitalentloes/extract_invariants
...
Extract loop invariant in matrix assembly
2025-09-15 13:56:05 +02:00
Kjetil Olsen Lye
d9fa3f100d
Formatting
2025-09-15 13:20:54 +02:00
Kjetil Olsen Lye
4398ee56c3
Adding tests for BlackOilFluidState and ConditionalStorage on GPU
2025-09-15 13:20:54 +02:00
Tobias Meyer Andersen
3fe4b533e0
updated comment
2025-09-15 11:48:57 +02:00
Tobias Meyer Andersen
4414ae6846
fetch timestepsize outside of loop
2025-09-15 11:28:15 +02:00