Commit Graph

1307 Commits

Author SHA1 Message Date
Markus Blatt
f59262d403
Merge pull request #5800 from blattms/feature/default-is-merge-well-cells-for-partioning
Switch default load balancer to Zoltan with vertex = all cells of a well
2025-01-13 13:40:12 +01:00
Arne Morten Kvarving
c909283288 BlackoilModel: move properties to separate header 2025-01-13 11:34:14 +01:00
Atgeirr Flø Rasmussen
6952d19a92
Merge pull request #5849 from akva2/rename_haswell
Fix BlackoilWellModel::hasWell mixups
2025-01-13 11:29:19 +01:00
Atgeirr Flø Rasmussen
cfedccb880
Merge pull request #5824 from vkip/fix_rft_inactive_and_shut_distributed_wells
Fix RFT output for shut distributed wells
2025-01-10 13:48:48 +01:00
Arne Morten Kvarving
8a1ccaca80 changed: rename BlackoilWellModelGeneric::hasWell to hasLocalWell 2025-01-09 15:33:44 +01:00
Markus Blatt
e667efe522
Merge pull request #5829 from aritorto/addGridArgument
Add grid argument to recycle code
2024-12-20 20:03:16 +01:00
Antonella Ritorto
950c5f0765 Add grid argument to recycle code 2024-12-20 19:32:36 +01:00
Atgeirr Flø Rasmussen
939f944b86 Remove unneded capture of 'this'. 2024-12-20 14:44:02 +01:00
Vegard Kippe
802e73fe28 Fix RFT output for shut distributed wells and permamently inactive wells split across processors (partition method 3 issue only). 2024-12-20 10:46:14 +01:00
Antonella Ritorto
423b6596fb Minor refactorization in LevelCartesianIndexMapper for AluGrid and PolyhedralGrid 2024-12-19 19:02:16 +01:00
Arne Morten Kvarving
58ac8f2553 setPrimaryVarsDomain: take domain index as parameter 2024-12-19 12:58:29 +01:00
Arne Morten Kvarving
75dc66d4d2 getPrimaryVarsDomain: take domain index as parameter 2024-12-19 12:58:29 +01:00
Arne Morten Kvarving
15dcc39bcd
Merge pull request #5814 from akva2/fix_wcycle_parallel
Fix WCYCLE in parallel
2024-12-19 11:02:13 +01:00
Arne Morten Kvarving
644a7f2616 fixed: need to sync adjusted timestep across processes in parallel 2024-12-19 10:01:49 +01:00
Tor Harald Sandve
b6999cfbc0
Merge pull request #5785 from svenn-t/rockopts_store
Use initial pressure if ROCKOPTS item 2 is STORE
2024-12-19 09:23:04 +01:00
Markus Blatt
a77668a55e
Merge pull request #5813 from aritorto/fixSeqLGR
Do not write initial FIP for CpGrid with LGRs for now
2024-12-19 08:49:21 +01:00
Antonella Ritorto
9624eb7185 Do not write initial FIP for CpGrid with LGRs for now 2024-12-18 17:05:40 +01:00
Atgeirr Flø Rasmussen
369332ef3d
Merge pull request #5808 from jakobtorben/AMGX_integration
Amgx integration
2024-12-18 16:27:02 +01:00
jakobtorben
5dd70eb8bb Add AMGX preconditioner 2024-12-18 13:30:02 +01:00
Arne Morten Kvarving
0470502027 added: support WCYCLE 2024-12-17 08:41:25 +01:00
Arne Morten Kvarving
410e19e807 remove unused fipnum argument
also allows to drop the default value for the tuningUpdater callback
2024-12-16 14:49:08 +01:00
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
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
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
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
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
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
Svenn Tveit
b79dee898a Use init. pres. with ROCK and ROCKTAB if ROCKOPTS item 2 = STORE.
OVERBURD keyword will be ignored if STORE is activated.
2024-12-05 12:58:13 +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
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
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
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
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
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
e043dc6e50 Change default max iterations for network 2024-11-27 14:21:05 +01:00
Lisa Julia Nebel
6bdb80126f Add parameter enableDistributedWells to the well state an when set to true, do not throw when initalizing distributed multi-segment wells in WellState.cpp 2024-11-22 15:16:00 +01:00
Lisa Julia Nebel
9f4fdd09fa Throw an error if the status "lastStepFailed" in prepareStep of BlackoilModel is not the same across all processes 2024-11-21 15:01:46 +01:00
Tor Harald Sandve
71614ea5b0 Add parameter --nupcol_group_rate_tolerance to be able to set the relative tolerance. Default is 0.001 2024-11-20 17:46:31 +01:00
Vegard Kippe
1c22d18771 Restore threshold pressures from restart 2024-11-18 12:59:48 +01:00
Bård Skaflestad
d199977d75 Chase API Update of Action::Result
The type no longer uses operator overloading and the matching entity
back-end has been revised to no longer expose a vector of strings
for the well names directly.
2024-11-13 12:23:52 +01:00
Arne Morten Kvarving
8197b6083a ValidationFunctions: some cleanup
- introduce a type alias for the std::function type
- make implementation of specialValidations() private
- make validateBRINE private
2024-11-12 16:20:32 +01:00
Arne Morten Kvarving
91aabf6a92
Merge pull request #5706 from BigDataAccelerate/rename-bda-to-gpu
Remove bda naming from project
2024-11-11 16:26:21 +01:00
Razvan Nane
23e24a8cca Rename ISTLSolverGpu to ISTLSolverGpuBridge 2024-11-11 15:02:01 +01:00
Arne Morten Kvarving
d1e416cfe6 fixed: fmt::join is in ranges.h using {{fmt11}} 2024-11-11 12:04:23 +01:00
Bård Skaflestad
4739821cb4 Don't Pass Action::Result By Value Into Add_Run()
This is no longer needed so we can go back to using 'const' objects.
2024-11-07 12:15:41 +01:00
Bård Skaflestad
c8366e96ac
Merge pull request #5716 from akva2/c++20_stuff
Quell c++-20 warnings
2024-11-06 11:17:44 +01:00
Arne Morten Kvarving
d9a3dd6f77 add casts to avoid comparison to / arithmetics with enums 2024-11-06 10:38:50 +01:00
Bård Skaflestad
ef434a9b59 Chase API Update of UDQConfig's Evaluation Functions
The functions no longer use the 'episeodeIdx' or Schedule
parameters.  Update callers accordingly.

