4. Nonlinear resolution#

The 3 main types of nonlinearities in*Code_Aster* are as follows:

  • non-linearity linked to the behavior of the material (for example plastic);

  • nonlinearity linked to geometry (for example in large displacements);

  • non-linearity related to contact friction.

The general advice for solving non-linear problems is the subject of a specific document that is strongly recommended to be read: u2.04.01 Tips for using STAT_NON_LINE u2.04.01 Tips for using STAT_NON_LINE u2.04.01 Tips for using STAT_NON_LINE.

Before any non-linear calculation, it is essential to ensure that the calculation works correctly in linear elasticity. The nonlinearities can then be added one after the other.

The main tips on temporal discretization and numerical parameters for non-linear resolution are briefly recalled in the following paragraphs.

4.1. Non-linearity and temporal discretization#

Solving a non-linear problem generally requires applying external loading gradually, in load increments. Thus time (or pseudo-time in semi-static terms) is discretized into time steps and each time step corresponds to a load increment (see § 2.2). The smaller the time step, the less non-linear the problem is and therefore easier to solve. In order to allow the sub-division of the time step in case of convergence failure, it is essential to use the DEFI_LIST_INST command (for more details on the management of the list of moments, see paragraph §3.1 of the document). u2.04.01 Tips for using STAT_NON_LINE)

To check the consistency of the data (system of units, boundary conditions, boundary conditions, elementary characteristics, effect of control variables), it is always useful to perform a first linear elastic calculation (STAT_NON_LINE/RELATION =” ELAS “, or MECA_STATIQUE), before any non-linear study, before any non-linear study, then to add the nonlinearities one after the other.

4.2. Numerical parameters for the nonlinear resolution algorithm#

By default, the nonlinear resolution algorithm is based on the Newton-Raphson method (STAT_NON_LINE/METHODE =” NEWTON “).

It is recommended to use a tangent matrix that is updated at each Newton’s iteration: REAC_ITER =1 in order to facilitate the convergence of the algorithm (see paragraph §2.2 of the document u2.04.01 Tips for using STAT_NON_LINE).

It is strongly recommended not to increase the convergence criterion of Newton’s method (RESI_GLOB_RELA =106 by default). Other convergence criteria are also available (see paragraph §3.3 of the document u2.04.01 Tips for using STAT_NON_LINE).

Notes:

For softening problems,*Code_Aster offers the possibility of using an alternative method to the Newton-Raphson method: it is method IMPLEX which is a robust but approximate method (see paragraph §4.5 of the document

u2.04.01 Tips for using STAT_NON_LINE).

To optimize the calculation time,*Code_Aster offers the possibility of using an inaccurate Newton method (provided that the linear solver chosen is an iterative solver): this is method NEWTON_KRYLOV.