Kai Bao
b975ebff65
Merge pull request #4881 from vkip/no_network_solve_in_history
...
Avoid iterating network if no network wells are in prediciton mode
2023-10-16 14:54:36 +02:00
Kai Bao
f5d3489d23
distinguishing report step and time step
...
for the funcitons related to createWellContainer() and
runWellPIScaling().
So it is not exhaustive, but we should do it gradually.
2023-10-11 11:33:02 +02:00
Vegard Kippe
77bb7aa9cf
Let reported pressures (GPR) respect the NETBALAN configuration
2023-10-06 15:15:43 +02:00
Vegard Kippe
389db91839
Slight restructuring/renaming for (possibly) improved clarity.
2023-10-06 15:15:43 +02:00
Vegard Kippe
a8b4c25bfb
Separate network active and need for rebalance bool + perform check per timestep only.
2023-10-06 15:15:43 +02:00
Vegard Kippe
663c62e366
Avoid iterating network if no network wells are in prediciton mode
2023-10-06 15:15:42 +02:00
Vegard Kippe
cc39e04180
Addresing review comments
2023-09-18 13:05:12 +02:00
Håkon Hægland
2f9b136bb1
Implement support for GECON keyword
...
Implement support for item 2 and 3 of the GECON keyword
2023-08-29 01:07:21 +02:00
Arne Morten Kvarving
92fa9577da
consistently use std::size_t
2023-08-15 09:32:10 +02:00
Bård Skaflestad
7f89276fe8
Hook New WBPn Calculation Up to Well Model
...
This commit activates the support for calculating WBPn summary
result values per well in parallel. To affect the calculation we
add two new data members in BlackoilWellModelGeneric:
- conn_idx_map_:
Maps well's connection index (0..getConnections().size() - 1) to
connections on current rank. Its local() connections are
negative 1 (-1) if the connection is not on current rank, and a
non-negative value otherwise. The global() function maps well
connections on current rank to global connection ID for each
well. Effectively the reverse of local(). Finally, the open()
function maps well connections on current rank to open/flowing
connections on current rank. Negative 1 if connection is not
flowing.
- wbpCalculationService:
Parallel collection of WBPn calculation objects that knows how
to exchange source and result information between all ranks in a
communicator. Also handles distributed wells.
We furthermore need a way to compute connection-level fluid mixture
density values. For the standard well class we add a way to access
the StandardWellConnection's 'perf_densities_' values. However,
since these are defined for open/flowing connections only, this
means we're not able to fully meet the requirements of the
WELL/ALL
WPAVE depth correction procedure for standard wells. The
multi-segmented well type, on the other hand, uses the fluid mixture
density in the associated well segment and is therefore well defined
for ALL connections. OPEN well connections are supported for both
well types.
2023-07-10 13:42:46 +02:00
Arne Morten Kvarving
60b92d02eb
WellFilterCake: make stateful
2023-07-07 16:08:42 +02:00
Arne Morten Kvarving
aaeedf4091
put updating of FilterCake multiplier in separate method
2023-07-07 16:08:20 +02:00
Kai Bao
cb74d26e85
WIP in storing the filtration_particle_volume in BlackoilWellModelGeneric
...
instead of PerfData to handle the situation that well can be SHUT and
OPEN again.
2023-07-05 13:25:03 +02:00
Kai Bao
cacec2739c
moving the inj_multiplier to BlackoilWellModelGeneric
...
to handle the situation that a well can be `SHUT` in the Schedule.
If stored in PerfData, when a well is `SHUT`, the inforamtion related to
WINJMULT will be discarded.
Before we want to change how the `PerfData` works, storing
`inj_multiplier` in BlackoilWellModelGeneric is the viable approach.
2023-06-27 12:49:25 +02:00
Kai Bao
b50c404247
adjusting the implementation of WINJMULT support
...
addn relaxed the absolute tolearnce of the parallel running test for
WINJMUT_MSW
2023-06-27 12:49:25 +02:00
Kai Bao
b1fad4bb10
store the inj_multiper in PerfData in WellState
2023-06-27 12:49:25 +02:00
Kai Bao
cc9ee9c059
support WINJMULT
2023-06-27 12:49:25 +02:00
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
Kai Bao
926228401a
moving function needRebalanceNetwork to BlackoilWellModelGeneric
2023-05-08 13:26:23 +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
79eeeae16e
addressing the reviewing comments for PR #4596
2023-04-20 15:47:31 +02:00
Tor Harald Sandve
a2ae7d5bed
Fix resv for groups
2023-03-27 16:03:40 +02:00
Arne Morten Kvarving
72133deadc
added: support for loading serialized state from .OPMRST file
2023-02-16 13:48:36 +01:00
Arne Morten Kvarving
28e7da5468
BlackoilWellModelGeneric: add serialization support
2023-02-16 11:19:06 +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
c0f809e640
BlackoilWellModel: mode code using WellConnections to compile unit
2023-01-12 13:06:25 +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
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
9c61262329
Changed formatting.
2022-11-21 08:58:49 +01:00
Håkon Hægland
bc566e3981
Also check LRAT group target in stage2
...
Also account for a group LRAT limit when removing surplus ALQ in gaslift
optimization stage 2.
2022-11-21 08:58:49 +01:00
Arne Morten Kvarving
9f78e0454d
move guideRateUpdateIsNeeded into BlackoilWellModelGuideRates
2022-10-28 23:33:05 +02:00
Arne Morten Kvarving
d42cdd409b
move assignGroupGuideRates into BlackoilWellModelGuideRates
2022-10-28 23:33:05 +02:00
Arne Morten Kvarving
5e157cd23b
move calculateAllGroupGuideRates into BlackoilWellModelGuideRates
2022-10-28 23:33:05 +02:00
Arne Morten Kvarving
01dfe23a50
move assignWellGuideRates into BlackoilWellModelGuideRates
2022-10-28 23:24:29 +02:00
Arne Morten Kvarving
f19c7b2ee6
move getGuideRateInjectionGroupValues into BlackoilWellModelGuideRates
2022-10-28 22:54:54 +02:00
Arne Morten Kvarving
b6659d6960
move getGuideRateValues(Group) into BlackoilWellModelGuideRates
2022-10-28 22:53:33 +02:00
Arne Morten Kvarving
41b1a38de3
move getGuideRateValues(Well) into BlackoilWellModelGuideRates
2022-10-28 22:50:26 +02:00
Arne Morten Kvarving
dc607ce3ff
add BlackoilWellModelGuideRates
...
start by moving getGuideRateValues
2022-10-28 22:40:38 +02:00
Arne Morten Kvarving
cc306a45b4
move updateGroupIndividualControl into BlackoilWellModelConstraints
2022-10-28 19:32:06 +02:00
Arne Morten Kvarving
e04f20af8e
move actionOnBrokenConstraints into BlackoilWellModelConstraints
2022-10-28 19:32:02 +02:00
Arne Morten Kvarving
82cf0deef4
move checkGroupConstraints into BlackoilWellModelConstraints
2022-10-28 19:19:33 +02:00
Arne Morten Kvarving
df27ec5d4d
move checkGroupProductionConstraints into BlackoilWellModelConstraints
2022-10-28 18:59:40 +02:00
Arne Morten Kvarving
2d9d452fff
add BlackoilWellModelConstraints
...
start by moving hasTHPConstraints
2022-10-28 18:21:43 +02:00
Arne Morten Kvarving
3fdf28508f
move loadRestartData into BlackoilWellModelRestart
2022-10-28 15:30:09 +02:00
Arne Morten Kvarving
35386a79bf
move loadRestartGuideRates(Config) into BlackoilWellModelRestart
2022-10-28 15:24:59 +02:00
Arne Morten Kvarving
2e433a5bc2
move loadRestartGuideRates(Target) into BlackoilWellModelRestart
2022-10-28 15:22:17 +02:00