3.3.7. NonlinearSolver
The NonlinearSolver advances the analysis in cycles using a Newton–Raphson
procedure. At each cycle it assembles the tangent stiffness and internal force,
solves for the displacement increment, updates the state, and checks
convergence against a residual norm. Loads can be defined via a time-based
function or a tabulated sequence and may include multiple cases.
3.3.7.1. Overview
Solver type: NonlinearSolver
Method: standard Newton–Raphson with residual norm check
Termination: when convergence is reached each cycle; run stops at
maxCycleor whenlam > maxLamLoad control:
loadFuncevaluated over time orloadTableper cycle; additionalloadCasessupported
3.3.7.2. Parameters
3.3.7.2.1. Mandatory Parameters
Parameter |
Description |
|---|---|
|
Must be set to |
3.3.7.2.2. Optional Parameters
Parameter |
Description |
|---|---|
|
Convergence tolerance on residual norm (default: |
|
Maximum Newton iterations per cycle (default: |
|
Time increment per cycle used for evaluating |
|
Maximum number of cycles (default: derived; set explicitly to limit runs) |
|
Maximum load factor; run stops when exceeded (default: |
|
String expression in |
|
List of load factors per cycle; overrides |
|
List of named sub-cases configured as properties on the solver block |
3.3.7.2.3. Per-Load-Case Sub-Parameters
When using loadCases, define a sub-block for each case name:
Parameter |
Description |
|---|---|
|
String expression for the case’s load factor vs time |
|
Node indices or group used to scope constraint factors for the case |
3.3.7.3. Algorithm Notes
Assembles
Kandf_int; computes external forcef_ext.Solves
K da = f_ext - f_intand updatesaandDa.Residual norm: if
||f_ext|| < 1e-16, uses||f_ext - f_int||; otherwise uses normalized residual||f_ext - f_int|| / ||f_ext||.On convergence: commits element history and writes output via configured I/O modules.
3.3.7.4. Examples
Minimal .pro solver configuration:
solver =
{
type = "NonlinearSolver";
tol = 1.0e-4;
iterMax = 20;
dtime = 1.0;
maxCycle = 20;
loadFunc = "t";
};
Examples in the repository:
examples/ch03/NewtonRaphson.proexamples/ch03/NewtonRaphson3D.pro
3.3.7.5. See Also
../solvers
Elements: ../elements/smallstraincontinuum, FiniteStrainContinuum