diff --git a/test/cosseratenergytest.cc b/test/cosseratenergytest.cc index edaaffe9020b6839d20cd71149c70d0e884a4ea0..0b0821e8b7457c6ae79cef9352f1d989c8a5f044 100644 --- a/test/cosseratenergytest.cc +++ b/test/cosseratenergytest.cc @@ -316,7 +316,11 @@ void testEnergyGradient() for (size_t k=0; k<gradient[j].size(); k++) diff = std::max(diff, std::fabs(gradient[j][k] - fdGradient[j][k])); - if (diff > 1e-4) { + double maxRelError = 0; + for (size_t j=0; j<gradient.size(); j++) + maxRelError = std::max(maxRelError, diff/gradient[j].infinity_norm()); + + if (maxRelError > 1e-3) { std::cout << "Analytical and FD gradients differ!" << std::endl;