Commit Graph

223 Commits

Author SHA1 Message Date
Arne Morten Kvarving
a67e8c44b4 registerOpenWellsForWbpCalculation: move to BlackoilWellModelGeneric 2024-12-19 12:58:50 +01:00
Arne Morten Kvarving
3d10b549e7 setPrimaryVarsDomain: move to BlackoilWellModelGeneric 2024-12-19 12:58:50 +01:00
Arne Morten Kvarving
a36d40957b getPrimaryVarsDomain: move to BlackoilWellModelGeneric 2024-12-19 12:58:50 +01:00
Arne Morten Kvarving
5217e63309 logPrimaryVars: move to BlackoilWellModelGeneric 2024-12-19 12:58:50 +01:00
Arne Morten Kvarving
82a9698d27 added: support a scaling factor for well efficiency 2024-12-17 08:41:25 +01:00
Tor Harald Sandve
1180ad2652 Allow for the third group switch 2024-12-10 09:41:21 +01:00
Tor Harald Sandve
095c0457bc Code improvment for the group control switching
Pass the controls as enums not strings
Avoid pair as key in map
2024-12-06 13:56:00 +01:00
Tor Harald Sandve
128e80ec7a Maximum allowed oscillation for groups part 2
Set a parameter for maximum allowed oscillation of group controls
The parameter is only used for iter > nupcol
2024-12-04 09:17:46 +01:00
Tor Harald Sandve
73a28a7abb Maximum allowed oscillation for groups part 1 2024-12-03 09:21:38 +01:00
Tor Harald Sandve
42e17219b6
Merge pull request #5724 from totto82/changeNUPCOL
Changes in how the simulator handles NUPCOL
2024-12-02 10:29:09 +01:00
Tor Harald Sandve
d0bcf54b00
Merge pull request #5767 from totto82/network_sub_iter
Network sub iter
2024-11-27 15:48:12 +01:00
Tor Harald Sandve
93206349c8 Add sub iterations for balancing the network 2024-11-27 14:21:05 +01:00
Vegard Kippe
74fa148cd7 Support GCONSUMP on multiple levels in the group hierarchy 2024-11-25 22:26:24 +01:00
Tor Harald Sandve
b32e2f6b32 Guard against small rates in fraction calculation 2024-11-25 15:44:28 +01:00
Stein Krogstad
ef14bf6e45 fix typos 2024-11-25 11:15:43 +01:00
Stein Krogstad
cf877332ab Subtract reduction rate when checking higher group constraints 2024-11-25 11:15:43 +01:00
Tor Harald Sandve
554acb4019 Also update REIN if REIN changes significantly 2024-11-25 08:39:43 +01:00
Tor Harald Sandve
120416f358 dont shut well with GRUP control that struggles to converge 2024-11-22 11:05:08 +01:00
Tor Harald Sandve
71614ea5b0 Add parameter --nupcol_group_rate_tolerance to be able to set the relative tolerance. Default is 0.001 2024-11-20 17:46:31 +01:00
Tor Harald Sandve
7639450ce1 Update VREP even for iter > nupcol if VREP changes significant 2024-11-20 17:46:31 +01:00
Bård Skaflestad
0240922cf4 Handle WELPI from ACTIONX Separately From Constraints
This commit switches to using the 'welpi_wells' information from the
SimulatorUpdate structure as a basis to decide the wells for which
it is safe/sufficient to update only the CTFs in response to an
ACTIONX block running WELPI.  To this end, we split the actions of
the existing member function updateEclWells() into two parts,

  1. updateEclWellsConstraints()
  2. updateEclWellsCTFFromAction()

in which the first handles well status and well control updates
while the second deals with CTF updates in response to WELPI.  We do
not run the second part if the well structure has changed--e.g., due
to COMPDAT or WELOPEN--since the update loop depends on a static
connection topology.

