From 2f18b68f38192f3db01f64e34f74ac584024a0be Mon Sep 17 00:00:00 2001 From: Kai Bao Date: Mon, 17 Nov 2025 12:45:54 +0100 Subject: [PATCH] not creating identity matrix for singular matrix inversion in StandardWellEquations. --- opm/simulators/wells/StandardWellEquations.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/opm/simulators/wells/StandardWellEquations.cpp b/opm/simulators/wells/StandardWellEquations.cpp index 5231342ebf..6649c84f13 100644 --- a/opm/simulators/wells/StandardWellEquations.cpp +++ b/opm/simulators/wells/StandardWellEquations.cpp @@ -159,16 +159,8 @@ void StandardWellEquations::apply(BVector& r) const template void StandardWellEquations::invert() { - try { - invDuneD_ = duneD_; // Not strictly need if not cpr with well contributions is used - detail::invertMatrix(invDuneD_[0][0]); - } catch (NumericalProblem&) { - // for singular matrices, use identity as the inverse - invDuneD_[0][0] = 0.0; - for (std::size_t i = 0; i < invDuneD_[0][0].rows(); ++i) { - invDuneD_[0][0][i][i] = 1.0; - } - } + invDuneD_ = duneD_; // Not strictly need if not cpr with well contributions is used + detail::invertMatrix(invDuneD_[0][0]); } template