Commit Graph

126 Commits

Author SHA1 Message Date
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
bac2087b85 WellProdIndexCalculator: template Scalar type 2024-05-22 15:21:37 +02:00
Arne Morten Kvarving
27d99f78ec ParallelWBPCalculation: template Scalar type 2024-05-22 10:51:12 +02:00
Arne Morten Kvarving
16f5290038 ParallelWellInfo: template Scalar type 2024-05-22 09:48:22 +02:00
Arne Morten Kvarving
81189b89c7 PerforationData: template Scalar type 2024-05-22 09:48:07 +02:00
Arne Morten Kvarving
3747981347 VFPProperties: template Scalar type 2024-05-21 17:01:30 +02:00
Arne Morten Kvarving
11b5ba3f18 WellInterfaceGeneric: template Scalar type 2024-05-14 10:26:58 +02:00
Arne Morten Kvarving
09065dd130 GasLiftSingleWellGeneric: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
25de745dab GasLiftWellState: template Scalar type 2024-04-24 15:31:13 +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
137741e572 WellFilterCake: template Scalar type 2024-04-17 11:13:01 +02:00
Arne Morten Kvarving
15d75c5228 WGState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
67f1811234 GroupState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
be57843296 WellState: 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
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
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
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
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