Commit Graph

2205 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
a52877081e
Merge pull request #5046 from blattms/comm-exception-wetgaspvt-sat-pressure
[fix,MPI] Handle exception during assembleWellEqWithoutIteration correctly
2023-12-08 13:02:42 +01:00
Stein Krogstad
051f4d4eab Remove early-return functionality due to unintended consequences 2023-12-08 00:36:39 +01:00
Markus Blatt
50e1d09a8c Add semicolon to help with indentation. 2023-12-07 16:41:16 +01:00
Markus Blatt
260dac77a5 [MPI] Handle exception during assembleWellEqWithoutIteration correctly
For this particular model WetGasPVT::saturationPressure did throw
because convergence in the newton solver is not reached in 20
iterations. Unfortunately, the exception was only seen on one MPI rank
and the others continued.

With this commit we communicate the problem and throw on all MPI
processes. Time step will be cut as a result.
2023-12-07 15:41:35 +01:00
Stein Krogstad
7c91c015cf updates according to Atgeirrs comments 2023-12-07 13:09:00 +01:00
Stein Krogstad
1fd1c5afc6 Updates according to Atgeirr's comments 2023-12-07 13:09:00 +01:00
Stein Krogstad
00bd006eb4 Fix bugs 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
5083052a3f clean-up, fixing and add debug info 2023-12-07 13:09:00 +01:00
Stein Krogstad
743c7bd120 add argument to get proper conv for well-copies 2023-12-07 13:09:00 +01:00
Stein Krogstad
9a5aef6e5e move function for proper access to well_state 2023-12-07 13:09:00 +01:00
Stein Krogstad
88ede7b7fc revert to original 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
44e17fa615 cleanup thp-solve 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
746e05db5d Include implicit ipr for ms-wells 2023-12-07 13:09:00 +01:00
Stein Krogstad
b287981e5e testing 2023-12-07 13:09:00 +01:00
Stein Krogstad
7aa50f149f updates 2023-12-07 13:09:00 +01:00
Stein Krogstad
2470b20d13 final revert 2023-12-07 13:09:00 +01:00
Stein Krogstad
94c0b49cf7 revert changes 2023-12-07 13:09:00 +01:00
Bård Skaflestad
d2ee47de7f
Merge pull request #5041 from steink/prevent_nans_for_valve_models
Guard against nans from certain expressions in the valve models
2023-12-06 19:42:32 +01:00
Stein Krogstad
4355a94511 make reference to parameter 2023-12-06 14:45:18 +01:00
Markus Blatt
abd387abba
Merge pull request #5036 from blattms/comm-sigular-mat-exception
Communicate exceptions during WellModel::updateAndCommunicate
2023-12-06 09:54:00 +01:00
Stein Krogstad
a483839caa return zero for powers with negative base 2023-12-05 21:28:54 +01:00
Markus Blatt
3a9c586d19 Make sure that problems with singular matrices are logged.
Previously, if the problem occured on an MPI process with rank other
than zero the the logging would not seen (at least in the output
files). Now together with the previous commit the problem should be
logged together with the well name and calling method.
2023-12-04 23:15:08 +01:00
Markus Blatt
779dd74923 Communicate exceptions during WellModel::updateAndCommunicate
For multi segment well the underlying call to
MultisegmentWell::updateWellStateWithTarget (at least if
updateWellStateWithTHPTargetProd is called for a producer under thp
control) might throw as there might be a singular matrix during the
solve needed in MultisegmentWell::iterateWellEqWithControl.

Previously, if that happened then the MPI process where it happened would
stop the nonlinear iteration as failed and try with a chopped time
step. The others might go one with the current time step and we would
see MPI errors about truncated messages.

