# Convergence Parameters (`simulation.cfg`

)

These options modify the tolerances and general behavior of the solution algorithms, and all have default values already defined. They should only be modified by those who know what they are doing.

## Velocity Convergence

The velocity solver employs a hybrid successive-approximation/Newton-Raphson algorithm. Convergence of the velocity solution is based on a convergence parameter, which unless otherwise noted, is defined as the norm of the change in the velocity field, divided by the norm of the velocity field, \(||\Delta u||/||u||\). Other parameters are also used to assess the convergence of the velocity solution. The following parameters pertain to the convergence of the velocity solver:

`nl_max_iters <iterations>`

: maximum allowable number of iterations of the nonlinear velocity solver (default:`50`

).`nl_tol_strict <tolerance>`

: desired tolerance on the elasto-viscoplastic velocity solution (default:`5e-4`

).`nl_tol_loose <tolerance>`

: acceptable level of convergence if the desired level of convergence cannot be reached via`nl_tol_strict`

(default:`5e-4`

).`nl_tol_min <tolerance>`

: tolerance on the norm of the change in velocity, divided by the number of degrees of freedom, \((||u||/ \rm max(ndof))\). This parameter is useful for assessing convergence when the macroscopic velocity is near zero (default:`1e-10`

).`nl_tol_switch_ref <tolerance>`

: value of the convergence parameter at which the solution algorithm switches from successive-approximation to Newton-Raphson. To only use successive-approximations, set the value of`nr_tol_switch_ref`

equal to the value of`nl_tol_strict`

(default:`1e-2`

).`nl_tol_conv <tolerance>`

: parameter between 0 and 1 that is used to assess whether the Newton-Raphson algorithm is converging slowly (default:`0.2`

).

## Conjugate Gradient Convergence

The solution of the linear system of equations \([K]\{\Delta u\} = -\{R\}\) is performed using a conjugate gradient solver. The following parameters pertain to the convergence of the conjugate gradient solver:

`cg_max_iters <iterations>`

: maximum allowable number of iterations of the conjugate gradient solver (default:`16000`

).`cg_tol <tolerance>`

: desired tolerance on the conjugate gradient solver (default:`1e-8`

).

## Material State Convergence

The convergence of the material stress state for both the viscoplastic and elasto-viscoplastic solutions is assessed by the following parameters:

`sx_max_iters_state <iterations>`

: maximum number of iterations on material state (default:`100`

).`sx_max_iters_newton <iterations>`

: maximum number of iterations of the Newton algorithm used to solve for crystal stress (default:`100`

).`sx_tol <tolerance>`

: tolerance on the stress solution (default:`1e-4`

).

## General Convergence

These options may control standard simulation behavior or pertain to specific deformation modes.

`max_incr <increments>`

specifies the maximum number of increments (default:`50000`

).`max_total_time <time>`

specifies the maximum deformation time (default:`12000.0`

).`load_tol <tolerance>`

is the the target load tolerance. A small positive load tolerance (e.g. 0.1 \(\times\) control surface area) improves load control while reducing the number of small steps near target loads (default:`0.0`

).`dtime_factor <time>`

is a number greater than or equal to 1 which is used when calculating time increments near target loads (default:`1.001`

).`max_bc_iter <iterations>`

specifies the maximum number of boundary condition iterations (default:`10`

).`min_pert_frac <fraction>`

is the minimum fraction of the control velocity by which the secondary and tertiary surface velocities are perturbed during boundary condition iterations (default:`0.001`

).`load_tol_abs <tolerance>`

is the absolute tolerance on the secondary and tertiary loads. The absolute load criterion is that both loads are within the absolute load tolerance of the ideal load. Loads are considered to be within tolerance if either the absolute or relative criterion is satisfied (default:`0.1`

).`load_tol_rel <tolerance>`

is the relative load tolerance on the secondary and tertiary loads. It represents a fraction of the load in the control direction. The relative load criterion is that the difference between the load and ideal load, normalized by the load in the control direction, is less than the relative load tolerance. Loads are considered to be within tolerance if either the absolute or relative criterion is satisfied (default:`0.001`

).`max_strain_incr <increments>`

specifies the maximum strain increment for dwell episodes (default:`0.001`

).`max_strain <strain>`

specifies the maximum allowable macroscopic strain (default:`0.2`

).`max_eqstrain <strain>`

specifies the maximum allowable macroscopic equivalent strain (default:`0.2`

).`max_iter_hard_limit <iterations>`

specifies the maximum allowable iterations on the Backward Euler approximation used to update hardnesses (default:`10`

).

## Termination

`check_necking {on,off}`

specifies whether or not to terminate simulation when specimen begins to neck (default:`off`

).

## Other Parameters

`uniform_elts <logical>`

specifies whether orientations and critical resolved shear stresses should be uniform inside individual elements, instead of having different values at different Gauss points (default`false`

).