Ramm

Arc Length Algorithm Using Ramm's Approach

The Ramm's version of arc length algorithm is implemented. This solver can only be used in solving static problems.

Syntax

solver Ramm (1)
# (1) int, unique solver tag

The step size in an arc-length analysis is now the arc length. One can use the following to control stepping strategy.

set ini_step_size (1)
set min_step_size (1)
set max_step_size (1)
# (1) double, step size (arc length)

set fixed_step_size (1)
# (1) bool, flag to indicate if to fix the arc length

Remarks

  1. A proper arc length shall be manually input to achieve an efficient analysis.

  2. Often the arc length is allowed to change depending on the smoothness of the turning point.

  3. If the arc length is not fixed, a positive minimum/maximum arc length (step size) will kick in to prevent the arc length from being too small/large.

  4. Any non-positive values for the minimum/maximum arc length will be ignored.

A good overview of the method and its implementation detail can be found in Crisfield's book (ISBN: 9780471929567), see Chapter 9.

Solvers for symmetric storage often require the target matrix to be positive definite. This is not the case in arc-length related applications, although it can still be used for problems in which the tangent stiffness is positive definite. Thus, as a rule of thumb, one may need to switch off symm_mat.

set symm_mat 0

If positive definiteness is known to be guaranteed, symmetric storage can also be used.

For general cases, the (sign of) determinant of the tangent stiffness is required to identify turning points.Not all solvers support the computation of determinant.

Without MPI

Only LAPACK based solvers can be used. Thus, one need to use the following settings. Note they are all default settings thus do not need to be explicitly set. The point is do not choose something else.

set symm_mat 0
set band_mat 1
set sparse_mat 0
set system_solver LAPACK

With MPI

Only the MUMPS solver is able to compute the determinant.ScaLAPACK based solvers do not support inspection of factorization thus cannot provide an efficient way of computing determinant. Thus, one need to enable sparse storage and choose the MUMPS solver.

set sparse_mat 1
set system_solver MUMPS

Last updated