NormDispIncr

This command is used to construct a convergence test which uses the norm of the left hand side solution vector of the matrix equation to determine if convergence has been reached. What the solution vector of the matrix equation is depends on integrator and constraint handler chosen. Usually, though not always, it is equal to the displacement increments that are to be applied to the model. The command to create a NormDispIncr test is the following:

test NormDispIncr $tol $iter < $pFlag > < $nType >

tol

the tolerance criteria used to check for convergence

iter

the max number of iterations to check before returning failure condition

pFlag

optional print flag, default is 0. valid options:

0 print nothing

1 print information on norms each time test() is invoked

2 print information on norms and number of iterations at end of successful test

4 at each step it will print the norms and also the \(\Delta U\) and \(R(U)\) vectors.

5 if it fails to converge at end of $numIter it will print an error message BUT RETURN A SUCCESSFUL test

nType

optional type of norm, default is 2. (0 = max-norm, 1 = 1-norm, 2 = 2-norm, …)


NOTES:

  • When using the Lagrange method to enforce the constraints, the Lagrange multipliers appear in the solution vector.

Theory

If the system of equations formed by the integrator is:

\[K \Delta U^i = R(U^i)\,\!\]

This integrator is testing:

\[\parallel \Delta U^i \parallel < \text{tol} \]


Code Developed by: fmk