Commit Graph

2058 Commits

Author SHA1 Message Date
Arne Morten Kvarving
896cb8484d added: option to disable the BDA solvers 2023-08-11 11:00:07 +02:00
Atgeirr Flø Rasmussen
1a59c91c51 Silence release-mode warning. 2023-08-09 12:06:20 +02:00
Kai Bao
c46f60103e adding perf_data comparison in equality operator for SingleWellState 2023-08-08 14:52:49 +02:00
hnil
c065d34d0e -- added more timing to get better coverage of amg solver
-- added includes needed
2023-07-24 12:28:08 +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
1796b3343b improved messages text 2023-07-13 13:15:54 +02:00
Paul
7302c37b78 Enable items, 11, 12 and 13 of GCONPROD 2023-07-12 20:44:10 +02:00
Bård Skaflestad
8c9682ab7a Split Well and Group Initialization Out to Helper
In preparation of adding support for opening/creating wells or
groups in the middle of a report step.  This is needed if an
ACTIONX block runs something like WELOPEN or WELSPECS/COMPDAT.
2023-07-12 17:23:14 +02:00
Bård Skaflestad
e965f6f27f Prune Unused Well State Parameter
The WellState parameter in setCmodeGroup() became unused when we
split the GroupState out of the WellState in commit e1d117c59f.
2023-07-12 17:23:14 +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
Bård Skaflestad
ff9e6ca18a
Merge pull request #4745 from akva2/filtercake_separate_class
FilterCake: put code in separate class
2023-07-07 16:51:23 +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
Bård Skaflestad
95d715b807 Add Parallel Calculation Support for WBPn/WPAVE
This commit adds a parallel calculation object derived from the serial
PAvgCalculator class.  This parallel version is aware of MPI
communicators and knows how to aggregate contributions from wells that
might be distributed across ranks.

We also add a wrapper class, ParallelWBPCalculation, which knows how to
exchange information from PAvgCalculatorCollection objects on different
ranks and, especially, how to properly prune inactive cells/connections.
2023-07-07 15:01:05 +02:00
Stein Krogstad
b1c11f6d88 Move function to WellInterfaceGeneric 2023-07-07 13:13:43 +02:00
Stein Krogstad
252d08f1bd No need to loop over phases here 2023-07-07 13:13:43 +02:00
Stein Krogstad
2f8d210896 Also do explicit fallback for double-interp 2023-07-07 13:13:43 +02:00
Stein Krogstad
2dcebd4bdd Rephrase explicit to prev(uous) 2023-07-07 13:13:43 +02:00
Stein Krogstad
ab98e477c4 Use explicit rates as fallback for small FLO 2023-07-07 13:13:42 +02:00
Stein Krogstad
5212d20a96 Add explicit rates to well state 2023-07-07 13:12:34 +02:00
Kai Bao
e264042c62 refining the function updateInjFCMult
for code improvements.
2023-07-07 09:32:03 +02:00
Kai Bao
22269c92c3 adding regression tests for filtration cake model 2023-07-06 23:38:53 +02:00
Kai Bao
1981a3bf4d switching to scale the mobility instead of the well index
mostly to make the calculation of productivity easier.
2023-07-06 15:58:30 +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
274c431492 tracking filtration particle volume instead of water injection volume
for filter cake calculation. The main reason is that the injection
concentration may vary during the simulation, which makes the tracking
of water injection volume is not very helpful when used for filter cake
calculation.
2023-07-05 13:25:03 +02:00
Kai Bao
eb08e2e863 cleaning up implementation related to filter cake 2023-07-05 13:25:03 +02:00
Kai Bao
7e5f1a1642 slightly different way to calculate the skin factor
for the radial model of the filter cake.

not tested yet.
2023-07-05 13:25:03 +02:00
Kai Bao
4cb3574e0f incoporate keyword WINJCLN
still in draft state.
2023-07-05 13:25:03 +02:00
Kai Bao
43196800b6 a draft version for for RADIAL model for WINJDAM 2023-07-05 13:25:03 +02:00
Kai Bao
aa5062683d a draft version for the linear geomery WINJDAM 2023-07-05 13:25:03 +02:00
Kai Bao
5e4cb8aeed WIP in using the filter cake to generate the skin factor 2023-07-05 13:25:03 +02:00
Kai Bao
49774186ab calculating the accumulative water injection volume
for each connection
2023-07-05 13:25:03 +02:00
Bård Skaflestad
77fe28979e Calculate Segment Phase and Mixture Densities for Summary Output
This commit adds logic and backing storage in the SegmentState to
provide the segment level summary vectors

  - SDENx -- Phase density of phase 'x' (O, G, W)
  - SDENM -- Mixture density without flowing fraction exponents
  - SMDEN -- Mixture density with flowing fraction exponents

We defer the calculation of SDENM and, especially, SMDEN, to the
MultisegmentWellSegments class since this class maintains the
current flowing fractions.
2023-07-05 11:05:26 +02:00
Alf Birger Rustad
93a0bb0de3 improve message when shutting well due to convergence issues 2023-07-04 14:15:53 +02:00
Atgeirr Flø Rasmussen
363163b156 Silence unused capture warning. 2023-06-28 16:21:05 +02:00
Bård Skaflestad
9de535098f
Merge pull request #3764 from atgeirr/aspin
Add nonlinear solver based on domain decomposition method
2023-06-28 15:49:56 +02:00
Bård Skaflestad
82a2d284fb
Merge pull request #4686 from GitPaean/support_winjmult_rebase
Support  WINJMULT
2023-06-27 15:40:06 +02:00
Bård Skaflestad
37fe56451b
Merge pull request #4719 from akva2/connection_rate_to_connections
Move connection rate helpers to StandardWellConnections
2023-06-27 15:19:57 +02:00
Kai Bao
f78f8e45f7 addressing the review comments 2023-06-27 14:46:11 +02:00
Arne Morten Kvarving
fffb3d9f0e suppress unused lambda capture warnings with clang 2023-06-27 14:35:35 +02:00
Arne Morten Kvarving
adfe80cba0 avoid dead stores 2023-06-27 13:40:54 +02:00
Arne Morten Kvarving
62a2ee1713 StandardWell: move connectionRatezFraction to Connections class 2023-06-27 13:23:21 +02:00
Arne Morten Kvarving
56014ccff9 StandardWell: move connectionRatePolymer to Connections class 2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
bf5108d09f StandardWell: move connectionRatesMICP to Connections class 2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
2f6623993a StandardWell: move connectionRateFoam to Connections class 2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
73ece47d97 StandardWell: move connectionRateBrine to Connections class 2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
41a38cc9d6 WellInterfaceGeneric: add accessor for well_efficiency_factor 2023-06-27 13:22:08 +02:00