While here, split some long lines and remove unneeded local objects.
2024-11-05 18:18:43 +01:00
Bård Skaflestad
2546d2b181
Merge pull request #5713 from akva2/fmt_fix_runtime_formats
fixed: use constexpr formats and/or mark format strings runtime
2024-11-05 15:59:40 +01:00
Arne Morten Kvarving
ca6a5521a4 fixed: use constexpr formats and/or mark format strings runtime
fmt wants to do compile time validation of format strings under c++-20.
mark formatting strings constexpr where possible, and mark formats
runtime to disable validation where not possible.
2024-11-05 15:03:17 +01:00
Arne Morten Kvarving
72ac61a0b7 quell unused private member warning 2024-11-05 14:58:06 +01:00
Razvan Nane
baf94f76d2 Rename bda to gpu for classes 2024-11-04 12:31:34 +01:00
Bård Skaflestad
d155d4b76a Simplify Logic for Exchanging PI/II Values in ACTIONX/WELPI
This commit switches to using the new guarantees provided by
ActionX::wellpi_wells (PR OPM/opm-common#4296), namely that the well
names are returned in sorted order on all ranks, to simplify how we
exchange the PI/II values.  In particular, given this guarantee, we
can calculate the maximum values across all ranks because zero
values correspond to missing entries and non-zero values correspond
to known entries.
2024-11-01 09:10:39 +01:00
Kjetil Olsen Lye
e81cf62e79
Merge pull request #5611 from multitalentloes/print_gpu_info_on_startup
Print gpus used on simulator startup
2024-10-31 21:29:08 +01:00
Bård Skaflestad
a08d49d3a4
Merge pull request #5701 from akva2/fix_set_active_indices
fixed: set active indices in fieldprops
2024-10-31 08:53:43 +01:00
Bård Skaflestad
9e7c3b9254
Merge pull request #5687 from GitPaean/tyring_ecl_compositional
ecl style output for compositional simulation
2024-10-30 15:49:35 +01:00
Kai Bao
0edb5a462d checking compIdx or phaseIdx when adding entries to SolutionVector
std::vector is used instead of std::array. when compIdx is -1, the
origional code trigger array-bounds warning.
2024-10-30 15:32:39 +01:00
Kai Bao
c6201e9b6a addressing reviewing comments 2024-10-30 13:15:38 +01:00
Bård Skaflestad
70e8d25276 Make WELPI Infrastructure for ACTIONX Fully Private
This is in preparation of making the match set for ACTIONX more
general.  Having a fully private WELPI framework means we can change
the types more freely without having to rebuild all users of
ActionHandler.

While here, also add Doxygen-style documentation to the ActionHandler.
2024-10-30 12:48:02 +01:00
Kai Bao
56db6ad3fe cleaning unused headers and declarations in OutputCompositionalModule 2024-10-30 11:23:16 +01:00
Kai Bao
cd9009dc75 adding isCompositional_ variable to GenericOutputBlackoilModule
to indicate whether it is a compostional simulation.
2024-10-30 11:23:16 +01:00
Kai Bao
65e858c84c fixing all the warnings related 2024-10-30 11:23:16 +01:00
Kai Bao
51c534e6fb removing Damaris from FlowProblemComp 2024-10-30 11:23:16 +01:00
Kai Bao
def30fa131 recovering OutputBlackoilModule
there is not change needed for this file.
2024-10-30 11:23:16 +01:00
Kai Bao
e4d1311589 adding thresholdPressure() interface to FlowProblemComp
although we do not support it yet.
2024-10-30 11:23:16 +01:00
Kai Bao
3635132d95 making OutputModule template parameter of EclWriter 2024-10-30 11:23:16 +01:00
Kai Bao
197282ccfc cleaing up EclWriter related and DamarisWriter.hpp 2024-10-30 11:23:16 +01:00
Kai Bao
0153da2009 cleaning up OutputCompositionalModule 2024-10-30 11:23:16 +01:00
Kai Bao
a8d2c5bc2c removing GenericOutputCompositionalModule
we do the compostional related in GenericOutputBlackoilModule to minimize the code change.
there needs to be refatoring for GenericOutputBlackoilModule to split
the black oil and compostional related.
2024-10-30 11:22:04 +01:00
Kai Bao
ad587e77ad output XMF ,YMF and ZMF in UNRST file.
currently, it looks the value for ZMF is based on XMF and YMF.
ideally, the ZMF is part of the primary varialbes, it does not need to
be calculated based on XMF and YMF.

there is some refactoring that we can do here.
2024-10-30 11:15:38 +01:00
Kai Bao
4ba1cd53d7 add EclWriter to FlowProblemComp
so the FlowProblemComp can output ecl style output.
it duplicates the OutputBlackoilModule and GenericOutputBlackoilModule
for compositional related output for now.
2024-10-30 11:14:18 +01:00
Tobias Meyer Andersen
798f7d5426 Print GPU used on every rank 2024-10-30 11:03:29 +01:00
Arne Morten Kvarving
942d63c7b1 fixed: set active indices in fieldprops 2024-10-30 10:22:17 +01:00
Bård Skaflestad
e8b4cfb7ef Add Logging for Python Actions
Similar to the logging facilities we have for the regular ACTIONX
keyword, although without an explicit list of "matching" wells.
2024-10-29 21:21:27 +01:00
Arne Morten Kvarving
58365df3ff add missing ReservoirCouplingInfo.hpp includes
now that Schedule(State) properly serializes the member
2024-10-28 15:51:14 +01:00
Bård Skaflestad
d8c6ebb509
Merge pull request #5691 from GitPaean/enableThresholdPressure_false
enableThresholdPressure_ initialized to be false
2024-10-25 12:45:44 +02:00
Markus Blatt
4a60c167fb
Merge pull request #5686 from vkip/bugfix_inactive_rank0
Bugfixes #5609
2024-10-25 12:00:46 +02:00
Kai Bao
6742679e48 enableThresholdPressure_ initialized to be false
in GenericThresholdPressure
2024-10-25 11:58:27 +02:00
Bård Skaflestad
7f4d787522 Get WellMatcher Object Directly From Schedule
There's no need for us to invoke the WellMatcher constructor when
the Schedule object already knows how to do that.
2024-10-25 10:55:32 +02:00
Vegard Kippe
7f6c7aec01 Info message, cmdline option and avoid splitting wells on restart (for now) 2024-10-22 20:29:24 +02:00
Vegard Kippe
729d3c2a59 Use bool, not int, to also add inactive wells to rank 0... 2024-10-21 15:30:50 +02:00
Lisa Julia Nebel
5032a37283
Merge pull request #5649 from aritorto/levelsCartMappALU
Separate non-DUNE methods in LevelCartesianIndexMapper<AluGrid>
2024-10-21 15:01:22 +02:00
Antonella Ritorto
b875ba8122 LevelCartesianIndexMapper for AluGrid 2024-10-21 11:25:27 +02:00
Kai Bao
3d04a97ff5 removing invalidateLocalData() in updateSolution() in BlackoilModel 2024-10-21 10:42:39 +02:00
Kai Bao
2d082cae42 in flowexp_blackoil, invalidate output data after solution is updated 2024-10-21 10:34:00 +02:00
Markus Blatt
afcfedb9f1
Merge pull request #5609 from vkip/use_only_active_wells_in_partitioning
In partitioning, only account for wells that will be active at some point in time
2024-10-21 07:35:28 +02:00
Arne Morten Kvarving
139088398c
Merge pull request #5682 from akva2/lambda_janitoring
Some lambda fixes
2024-10-17 12:54:55 +02:00