8. Convergence settings#

CONVERGENCE = _F (
        # If: exists (" RESI_REFE_RELA ")
            ◆ | EFFORT_REFE = float,
              | SIGM_REFE = float,
              | EPSI_REFE = float,
              | FLUX_THER_REFE = float,
              | MOMENT_REFE = float,
              | FLUX_HYD1_REFE = float,
              | FLUX_HYD2_REFE = float,
              | VARI_REFE = float,
              | DEPL_REFE = float,
              | LAGR_REFE = float,
              | PI_REFE = float,
        ◆ | RESI_REFE_RELA = float,
          | RESI_GLOB_MAXI = float,
          | RESI_GLOB_RELA = float,
        ◇/RESI_COMP_RELA = float,
        ◇ ITER_GLOB_MAXI = int (default: 10),
        ◇ ITER_GLOB_ELAS = int (default: 25),
        ◇ ARRET =/"NON ",
                  /"OUI" (by default),
        ◇ VERIF =/"AU_MOINS_UN ",
                  /"TOUT" (by default),
    ),

The keyword factor CONVERGENCE allows you to control the convergence parameters of the calculation.

When VERIF = » TOUT « , all convergence criteria activated (RESI_GLOB_RELA, RESI_GLOB_MAXI, RESI_REFE_RELA and RESI_COMP_RELA) are checked simultaneously, when VERIF = » AU_MOINS_UN « , only one activated criteria is sufficient to establish convergence

You should be very careful when using VERIF = « AU_MOINS_UN » because if” one of the criteria is very lax, this can lead to false results.

8.1. Standard convergence criteria#

There are several convergence criteria: the two most common are RESI_GLOB_RELA in relative and RESI_GLOB_MAXI in absolute terms. If you don’t fill in anything, then everything happens as if RESI_GLOB_RELA = 1.E-6.

For RESI_GLOB_MAXI = \(\varepsilon_{max}\), the algorithm continues global iterations as long as

\[\underset{i=1, \dots , \mathrm{nbddl}}{\max} {F}^{n} > \varepsilon_{max}\]

where \({F}^{n}\) is the residue of iteration \({n}\) (Cf. [R5.03.01] for more details). If this operand is absent, the test is not performed.

For RESI_GLOB_RELA = \(\varepsilon_{rel}\), the algorithm continues global iterations as long as .. math:

\underset{i=1, \dots , \mathrm{nbddl}}{\max} {F}^{n}
>
\varepsilon_{rel} . {\max} L

where \(L\) is the vector of the imposed load and the support reactions (Cf. [R5.03.01] for more details).

When loading and support reactions become zero, that is, when \(L\) is null (for example in the case of a total discharge), RESI_GLOB_RELA is displayed at -1, and we try to move from relative convergence criterion RESI_GLOB_RELA to convergence criterion absolute RESI_GLOB_MAXI. This operation is transparent to the user (alarm message sent in the.mess file). When the vector \(L\) becomes different from zero again, we automatically go back to the criterion of relative convergence RESI_GLOB_RELA.

However, this failover mechanism cannot work at the first step of time. Indeed, to find a reasonable value of RESI_GLOB_MAXI automatically (since the user did not enter it), we need to have had at least one step converged on a RESI_GLOB_RELA mode. Therefore, if the load is zero from the first moment, the calculation stops. The user should already then check that the null load is normal. from the point of view of the modeling he carries out, and if this is the case, find another convergence criterion (RESI_GLOB_MAXI for example).

If both RESI_GLOB_RELA and RESI_GLOB_MAXI are present, both tests are performed.

8.2. Advanced convergence criteria#

The criterion RESI_COMP_RELA = \(\varepsilon_{cmp}\) leads to the estimation of the convergence of Newton’s algorithm in reasoning component by component. For this, a distinction is made in the residual vector between sub-vectors corresponding to each component \(\mathrm{cmp}\) (for example in THM, \(\mathrm{cmp}=\left\{\mathrm{DX},\mathrm{DY},\mathrm{DZ},\mathrm{PRE1},\mathrm{PRE2},\mathrm{TEMP}\right\}\)).

