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