testing removing fucntion invertMatrix

This commit is contained in:
Kai Bao 2023-09-26 14:07:33 +02:00
parent 8705cd16ad
commit 01f87304e5
2 changed files with 8 additions and 4 deletions

View File

@ -161,7 +161,7 @@ void StandardWellEquations<Scalar,numEq>::invert()
{
try {
invDuneD_ = duneD_; // Not strictly need if not cpr with well contributions is used
detail::invertMatrix(invDuneD_[0][0]);
invDuneD_[0][0].invert();
} catch (NumericalProblem&) {
// for singular matrices, use identity as the inverse
invDuneD_[0][0] = 0.0;

View File

@ -55,13 +55,17 @@ BOOST_AUTO_TEST_CASE(Invert4x4)
matrix[3][0] = 5;
matrix[0][3] = 14;
double det = Opm::detail::invertMatrix4<Opm::detail::FMat4>(matrix, inverse);
const double det = matrix.determinant();
BOOST_CHECK_CLOSE(4, det, 1e-14);
inverse = matrix;
inverse.invert();
// check matrix * inverse close to identiy
checkIdentity(matrix.rightmultiply(inverse));
// check singular matrix
BOOST_CHECK_THROW(Opm::detail::invertMatrix4<Opm::detail::FMat4>(matrix_sing, inverse),
Opm::NumericalProblem);
// BOOST_CHECK_THROW(Opm::detail::invertMatrix4<Opm::detail::FMat4>(matrix_sing, inverse),
// Opm::NumericalProblem);
//
BOOST_CHECK_THROW(matrix_sing.invert(), Dune::FMatrixError);
}