3.2.5.9. ExpressNewton Algorithm
This command is used to construct an ExpressNewton algorithm object for nonlinear structural dynamics. It accepts the solution after a constant number of Newton-Raphson iterations using a constant system Jacobian matrix. It is advised to be combined with transient integrators only. The command is of the following form:
- algorithm ExpressNewton $iter $kMultiplier <-initialTangent> <-currentTangent> <-factorOnce>
Argument |
Type |
Description |
---|---|---|
$iter |
integer |
constant number of iterations. Default to 2 |
$kMultiplier |
float |
multiplier to system stiffness in evaluation of the system Jacobian matrix to support unconditional stability for hardening system. Default to 1.0. Dicussed in Reference [1] |
-initialTangent |
string |
optional flag to indicate to use initial stiffness in evaluation of the system Jacobian matrix |
-currentTangent |
string |
optional and default flag to indicate to use current stiffness in evaluation of the system Jacobian matrix |
-factorOnce |
string |
optional flag to indicate to factorize the system Jacobian matrix only once. It is suggested to specify this flag to maximize the solution efficiency (Reference [1]). If this flag is not specified factorization will be performed on every iteraction. |
The strategy of the ExpressNewton algorithm is to adopt a typical transient integrator and accept the solution after a constant number of iterations using a constant system Jacobian matrix. The algorithm inherits the advantages of the host transient integrators, such as the unconditional stability, the order of accuracy, and the numerical dissipation that helps suppress the spurious high-frequency oscillation. Using a constant Jacobian matrix is vital to minimizing the computational expense associated with matrix operations. The algorithm helps achieve an exponential efficiency improvement in a response history analysis with any transient integrator.
Warning
There is no check on the convergence of the model in this algorithm. It iterates a constant number of iterations and then proceeds to the next time step.
Code Developed by: Yuli Huang
References