Commit Graph

9112 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
93ce28e9a2
Merge pull request #3972 from ElyesAhmed/alugrid2
Alugrid2
2022-08-04 15:43:24 +02:00
Arne Morten Kvarving
36b167b451 remove use of Unused.hpp 2022-08-02 11:53:54 +02:00
Markus Blatt
af28030123
Merge pull request #3983 from blattms/fix-perf-all-zero
[bugfix] Fixes deadlocks with agressively distributed wells
2022-07-29 09:37:10 +02:00
Elyes Ahmed
5c2b60bcd0 rebasing 2022-07-28 20:40:34 +02:00
Markus Blatt
941957c13e Fix shadowed variable warning. 2022-07-28 19:50:24 +02:00
Markus Blatt
c22114af41 Handle injection/producer targets correctly for distributed wells.
We should never return in a function if there are no local
perforations for a distributed well, but that is what we did before
this fix.
2022-07-28 17:52:26 +02:00
Arne Morten Kvarving
eeeeb283c5 remove unnecessary includes 2022-07-26 19:03:39 +02:00
Markus Blatt
f7dec58ee2 Fix deadlock for distributed wells when calculating densities/pressures
There was a check that is supposed that all rates are zero but for
distributed wells it only checked local perforations. Of course that
can lead to different outcome on processes for distributed wells.
2022-07-15 17:58:04 +02:00
Markus Blatt
412cf1d6cd
Merge pull request #3976 from blattms/well-fix-distributed-tw
[bugfix] Fix well transmissibility weights for distributed wells.
2022-07-15 10:39:48 +02:00
Markus Blatt
bfd1d3187a [bugfix] Fix well transmissibility weights for distributed wells.
If we compute a sum over all perforations than we need to cater for the
case of distributed wells. That is we need to also sum up over all processes
involved after performing the local sum.

