Commit Graph

287 Commits

Author SHA1 Message Date
T.D. (Tongdong) Qiu
8913e1d057 Make sure OpenCL can be used without CUDA 2020-06-25 18:44:49 +02:00
Tor Harald Sandve
43d434d42e trivial clean up 2020-06-17 08:39:19 +02:00
Tor Harald Sandve
e9d040a284 Fix upwining for friction, acceleration, valve and SIGD for MSW
Note 1:
The rate vectors used for the pressure equation now contains derivatives wrt to the upwind segment for fractions.
To make sure derivatives wrt. to different segmens gets mixed we disregard the derivatives for the properties (density, viscosity) evaluated at the upwind segment.

Note 2:
A factor 2 is added to the velocity head term similar as in the friction term

Note 3:
A sign change is added to the acceleration term for massrates > 0. Is this correct. It seems like the reference simulator does this.
2020-06-17 08:39:19 +02:00
Joakim Hove
baba9b6773
Merge pull request #2642 from joakim-hove/icd-variant
Use std::variant access to Segment::icd
2020-06-11 11:32:08 +02:00
Joakim Hove
be5f3ff2e1 Use std::variant access to Segment::icd 2020-06-10 20:41:14 +02:00
Kai Bao
23a9f4732b
Merge pull request #2666 from atgeirr/msw-log-output-cleanup
Prettifying and reducing log output from MSW.
2020-06-10 19:44:01 +02:00
Atgeirr Flø Rasmussen
dd8e42958a Prettifying and reducing log output from MSW. 2020-06-10 16:36:17 +02:00
Joakim Hove
5b940836ec Remove MultisegmentWell::calculateSICDFlowScalingFactors() 2020-06-04 14:13:14 +02:00
Atgeirr Flø Rasmussen
6f1a159adc
Merge pull request #2611 from totto82/improveConvergenceMSW
Improve convergence msw
2020-05-30 17:00:30 +02:00
Tor Harald Sandve
b11d805e45 fix output message 2020-05-29 15:40:44 +02:00
Atgeirr Flø Rasmussen
b5bee4d114 Treat zero rate case for VFP tables. 2020-05-29 14:06:51 +02:00
Joakim Hove
195d2b1c21 Rename SpiralICD -> SICD 2020-05-28 11:10:51 +02:00
Bård Skaflestad
4ea5b7e989 Check GCONSALE Limits: Remove Unused Variable
Fixes a warning.
2020-05-24 13:16:47 +02:00
Tor Harald Sandve
8a5c9e82df add run time parameters for msw convergence tuning. Default values are set to minimize convergence failures for model2 based tests. These parameters are also tested on bigger models with good results 2020-05-22 20:52:14 +02:00
Tor Harald Sandve
ec7c6e236d increase segment volume to stabilize to improve convergence 2020-05-22 20:52:14 +02:00
Tor Harald Sandve
d49c590879 apply the relaxtion factor on the pressure change not the max pressure change limit 2020-05-22 20:52:14 +02:00
Tor Harald Sandve
cf702a5384 use relaxed tolerance for MSW when solution stagnates 2020-05-22 20:52:14 +02:00
Markus Blatt
55b3a65230
Merge pull request #2628 from Tongdongq/multisegmentwells-gpu
cusparseSolver can now handle MultisegmentWells
2020-05-22 16:24:58 +02:00
T.D. (Tongdong) Qiu
98a8dac155 Passing std::vectors to pass data for C and B faster. Variables for D are initialized in initializer list. 2020-05-21 11:41:15 +02:00
T.D. (Tongdong) Qiu
04ee2be348 cusparseSolver can now handle MultisegmentWells, they are actually applied on CPU via SuiteSparse/UMFPACK 2020-05-15 16:40:34 +02:00
Atgeirr Flø Rasmussen
5aa2a785af Correct messages for group control switching. 2020-05-14 17:31:21 +02:00
Bård Skaflestad
e786c713fb
Merge pull request #2600 from totto82/improve_msw_convergence_clean
compute initial volume fractions on the well copies
2020-05-11 17:45:37 +02:00
Tor Harald Sandve
904353367d compute initial volume fractions on the well copies also 2020-05-08 19:29:20 +02:00
Atgeirr Flø Rasmussen
8dd53a38e9 Refactor SimulatorReport system.
Now SimulatorReport object contains a vector of SimulatorReportSingle objects,
for both successful and failing steps.
2020-05-07 16:13:39 +02:00
Atgeirr Flø Rasmussen
7dbbc0f2e5
Merge pull request #2588 from totto82/addMinMaxSupportGCONSALE
Implement min/max for GCONSALE
2020-05-05 15:46:36 +02:00
Tor Harald Sandve
85e95fb87d Implement min/max for GCONSALE
Only default action RATE is implemented for violation of maximum sales target
2020-05-05 14:24:17 +02:00
Tor Harald Sandve
f33737afc4 Fix solvent reinjection when different reinjection group is given 2020-05-05 10:46:49 +02:00
Joakim Hove
da5042c538 Update connection <-> segment implementation 2020-04-30 14:53:35 +02:00
Bård Skaflestad
9756edce50 Remove Unused 'currentControl' Variable 2020-04-27 21:29:10 +02:00
Atgeirr Flø Rasmussen
06e5e6b6ac
Merge pull request #2565 from totto82/avoidOscNupcol
use nupcol to avoid oscillation between group controls
2020-04-27 16:02:32 +02:00
Tor Harald Sandve
33afb332fa use nupcol to avoid oscilation between group controls 2020-04-27 10:29:00 +02:00
Tor Harald Sandve
a046977946 Fix GCONSALE
1) Only check GCONSALE limits at the end of a timestep. NB. The simulator still throws if some of the limits are violated
2) BUGFIX: don't remove gas consumption twice
2020-04-24 16:10:07 +02:00
Atgeirr Flø Rasmussen
c4e020c179
Merge pull request #2556 from totto82/test_atg
Fix how the group reduction works
2020-04-24 11:13:22 +02:00
Tor Harald Sandve
e9476e116e make sure the current_rate is added at the right level 2020-04-23 20:54:59 +02:00
Tor Harald Sandve
3b479af9c4 Fix the fix on how the group reduction works 2020-04-23 09:45:16 +02:00
Atgeirr Flø Rasmussen
0df3a96fa6 Fix how group rate reductions work. 2020-04-23 09:39:03 +02:00
Bård Skaflestad
9625d0b48c
Merge pull request #2531 from GitPaean/msw_keywords
adding the summary output for several pressure drop values for MSW
2020-04-17 20:54:49 +02:00
Kai Bao
954e5e769a addressing comments from OPM/opm-common#1695 2020-04-17 14:34:48 +02:00
Joakim Hove
6260bb7851 Update api for checking availability for group control 2020-04-17 13:03:56 +02:00
Kai Bao
251c09a288 adding the several pressure drop values to WellState for MSW
segpress_ and segrates_ are renamed to help the name style.
2020-04-17 00:38:38 +02:00
Atgeirr Flø Rasmussen
e7e4cf6f20 Silence warnings and fix whitespace. 2020-04-08 10:41:20 +02:00
Tor Harald Sandve
97876530e3 include wells under individual control when accumulating guiderates 2020-04-03 10:03:05 +02:00
Tor Harald Sandve
70b7bed057 dont check if group has converged in solveWellEq 2020-04-02 13:57:38 +02:00
Atgeirr Flø Rasmussen
f30ddffdb7 Split WellGroupHelpers to cpp/hpp.
Also changed namespace name.
2020-04-02 13:57:38 +02:00
Tor Harald Sandve
21b98b5573 Avoid negative targets and currentWellRates 2020-04-02 13:57:38 +02:00
Atgeirr Flø Rasmussen
d2dac6c19c Bugfix: rates in assembleControlEqProd() are by canonical phases, not active. 2020-04-02 13:57:38 +02:00
Atgeirr Flø Rasmussen
a8107afc11 Fix handling of FIELD for injector groups. 2020-04-02 13:57:38 +02:00
Tor Harald Sandve
66931b9cb7 Various fixes and refactoring.
- Communicate all well rates.
 - When changing controls, modify rates to satisfy failed constraint.
 - Ensure targets are positive.
 - Always solve for potentials for MSW (temporary fix).
2020-04-02 13:57:05 +02:00
Atgeirr Flø Rasmussen
3a5a8c23df Use generic control equation implementation. 2020-04-02 13:54:58 +02:00
Atgeirr Flø Rasmussen
d703699e62 Avoid recursion above the FIELD group. 2020-04-02 13:54:58 +02:00