diff --git a/MaterialLib/SolidModels/KelvinVector-impl.h b/MaterialLib/SolidModels/KelvinVector-impl.h index eafe29cdf5f18acf36465572934204f163838abf..182533b27d991e679abea7812ae326c24ab21834 100644 --- a/MaterialLib/SolidModels/KelvinVector-impl.h +++ b/MaterialLib/SolidModels/KelvinVector-impl.h @@ -15,8 +15,8 @@ template <int KelvinVectorSize> double Invariants<KelvinVectorSize>::equivalentStress( Eigen::Matrix<double, KelvinVectorSize, 1> const& deviatoric_v) { - assert(std::abs(trace(deviatoric_v)) < - std::numeric_limits<double>::epsilon() * 100); + assert(std::abs(trace(deviatoric_v)) <= + 1e-16 * std::abs(deviatoric_v.squaredNorm())); return std::sqrt(3 * J2(deviatoric_v)); } @@ -24,8 +24,8 @@ template <int KelvinVectorSize> double Invariants<KelvinVectorSize>::J2( Eigen::Matrix<double, KelvinVectorSize, 1> const& deviatoric_v) { - assert(std::abs(trace(deviatoric_v)) < - std::numeric_limits<double>::epsilon() * 100); + assert(std::abs(trace(deviatoric_v)) <= + 1e-16 * std::abs(deviatoric_v.squaredNorm())); return 0.5 * deviatoric_v.transpose() * deviatoric_v; } @@ -35,8 +35,8 @@ template <int KelvinVectorSize> double Invariants<KelvinVectorSize>::J3( Eigen::Matrix<double, KelvinVectorSize, 1> const& deviatoric_v) { - assert(std::abs(trace(deviatoric_v)) < - std::numeric_limits<double>::epsilon() * 100); + assert(std::abs(trace(deviatoric_v)) <= + 1e-16 * std::abs(deviatoric_v.squaredNorm())); return determinant(deviatoric_v); }