Arne Morten Kvarving
e7738e70dc
BlackoilWellModel: move numLocalNonshutWells to generic class
2023-06-22 08:27:05 +02:00
Arne Morten Kvarving
aaa1006e2b
BlackoilWellModel: move numLocalWellsEnd to generic class
2023-06-22 08:26:01 +02:00
Arne Morten Kvarving
dd9a2835fe
BlackoilWellModel: move getMaxWellConnections to generic class
2023-06-22 08:26:01 +02:00
Arne Morten Kvarving
7ab8d94215
BlackoilWellModel: move assignWellTracerRates to generic class
2023-06-22 08:26:00 +02:00
Arne Morten Kvarving
2327768db6
anonymize unused parameter
2023-06-21 08:55:11 +02:00
Arne Morten Kvarving
f88bf57388
use temporary helper variable
2023-06-21 08:54:53 +02:00
Vegard Kippe
d6d4b94b25
Parameterized iteration limits in network solver
2023-06-16 12:15:06 +02:00
Atgeirr Flø Rasmussen
654df6fd59
Well additions for local solves.
...
Also, remove uneeded function updatePerforationIntensiveQuantities().
2023-06-15 16:49:12 +02:00
Atgeirr Flø Rasmussen
bc9cfc8cd5
Add methods for getting and setting primary variables.
...
These can be used to manage state in the well models, and will
be used in the NLDD solver option. Also added the setupDomains()
method, as the getters and setters are working on a domain basis.
2023-06-13 15:31:30 +02:00
Tor Harald Sandve
7cf3f69cf9
Add gaswater solvent
...
Fix some places that assumed 3p + solvent
2023-05-26 16:24:38 +02:00
Kai Bao
d30e1f7a2a
adding comment to address reviewing comments for PR#4598
2023-05-08 13:55:30 +02:00
Kai Bao
926228401a
moving function needRebalanceNetwork to BlackoilWellModelGeneric
2023-05-08 13:26:23 +02:00
Kai Bao
fa39f1f183
adding max_iter and relaxation_iter for updateWellControlsAndNetwork
...
to avoid getting stuck during the iteration.
2023-05-08 10:43:49 +02:00
Kai Bao
b9348ee435
try to honor the network balance tolerance
...
without considering the iteration number. Because of the different
implementaion from other simulators, it is difficult to honour
procedure-dependent parameters.
2023-05-08 10:43:49 +02:00
Kai Bao
6148e97771
we dampen the nodal pressure update for each iteration
...
to improve the network update convergence. The current network update is
somehow explicit.
2023-05-08 10:43:49 +02:00
Kai Bao
bb7ed4d78e
making sure to update the pressure when needing network balance
2023-05-08 10:43:49 +02:00
Kai Bao
5536b24a84
fixing the comilation from the reverted commit
...
the interface has changed.
2023-05-08 10:43:49 +02:00
Kai Bao
8644801ac8
adding function balanceNetwork
...
not compiling yet due to the change in the master branch
2023-05-08 10:43:49 +02:00
Kai Bao
b3a6009b1b
network pressure needs to be updated even without wells open
...
mostly to make the comparison plot against reference results easier for
the network nodal pressures.
2023-05-08 10:43:49 +02:00
Kai Bao
0f4da07aaf
when a well is in a network node with nodal pressure
...
setting the dynamic thp limit with the the nodal pressure.
2023-05-08 10:43:49 +02:00
Kai Bao
79eeeae16e
addressing the reviewing comments for PR #4596
2023-04-20 15:47:31 +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
Kai Bao
ceba5c468b
Merge pull request #4572 from GitPaean/tightenging_tolerance_for_zero_rate_wells
...
stricter tolerance for wells with zero rate target
2023-04-14 11:19:35 +02:00
Bård Skaflestad
c52ab4ccd5
Merge pull request #4347 from atgeirr/afr_well_assemble_separate
...
Implement functionality to add well source terms to the residual separately
2023-03-31 11:10:01 +02:00
Kai Bao
7c06ec38a3
stricter tolerance for wells with zero rate target
...
for StandardWell only at this moment.
2023-03-30 15:49:27 +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
a2ae7d5bed
Fix resv for groups
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
hnil
122a478341
added more timing macros
2023-03-21 22:44:14 +01:00
Atgeirr Flø Rasmussen
2964bd409e
Use diagonal matrix block pointers for well source terms.
2023-03-08 16:41:36 +01:00
hnil
e705dc41c2
modification to to well assembly form well side to avoid asking for wells on all cells
2023-03-08 16:41:36 +01:00
Arne Morten Kvarving
a72a9e55a0
BlackoilWellModel: prefer std::make_unique
2023-02-13 16:04:03 +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
7a1cf45ed5
BlackoilWellModel: move code using WellTestConfig to compile unit
2023-01-17 07:22:17 +01:00
Arne Morten Kvarving
cc4fd831a8
add missing WellTestConfig.hpp includes
2023-01-17 06:04:56 +01:00
Arne Morten Kvarving
c0f809e640
BlackoilWellModel: mode code using WellConnections to compile unit
2023-01-12 13:06:25 +01:00
Arne Morten Kvarving
93e59e73ac
use Well::hasConnections
2023-01-12 12:54:23 +01:00
Tor Harald Sandve
f2ea6ce844
Add support for FIP*
2023-01-11 14:39:23 +01:00
Arne Morten Kvarving
bba9c2a297
move Balance usage to BlackoilWellModelGeneric
...
now we do not need to include Balance.hpp in simulator objects
2023-01-11 11:26:25 +01:00
Arne Morten Kvarving
09dc3d9449
add missing Balance.hpp includes
2023-01-11 11:26:25 +01:00
Arne Morten Kvarving
469b38c321
remove unnecessary <Runspec.hpp> includes
2023-01-05 13:18:32 +01:00
Arne Morten Kvarving
e7f921825c
BlackoilWellModel: use {fmt} to format error message
2022-12-22 08:35:27 +01:00
Tor Harald Sandve
60d0116080
we now use group_info in stage 2 and need to make sure its communicated
2022-12-07 15:43:25 +01:00
Arne Morten Kvarving
4a2fcd5f09
added: MultisegmentWellEquations::extract(WellContributions&)
...
this adds the well matrices to a WellContributions object.
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
b24f22312e
added: StandardWellEquations::getNumBlocks()
...
this returns the number of blocks in in B/C matrices.
use the new method in the well implementation.
2022-11-22 10:37:40 +01:00
Arne Morten Kvarving
65efe8e1fc
added: StandardWellEquations::extract(WellContributions&)
...
this adds the well matrices to a WellContributions object.
this is the core of StandardWellEval::addWellContributions.
use the new method in the implementation.
2022-11-22 10:36:54 +01:00
Tor Harald Sandve
9c8f778495
Compute the group rates that takes into account limitation on the sublevels
2022-11-21 08:58:49 +01:00
Håkon Hægland
43244c2132
Change condition under which stage 2 is done.
...
It only makes sense to try to optimize the distribution of lift gas if
the amount of lift gas is constrained either by the maximum allowed
gaslift or total gas or the group is under individual control.
2022-11-21 08:58:49 +01:00
Arne Morten Kvarving
f367e4fb7b
changed: use return value
...
no reason to pass a reference here, just use return
2022-10-31 10:35:52 +01:00