Relative Norm Displacement Increment Test: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{CommandManualMenu}} | {{CommandManualMenu}} | ||
This command is used to construct a convergence test which uses the relative of the 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 | This command is used to construct a convergence test which uses the relative of the 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 RelativeNormDispIncr test is the following: | ||
. The command to create a RelativeNormDispIncr test is the following: | |||
{| | {| | ||
Line 22: | Line 20: | ||
| || 1 print information on norms each time test() is invoked | | || 1 print information on norms each time test() is invoked | ||
|- | |- | ||
| || 2 print information on norms and number of iterations at end of | | || 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 <math>\Delta U</math> and <math>R(U)</math> vectors. | | || 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 | | || 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, ...) | | '''$nType''' || optional type of norm, default is 2. (0 = max-norm, 1 = 1-norm, 2 = 2-norm, ...) | ||
Line 35: | Line 33: | ||
NOTES: | NOTES: | ||
# When using the Lagrange Multipliers method additional | # When using the Lagrange Multipliers method additional unknown, the Lagrange multipliers, exist in the solution vector, making | ||
convergence using this test usually impossible (even though solution might have converged). | convergence using this test usually impossible (even though solution might have converged). | ||
# <math> \parallel \ | # <math> \parallel \DeltaU^0 \parallel \!</math> is the initial solution when solveCurrentStep() is invoked on the algorithm. | ||
# Sometimes there may be problems converging if <math> \parallel \ | # Sometimes there may be problems converging if <math> \parallel \DeltaU^0 \parallel \!</math> is very small to being with. | ||
---- | ---- | ||
Line 51: | Line 49: | ||
:<math>\frac{\parallel \ | :<math>\frac{\parallel \DeltaU^i \parallel}{\parallel \DeltaU^0 \parallel} < \text{tol} \!</math> | ||
Latest revision as of 17:48, 10 June 2016
- Command_Manual
- Tcl Commands
- Modeling_Commands
- model
- uniaxialMaterial
- ndMaterial
- frictionModel
- section
- geometricTransf
- element
- node
- sp commands
- mp commands
- timeSeries
- pattern
- mass
- block commands
- region
- rayleigh
- Analysis Commands
- Output Commands
- Misc Commands
- DataBase Commands
This command is used to construct a convergence test which uses the relative of the 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 RelativeNormDispIncr test is the following:
test RelativeNormDispIncr $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 <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 SUCCESSFUL test | |
$nType | optional type of norm, default is 2. (0 = max-norm, 1 = 1-norm, 2 = 2-norm, ...) |
NOTES:
- When using the Lagrange Multipliers method additional unknown, the Lagrange multipliers, exist in the solution vector, making
convergence using this test usually impossible (even though solution might have converged).
- <math> \parallel \DeltaU^0 \parallel \!</math> is the initial solution when solveCurrentStep() is invoked on the algorithm.
- Sometimes there may be problems converging if <math> \parallel \DeltaU^0 \parallel \!</math> is very small to being with.
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>\frac{\parallel \DeltaU^i \parallel}{\parallel \DeltaU^0 \parallel} < \text{tol} \!</math>
Code Developed by: fmk