Commit Graph

110 Commits

Author SHA1 Message Date
Arne Morten Kvarving
7ffceeba57 fixed: make some indices constexpr
also use the bool conditions for conditional deref'ing with the indices.
this helps avoid maybe uninitialized warnings with gcc
2020-10-01 11:46:31 +02:00
Tor Harald Sandve
c2c009ecb6 clean-up based on review 2020-09-14 15:42:48 +02:00
Tor Harald Sandve
1a7b617074 guards against non-exsisting phases 2020-09-14 14:44:16 +02:00
Markus Blatt
49ed3d6468 Removes rest of the commented out code introduced with applyUMFPack. 2020-08-20 10:17:33 +02:00
Markus Blatt
0c0be3a941 Reset duneDSolver only once. 2020-08-18 17:55:50 +02:00
Markus Blatt
ae8e2fb8c2 Removed commented out code from MSWell. 2020-08-18 17:55:50 +02:00
Markus Blatt
7261759065 Reuse UMFPack decomposition whenever possible.
We hold a shared pointer to the umpfack solver that gets reset
whenever the matrix is changed. When applying the decomposition
we will be recomputed if the solver pointer is null.
2020-08-18 17:55:50 +02:00
Kai Bao
a38dc27bcb refactoring for iterateWellEquations 2020-08-11 09:10:19 +02:00
Kai Bao
11807747cb renaming solveWellEqUntilConverged to be iterateWellEquations 2020-08-11 09:10:19 +02:00
Tor Harald Sandve
fc45b1bd47 Add inner iterations for standard wells also 2020-08-11 09:10:19 +02:00
Markus Blatt
faaee51d09
Merge pull request #2682 from Tongdongq/openclSolver
Added openclSolver
2020-07-10 13:38:32 +02:00
Tor Harald Sandve
88ee892fdf pass the saltConcentration to the waterPVT 2020-07-02 13:44:01 +02:00
Tor Harald Sandve
6a7e816368 Add brine to output 2020-06-30 14:15:54 +02:00
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
Joakim Hove
195d2b1c21 Rename SpiralICD -> SICD 2020-05-28 11:10:51 +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
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
Tor Harald Sandve
904353367d compute initial volume fractions on the well copies also 2020-05-08 19:29:20 +02:00
Joakim Hove
da5042c538 Update connection <-> segment implementation 2020-04-30 14:53:35 +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
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
766d02cacc Unify group control equation codes. 2020-04-02 13:54:58 +02:00
Tor Harald Sandve
92ee56c3b3 scale guiderate by current well rate 2020-04-02 13:54:47 +02:00
Atgeirr Flø Rasmussen
27f62399f5 Handle guide-rate based well constraints from groups. 2020-04-02 10:41:57 +02:00
Joakim Hove
9268bcb2ac InjectorType enum is moved out from Well class 2020-03-03 09:08:02 +01:00
Arne Morten Kvarving
bea2459c65 replace boost::optional with std::optional 2020-02-19 11:20:16 +01:00
Joakim Hove
150dc54e79
Merge pull request #2298 from totto82/muliple-group-inj-phases
Allow for multiple group injection phases
2020-02-14 10:31:45 +01:00
Joakim Hove
3ff6279eea Remove unused members when serializing WellSegments 2020-02-13 08:47:24 +01:00
Tor Harald Sandve
2d2ec82640 fix MPI 2020-02-11 09:33:58 +01:00
Tor Harald Sandve
e39e327451 fix 2p 2020-02-11 09:33:58 +01:00
Tor Harald Sandve
469ffa2cbe allow for multiple group injection phases 2020-02-11 09:30:19 +01:00
Atgeirr Flø Rasmussen
63a2460ed4 Bugfix: correct well efficiency factors for MSW
With this, the conservation equations for the mswell are in terms of
effective flows. This is similar to the treatment for standard wells.
The alternative (formulating the equations in full rates) could be
better and clearer in the long run.
2019-12-23 12:37:20 +01:00
Arne Morten Kvarving
c14a991b25
Merge pull request #2235 from totto82/wellEffFix
Fix bug in the well efficiency factor
2019-12-20 08:31:16 +01:00
Tor Harald Sandve
29c2a3da3f only count group under group control when accumulating the group potentials 2019-12-18 11:40:06 +01:00
Tor Harald Sandve
6aafdba80d fix well efficency factor 2019-12-18 10:29:04 +01:00