Table of Contents

Appendix 6: Explanation of parameter NRDIV = istra(20)

Objective

In LAGAMINE code, when we work with automatic strategy, the global increment can be automatically divided into eight times, if we meet some numerical problems, such as :

  1. the value of Jacobian is not positive at the level of the element;
  2. disconvergence at the level of the constitutive law;
  3. substeps are larger than given tolerance at the level of the law;
  4. other unlogical results due to too large global increment at the level of constitutive laws.

For examples, the values in the square root function or logical function become negative, stress, strain or other internal variables are larger than an unacceptable value.

Implementation

If you are working in the subroutine of a constitutive law, then, just after the place where you would meet some of the problems mentioned above you can write:

  if ( ) then
      istra(20)=1
      return
  end if


If you are working in the subroutine of an element (for example PLXLSB), just after the “call LOI2” sentence:

  if (NRDIV.eq.1) return

Results

If this situation occurs, the execution of LAGAMINE code restarts from the last convergent step with a smaller global increment.