We add a new member function wellUpdateLoop() which will traverse a
sequence of well names and invoke a loop body on those wells which
exist in wells_ecl_.  This collects common operations needed for
both the constraints and the CTF updates.
2024-10-29 14:06:08 +01:00
Vegard Kippe
ca9cad3f07 Properly update multipliers after cleaning, and ensure that the cleaning occurs before the multipliers are applied to the well. 2024-10-07 19:35:10 +02:00
Vegard Kippe
e19063d957 Fix 'off-by-a-step' error in filter cake cleaning + refactor slightly 2024-10-07 19:35:10 +02:00
Bård Skaflestad
5914744f7c
Merge pull request #5546 from totto82/fix_no_wells
BUGFIX Fix no wells case
2024-08-21 09:36:16 +02:00
Tor Harald Sandve
e584e05435 Fix shut wells case for output of gas mass injected rates 2024-08-21 08:50:57 +02:00
Arne Morten Kvarving
bc1fd4f01c BlackoilWellModelGeneric: optionally instantiate for float
BlackoilWellModelRestart: optionally instantiate for float
these need to be in the same commit due to circular dependencies
2024-08-20 12:31:07 +02:00
Arne Morten Kvarving
dcbd1c7baf BlackoilWellModelGeneric: convert input data to appropriate Scalar type 2024-08-20 12:31:07 +02:00
Lisa Julia Nebel
f59fb57d4b Fix two tests for opening new well connections in an ACTIONX with the keyword COMPDAT 2024-08-16 10:16:04 +02:00
Tor Harald Sandve
25b56c39aa Pass gas mass rate to summary 2024-08-14 09:01:10 +02:00
Markus Blatt
9dbaad2b3e
Merge pull request #5423 from blattms/bugfix/mswell-exceptions-are-problems
Only indicate problems for exceptions whem updating well potentials,
2024-06-20 14:33:17 +02:00
Markus Blatt
58ede5e789 Only indicate problems for exceptions whem updating well potentials,
Nearly all exceptions throw when computing well potentoals will not
abort the simulator but result in timestep chops. Hence those should not be
counted as errors (e.g. by calling the OPM_*THROW* macros) and be
reported in the PRT file.

This change will cause at least two more  occurences (in
MSWellHelpers) to be treated as problems. For this we added a new
helper function.
2024-06-12 14:25:37 +02:00
Svenn Tveit
adc36d64a5 Output rates to multisegment wells 2024-06-10 14:50:55 +02:00
Bård Skaflestad
151de07fa7 Collect Well Level Control Limits/Targets for Summary Output
This commit adds a new stage to the wellData() report function,
assignWellTargets(), which collects the numerical values of the
currently active limits/targets for summary file output purposes.
It is important that we collect these values strictly before we
start mutating the SummaryState object lest user-defined arguments
in keywords like WCONPROD be evaluated seemingly too soon.
Furthermore, it is faster to collect these values on the simulator
side and send them to the I/O rank for file output than to defer the
full calculation to the I/O rank.
2024-06-06 09:13:57 +02:00
Kai Bao
e968da28bb renaming calcRates to calcResvCoeff
and calcInjRates to calcInjResvCoeff.
2024-05-29 22:29:12 +02:00
Atgeirr Flø Rasmussen
6a7e1e08c0 Avoid memory leak from the *unique_ptr<X>.release() antipattern. 2024-05-28 16:49:08 +02:00
Arne Morten Kvarving
16f5290038 ParallelWellInfo: template Scalar type 2024-05-22 09:48:22 +02:00
Arne Morten Kvarving
11b5ba3f18 WellInterfaceGeneric: template Scalar type 2024-05-14 10:26:58 +02:00
Arne Morten Kvarving
772b00bc19 GasLiftGroupInfo: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
f0e7f8842b BlackoilWellModelGeneric: template Scalar type 2024-04-23 11:33:33 +02:00
Arne Morten Kvarving
3d381bac91 BlackoilWellModelGuideRates: template Scalar type 2024-04-22 15:39:51 +02:00
Arne Morten Kvarving
77f9692277 BlackoilWellModelConstraints: template Scalar type 2024-04-22 15:39:51 +02:00
Arne Morten Kvarving
ddd61f4176 BlackoilWellModelRestart: template Scalar type 2024-04-22 15:39:51 +02:00
Arne Morten Kvarving
aa03d06c4d WellGroupHelpers: template Scalar type 2024-04-19 11:28:40 +02:00
Arne Morten Kvarving
7354bc6371 GroupEconomicLimitsChecker: template Scalar type 2024-04-17 11:21:34 +02:00
Arne Morten Kvarving
be57843296 WellState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
ab0e696709 SingleWellState: template Scalar type 2024-04-17 11:12:40 +02:00
Tor Harald Sandve
2210b523e4 Close worst-offending well based on ratio between violated and preferred phase 2024-04-03 09:16:39 +02:00
Tor Harald Sandve
920ad68782 Implement WELL as group limit action
And remove G as unsupported option in WTEST
2024-04-03 08:51:09 +02:00
Bård Skaflestad
4a87dcf5f3 Use In-place Construction of PerforationData Objects
This is (slightly) faster than construct + copy.
2024-03-19 09:16:23 +01:00
Arne Morten Kvarving
c5eb0816e6 fixed: we need to call loadRestartData on all processes
we need to read in group data even if there are no
local wells
2024-03-12 11:08:07 +01:00