From: Denis Davydov Date: Thu, 17 Mar 2016 14:41:29 +0000 (+0100) Subject: fix arpack/step-36_ar test to run on Ubuntu 14.04 + GNU compilers + MKL X-Git-Tag: v8.4.1~3^2~1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16765d612329a5ee373d7eae6f53d51c9b4d6ec7;p=dealii.git fix arpack/step-36_ar test to run on Ubuntu 14.04 + GNU compilers + MKL --- 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