Markus Blatt
c9b34a2f68
Switch default load balancer to Zoltan with vertex = all cells of a well
...
The new loadbalancer approach will create a graph representing the grid
where all cells that a well perforates are represented by one
vertex. The weight of that cell will be the number of cells it
represents. Also the weights of the faces will be added up due to the
merging of cells. A cell that is not perforated by any well is still
represented by one vertex with weight one.
In the old default appoach the number of vertices in the grid was
equal to the number of cells. Vertex weights were not used. For each
well we added an edge between all its perforated cells for which we
did set a very edge weight to force the cells to the same process
during partitioning.
For realistic cases we have seen improvements across the board due to
this. E.g. this resolved convergence issues on hard cases. Because of
that this becomes the default with this.
2024-12-13 14:56:08 +01:00
Bård Skaflestad
340855a41d
Chase API Update
...
The WBP result type is now top-level.
2024-12-11 15:34:36 +01:00
Arne Morten Kvarving
61b7b0c113
Merge pull request #5762 from jakobtorben/hypre_integration
...
Add Hypre BoomerAMG Support
2024-12-11 10:52:55 +01:00
Bård Skaflestad
67fb9e7b59
Merge pull request #5777 from atgeirr/faster-openmp-props
...
Use regular OpenMP for loop, then iterate over chunks inside.
2024-12-11 10:40:54 +01:00
Atgeirr Flø Rasmussen
6d43c1b715
Use regular OpenMP for loop, then iterate over chunks inside.
...
Avoiding the mutex-based ThreadedEntityIterator gives a good speedup,
the overhead from the single extra loop over the grid for initialization
should be small in comparison.
2024-12-11 10:24:41 +01:00
jakobtorben
1536de038b
Document the HyprePreconditioner class
2024-12-10 17:08:18 +01:00
jakobtorben
d663f16bea
Add tests for Hypre Preconditioner
2024-12-10 17:08:18 +01:00
jakobtorben
e60aa7da13
Propagate need for recreating solver properly for two level methods
2024-12-10 17:08:18 +01:00
Arne Morten Kvarving
3b67d6dc54
Small fixes for hypre integration ( #1 )
...
* use appropriate hypre init function
* properly handle hypre without device support
* don't add hypre preconditioner to factory if scalar type does not match
2024-12-10 17:08:18 +01:00
jakobtorben
6fa9c25ba5
Move Hypre initialization and finalization out to Main
2024-12-10 17:08:18 +01:00
jakobtorben
56897e6d11
Guard Hypre preconditioner creation with HAVE_HYPRE macro
2024-12-10 17:08:18 +01:00
jakobtorben
1af2556385
Add support for GPU with Hypre
2024-12-10 17:08:18 +01:00
jakobtorben
032a7f5ad8
Create coarse matrix with contiguous memory layout
2024-12-10 17:08:18 +01:00
Tor Harald Sandve
b7d3a57b0b
Merge pull request #2970 from totto82/remove16day
...
remove 16 days restriction for timestep in predicition mode
2024-12-10 11:43:38 +01:00
Tor Harald Sandve
1180ad2652
Allow for the third group switch
2024-12-10 09:41:21 +01:00
Tor Harald Sandve
efe0192cca
Merge pull request #5789 from vkip/tracer_xflow_inj_report
...
Ensure tracer flow for cross-flowing injector connections is included
2024-12-09 14:24:55 +01:00
Tor Harald Sandve
96da980897
Merge pull request #5753 from totto82/maxGroupChange
...
Alternative way of avoiding group control oscillations
2024-12-09 11:24:21 +01:00
Vegard Kippe
2b59222abc
Ensure tracer flow for cross-flowing injector connections is included
2024-12-06 15:26:19 +01:00
Tor Harald Sandve
095c0457bc
Code improvment for the group control switching
...
Pass the controls as enums not strings
Avoid pair as key in map
2024-12-06 13:56:00 +01:00
Markus Blatt
0e22cc1552
Merge pull request #5746 from lisajulia/feature/ms-wells-solving
...
Feature/ms wells - part 2: Solving, straightforward option
2024-12-06 09:16:20 +01:00
Atgeirr Flø Rasmussen
848e4718b1
Merge pull request #5786 from jakobtorben/expose_finesmoother_parameters_in_CPR_setup
...
Expose finesmoother pre/post smooth parameters in CPR setup
2024-12-05 15:36:07 +01:00
Bård Skaflestad
ed5f93dcba
Merge pull request #5784 from akva2/always_initial_fip
...
fixed: always calculate initial FIP
2024-12-05 14:58:10 +01:00
Arne Morten Kvarving
d8a7875f9b
fixed: always calculate initial FIP
...
this can be used by various Schedule keywords even if FIP is not in RPTSOL
2024-12-05 14:18:01 +01:00
jakobtorben
27caf3cca7
Expose finesmoother pre/post smooth parameters in CPR setup
2024-12-05 13:05:32 +01:00
Markus Blatt
e24d355e66
Merge pull request #5749 from michal-toth/feature/graph-of-grid
...
Zoltan partitioner with all perforated cells of a well merged to one vertex
2024-12-05 12:05:16 +01:00
Markus Blatt
5d4f578319
Merge pull request #5731 from akva2/validation_cleanup
...
ValidationFunctions: some cleanup
2024-12-05 10:56:06 +01:00
Tor Harald Sandve
738eb761c2
Only restrict oscillation for iter > nupcol
2024-12-04 10:45:23 +01:00
Tor Harald Sandve
128e80ec7a
Maximum allowed oscillation for groups part 2
...
Set a parameter for maximum allowed oscillation of group controls
The parameter is only used for iter > nupcol
2024-12-04 09:17:46 +01:00
Arne Morten Kvarving
73c45c7282
bump minimum dune version to 2.9
2024-12-03 13:59:53 +01:00
Tor Harald Sandve
933d2949be
Also check group constrains for iter > nupcol
2024-12-03 09:21:38 +01:00
Tor Harald Sandve
73a28a7abb
Maximum allowed oscillation for groups part 1
2024-12-03 09:21:38 +01:00
Michal Tóth
cab7636fc5
Setup parameters for Zoltan partitioner with GraphOfGrid (from opm-grid).
2024-12-02 11:30:40 +01:00
Atgeirr Flø Rasmussen
b6f23f6fe5
Merge pull request #5773 from akva2/fix_msw_deadlock
...
fixed: well model could deadlock
2024-12-02 10:36:07 +01:00
Atgeirr Flø Rasmussen
e936a224a2
Merge pull request #5770 from vkip/thpres_rst_rstout
...
Write correct THRESHPR values also from restart
2024-12-02 10:32:52 +01:00
Tor Harald Sandve
42e17219b6
Merge pull request #5724 from totto82/changeNUPCOL
...
Changes in how the simulator handles NUPCOL
2024-12-02 10:29:09 +01:00
Arne Morten Kvarving
67765a3f08
fixed: well model could deadlock
...
if umfpack encounters a singular matrix on any process,
the exception propagated up across communication boundaries
leading to deadlock as the other processes tried to do global
reductions
2024-11-29 14:17:43 +01:00
Vegard Kippe
4555716dd8
Ensure all processors have the same thpres_ array also when we do not restart
2024-11-28 19:22:21 +01:00
Vegard Kippe
4bb50eb1d8
Simply return thpres_ vector as restart vector
2024-11-28 18:40:16 +01:00
Vegard Kippe
2b4e09bc51
Write correct THRESHPR values also from a restart.
2024-11-28 14:44:53 +01:00
Arne Morten Kvarving
4d5a67fa82
added: ability to pass command line parameters from python
2024-11-28 09:14:53 +01:00
jakobtorben
30e3dc3582
Only apply Hypre AMG one V-cycle
2024-11-27 17:09:14 +01:00
jakobtorben
9d47aa605e
Add property tree to constructor
2024-11-27 17:09:14 +01:00
jakobtorben
6d22b4f72a
Optimise the transfer of memory between Dune and Hypre
2024-11-27 17:09:14 +01:00
jakobtorben
84193fa53d
Set Hypre AMG parameters to Jutul default
2024-11-27 17:09:14 +01:00
jakobtorben
10f7a85532
Add Hypre preconditioner
2024-11-27 17:09:14 +01:00
Tor Harald Sandve
d0bcf54b00
Merge pull request #5767 from totto82/network_sub_iter
...
Network sub iter
2024-11-27 15:48:12 +01:00
Atgeirr Flø Rasmussen
92c9d88c1b
Merge pull request #5743 from vkip/thpres_restart
...
Restore threshold pressures from restart
2024-11-27 15:16:38 +01:00
Tor Harald Sandve
8479655deb
Set 20 as number of sub-iterations for the network
2024-11-27 14:21:05 +01:00
Tor Harald Sandve
e043dc6e50
Change default max iterations for network
2024-11-27 14:21:05 +01:00
Tor Harald Sandve
93206349c8
Add sub iterations for balancing the network
2024-11-27 14:21:05 +01:00