Now we communicate any exception happening during this part of
WellModel::updateAndCommunicate and all processes will stop the
nonlinear iteration as failed and chop the time step.
2023-12-04 22:26:55 +01:00
Vegard Kippe
55067636f4 Ensuring that the UDA is updated every time step, not just only report step. 2023-12-01 19:44:09 +01:00
Vegard Kippe
fa6697a5fa Capture reference in lambda 2023-12-01 13:30:48 +01:00
Vegard Kippe
69f82f1104 Allow using UDQ for WCONPROD item 12 (ALQ) 2023-12-01 13:21:34 +01:00
Vegard Kippe
17452e0fc6 Adding const 2023-12-01 09:34:42 +01:00
Vegard Kippe
0acb148ba7 Using std::exception 2023-11-30 16:13:40 +01:00
Vegard Kippe
2294983759 Catch exceptions from well testing (often: inf/nan in MSW matrices). 2023-11-29 09:17:53 +01:00
Bård Skaflestad
5fe1eafb34
Merge pull request #5026 from totto82/fix_gpmaint2
Bugfix sign of gpmaint prod
2023-11-28 11:16:03 +01:00
Tor Harald Sandve
f7323bd679 fix sign of gpmaint prod 2023-11-27 15:10:11 +01:00
Atgeirr Flø Rasmussen
cb3ab14a71
Merge pull request #5025 from blattms/expect-singular-matrices-upate-WellControl
[bugfix] Expect singular matrices, terminate updateWellControls/nonlinear and cut timestep
2023-11-27 08:42:11 +01:00
Markus Blatt
31ab752ae6 [fix] Parallel try-catch also added for updateWellControls for groups.
Not sure whether this is needed, but better safe than sorry.
2023-11-25 21:04:13 +01:00
Markus Blatt
50c25ead52 [bugfix] Expect singular matrices and terminate updateWellControls.
We are experiencing singular matrices when solving mulisegment wells
sometimes. In that case (here during
BlackoilModelEbos::assembleReservoir <-
BlackoilModelEbos::initialLinerization <-
BlackoilModelEbos:::nonlinearIterationNewton ) an exception is thrown
when updating the controls of a well.

The problem here is that this exception only happens on one
process. That one goes to the catch block in
NonLinearSolverEbos::step, marks the nonlinear solve as failed and
cuts the time step. The others move to the collective communication
below. Somehow and somewhen all end up in a non-matching collective
communication with different data types and we get an MPI Error that
the message was truncated.

Now all processes will throw, terminate the nonlinear solver and cut
the timestep as it should be.
2023-11-25 19:32:11 +01:00
Bård Skaflestad
cd94ac3a7c
Merge pull request #5023 from totto82/wpimult
Adapt wdfac to wpimult
2023-11-23 16:28:32 +01:00
Bård Skaflestad
7343aca2be
Merge pull request #5018 from blattms/parallel-well-fixes
[fix] Do parallel sums with int instead of bool.
2023-11-23 16:24:36 +01:00
Tor Harald Sandve
e1aa233026 Adapt wdfac to wpimult 2023-11-23 15:22:51 +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
Stein Krogstad
b08bc029e6 Fix shut-in logic for wells with shut-intructions 2023-11-22 16:53:48 +01:00
Markus Blatt
6a866ac8d2 [fix] Do parallel sums with int instead of bool.
Using bool here is at least frowned upon. To be honest, I have no idea
what happens underneath here if we pass a bool. In contrast to other
pod types we do not associate it with a builtin type of MPI (not even
sure what to use). Hence we probably create a custom type for sending
and receiving. That should work. But I have no idea what will be used
for summation.

BTW: I am debugging a case that previously crashed and now suddenly
works and this seems to be the only relevant change I made in the
meantime.
2023-11-22 16:50:57 +01:00
Bård Skaflestad
8dca5a931e
Merge pull request #5005 from totto82/fixWDFACCOR
dont scale d factor from wdfaccor with connection factor
2023-11-22 14:55:51 +01:00
Tor Harald Sandve
be06132702 remove trans multiplier from dake 2023-11-22 13:59:06 +01:00
Tor Harald Sandve
4879896789 adapt to refactoring of getDFactor 2023-11-22 09:17:28 +01:00
Tor Harald Sandve
ecd9930225 dont scale d factor from wdfaccor 2023-11-21 17:51:36 +01:00
Tor Harald Sandve
ee77d30fe5 Add output of connection dissolved gas and vapporized oil 2023-11-21 14:29:40 +01:00