Author Topic: Difference between TOL,,tol_e tol_r and TOL ITERation rtol  (Read 5210 times)

MF87

  • Jr. Member
  • **
  • Posts: 15
Difference between TOL,,tol_e tol_r and TOL ITERation rtol
« on: November 14, 2017, 07:13:12 AM »
Dear FEAP users,

does anybody know the difference between "TOL,,tol_e tol_r" and "TOL ITERation rtol"? Both commands are explained on page 176 of the user manual of version 8.4, but for me this did not become clear. I run quasi static simulations with an anisotropic damage model and I tried both commands to increase the tolerance for convergence a little bit.

With the first command "TOL,,tol_e tol_r" I can set the relative energy tolerance and the relative residual tolerance and this command seems to work. Is it right that FEAP checks energy and residual tolerances after an iteration and if one of the two convergence tolerances is undercut, the next time step is started?

The second command "TOL ITERation rtol" seems not to work in my example. I can set rtol=1.d-4, but FEAP runs until the residual undercuts the default value of rtol=1.d-8. Or is the command "TOL ITERation rtol" meant for a different usage?

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: Difference between TOL,,tol_e tol_r and TOL ITERation rtol
« Reply #1 on: November 14, 2017, 09:19:48 AM »
1. If either the residual or the energy tolerance is satisfied, feap assumes the solution is converged and starts the next time step.

2. The 'tol iter' is used for some iterative solution methods of the linear equations, so is not appropriate to control the non-linear convergence.

MF87

  • Jr. Member
  • **
  • Posts: 15
Re: Difference between TOL,,tol_e tol_r and TOL ITERation rtol
« Reply #2 on: November 15, 2017, 06:49:17 AM »
Thanks for your response!

Related to 2.): I thought so, too! However, what I do not understand is the fact that the default value of 10^-8  of the 'tol iter' command (written in the manual) matches exactly to what is set as default convergence tolerance for the residual in my nonlinear computations. But according to the manual, this should be tolr = 100 (tole)^1/2=10^-6 (assuming that the default value of tole is 10^-16 which is written in the manual). What do I miss?

Thanks!

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2647
Re: Difference between TOL,,tol_e tol_r and TOL ITERation rtol
« Reply #3 on: November 15, 2017, 07:34:05 AM »
It seems the code sets the default for tolr to 1.e-08 (in pmacr.f); but if you give the command TOL it then sets the default to what the manual says.  For small problems the smaller default is o.k, but as problems get larger and more complex round-off will affect getting smaller values.  Each user needs to understand what the limit is for their problem.  If the round-off limit is reached iterations will continue to the limit of the loop and the NO CONVERGENCE warning will be printed in the ouput file.

MF87

  • Jr. Member
  • **
  • Posts: 15
Re: Difference between TOL,,tol_e tol_r and TOL ITERation rtol
« Reply #4 on: November 15, 2017, 09:42:26 AM »
Yes, if I simply put "tol" then it gives me as output on the screen:

 *WARNING* Zero tolerance input - tol not reset:
   Solution tolerance =  1.00000E-16

But this tolerance is then not used for tole, or at least tolr=100 (tole)^1/2=10^-6 is not performed by FEAP in the background.

So far I always worked with the default value for tolr (1.e-08).But as you say, for large problems it could be helpful to increae the tolerance. Thanks!

Yaakov

  • Sr. Member
  • ****
  • Posts: 323
Re: Difference between TOL,,tol_e tol_r and TOL ITERation rtol
« Reply #5 on: November 17, 2017, 05:58:01 PM »
Hi,

In the most case, you may use energy error to control it as It exist the relationship between error_energy  and error residual in feap (check feap user manual last part).

in some matlab fe-code (topology code from Sigmund etc.), they just use residual concept for some simple case ..., but FEAP use more complex numerical algorithms to solve general problems.

sure, for some case situation we don't need small values (linear elastic material model ...Residual error maybe 0.005)...

Regards,
Yaakov
« Last Edit: November 17, 2017, 07:31:34 PM by Yaakov »
Let's boost FEAP's performance!