One of these global sums was missing in computeWellConnectionDensitesPressures
for producers when we compute the weights based on well transmissibilities.
2022-07-13 13:40:16 +02:00
Bård Skaflestad
bdfe58f500
Merge pull request #3975 from OPMUSER/Unsupported-Keywords
Unsupported keywords
2022-07-12 13:00:50 +02:00
OPMUSER
f9ba52e91b Update UnsupportedFlowKeywords.cpp
Remove MINPORV from unsupported keyword list
2022-07-09 20:13:30 +08:00
Elyes Ahmed
cd169660e8 rewriting MaxWellConnections 2022-07-08 13:44:38 +02:00
OPMUSER
65addddb06 Update UnsupportedFlowKeywords.cpp
Remove TEMPVD from the unsupported key list, as tested as working.
2022-07-08 18:20:18 +08:00
OPMUSER
b784a6d78b Update UnsupportedFlowKeywords.cpp
Remove RTEMPA from the unsupported keywords list as testing shows it is supported.
2022-07-08 17:36:12 +08:00
Bård Skaflestad
9d9ec6c522
Revert "Tweak opencl launch params" 2022-07-07 15:21:53 +02:00
Markus Blatt
f22d58a1d0
Merge pull request #3953 from Tongdongq/tweak-opencl-launch-params
Tweak opencl launch params
2022-07-07 10:43:15 +02:00
Tor Harald Sandve
04b0c3515d
Merge pull request #3957 from totto82/regStw
regularize equation for problematic std wells
2022-06-30 11:24:20 +02:00
Tor Harald Sandve
cf1abb086f remove msw(ms) from regulariztion parameter 2022-06-29 15:39:51 +02:00
Kai Bao
1b3cee8088 using C++17 style for to reduce nesting level of for loop 2022-06-29 14:20:35 +02:00
Tor Harald Sandve
eef455106d regularize equation for std wells 2022-06-29 12:47:44 +02:00
Kai Bao
64143cd417 when a valve is shut, the rate and pressure drop will be zero 2022-06-29 11:54:36 +02:00
Tong Dong Qiu
85776f528a Tweak ILU opencl kernel launch params 2022-06-28 12:42:52 +02:00
Bård Skaflestad
5b2d1ca5ec
Merge pull request #3959 from blattms/warn-long-fault
Warn about fault names with more than 8 characters
2022-06-28 10:29:36 +02:00
Arne Morten Kvarving
133856b943 changed: avoid lambda capture
clang warns it's not necessary to use a capture for this.
i opted to make it constexpr and avoid the capture with gcc as well.
2022-06-27 14:47:56 +02:00
Arne Morten Kvarving
9751b78992 fixed: add virtual dtor to class with virtual members 2022-06-27 14:47:44 +02:00
Arne Morten Kvarving
1794934f0d anonymize unused parameters 2022-06-27 14:47:44 +02:00
Markus Blatt
6aea0fab37 Added instantiations of OrderedMap with truncated keys for parallel. 2022-06-27 13:09:09 +02:00
Markus Blatt
ebb8fc7aae Warn about about long fault -name 2022-06-27 13:09:08 +02:00
Markus Blatt
e14823c6d8
Merge pull request #3941 from akva2/remove_int_sim_config
Remove support for internal simulator configuration
2022-06-27 11:05:18 +02:00
Markus Blatt
25a92c2c2c
Merge pull request #3958 from Tongdongq/fix-gpu-well-apply
Fix stdwell apply on GPU
2022-06-24 16:02:34 +02:00
Arne Morten Kvarving
a4d254b749 changed: introduce EclGenericVanguard::setParams
this is used transferring ownership of setup structures to the
simulator. drop all the flowEbosXXX set deck methods and use the
generic vanguard. also means various structs that were only passed
in the blackoil simulator are now passed in all simulators.
2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
00c374be5c changed: remove support for internal summaryconfig handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
4510f40b6d changed: remove support for internal schedule handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
1a35c5ac47 changed: remove support for internal eclstate handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
371c8058bc changed: remove support for internal deck handling in simulators 2022-06-24 15:06:13 +02:00
Tong Dong Qiu
1f1fa10927 Fix stdwell apply on GPU 2022-06-24 13:48:59 +02:00
Tong Dong Qiu
842a9a9317 Reduce source code line lengths 2022-06-23 10:21:34 +02:00
Tong Dong Qiu
c4ebed1718 Backport to fix ChowPatelIlu 2022-06-23 10:17:14 +02:00
Markus Blatt
f3bf15ab2f
Merge pull request #3946 from Tongdongq/fix-gpu-verbose-timing
Fix: verbose timing for openclSolver
2022-06-22 16:13:57 +02:00
Arne Morten Kvarving
da57e15271 fixed: fix build with dune 2.6 2022-06-20 14:16:43 +02:00
Tong Dong Qiu
4384872f8e Only use timers when printing their results,
and actually wait for kernels to finish when timing GPU
2022-06-17 16:02:56 +02:00
Atgeirr Flø Rasmussen
ffb09ee53e
Merge pull request #3937 from atgeirr/pressure-bhp-cpr
Pressure bhp cpr
2022-06-16 17:15:49 +02:00
Atgeirr Flø Rasmussen
c871e603f8 Do not insert unused options. 2022-06-16 16:24:41 +02:00
Atgeirr Flø Rasmussen
66ff942b2f Move MatrixBlock specializations inside namespace.
This is necessary since the calls are ns-qualified in the
matrix market code.
2022-06-16 11:37:40 +02:00
Tor Harald Sandve
60d0fe0f87
Merge pull request #3879 from totto82/rsrvinj2
WIP implement rsrv item 10 WCONINJE
2022-06-16 08:30:31 +02:00
Bård Skaflestad
7512c0c247
Merge pull request #3906 from totto82/regMSW100
change default reg factor for MSW to 100
2022-06-13 20:15:33 +02:00
Atgeirr Flø Rasmussen
2992ec25d8 Address issues raised in review. 2022-06-10 15:59:45 +02:00
Atgeirr Flø Rasmussen
7fe3839500 Use MatrixBlock consistently, also whitespace cleanup. 2022-06-10 11:08:24 +02:00
Atgeirr Flø Rasmussen
16b1756339 Add necessary include statements. 2022-06-09 10:38:47 +02:00
hnil
98acda0977 - change FieldMatrix to MatrixBlock in Tracer model to not need extra initializations in linear solver 2022-06-08 17:03:27 +02:00
Atgeirr Flø Rasmussen
a0f16089f7 Re-add explicit instantiation of FlexibleSolver to reduce compile time. 2022-06-08 17:03:27 +02:00
hnil
06a8b0ee3d fixed bug after changing duneD to invDuneD 2022-06-08 17:03:27 +02:00
hnil
4ead854b69 - taking pullrequest information into account
- Moving transfere level to be template of OwningTwolevelPrecontitioner
2022-06-08 17:03:27 +02:00
hnil
8f4cf8a952 removed compiler warnings 2022-06-08 17:03:27 +02:00
hnil
66c4a8c862 made resue interval separate paramter 2022-06-08 17:03:27 +02:00
hnil
3bed1ebbdb fixed bug in default options for cprw 2022-06-08 17:03:27 +02:00
hnil
541edeaf67 - add default for CPRW
- cleanded code
2022-06-08 17:03:27 +02:00
hnil
8a757a4935 removed comments 2022-06-08 17:03:27 +02:00
hnil
6c407506a9 cleaning code 2022-06-08 17:03:27 +02:00
hnil
5a917dd11e changed diagonal elements for cprw on multiscale wells 2022-06-08 17:03:27 +02:00
hnil
a8acd40f4a Changes to make ms wells work with cprw 2022-06-08 17:03:27 +02:00
hnil
141a816e5d new restart options 2022-06-08 17:03:25 +02:00
hnil
12fba38d99 Added maximum sparsity pattern which made full reuse possible. May degrade som of the performance fore not full reuse(not tested). 2022-06-08 17:02:02 +02:00
hnil
aba1d5047d working with no resue on norne 2022-06-08 17:02:02 +02:00
hnil
c697e70a69 changed definition of extra equations. made norne go to step 27. HACK 2022-06-08 17:02:02 +02:00
hnil
4975d5d9e7 - fixed extended communicator
- fixed scaling of well cpr
2022-06-08 17:02:02 +02:00
hnil
da572d1f60 -Fixed buges related to cpr with wells.
- change interfaces to have access to pressureVarIndex
- added option in cmake files to propagate checking in dune-istl
2022-06-08 17:02:02 +02:00
Atgeirr Flø Rasmussen
fef06a77af Updated for upstream changes. 2022-06-08 17:02:02 +02:00
hnil
f3acfcde0b Adding functions for pressure system manipulation to well models.
Also add well-aware operator and transfer policy.
This will be used for CPR with custom operators.
2022-06-08 17:01:33 +02:00
Bård Skaflestad
e6dff88eb7 Temporarily Limit Block-Jacobi Partitioner to OpenCL Only
The block-Jacobi partitioner (commit e360c00b7) uses grid interfaces
that are only available in CpGrid and this blocks introducing other
grid managers such as ALUGrid.  Since the partitioner was only added
for OpenCL, guard special purposes accesses with HAVE_OPENCL.

