Overview of nonlinear equations solver settings
Iris features its own nonlinear equations solver used in calculating the steady state and dynamic simulations of structural models.
General settings
display="iter" [ "iter" | "final" | "none" | numeric ]
Level of display in numeric iterations:
display="iter"- print every iteration and the final convergence message;
display="final"- print the final convergence message only;
display="none"- do not print any message;
display=numeric- same as"display="iter"but print everydisplayiterations only.
Objective function settings
functionNorm=2 [ numeric | Inf | function ]
A vector norm applied to the array of discrepancies between the LHS and RHS of individual equations; see help on the builtin
normfunction for numeric specification of the norm; or specify your own function norm as an anonymous function.In most situations, one of the following norms are the appropriate choice:
functionNorm=2- a quadratic norm, i.e. sum of squared discrepancies;
functionNorm=Inf- an infinity norm, i.e. sum of absolute discrepancies.
__trimObjectiveFunction=false [ true | false ]
After evaluating the objective function, replace the value smaller than
functionTolerancewith zeros.
Convergence settings
maxIterations=5000 [ numeric ]
Maximum number of iterations.
maxFunctionEvaluations=@(x) 200*x.NumUknowns [ numeric | functions ]
Maximum number of function evaluations.
functionTolerance=1e-12 [ numeric ]
Convergence tolerance for the
functionNorm.
stepTolerance=1e-12 [ numeric ]
Convergence tolerance for the maximum absolute change in the value of the unknowns; set
stepTolerance=Infto turn step tolerance off.
Jacobian settings
jacobCalculation="analytical" [ "analytical" | "forwardDiff" ]
Calculate the Jacobian analytically or numerically.
lastJacobUpdate=Inf [ numeric | Inf ]
Last iteration in which the Jacobian will be updated:
lastJacobUpdate=Infmeans the Jacobian will be always updated;
lastJacobUpdate=0means the Jacobian will be calculated once at the beginning and never updated afterwards;
lastJacobUpdate=-1means the Jacobian will not be calculated, and an identity matrix will be used in its place;
lastJacobUpdate=nmeans the Jacobian will be update until then-the iteration (inclusive).
skipJacobUpdate=0 [ numeric ]
The Jacobian will be reused (without recalculation) in the next
skipJacobUpdateiteration; then it will get updated again.