Commit Graph

173 Commits

Author SHA1 Message Date
Stein Krogstad
a9ab62e6b8 Don't set lower bound on network update 2024-01-26 14:58:06 +01:00
Bård Skaflestad
0b2c396a01 Merge pull request #4961 from vkip/network_restart_use_node_pressures
Use network pressures from restart
2023-11-15 09:46:35 +01:00
Vegard Kippe
4ce9c41a37 Replacing loop by assignment 2023-11-10 09:01:09 +01:00
Bård Skaflestad
16c8184e3f Merge pull request #4914 from vkip/extra_network_output
Allow output of network pressures based on rates at end of time step
2023-11-09 23:19:48 +01:00
Kai Bao
25b007c46e Merge pull request #4945 from vkip/network_reroute
Network reroute - avoid looking up nonexisting nodes
2023-11-08 19:59:40 +01:00
Bård Skaflestad
abfb5c9d82 Update Well Topology if Triggered From ACTIONX
This commit adds a new flag data member,

    wellStructureChangedDynamically_

to the generic black-oil well model.  This flag captures the

    well_structure_changed

value from the 'SimulatorUpdate' structure in the updateEclWells()
member function.  Then, in BlackoilWellModel::beginTimeStep(), we
key a well structure update off this flag when set.  This, in turn,
enables creating or opening wells as a result of an ACTIONX block
updating the structure in the middle of a report step.
2023-11-07 17:02:18 +01:00
Vegard Kippe
14b7f926da Avoid looking up nonexisting nodes.. 2023-11-01 13:36:21 +01:00
Vegard Kippe
c9cc261891 Use network pressures from restart 2023-10-30 23:26:35 +01:00
Vegard Kippe
429b312bc0 Re-introducing check for negative reportStepIdx and adding forgotten hasGroup check. 2023-10-27 20:30:48 +02:00
Vegard Kippe
f137565bb6 Avoid exception for non-group nodes 2023-10-26 19:35:56 +02:00
Vegard Kippe
5fbf981af8 Output of network pressures based on rates at end of time step 2023-10-26 19:35:56 +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
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
Vegard Kippe
5bb0942a02 Reverting unintended change. 2023-10-16 10:38:08 +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
dbd1d343e8 Avoid adding/substracting GCONSUMP values per MPI process.. 2023-09-07 14:14:56 +02:00
Tor Harald Sandve
80cbfe7fda Merge pull request #4819 from hakonhagland/gecon3
Implement support for GECON keyword
2023-09-01 15:06:48 +02:00
Kai Bao
f7bd386402 adding the support for filtration_summary_keywords 2023-08-29 21:31:24 +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
Kai Bao
6d011131cd UDQ for the injection concentration for WINJFCNC 2023-08-23 11:44:50 +02:00
Arne Morten Kvarving
92fa9577da consistently use std::size_t 2023-08-15 09:32:10 +02:00
Bård Skaflestad
ac6b9b2f34 Merge pull request #4748 from plgbrts/gconprod
Enable items, 11, 12 and 13 of GCONPROD
2023-07-14 21:30:14 +02:00
Paul
ae553787ba Use struct for collecting group limit actions 2023-07-14 11:20:03 +02:00
Paul
7302c37b78 Enable items, 11, 12 and 13 of GCONPROD 2023-07-12 20:44: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
dcf8a444fd changed: put calculation of filter cake multiplier in WellFilterCake 2023-07-07 16:08:20 +02:00
Arne Morten Kvarving
aaeedf4091 put updating of FilterCake multiplier in separate method 2023-07-07 16:08:20 +02:00
Arne Morten Kvarving
1e7ca08702 changed: put handling of filtration particle volume in separate class 2023-07-07 16:08:17 +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
Alf Birger Rustad
93a0bb0de3 improve message when shutting well due to convergence issues 2023-07-04 14:15:53 +02:00
Kai Bao
f78f8e45f7 addressing the review comments 2023-06-27 14:46:11 +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
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
ee77fa122c updating the thp of the wells during the network update iteration 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
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