Commit Graph

252 Commits

Author SHA1 Message Date
Bård Skaflestad
bf72698310
Merge pull request #4832 from totto82/wdaccor_refactor
Implement Forchheimer term in wellIndex
2023-10-31 17:46:49 +01:00
Kai Bao
beda7a0b35 checking LIFTOPT active before trying to optimizing alq
in gliftBeginTimeStepWellTestIterateWellEquations.

otherwise, if the increment is 0 (inactive), the function
gliftBeginTimeStepWellTestIterateWellEquations
might return undesired results or enter endless loop.
2023-10-25 23:00:54 +02:00
Kai Bao
2b97c3fe1d checking LIFTOPT active before gliftBeginTimeStepWellTestUpdateALQ
to avoid meaningless message output related to GLIFT and WTEST
2023-10-25 21:45:19 +02:00
Tor Harald Sandve
90e791877c Implement Forchheimer term in wellIndex
Add output of CDFAC

Add effect of compaction on CTFAC
2023-10-23 08:55:21 +02:00
Kai Bao
a525f0865f removing white spaces in the wells folder 2023-10-09 11:14:48 +02:00
Kai Bao
b1974bbe45 recovering the SHUT during iteration beahvoir in prepareWellBeforeAssembling
when local_well_solver_control_switching_ is off
and incoporating commenst regarding resetting wellStatus_ in StandardWell within
the function iterateWellEqWithSwitching.
2023-09-29 10:55:19 +02:00
Kai Bao
e38e557bbc cleaning up to preapre for pull request 2023-09-29 10:55:19 +02:00
Stein Krogstad
035d216641 adding function iterateWellEqWithSwitching
when we do the local solve for well equations, control/status will be
updated during the iteration process, such that the converged well gets
correct control/status regarding to the current reservoir state.

various change in the other parts of the code were made to make the
function work as intended.
2023-09-29 10:51:04 +02:00
Bård Skaflestad
bb04054d2c
Merge pull request #4842 from totto82/wellPressGW
use gas pressure for gas-water system in the well model
2023-09-07 12:47:05 +02:00
Kai Bao
529af98ce9 setting uninitialized bhp to be bhp_limit in updateWellStateWithTarget
to avoid uninitialized bhp 0. to be used.
2023-09-07 08:50:37 +02:00
Tor Harald Sandve
8796fa1ccc use gas pressure for gas-water system in the well model 2023-09-06 13:46:18 +02:00
Arne Morten Kvarving
92fa9577da consistently use std::size_t 2023-08-15 09:32:10 +02:00
Arne Morten Kvarving
60b92d02eb WellFilterCake: make stateful 2023-07-07 16:08:42 +02:00
Kai Bao
1981a3bf4d switching to scale the mobility instead of the well index
mostly to make the calculation of productivity easier.
2023-07-06 15:58:30 +02:00
Kai Bao
eb08e2e863 cleaning up implementation related to filter cake 2023-07-05 13:25:03 +02:00
Kai Bao
7e5f1a1642 slightly different way to calculate the skin factor
for the radial model of the filter cake.

