sig
type 'd prec_solve_arg = {
rhs : 'd;
gamma : float;
delta : float;
left : bool;
}
type 'd prec_solve_fn =
(unit, 'd) Arkode.Common.jacobian_arg ->
'd Arkode.Spils.prec_solve_arg -> 'd -> unit
type 'd prec_setup_fn =
(unit, 'd) Arkode.Common.jacobian_arg -> bool -> float -> bool
type ('d, 'k, 's) preconditioner =
('d, 'k, 's) Arkode_impl.SpilsTypes.preconditioner
module Banded :
sig
type bandrange = { mupper : int; mlower : int; }
val prec_left :
Arkode.Spils.Banded.bandrange ->
(Nvector_serial.data, [> Nvector_serial.kind ], 's)
Arkode.Spils.preconditioner
val prec_right :
Arkode.Spils.Banded.bandrange ->
(Nvector_serial.data, [> Nvector_serial.kind ], 's)
Arkode.Spils.preconditioner
val prec_both :
Arkode.Spils.Banded.bandrange ->
(Nvector_serial.data, [> Nvector_serial.kind ], 's)
Arkode.Spils.preconditioner
type ('a, 'b) serial_session =
(Nvector_serial.data, 'a, 'b) Arkode_impl.session
constraint 'a = [> Nvector_serial.kind ]
constraint 'b = [< `ARKStep | `MRIStep ]
val get_work_space :
([> Nvector_serial.kind ], [< `ARKStep | `MRIStep ])
Arkode.Spils.Banded.serial_session -> int * int
val get_num_rhs_evals :
([> Nvector_serial.kind ], [< `ARKStep | `MRIStep ])
Arkode.Spils.Banded.serial_session -> int
end
type 'd jac_times_setup_fn = (unit, 'd) Arkode.Common.jacobian_arg -> unit
type 'd jac_times_vec_fn =
('d, 'd) Arkode.Common.jacobian_arg -> 'd -> 'd -> unit
end