Kai Bao
61150b8c33
make CompWellEquations singular-matrix fallback robust for all block sizes
...
CompWellEquations::invert() replaced a singular well matrix with the identity
only when detail::invertMatrix() threw Opm::NumericalProblem, which happens
just for the 4x4 block (three-component wells). For other sizes a singular
matrix either throws Dune::FMatrixError (generic path) or silently produces
inf/NaN (e.g. the 3x3 path used by two-component wells), so the fallback was
bypassed and the Newton update became NaN. Catch both exception types and
additionally detect a non-finite inverse.
Add tests/test_compwell_equations.cpp covering the Schur-complement
solve/recoverSolutionWell/apply against dense references, plus the singular
fallback for both the 4x4 (throws) and 3x3 (silent inf/NaN) paths.
2026-07-01 13:56:43 +02:00
..
2025-10-13 21:56:30 +02:00
2026-06-04 13:43:31 +02:00
2025-10-13 21:56:30 +02:00
2026-06-10 12:15:01 +02:00
2025-10-02 10:22:55 +02:00
2026-06-10 14:02:33 +02:00
2025-09-30 10:24:09 +02:00
2017-01-18 11:42:34 +01:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2024-11-08 12:42:39 +01:00
2025-10-13 21:56:30 +02:00
2023-04-12 09:41:23 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2024-11-08 12:42:39 +01:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2026-01-21 14:58:28 +01:00
2026-01-21 14:58:28 +01:00
2026-05-29 09:09:38 +02:00
2025-12-17 11:53:22 +01:00
2026-02-17 15:41:08 +01:00
2026-01-03 16:30:09 +01:00
2026-05-18 15:50:02 +02:00
2026-03-24 07:20:39 +01:00
2025-10-13 21:56:30 +02:00
2026-05-29 09:09:38 +02:00
2019-06-03 11:42:30 +02:00
2020-12-17 14:54:59 +01:00
2020-12-07 15:40:51 +01:00
2024-11-08 12:42:39 +01:00
2025-08-21 13:09:24 +02:00
2025-10-13 21:56:30 +02:00
2022-01-17 13:57:29 -03:00
2022-01-17 13:57:29 -03:00
2026-02-27 11:19:51 +01:00
2026-02-27 11:19:51 +01:00
2019-06-05 15:12:52 +02:00
2026-06-25 15:39:02 +02:00
2026-06-25 15:39:02 +02:00
2026-06-25 15:39:02 +02:00
2026-06-25 15:39:02 +02:00
2026-06-25 15:39:02 +02:00
2026-06-25 15:39:02 +02:00
2024-08-09 15:29:27 +02:00
2026-06-29 16:13:24 +02:00
2025-03-12 11:33:48 +01:00
2025-10-13 21:56:30 +02:00
2019-06-03 11:42:30 +02:00
2020-12-17 14:54:59 +01:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2026-05-22 12:20:51 +02:00
2025-10-02 10:22:55 +02:00
2025-10-13 21:56:30 +02:00
2025-12-13 08:00:12 +01:00
2023-06-09 10:08:29 +02:00
2025-05-14 16:09:18 +02:00
2025-08-28 09:03:23 +02:00
2023-07-04 14:56:10 +02:00
2026-06-10 12:15:01 +02:00
2026-06-03 11:59:08 +02:00
2026-06-10 11:06:17 +02:00
2026-07-01 13:56:43 +02:00
2026-07-01 13:56:43 +02:00
2022-12-20 10:14:13 +01:00
2025-10-02 10:22:55 +02:00
2024-11-05 11:17:28 +01:00
2026-06-10 12:15:01 +02:00
2019-06-26 10:48:41 +02:00
2025-10-02 10:22:55 +02:00
2026-06-04 06:11:36 +02:00
2025-10-02 10:22:55 +02:00
2026-03-05 09:32:47 +01:00
2024-09-10 15:44:16 +02:00
2024-08-27 10:50:06 +02:00
2023-04-12 09:41:23 +02:00
2026-01-20 09:28:36 +01:00
2025-10-09 09:36:27 +02:00
2026-02-26 17:35:14 +01:00
2023-12-04 12:40:55 +01:00
2026-02-26 17:35:14 +01:00
2025-10-02 10:22:55 +02:00
2023-02-16 14:49:38 +01:00
2023-02-16 17:32:04 +01:00
2024-01-29 09:42:49 +01:00
2024-01-29 09:42:49 +01:00
2025-09-05 16:16:00 +02:00
2025-09-30 10:24:09 +02:00
2026-03-24 07:20:39 +01:00
2024-02-02 12:53:11 +01:00
2022-09-09 15:30:30 +02:00
2026-05-11 23:07:27 +02:00
2026-06-16 13:58:24 +00:00
2026-06-12 14:21:04 +02:00
2026-06-19 08:34:34 +02:00
2026-03-31 13:56:01 +02:00
2022-08-25 12:48:53 +02:00
2026-06-05 17:51:43 +02:00
2024-04-24 10:30:46 +02:00
2026-02-20 13:28:11 +01:00
2024-09-03 12:35:44 +02:00
2025-01-23 07:57:44 +01:00
2026-05-27 10:12:06 +02:00
2024-12-18 16:35:13 +01:00
2024-05-22 10:51:07 +02:00
2019-05-08 12:58:19 +02:00
2025-08-28 12:51:16 +02:00
2026-02-20 13:28:11 +01:00
2026-02-24 11:38:54 +01:00
2025-10-02 10:22:55 +02:00
2026-03-05 09:32:47 +01:00
2023-12-21 10:48:58 +01:00
2025-02-04 10:02:14 +01:00
2024-02-28 12:08:24 +01:00
2026-05-27 10:12:06 +02:00
2026-05-27 10:12:06 +02:00
2025-11-27 14:00:07 +01:00
2026-02-13 09:19:59 +01:00
2024-11-04 12:31:34 +01:00
2026-02-23 13:18:29 +01:00
2025-02-19 14:30:46 +01:00
2024-10-11 11:47:50 +02:00
2025-07-10 14:22:18 +02:00
2024-10-16 09:32:19 +02:00
2024-10-16 09:32:19 +02:00
2026-06-25 15:39:02 +02:00
2024-11-05 11:17:28 +01:00
2025-10-02 10:22:55 +02:00
2025-07-10 14:22:18 +02:00
2022-10-12 15:28:38 +02:00
2025-03-31 12:10:24 +02:00
2026-03-26 15:23:47 +01:00
2026-06-04 06:11:36 +02:00
2026-06-04 06:11:36 +02:00
2026-02-24 07:59:48 +01:00
2025-10-02 10:22:55 +02:00
2025-10-02 10:22:55 +02:00
2024-09-04 13:47:33 +02:00
2026-06-25 15:39:02 +02:00
2026-06-05 14:14:29 +02:00
2025-10-02 10:22:55 +02:00
2026-06-30 12:43:23 +02:00
2025-10-13 21:56:30 +02:00
2024-11-08 12:42:39 +01:00
2025-10-13 21:56:30 +02:00
2026-06-04 06:11:36 +02:00
2024-11-08 12:42:39 +01:00
2026-01-20 09:28:36 +01:00
2026-03-26 15:23:47 +01:00
2026-01-20 10:59:10 +01:00
2026-05-29 23:09:56 +02:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2024-11-08 12:42:39 +01:00
2024-11-08 12:42:39 +01:00
2025-10-13 21:56:30 +02:00
2025-10-13 21:56:30 +02:00
2024-11-08 12:42:39 +01:00
2025-10-13 21:56:30 +02:00
2024-11-08 12:42:39 +01:00