sig
type 'a parallel_session =
(Nvector_parallel.data, Nvector_parallel.kind, 'a) Arkode_impl.session
constraint 'a = [< `ARKStep | `MRIStep ]
type 'a parallel_preconditioner =
(Nvector_parallel.data, Nvector_parallel.kind, 'a)
Arkode.Spils.preconditioner
constraint 'a = [< `ARKStep | `MRIStep ]
type bandwidths =
Arkode_impl.ArkodeBbdTypes.bandwidths = {
mudq : int;
mldq : int;
mukeep : int;
mlkeep : int;
}
type local_fn =
float -> Nvector_parallel.data -> Nvector_parallel.data -> unit
type comm_fn = float -> Nvector_parallel.data -> unit
val prec_left :
?dqrely:float ->
Arkode_bbd.bandwidths ->
?comm:Arkode_bbd.comm_fn ->
Arkode_bbd.local_fn ->
[< `ARKStep | `MRIStep ] Arkode_bbd.parallel_preconditioner
val prec_right :
?dqrely:float ->
Arkode_bbd.bandwidths ->
?comm:Arkode_bbd.comm_fn ->
Arkode_bbd.local_fn ->
[< `ARKStep | `MRIStep ] Arkode_bbd.parallel_preconditioner
val prec_both :
?dqrely:float ->
Arkode_bbd.bandwidths ->
?comm:Arkode_bbd.comm_fn ->
Arkode_bbd.local_fn ->
[< `ARKStep | `MRIStep ] Arkode_bbd.parallel_preconditioner
val reinit :
[< `ARKStep | `MRIStep ] Arkode_bbd.parallel_session ->
?dqrely:float -> int -> int -> unit
val get_work_space :
[< `ARKStep | `MRIStep ] Arkode_bbd.parallel_session -> int * int
val get_num_gfn_evals :
[< `ARKStep | `MRIStep ] Arkode_bbd.parallel_session -> int
end