Atgeirr Flø Rasmussen
cc15b29372
Add network model iterations.
...
Implemented by conditionally recursing in BlackoilWellModel::assembleImpl().
2022-09-28 10:44:42 +02:00
Atgeirr Flø Rasmussen
6104a01468
Add WellInterfaceGeneric::getDynamicThpLimit() method.
2022-09-28 10:44:42 +02:00
Kai Bao
6e0baad0c7
Merge pull request #4116 from GitPaean/not-setting-inj-rate-to-zero
...
limiting the smallest injection rate to 1.e-7 for the injection phase.
2022-09-23 15:17:31 +02:00
Kai Bao
d3d8e11e00
limiting the smallest injection rate to 1.e-7
...
for the injection phase.
2022-09-20 11:40:34 +02:00
Bård Skaflestad
8432e4130c
Merge pull request #4101 from GitPaean/fix_wells_active
...
Fix wells active determination
2022-09-19 10:20:30 +02:00
Tor Harald Sandve
b072cc1d5d
Allow for gaslift for wells that violate thp limit but are not allowed to switch
2022-09-16 10:49:03 +02:00
Arne Morten Kvarving
c5fced81fa
fixed: remove default constructor declaration
...
a class with a reference member cannot be default initialized,
so constructor is implicitly deleted. quells a clang warning
2022-09-16 09:19:42 +02:00
Tor Harald Sandve
fe19d94b4e
Merge pull request #4110 from GitPaean/avoiding_overshoot_primary_variables
...
avoiding wrong sign for QTotal primary variable for top segment
2022-09-15 08:13:03 +02:00
Kai Bao
2f19d4586e
avoiding wrong sign for QTotal primary variable for top segment
...
for multisegment wells.
2022-09-14 14:21:03 +02:00
Kai Bao
734b9a792f
removing function localWellsActive()
2022-09-14 14:17:02 +02:00
Atgeirr Flø Rasmussen
f3b536889d
Merge pull request #4097 from totto82/cleanDBG
...
remove computeBhpAtThpLimitProd() output from .DBG file
2022-09-14 10:11:50 +02:00
Arne Morten Kvarving
57f2bb3ea7
fix build without MPI
2022-09-13 15:07:15 +02:00
Kai Bao
83529b22c7
removing one usage of wellsActive() in numComponents
2022-09-13 14:31:56 +02:00
Arne Morten Kvarving
6e83e349d6
changed: move variadic broadcast into EclMpiSerializer
2022-09-13 13:29:47 +02:00
Bård Skaflestad
7e44ddd2bd
Merge pull request #4100 from totto82/wvfpexp_user
...
remove WVFPEXP from unsupported keywords
2022-09-13 12:46:58 +02:00
Tor Harald Sandve
f8d1d040ab
Merge pull request #4033 from totto82/fix_grsw_output
...
cleanup group switching output to terminal
2022-09-13 12:25:40 +02:00
Kai Bao
4e1cc5bd5b
determining wells_active_ based on well_containers_ size
...
instead of the information in wells_ecl_, which might include shut wells
2022-09-13 11:36:23 +02:00
Bård Skaflestad
56c653235f
Merge pull request #4087 from akva2/rename_serialization
...
Rename serialization files
2022-09-13 10:48:33 +02:00
Kai Bao
b363138240
removing the function setWellsActive from BlackoilWellModelGeneric
2022-09-13 09:41:48 +02:00
Tor Harald Sandve
683ed0df1f
remove WVFPEXP from unsupported keywords
2022-09-13 09:30:04 +02:00
Tor Harald Sandve
7571215f44
some cleanup
2022-09-13 08:33:51 +02:00
Tor Harald Sandve
001d53858e
remove computeBhpAtThpLimitProd() output from .DBG file
2022-09-12 09:29:37 +02:00
Markus Blatt
a4360b4961
Merge pull request #4028 from akva2/reduce_dup
...
changed: get rid of duplicate MatrixBlock headers/classes
2022-09-09 15:30:30 +02:00
Tor Harald Sandve
d2fc8a3d5e
remove the logic that skips checking the group if it already changed
2022-09-09 10:58:36 +02:00
Tor Harald Sandve
702d824135
cleanup group switching output to terminal
2022-09-09 10:58:36 +02:00
Tor Harald Sandve
f36ac3eeed
Merge pull request #3837 from totto82/wvfpexp
...
Add option for explicit vfp lookup for problematic wells
2022-09-09 10:00:02 +02:00
Arne Morten Kvarving
c68d979d4b
remove unused variables
2022-09-09 08:38:17 +02:00
Arne Morten Kvarving
1838b39d2e
changed: split ParallelRestart.hpp/cpp in two bits
...
the mpi serialization bit is put in MPISerializer.hpp/cpp,
while the parallel restart bit stays in ParallelRestart
2022-09-08 13:36:51 +02:00
Kai Bao
4e4606c705
removing unused setupCartesianToCompressed_ function
...
for BlackoilWellModel
2022-09-08 13:33:39 +02:00
Atgeirr Flø Rasmussen
e9cba9e0c1
Use compressedIndexForInterior() for mapping cartesian indices.
2022-09-05 12:42:54 +02:00
Tor Harald Sandve
8075c1218b
Merge pull request #4029 from totto82/fix_group_multilevel
...
Simplify and fix check for violation of GRUP for multiple level of guiderates
2022-09-02 12:59:34 +02:00
Bård Skaflestad
93b059eca1
Merge pull request #4046 from akva2/mswellhelper_priv
...
make MSWellHelpers templates private
2022-09-01 16:44:15 +02:00
Bård Skaflestad
d1ba2ce5bc
Merge pull request #4045 from akva2/wellgrouphelper_priv
...
Make one more template private in WellGroupHelper
2022-09-01 16:33:43 +02:00
Arne Morten Kvarving
5052a09d6e
make MSWellHelpers templates private
2022-09-01 15:17:04 +02:00
Arne Morten Kvarving
5d9ee32853
WellGroupHelpers: simply template instantation
...
use types for ParallelCommunication.hpp
2022-09-01 14:55:19 +02:00
Arne Morten Kvarving
2135a4268d
WellGroupHelpers: make template private
2022-09-01 14:55:19 +02:00
Arne Morten Kvarving
5824af3f1b
use libfmt
...
also change from debug to error
2022-09-01 13:54:40 +02:00
Arne Morten Kvarving
6bd790fd16
avoid pointer semantics
2022-09-01 13:48:01 +02:00
Arne Morten Kvarving
a6517d6111
remove unused template
2022-09-01 13:37:54 +02:00
Arne Morten Kvarving
18d8914ef1
wellhelpers: remove indentation for namespaces
2022-09-01 13:37:11 +02:00
Arne Morten Kvarving
69db0dd175
wellhelpers: make templates private
...
to increase header encapsulation
2022-09-01 13:37:11 +02:00
Arne Morten Kvarving
2c0ff6f81e
consistently use ParallelCommunication.hpp for communication definition
2022-09-01 12:26:11 +02:00
Arne Morten Kvarving
004e7e55fb
avoid two communication calls
...
one less network latency cost
2022-08-31 12:54:47 +02:00
Arne Morten Kvarving
a9590215dc
changed: consistently use std::array
2022-08-26 08:28:46 +02:00
Tor Harald Sandve
9b7ba49495
Simplify and fix check for violation of GRUP for multiple level of guiderates
2022-08-25 16:09:53 +02:00
Arne Morten Kvarving
1a348c0d29
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-25 12:48:53 +02:00
Bård Skaflestad
a56cd6752c
Revert "changed: reduce some code duplication"
2022-08-24 20:34:52 +02:00
Arne Morten Kvarving
447d77b579
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-24 15:54:01 +02:00
Tor Harald Sandve
0f969dd7a5
check ipr for wells prevented to change to thp
2022-08-19 10:48:56 +02:00
Tor Harald Sandve
7a8eed6a6c
adapt to renaming in opm-common
2022-08-19 10:33:19 +02:00
Tor Harald Sandve
96222f8afb
dont use explicit vfp lookup for newly opened wells
2022-08-19 10:33:19 +02:00
Tor Harald Sandve
9364d4c54b
Add option for wvfpexp item 2 plus minor fixes
2022-08-19 10:33:19 +02:00
Tor Harald Sandve
e875849497
Adapt test cases and vfpprint
2022-08-19 10:33:19 +02:00
Tor Harald Sandve
b1b23a57de
Add option for explicit vfp lookup for problmatic wells
2022-08-19 10:33:19 +02:00
Arne Morten Kvarving
371b2592f5
changed: put ParallelIstlInformation in separate compile unit
2022-08-18 09:15:28 +02:00
Atgeirr Flø Rasmussen
c94ff12e4c
Bugfix and simplification of cartesian mapping.
...
We already have the mapping available, and using the equilGrid() is only valid
on rank 0.
2022-08-17 14:13:13 +02:00
Arne Morten Kvarving
d2ba2e75e8
remove include of Well header
2022-08-11 11:49:42 +02:00
Atgeirr Flø Rasmussen
a5c8d40cfa
Remove unneeded timeIdx arguments, also silence other warnings.
2022-08-10 10:01:54 +02:00
Atgeirr Flø Rasmussen
cabe64cc58
Further reduction of modifications.
2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
5fba14373b
Modification to reduce PR to minimal changes.
2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
5042b02138
Rename method and move to impl file.
2022-08-09 11:11:36 +02:00
hnil
4f6755025c
-prototype on trueimpes in new system
...
-probably better threading
2022-08-09 11:09:48 +02:00
hnil
6d3b0a7c1f
tried to make openmp work
2022-08-09 11:09:48 +02:00
hnil
5a39724606
added functions for direct setting of well rates contribution to reservoir
2022-08-09 11:09:48 +02:00
hnil
8f5e0940fe
restructuring to be able to call without local indices
2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
93ce28e9a2
Merge pull request #3972 from ElyesAhmed/alugrid2
...
Alugrid2
2022-08-04 15:43:24 +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
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
Elyes Ahmed
cd169660e8
rewriting MaxWellConnections
2022-07-08 13:44:38 +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
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
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
Tong Dong Qiu
1f1fa10927
Fix stdwell apply on GPU
2022-06-24 13:48:59 +02:00
Arne Morten Kvarving
da57e15271
fixed: fix build with dune 2.6
2022-06-20 14:16:43 +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
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
Atgeirr Flø Rasmussen
7fe3839500
Use MatrixBlock consistently, also whitespace cleanup.
2022-06-10 11:08:24 +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
541edeaf67
- add default for CPRW
...
- cleanded code
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
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
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
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
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
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
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
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
Tor Harald Sandve
4b5a53eaeb
Merge pull request #3887 from totto82/init_alt_eps
...
use alternative init for wells with all rates less than eps
2022-04-26 10:46:19 +02:00
Tor Harald Sandve
bd145913e8
use alternative init for wells with all rates less than eps
2022-04-26 09:32:18 +02:00
Atgeirr Flø Rasmussen
75ccd88f4f
Merge pull request #3888 from totto82/stop_tgr2
...
fix trivial group target
2022-04-26 08:34:06 +02:00
Atgeirr Flø Rasmussen
374b25639e
Merge pull request #3872 from totto82/fix_stop_inoperable
...
Fix STOP in combination with inoperable/unsolvable
2022-04-25 10:31:02 +02:00
Tor Harald Sandve
d00a2e2341
fix trivial group target
2022-04-25 08:10:19 +02:00
Tor Harald Sandve
92175cf094
Fix STOP in combination with inoperable/unsolvable
2022-04-22 09:15:09 +02:00
Tor Harald Sandve
c8bef3bcd5
only check if wells has negative potentials if check_well_operabilty=true(default)
2022-04-22 08:19:33 +02:00
Tor Harald Sandve
969dff4ede
Merge pull request #3864 from totto82/regMSW
...
regularize MSW equation when iter > strict_inner_iter
2022-04-21 09:15:15 +02:00
Tor Harald Sandve
03c1884533
Merge pull request #3873 from totto82/aprox_thp
...
tighten approximated solution bhpFromThpLimit from 3 to 0.1 bar
2022-04-21 08:56:57 +02:00
Tor Harald Sandve
fd6cf1ccbd
regularize MSW equation when iter > strict_inner_iter
2022-04-21 08:44:50 +02:00
Håkon Hægland
9d04895ddb
Fix assertion error for 2p oil water
...
VFP calculations for two phase gas lift does not work unless the
rates are adpated to include a zero gas rate.
2022-04-20 21:47:15 +02:00
Håkon Hægland
11907495c1
Well testing of gas lift wells
...
Assign a maximum ALQ value to each GLIFT producer when doing well testing
in beginTimeStep(). This allows the well to be considered open. Then,
later in the timestep, when assemble() is called, the full gas lift
optimization procedure can adjust the ALQ to its correct value.
It is also observed that in some cases when gas lift is switched off by
setting ALQ to zero, and later in the schedule is switched back on again,
it might not be possible to determine bhp from thp for low small ALQ values.
Instead of aborting the gas lift optimization, we should try increasing
ALQ until we get convergence or until the maximum ALQ for the well is
reached.
2022-04-20 10:51:34 +02:00
Tor Harald Sandve
a1d11540a6
tighten approximated solution bhpFromThpLimit from 3 to 0.1 bar
2022-04-19 14:21:20 +02:00
Paul Egberts
17f2365406
clean up comments
2022-04-11 22:15:35 +02:00
Paul Egberts
c2fa5fc5a8
adding three-phase simulator including water evaporation and saltpreciopitation
2022-04-11 21:56:44 +02:00
Tor Harald Sandve
edf8786a58
avoid throw for nan residuals instead return well as unconverged
2022-04-11 09:52:25 +02:00
Markus Blatt
ff410d268a
Merge pull request #3863 from totto82/unsolvable_fix
...
fix to --shut-unsolvable-wells=true option
2022-04-11 07:33:46 +02:00
Paul Egberts
ab3be6dce4
adjustments to account for vaporized water
2022-04-08 22:36:39 +02:00
Tor Harald Sandve
6f29bf715c
Merge pull request #3778 from GitPaean/always_inner
...
[testing] always using inner iterations for testing purpose.
2022-04-08 15:44:33 +02:00
Tor Harald Sandve
e501a84958
support item 4 wvfpexp
2022-04-08 08:43:13 +02:00
Tor Harald Sandve
e2e0ec9dd9
fix to --shut-unsolvable-wells=true option
2022-04-05 14:42:27 +02:00
Tor Harald Sandve
fba9046201
Some more clean-up based on review
2022-04-04 11:37:31 +02:00
Tor Harald Sandve
69ffed06de
Address comments from review
...
1) Add debug messages
2) Fix bug of missing else in the code
2022-04-04 08:24:32 +02:00
Tor Harald Sandve
5b53fcd8a6
guard against d = 0
2022-04-04 08:24:32 +02:00
Tor Harald Sandve
2e91d2f353
Do not throw when d = 0 instead continue with rs/rv = 0
2022-04-04 08:24:32 +02:00
Atgeirr Flø Rasmussen
245a87e296
Merge pull request #3851 from totto82/doublecheckecon
...
Avoid premature closing of wells due to econ limits
2022-04-01 10:01:47 +02:00
Kai Bao
aa633ff98f
reconstructing the if structure for has_energy
...
in StandardWell<TypeTag>::
calculateSinglePerf()
2022-03-31 22:38:55 +02:00
Tor Harald Sandve
8909b259d0
don't shut wells due to ratio when rate is negative
2022-03-28 10:50:15 +02:00
Tor Harald Sandve
71acf4e056
Double check econ potential limits
...
Sometimes the potentials are inaccurate as a safty measure we
also check that the rates are violated.
The rates are supposed to be less or equal to the potentials.
2022-03-28 10:50:15 +02:00
Bård Skaflestad
0cd2ce6589
Merge pull request #3824 from totto82/notswitchthp
...
Avoid switching to thp control if production is decreasing or injection is increasing
2022-03-25 14:34:30 +01:00
Tor Harald Sandve
f4d81e33f1
Avoid switching to thp control if it results in higher rates
2022-03-25 09:12:15 +01:00
Tor Harald Sandve
2d6794f077
Merge pull request #3849 from hakonhagland/glift_debug_rank
...
Cleanup gaslift debugging output code
2022-03-24 14:13:33 +01:00
Håkon Hægland
a3c131955f
Omit one redundant debugging message
2022-03-24 13:47:57 +01:00