Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations

The Algorithm class specifies how the LinearSystem will be solved. In other words, handles the iteration process when solving the linear/nonlinear system within a time interval [ \(t_n\), \(t_{n+1}\) ]. The Algorithm class is designed to:

  • Control the accuracy of the non-linear system solution.
  • Obtain the displacements, velocities and acceleration and update Node, Material, and Element objects states.

The main member function in Integrator are:

In general, the Algorithm class is also responsible for satisfying the convergence criteria at the LinearSystem level when an implicit integrator is specified. Algorithm class can handle the following convergence test to compute the residual:

  • Unbalanced Force Norm corresponds to test=1 and is computed as:

    \[\epsilon = \|\textrm{R}_{n+1} - \textrm{F}^{(i)}_n\|_{\ell_2}\]

  • Increment Displacement Norm correspond to test=2 and is computed as:

    \[\epsilon = \|\delta U^{(i)}\|_{\ell_2}\]

  • Energy Increment Norm corresponds to test=3 and is computed as:

    \[\epsilon = |\delta U^{(i)} \cdot (\textrm{R}_{n+1} - \textrm{F}^{(i)}_n)^\top|\]

  • Relative Unbalanced Force Norm corresponds to test=4and is computed as:

    \[\epsilon = \displaystyle{\frac{\|\textrm{R}_{n+1} - \textrm{F}^{(i)}_n\|_{\ell_2}}{\|\textrm{R}_{n+1} - \textrm{F}^{(0)}_n\|_{\ell_2}}}\]

  • Relative Increment Displacement Norm corresponds to test=5 and is computed as:

    \[\epsilon = \displaystyle{\frac{\|\delta U^{(i)}\|_{\ell_2}}{\|\Delta U^{(0)}\|_{\ell_2}}}\]

  • Relative Energy Increment Norm corresponds to test=6 and is computed as:

    \[\epsilon = \displaystyle{\frac{|\delta U^{(i)} \cdot (\textrm{R}_{n+1} - \textrm{F}^{(i)}_n)^\top|}{|\delta U^{(0)} \cdot (\textrm{R}_{n+1} - \textrm{F}^{(0)}_n)^\top|}}\]

  • Total Relative Increment Displacement Norm corresponds to test=7 and is computed as:

    \[\epsilon = \displaystyle{\frac{\|\delta U^{(i)}\|_{\ell_2}}{\| \Delta U^{(i)}\|_{\ell_2}}}\]

  • Maximum Number of Iterations corresponds to test=8 and iterates until the number of iteration reaches this value (specified in the Algorithm).

where the \(\|x\|_{\ell_2}^2 = \displaystyle{\sum_{k=1}^n x_k^2}\) represent the Euclidean-norm, and \(|x|\) is the absolute value function. More information regarding the derived Algorithm classes can be found at:

REFERENCE:

  • Forde, B. W. R., Foschi, R. O., & Stiemer, S. F. (1990). "Object-oriented finite element analysis". Computers & Structures, 34(3), 355–374.
  • Mackie, R. I. (1992). "Object oriented programming of the finite element method". International Journal for Numerical Methods in Engineering, 35(2), 425–436.