NewtonRaphsonSolver
Generic Newton-Raphson algorithm solving nonlinear equations.
Target: Sofa.Component.ODESolver.Backward
namespace: sofa::component::odesolver::backward
parents:
- BaseObject
Data
Name | Description | Default value |
---|---|---|
name | object name | unnamed |
printLog | if true, emits extra messages at runtime. | 0 |
tags | list of the subsets the object belongs to | |
bbox | this object bounding box | |
componentState | The state of the component among (Dirty, Valid, Undefined, Loading, Invalid). | Undefined |
listening | if true, handle the events, otherwise ignore the events | 0 |
updateStateWhenDiverged | Update the states within the last iteration even if the iterative process is considered diverged. | 1 |
warnWhenLineSearchFails | Trigger a warning if line search fails | 1 |
warnWhenDiverge | Trigger a warning if Newton-Raphson diverges | 1 |
Stopping criteria | ||
maxNbIterationsNewton | Maximum number of iterations of the Newton's method if it has not converged. | 1 |
relativeSuccessiveStoppingThreshold | Threshold for the relative successive progress criterion. The Newton iterations will stop when the ratio between the norm of the residual at iteration k over the norm of the residual at iteration k-1 is lower than this threshold. | 1e-05 |
relativeInitialStoppingThreshold | Threshold for the relative initial progress criterion. The Newton iterations will stop when the ratio between the norm of the residual at iteration k over the norm of the residual at iteration 0 is lower than this threshold. This criterion tracks the overall progress made since the beginning of the iteration process. If the ratio is significantly smaller than 1, it indicates that the iterative process is making substantial progress, and the method is converging toward the root. | 1e-05 |
absoluteResidualStoppingThreshold | Threshold for the absolute function value stopping criterion. The Newton iterations will stop when the norm of the residual at iteration k is lower than this threshold. This criterion indicates the current iteration found an estimate close to the root. | 1e-05 |
relativeEstimateDifferenceThreshold | Threshold for the relative change in root estimate criterion. The Newton iterations will stop when the difference between two successive estimates divided by the previous estimate is smaller than this threshold | 0 |
absoluteEstimateDifferenceThreshold | Threshold for the absolute change in root estimate criterion. The Newton iterations will stop when the difference between two successive estimates is smaller than this threshold. | 0 |
Line Search | ||
maxNbIterationsLineSearch | Maximum number of iterations of the line search method if it has not converged. | 5 |
lineSearchCoefficient | Line search coefficient | 0.5 |
Analysis | ||
status | status - Undefined: The solver has not been called yet - Running: The solver is still running and/or did not finish - ConvergedEquilibrium: Converged: the iterations did not start because the system is already at equilibrium - DivergedLineSearch: Diverged: line search failed - DivergedMaxIterations: Diverged: Reached the maximum number of iterations - ConvergedResidualSuccessiveRatio: Converged: Residual successive ratio is smaller than the threshold - ConvergedResidualInitialRatio: Converged: Residual initial ratio is smaller than the threshold - ConvergedAbsoluteResidual: Converged: Absolute residual is smaller than the threshold - ConvergedRelativeEstimateDifference: Converged: Relative estimate difference is smaller than the threshold - ConvergedAbsoluteEstimateDifference: Converged: Absolute estimate difference is smaller than the threshold | Undefined |
residualGraph | Graph of the residual over the iterations |
Links
Name | Description | Destination type name |
---|---|---|
context | Graph Node containing this object (or BaseContext::getDefault() if no graph is used) | BaseContext |
slaves | Sub-objects used internally by this object | BaseObject |
master | nullptr for regular objects, or master object for which this object is one sub-objects | BaseObject |