diff --git a/Applications/FileIO/SWMM/SWMMInterface.cpp b/Applications/FileIO/SWMM/SWMMInterface.cpp index 0b5b4cc27a8b423c6a953ae1631ed0e59b2bfd3f..3ffd27a0f7655a586f6638abab1a160875b81b64 100644 --- a/Applications/FileIO/SWMM/SWMMInterface.cpp +++ b/Applications/FileIO/SWMM/SWMMInterface.cpp @@ -617,7 +617,6 @@ bool SwmmInterface::readSubcatchments(std::ifstream &in, std::map< std::string, return false; } - sc.outlet = std::numeric_limits<std::size_t>::max(); auto const it = name_id_map.find(split_str[2]); if (it == name_id_map.end()) { diff --git a/MathLib/LinAlg/Lis/LisLinearSolver.cpp b/MathLib/LinAlg/Lis/LisLinearSolver.cpp index 95cde280cfe43faa089a949cbebe4f2b8789eb97..9829c95bd61a33896b97c791518f468af27f4168 100644 --- a/MathLib/LinAlg/Lis/LisLinearSolver.cpp +++ b/MathLib/LinAlg/Lis/LisLinearSolver.cpp @@ -55,11 +55,15 @@ bool LisLinearSolver::solve(LisMatrix &A, LisVector &b, LisVector &x) { int precon; ierr = lis_solver_get_precon(solver, &precon); + if (!checkLisError(ierr)) + return false; INFO("-> precon: %i", precon); } { int slv; ierr = lis_solver_get_solver(solver, &slv); + if (!checkLisError(ierr)) + return false; INFO("-> solver: %i", slv); } diff --git a/MathLib/LinAlg/Lis/LisMatrix.cpp b/MathLib/LinAlg/Lis/LisMatrix.cpp index 5b075ebc256951fa60b9ee42dfd7921ee89f0774..6cccbfae9f8cb1205865b819dc4faf89d73167c2 100644 --- a/MathLib/LinAlg/Lis/LisMatrix.cpp +++ b/MathLib/LinAlg/Lis/LisMatrix.cpp @@ -63,7 +63,10 @@ LisMatrix::~LisMatrix() { int ierr = 0; if (_use_external_arrays) + { ierr = lis_matrix_unset(_AA); + checkLisError(ierr); + } ierr = lis_matrix_destroy(_AA); checkLisError(ierr); ierr = lis_vector_destroy(_diag);