Implicit - Stop Criteria

Altair Forum User
Altair Forum User
Altair Employee
edited October 2020 in Community Q&A

Hi all, 

 

I have a question concerning the stop criteria of an implicit linear analysis.

 

When I perform my implicit analysis the solver prints out the the relative residual norm (PCG resolution) at each step.

 

My engine entries are rather simple:

###########################
#Quasi-Satic Linear Computation:
/IMPL/LINEAR
# Printout frequency for linear computation:
/IMPL/PRINT/LINEAR/-1

# Linear solver method :
/IMPL/SOLVER/1
# Iprec  It_max  Itol  Tol
5 0 0 0

###########################

So I am using the default stop criteria : stops when residual norm is less than [ (machine simple precision) * ||b’|| * ||A’|| * ||x|| ].

 

- What is the machine simple precision ? 

- How does one decide upon this stop criteria and the value of the tolerance ?

- I want to reach a 'good convergence'. To reach this I should set an adapted stop criteria. How to chose it ? 

 

Thank you in advance,

Alice

Tagged:

Answers

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited February 2017

    Hi Alice,

    The single precision calculation option increases simulation speed by orders of magnitudes while retaining the same accurate results. By default, RADIOSS uses double-precision but by using single precision  users can improve performance.

    Please go through this document http://www.intel.in/content/dam/www/public/us/en/documents/solution-briefs/xeon-processor-e7-radioss-analysis-solution-brief.pdf which shows about maximizing performance using this option. 

     

    An iteration is considered to be converging if the relative value is equal to or less than the tolerance. There are various termination criteria for Itol. Usually, stop criteria in force (Itol =2) provides a better result on balance, which is the default criteria. Criteria in energy might converge easily and is better suited for the simulation of elasto-plastic materials; because in this case, energy increases more strongly than the force and the convergence becomes easier due to the same evolutions of reference values (the higher the reference value easier the convergence). 

     

    The divergence in computation occurs when one of the following conditions is observed:

    •Positive energy error (except for the first cycle)

    •Negative energy error by more than 15% (except for the first cycle)

    •Kinematic time step activation in interface type 7

    •Time step given by a rigid body

    •Unexplained changes in time step

    •Quick increase of mass

    User can always check the model for these parameters, and controlling these will result in a good convergence.

    Also, check  /IMPL/DT/STOP card.User will be specifying Dt_min which is for stopping the computation in the event of divergence and also Dt_max where computation will not stop upon reaching this value but it is useful for convergence of highly nonlinear simulations.

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited February 2017

    Hello George,

     

    Thank you a lot for your reponse. So in all cases the eventual relative residual norm does not stand for 'good' or 'bad' convergence, right ? 

    The fact is that I thought of a low residual norm to be a 'good' convergence. As I changed some parameters in my model (element number among these), I got closer to the solution I wanted but got a higher residual norm. I therefore thought the new solution was not a 'good' solution.

     

    After your response I changed the parameters Itol and the DT options. But the result stays the same with a very close residual norm... How to now which CONVERGED and which not/less ? I have a hard time understanding how to know what is a good solution and what not.

     

    You say :

    Usually, stop criteria in force (Itol =2) provides a better result on balance, which is the default criteria

     

    but this is for NONLIN simulations. I told you I was doing a LINEAR simulation.

    I therfore tried a non-linear simulation, taking example on the demo 16-Dummy-Positioning for the concentrated load functio (simulation still runnning).

     

    This leads me to a second question I have on IMPLICIT simulations in Radioss:

    Here the function:

    ########

    /FUNCT/1077
    Concentrated load
    #                  X                   Y
                         0                   0                                                            
                     150                   1                                                            
                     300                   1      
    #---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
    #- 10. CONCENTRATED LOADS:
    #---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
    /CLOAD/1
    Gravity
    #   Ifunct       DIR     Iskew   Isensor   Gnod_id                       Scale_x             Scale_y
          1077           Z            0             0           280                                  1             -813.05

    ########

    How can there be the notion of time in implicit simuation ?? As for me, there can't. But here scale_x is set at 1 and X in function change. This corresponds to a time as to me...

    In another demo - I do not remember which one - sclae_x was set to 0 so that the evolution of X in function did not have anything to do with time (this is what I interpreted). 

    So my question is :

    - What does the X in function correspond to in implicit simulation.

    - Should one take it into account in implicit as offered in the case of force loading as to impose load over a lapse of time ? 

    - my time unit is set to ms. Is a X in function of 0 to 10 still a static (implicit) simulation ??

     

    Thank you in advance,

    Alice

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited February 2017

    Hi Alice,

    Convergence is defined by a change in results less than a specified tolerance. The basic principle in assessing nonlinear convergence is to compare an error measure of the solution with a pre-determined tolerance level. When the error falls below the specified tolerance, the problem is considered converged. In a case of multiple, simultaneous convergence criteria, all criteria need to be satisfied for the solution to be converged. Relative residual force, relative displacement, or relative residual energy can be chosen as convergence criteria.

    In the concentrated load, the function is load v/s time. In X-axis, time is specified. Upto 150 seconds, the load is ramped, that is the computation time and then maintained throughout. This gradual ramping up the load from zero is often a more robust approach for solving. When the applied loads are CLOAD or gravity, these can only be defined using a function. The structural analysis focuses on the changes occurring in the behavior of a physical structure under observation when provided with a force or load. When the loads are applied slowly (quasi-static),the inertia forces from the basis of Newton's first law of motion can be neglected and the analysis becomes static.The static loads are very slow on the time rate graph.

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited February 2017

    Hi George, 

     

    Thanks for your reply.

     

    I come back to you for the machine single precision. I think you understood me wrong. I wondered about the 'Tol' option in the IMPL/SOLVER/N (see attached file). What is it's value ? 

     

    Thank you ,

    Alice

    <?xml version="1.0" encoding="UTF-8"?>2017-02-24_15h58_07.png

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited February 2017

    Hi Alice,

    This tolerance is specified based on the solver method selected. Normally it is 0.

    I'll update on the same with more details very soon.

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited February 2017

    Hi Alice,

    The tolerance here is specifically for the solver type and this tolerance value is not related to the convergence criteria. We can tell that this tolerance is a gradient for the solver, thereby ensuring that each iteration is not too expensive and easy to solve.