These sub-vectors are then normalized by the corresponding internal force. So, the algorithm continue global iterations as long as

\[\underset{c=1, \dots ,\mathit{nbcmp}}{\mathit{max}}(\frac{\underset{i=1, \dots ,\mathit{nbddl}}{\mathit{max}}\mathrm{\mid }{F}_{i}^{c,n}\mathrm{\mid }}{\underset{i=1, \dots ,\mathit{nbddl}}{\mathit{max}}\mathrm{\mid }{L}_{i}^{\text{int},c,n}\mathrm{\mid }})>\varepsilon_{cmp}\]

where \({F}^{c,n}\) is the part of the \({F}^{n}\) residue corresponding to the component \(c\) and \({L}^{\text{int},c,n}\) the vector of internal forces at time \(n\) corresponding to this same component \(c\) (Cf. [R5.03.01] for more details).

The internal forces at time \(n\) are calculated at the start of the time step from result from the previous time step. For the first step of time, we automatically go to a relative criterion of type RESI_GLOB_RELA, see an absolute criterion for cases where the load sucks.

This criterion is only useful for evolutionary problems (THM) where forts reside contrasts between the various unknowns.

The criterion RESI_REFE_RELA = \(\varepsilon_{refe}\) leads to the estimation of the convergence of Newton’s algorithm in the following way. From a reference, which can be:

  • A SIGM_REFE constraint

  • A EPSI_REFE deformation for incompressible elements, grid elements and membrane elements;

  • An internal variable VARI_REFE if non-local laws with a deformation gradient are used;

  • A heat flow FLUX_THER_REFE in a THM case;

  • Two water flows FLUX_HYD1_REFE and FLUX_HYD2_REFE in one case HHM;

  • A DEPL_REFE move if we use joint elements with CZM behavior;

  • A force EFFORT_REFE and a moment MOMENT_REFE if structural elements (discretes, bars, beams or cables) are used;

  • A linear force EFFORT_REFE and a linear moment MOMENT_REFE if 2D structural elements (plates and shells) are used;

We calculate a residue reference \({F}^{\mathit{ref}}\) (a vector of the same length as the residual vector). Convergence will be achieved if and only if:

\[\forall i \in [1, \dots, \mathit{nbddl} ] \mathrm{\mid }{F}_{i}^{n}\mathrm{\mid } < \varepsilon_{refe} \, {F}_{i}^{\mathit{ref}}\]

EFFORT_REFE and MOMENT_REFE do not expect values of the same dimension for the elements of 1D and 2D structure, it is strongly recommended not to use this convergence criterion on a model comprising these two types of elements.

8.3. Iteration Management#

The ITER_GLOB_MAXI keyword gives the maximum number of iterations performed to solve the global problem at every moment. The excessive increase in this parameter is generally a sign of a problem in modeling or a temporal discretization inadequate.

This test is always carried out except in the case of redistricting the time step by the method “EXTRAPOLE”. In the case of solving a touch/friction problem with the formulation CONTINUE In generalized Newton, it is often necessary to increase the number of iterations of Newton beyond to its by default value.

The ITER_GLOB_ELAS keyword sets the Maximum number of iterations performed with the elastic matrix when using the PAS_MINI_ELAS keyword from the NEWTON factor keyword to solve the problem global at all times. Remember that PAS_MINI_ELAS allows you to go from the tangent matrix to the elastic matrix when the time step is or becomes (through redistribution) less than a certain value specified under PAS_MINI_ELAS.

Unlike ITER_GLOB_MAXI, this parameter can easily take on large values (several hundreds) because the convergence on a non-linear problem with the elastic matrix (very steep) is slow although theoretically assured for all laws describing generalized standard materials.

8.4. Shutdown management#

If one of the selected global convergence criteria is not met after the maximum number iterations, then the calculation stops (the previous results are saved).

However, it is possible to force the calculation to stop using ARRET =” NON “.

Avertissement

Cette possibilité est à réserver à des cas très particuliers car elle donne des résultats faux.