module FixedPoint:sig
..end
Generic nonlinear solver for fixed-point (functional) iteration with optional Anderson acceleration.
val make : ?context:Sundials.Context.t ->
?acceleration_vectors:int ->
('d, 'k) Nvector.t -> ('d, 'k, 's, [ `Nvec ]) Sundials_NonlinearSolver.t
Creates a nonlinear solver using fixed-point (functional) iteration.
Solves nonlinear systems of the form $G(y) = y$ .
The number of acceleration_vectors
defaults to zero.
val make_sens : ?context:Sundials.Context.t ->
?acceleration_vectors:int ->
int ->
('d, 'k) Nvector.t -> ('d, 'k, 's, [ `Sens ]) Sundials_NonlinearSolver.t
Creates a nonlinear solver using fixed-point (functional) iteration for sensitivity-enabled integrators. Solves nonlinear systems of the form $G(y) = y$ .
In the call make_sens count y
,
count
is the number of vectors in the nonlinear problem,
if there are $N_s$ sensitivities, then count
should be
$N_s + 1$ if using a simultaneous corrector
or $N_s$ if using a staggered corrector;y
is a template for cloning vectors; and,The number of acceleration_vectors
defaults to zero.
val get_sys_fn : ('d, 'k, 's, [ `Nvec ]) Sundials_NonlinearSolver.t ->
(('d, 'k) Nvector.t, 's) Sundials_NonlinearSolver.sysfn option
Returns the residual function that defines the nonlinear system.
Raises Invalid_argument
if called on a nonlinear solver that was not
created by this module.
val set_damping : ('d, 'k, 's, 'v) Sundials_NonlinearSolver.t -> float -> unit
Sets the damping parameter $\beta$ to use with Anderson acceleration. Damping is disabled by default $\beta = 1.0$ .