From 7b0b8bdb20aa0a0ab737117356c5838f0481cf99 Mon Sep 17 00:00:00 2001 From: Denis Davydov Date: Thu, 17 Mar 2016 15:41:29 +0100 Subject: [PATCH] fix arpack/step-36_ar test to run on Ubuntu 14.04 + GNU compilers + MKL --- tests/arpack/step-36_ar.cc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tests/arpack/step-36_ar.cc b/tests/arpack/step-36_ar.cc index 52dafbd4e7..498793a742 100644 --- a/tests/arpack/step-36_ar.cc +++ b/tests/arpack/step-36_ar.cc @@ -212,7 +212,7 @@ namespace Step36 template std::pair EigenvalueProblem::solve () { - SolverControl solver_control (dof_handler.n_dofs(), 1e-9); + SolverControl solver_control (dof_handler.n_dofs(), 1e-10); SparseDirectUMFPACK inverse; inverse.initialize (stiffness_matrix); const unsigned int num_arnoldi_vectors = 2*eigenvalues.size() + 2; @@ -241,14 +241,22 @@ namespace Step36 Utilities::int_to_string(i) + " and " + Utilities::int_to_string(j) + - " are not orthonormal!")); + " are not orthonormal!" + " failing norm is " + + Utilities::to_string( + std::abs( eigenfunctions[j] * Bx - (i==j) ) + ) + )); stiffness_matrix.vmult(Ax,eigenfunctions[i]); Ax.add(-1.0*std::real(eigenvalues[i]),Bx); Assert (Ax.l2_norm() < 1e-8, ExcMessage("Returned vector " + Utilities::int_to_string(i) + - " is not an eigenvector!")); + " is not an eigenvector!" + " L2 norm of the residual is " + + Utilities::to_string(Ax.l2_norm()) + )); } } for (unsigned int i=0; i