This is a temporary measure and we will venture to restore the
partitioner later, although possibly restricted to CpGrid only.
2022-06-08 16:14:39 +02:00
Bård Skaflestad
b593baff2f
Merge pull request #3926 from totto82/fix_operability
Fix well operability
2022-06-08 16:09:02 +02:00
Tor Harald Sandve
1f876d1800 implement rsrv item 10 WCONINJE
MSW not supported yet
2022-06-08 13:55:29 +02:00
Tor Harald Sandve
46c8aa3306 fix hydrostatic correction for branched wells in IPR 2022-06-08 12:29:05 +02:00
Markus Blatt
ac59429e01
Merge pull request #3935 from Tongdongq/fix-replace-zero-diagonal
Fix: zeros were not replaced correctly in the diagonal for GPU
2022-06-08 12:28:30 +02:00
Tong Dong Qiu
91a54645fb Fix: zeros were not replaced correctly in the diagonal
And minor changes
2022-06-08 10:00:22 +02:00
Tor Harald Sandve
3adaa1b987 fix component/phase mixup 2022-06-07 14:14:13 +02:00
Tor Harald Sandve
e965dac3ee Only flag a bhp producer/injector operable if the sum of IPR are negative/positive 2022-06-07 10:47:22 +02:00
Tor Harald Sandve
147fe77779
Merge pull request #3934 from totto82/stopnocross
stopped wells where cross flow is not allowed are not added to the container
2022-06-07 10:36:07 +02:00
Tor Harald Sandve
cec8e7c724
Merge pull request #3924 from totto82/steeringBHPtoHighestRate
Steer bhp towards the solution with the highest production rate
2022-06-07 10:35:53 +02:00
Tor Harald Sandve
6cc71375b4 stopped wells where cross flow is not allowed are not added to the container 2022-06-07 10:01:02 +02:00
Bård Skaflestad
be4221ea92
Merge pull request #3869 from plgbrts/vapoilwat
adding three-phase simulator including water evaporation and salt precipitation
2022-05-25 15:33:53 +02:00
Tor Harald Sandve
6f410e7b03 Steer bhp towards the solution with the highest production rate 2022-05-25 15:30:36 +02:00
Tor Harald Sandve
cce9e2d0b3
Merge pull request #3910 from hakonhagland/python_rates2
Dynamically update Opm::Schedule from Python
2022-05-25 08:42:13 +02:00
Bård Skaflestad
252d0afe8e Emit Actual Message on Input Failure
This gives more information to the user and hopefully aids them in
resolving the underlying issue.
2022-05-20 16:30:19 +02:00
Markus Blatt
02aaec82f7
Merge pull request #3815 from Tongdongq/subdomain-matrix-for-opencl
Subdomain matrix for opencl ILU preconditioner
2022-05-20 16:05:14 +02:00
Kai Bao
15bf35ffe0 removing unused well_state0 in iterateWellEqWithControl
for MSW.
2022-05-18 10:18:35 +02:00
Paul Egberts
a255613452
Merge branch 'master' into vapoilwat 2022-05-11 11:55:54 +02:00
Paul Egberts
6fe10a3e23 add throw for case msw is true and vapwat is true 2022-05-11 11:50:54 +02:00
Håkon Hægland
91ac3a2a32 Dynamically update schedule from Python
Adds some methods that enables Opm::Schedule to be dynamically modified
from Python. A test case in test_schedule.py illustrates the use case.
2022-05-05 13:10:39 +02:00
Tong Dong Qiu
b00d31042c Check if memory for nnzs is contiguous 2022-05-04 16:15:57 +02:00
Tor Harald Sandve
ea82bebb3a
Merge pull request #3909 from totto82/fix_reg_msw
reset regularize_ before starting the inner iterations
2022-05-03 13:44:00 +02:00
Tor Harald Sandve
4150ec5f67
Merge pull request #3756 from osae/letRelperms
Support for LET-based saturation functions.
2022-05-03 13:39:32 +02:00
Paul Egberts
5a23084846 restored MultisegmentWellEval.cpp 2022-05-03 11:54:41 +02:00
Tor Harald Sandve
dfe0982286 reset regularize_ before starting the inner iterations 2022-05-03 08:25:26 +02:00
Kai Bao
57d8f1aa24 update primary variables in prepareTimeStep
it should not change running results.
2022-05-02 13:47:16 +02:00
Tor Harald Sandve
6bf90c9ebe change default reg factor for MSW to 100 2022-05-02 09:41:43 +02:00
Tor Harald Sandve
74d8db36c5
Merge pull request #3859 from totto82/default_strict
use a relaxed (but not too relaxed) well tolerance when iter>6
2022-04-29 15:53:53 +02:00
Kai Bao
7145ec32ee renaming function updateWellState
to updatePrimaryVariablesNewton

this should be a fallout during the well code refactoring
2022-04-29 12:55:54 +02:00
Arne Morten Kvarving
7edca13df6 fixed: add missing config.h include 2022-04-28 11:38:02 +02:00