Nonlinear solvers
Work in progress
This page is a work in progress.
It was published in this state to make existing content available to users and highlight missing parts to contributors.
Contributors: please see Documentation Contribution Guide to contribute to the documentation.
Users: the content of this page has been verified and is correct. Please return later for more content!
Following non-linear solvers are available in OpenGeoSys:
Newton
The nonlinear solver of “Newton” type is an implementation of the Newton-Raphson method. The basic definition of the non-linear solver with “Newton” follows this template:
<nonlinear_solver>
<name>basic_newton</name>
<type>Newton</type>
<max_iter>10</max_iter>
<linear_solver>linear_solver</linear_solver>
</nonlinear_solver>Configuration parameters
name: Unique identifier for the nonlinear solver.type: Must beNewtonfor this solver type.max_iter: Maximum number of nonlinear iterations.linear_solver: Reference to a defined linear solver.recompute_jacobian: (Optional, default:1) Frequency of Jacobian recalculation.1means recalculate every iteration.damping: (Optional, default:1.0) Damping factor for the Newton update.damping_reduction: (Optional) Factor by which the damping is reduced when convergence is slow.tikhonov: (Optional) Tikhonov regularisation configuration (see below).
Tikhonov regularisation
Tikhonov regularisation can be used to improve convergence for ill-conditioned systems by adding a value to the diagonal of the Jacobian matrix:
<nonlinear_solver>
<name>newton_with_tikhonov</name>
<type>Newton</type>
<max_iter>100</max_iter>
<linear_solver>linear_solver</linear_solver>
<tikhonov>
<lambda>1e-14</lambda>
<starting_iteration>11</starting_iteration>
</tikhonov>
</nonlinear_solver>The tikhonov element contains:
lambda: The regularisation parameter (typically 1e-20 to 1e-10).starting_iteration: The iteration from which regularisation is applied (default:0).
Picard
The nonlinear solver of “Picard” type is an implementation of the Picard-Iteration method. The basic definition of the non-linear solver with “Picard” follows this template:
<nonlinear_solver>
<name>basic_picard</name>
<type>Picard</type>
<max_iter>100</max_iter>
<linear_solver>linear_solver</linear_solver>
</nonlinear_solver>This article was written by Feliks Kiszkurno. If you are missing something or you find an error please reach out
to us on our forum.
Generated with Hugo 0.164.0
in CI job 825193
|
Last revision: April 20, 2026
Commit: refactor(MeshLib): remove PropertyVector::push_back 870422dde
| Edit this page on