Commit Graph

464 Commits

Author SHA1 Message Date
Stein Krogstad
7c91c015cf updates according to Atgeirrs comments 2023-12-07 13:09:00 +01:00
Stein Krogstad
94cde80235 always set wells operable to avoid skipping linear solve/updating 2023-12-07 13:09:00 +01:00
Stein Krogstad
2121373e4f clean-up 2023-12-07 13:09:00 +01:00
Stein Krogstad
ee16e90ba2 fix well-convergence for well-copies 2023-12-07 13:09:00 +01:00
Stein Krogstad
03366b92eb include thp-solve for potentials 2023-12-07 13:09:00 +01:00
Stein Krogstad
3e6732a67b rename to implicit_ipr 2023-12-07 13:09:00 +01:00
Stein Krogstad
7aa50f149f updates 2023-12-07 13:09:00 +01:00
Stein Krogstad
94c0b49cf7 revert changes 2023-12-07 13:09:00 +01:00
Kai Bao
3aed0b9501 not updating the connection pressure for StandardWell
at the early stage of computeWellRatesWithBhpIterations. The perforation rates are not updated,
and it is not sensible to update based on the inconsistent well rates and perforation rates.

Better to keep the original explicit quantities for better consistency.

Furthermore, it can be dangerous to update the explicit quantities based on the
irrelevant perforation rates, since the ratios can be very undesirable due to crossflow.
2023-11-23 09:13:57 +01:00
Tor Harald Sandve
ee77d30fe5 Add output of connection dissolved gas and vapporized oil 2023-11-21 14:29:40 +01:00
Tor Harald Sandve
82cb3c3b53 Fix connection and well dfactor
The well dfactor is scaled by the well index

If postive the connection dfactor is threated as a well factor
and also scaled. If negative the connection dfactor is not scaled
2023-11-16 14:50:59 +01:00
Tor Harald Sandve
0f12977b17 only use d factor for gas wells 2023-11-14 12:45:25 +01:00
Atgeirr Flø Rasmussen
749ea93e24 Add and use OPM_DEFLOG_PROBLEM macro.
This should replace OPM_DEFLOG_THROW in places where the problem
category is more appropriate than the error category.

In this commit, uses of OPM_DEFLOG_THROW have been replaced whenever
the exception class used was NumericalProblem.
2023-11-08 15:16:17 +01:00
David Landa Marban
c93d46c1be Mult well trans due to perm reduction in salt prec 2023-10-31 22:11:55 +01:00
Bård Skaflestad
bf72698310
Merge pull request #4832 from totto82/wdaccor_refactor
Implement Forchheimer term in wellIndex
2023-10-31 17:46:49 +01:00
Kai Bao
3e03ebbb58 making a few assertion to throw in StandardWellPrimaryVariables
to get more outputting information and also avoid harsh termination due
to assert.

They are technically numerical problem instead of programming mistakes.
2023-10-26 11:36:25 +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
a525f0865f removing white spaces in the wells folder 2023-10-09 11:14:48 +02:00
Kai Bao
b1974bbe45 recovering the SHUT during iteration beahvoir in prepareWellBeforeAssembling
when local_well_solver_control_switching_ is off
and incoporating commenst regarding resetting wellStatus_ in StandardWell within
the function iterateWellEqWithSwitching.
2023-09-29 10:55:19 +02:00
Kai Bao
e38e557bbc cleaning up to preapre for pull request 2023-09-29 10:55:19 +02:00
Stein Krogstad
035d216641 adding function iterateWellEqWithSwitching
when we do the local solve for well equations, control/status will be
updated during the iteration process, such that the converged well gets
correct control/status regarding to the current reservoir state.

various change in the other parts of the code were made to make the
function work as intended.
2023-09-29 10:51:04 +02:00
Tor Harald Sandve
c239427233 add solvent contribution to the gas potential 2023-09-06 13:23:55 +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
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
Arne Morten Kvarving
fffb3d9f0e suppress unused lambda capture warnings with clang 2023-06-27 14:35:35 +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
Kai Bao
cc9ee9c059 support WINJMULT 2023-06-27 12:49:25 +02:00
Arne Morten Kvarving
9f681e8193 put formating of invalid d-value error in helper function 2023-06-23 10:49:19 +02:00
Arne Morten Kvarving
bbdfa35a62 changed: put calculation of injection gas-water perf rates in separate method 2023-06-23 10:45:10 +02:00
Arne Morten Kvarving
79c4797cd5 changed: put calculation of injection gas-oil perf rates in separate method 2023-06-23 10:33:07 +02:00
Arne Morten Kvarving
e0003eb6d6 changed: put calculation of gas-oil volume ratio in separate method 2023-06-23 09:40:09 +02:00
Arne Morten Kvarving
fdfd181629 changed: put calculation of vaporized and dissolved water volume ratio in separate method 2023-06-23 09:40:07 +02:00
Arne Morten Kvarving
516320699e changed: put calculation of production gas-water perf rates in separate method 2023-06-23 09:35:02 +02:00
Arne Morten Kvarving
21aa783d88 changed: put calculation of production gas-oil perf rates in separate method 2023-06-23 09:29:49 +02:00
Arne Morten Kvarving
e7bb51740e cosmetics 2023-06-23 08:47:11 +02:00
Arne Morten Kvarving
a994394dca changed: use {fmt} in connectionRateEnergy 2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
9574e40ac4 changed: put calculation of energy connection rate in separate method 2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
b3fd64d915 changed: put calculation of polymer connection rate in separate method 2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
4041644171 changed: put calculation of foam connection rate in separate method 2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
c239cbd14f changed: put calculation of zFraction connection rate in separate method 2023-06-22 14:35:41 +02:00
Arne Morten Kvarving
b1cafa25ca changed: put calculation of micp connection rates in separate method 2023-06-22 14:35:41 +02:00
Arne Morten Kvarving
8b38943485 changed: put calculation of brine connection rate in separate method 2023-06-22 14:35:40 +02:00
Arne Morten Kvarving
768a4903a3 reorganize (Std|MS)Well::computeWellPotentials
put shared parts in WellInterfaceGeneric::computeWellPotentials and
WellInterfaceGeneric::checkNegativeWellPotentials
2023-06-22 11:28:59 +02:00
Arne Morten Kvarving
7b33cc6d62 move computeConnLevel(Inj|Prod)Ind to WellInterface
now code is shared between STW and MSW
2023-06-22 09:58:58 +02:00