not tested yet.
2023-07-05 13:25:03 +02:00
Kai Bao
4cb3574e0f incoporate keyword WINJCLN
still in draft state.
2023-07-05 13:25:03 +02:00
Kai Bao
43196800b6 a draft version for for RADIAL model for WINJDAM 2023-07-05 13:25:03 +02:00
Kai Bao
aa5062683d a draft version for the linear geomery WINJDAM 2023-07-05 13:25:03 +02:00
Kai Bao
5e4cb8aeed WIP in using the filter cake to generate the skin factor 2023-07-05 13:25:03 +02:00
Kai Bao
49774186ab calculating the accumulative water injection volume
for each connection
2023-07-05 13:25:03 +02:00
Arne Morten Kvarving
7b33cc6d62 move computeConnLevel(Inj|Prod)Ind to WellInterface
now code is shared between STW and MSW
2023-06-22 09:58:58 +02:00
Arne Morten Kvarving
01c4aa1927 move updateWellStateWithTHPTargetProd to WellInterface
to share implementation between STW and MSW
2023-06-22 09:10:38 +02:00
Kai Bao
5f344eef26 avoid dividing by zero in updateWellStateRates() 2023-06-20 23:14:50 +02:00
Arne Morten Kvarving
2630522d7f avoid unused variable warning with NDEBUG 2023-05-24 12:39:24 +02:00
Arne Morten Kvarving
0406a033a2 introduce getMobility in WellInterface
we now share implementation between StandardWell and MultisegmentWell
2023-05-15 21:39:59 +02:00
Kai Bao
1542f2c087 refactor the network update
moving the well controls and network update out of assembleImpl to avoid
call assmebleImpl in a recursive manner
2023-04-20 14:59:50 +02:00
Håkon Hægland
e241fccbca Only iterate wells activated for gaslift 2023-04-13 11:08:30 +02:00
Håkon Hægland
4ba5e3efad Iterate ALQ when testing gaslift well
When testing a gaslift well under THP control, if the
well does not converge with maximum alq, try to reduce alq
in increments until well equations converge.
2023-04-13 10:40:29 +02:00
Kai Bao
9304542dbe combining wellIsStopped and wellUnderZeroRateTaget
for better readability.
2023-03-29 14:40:50 +02:00
Kai Bao
b6eecf5c55 not updating the THP for zero rate controlled wells 2023-03-29 13:48:34 +02:00
Kai Bao
f4e0a996b9 wells under zero injection target are also treated as stopped well
when formulating the well control equations
2023-03-29 13:48:34 +02:00
Bård Skaflestad
9524348401
Merge pull request #4549 from totto82/resv_undersat
fix RESV for undersaturated wells
2023-03-29 10:35:33 +02:00
Tor Harald Sandve
42527ac829 fix RESV for undersaturated wells 2023-03-27 16:03:40 +02:00
Kai Bao
2c5a4398c9 make sure zero production rates are obtained for the following wells
1. stopped production wells
2. production wells under zero rate control

We guarantee the objective through enforce zero values for the WQTotal
primary variable during the initialization and update process during the
Newton solution.
2023-03-27 13:24:08 +02:00
hnil
aa40d2f0f3 -- prepared for possibliy of not using cached intentensive quantities 2023-03-24 19:57:31 +01:00
Kai Bao
57bf959efd update well state when switching to THP control for producers
hopefully, it begins at a reasonably good initial point. When the Newton
iteration begins with certian solution region, the nonlinear solution
might fail.
2023-02-07 14:50:07 +01:00
Markus Blatt
d2f55c59fc
Merge pull request #4359 from totto82/fixGPMAINT2
Fix GPMAINT for groups without control
2023-01-23 14:12:00 +01:00
Arne Morten Kvarving
7b2b18045e adjust to upstream enum changes 2023-01-18 11:24:25 +01:00
Arne Morten Kvarving
c0e9193e50 WellInterface: move code using WellMICPProperties to compile unit 2023-01-13 14:11:46 +01:00
Arne Morten Kvarving
f74f2ded8e add missing WellMICPProperties.hpp includes 2023-01-13 14:01:56 +01:00
Arne Morten Kvarving
d011bb29ae StandardWell: move code using WellPolymerProperties to compile unit 2023-01-13 13:02:37 +01:00
Arne Morten Kvarving
f860490c9f WellInterface: move code using WellPolymerProperties to compile unit 2023-01-13 13:02:37 +01:00
Arne Morten Kvarving
97f76412ae add missing WellPolymerProperties.hpp includes 2023-01-13 13:02:37 +01:00
Arne Morten Kvarving
71bf868ddb WellInterface: move code using WellBrineProperties to compile unit 2023-01-13 11:14:18 +01:00
Arne Morten Kvarving
131f52773f add missing WellBrineProperties.hpp includes 2023-01-13 11:14:18 +01:00
Arne Morten Kvarving
a29d5f81b6 WellInterface: move code using WellFoamProperties to compile unit 2023-01-13 10:18:26 +01:00
Arne Morten Kvarving
a0f85c8a93 add missing WellFoamProperties.hpp includes 2023-01-13 10:18:26 +01:00
Tor Harald Sandve
ceb8d996aa Fix GPMAINT for groups without control
If GPMAINT is used the group does not need a valid control object
2023-01-10 15:59:21 +01:00
Arne Morten Kvarving
a020a993b5 WellInterface: use {fmt} to format error messages 2022-12-23 09:39:29 +01:00