Norm Unbalance Test

From OpenSeesWiki
Revision as of 00:16, 5 March 2010 by Fmk (talk | contribs)
Jump to navigation Jump to search




This command is used to construct a convergence test which uses the norm of the right hand side of the matrix equation to determine if convergence has been reached. What the right-hand-side of the matrix equation is depends on integraor and constraint handler chosen. Usually, though not always, it is equal to the unbalanced forces in the system. The command to create a NormUnbalance test is the following:

test NormUnbalance $tol $iter <$pFlag>


$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 successfull test
4 at each step it will print the norms and also the <math>\Delta U</math> and <math>R(U)</math> vectors.
5 if it fails to converge at end of $numIter it will print an error message BUT RETURN A SUCEESSFULL test



NOTES:

  • When using the Penalty method additional large forces to enforce the penalty functions exist on the right had side, making

convergence using this test usually impossible (even though solution might have converged).


THEORY:

If the system of equations formed by the integrator is:

<math>K \Delta U^i = R(U^i)\,\!</math>

This integrator is testing:

<math>\parallel R(U) \parallel < \text{tol} \!</math>