sig
type solver_result = Success | RootsFound | StopTimeReached
type step_stats = {
num_steps : int;
actual_init_step : float;
last_step : float;
current_step : float;
current_time : float;
}
type interpolant_type = Hermite | Lagrange
type linearity = Linear of bool | Nonlinear
type 'data error_weight_fun = 'data -> 'data -> unit
type ('data, 'kind) tolerance =
SStolerances of float * float
| SVtolerances of float * ('data, 'kind) Nvector.t
| WFtolerances of 'data Arkode.Common.error_weight_fun
val default_tolerances : ('data, 'kind) Arkode.Common.tolerance
type predictor_method =
TrivialPredictor
| MaximumOrderPredictor
| VariableOrderPredictor
| CutoffOrderPredictor
type 'd nonlin_system_data = {
tcur : float;
zpred : 'd;
zi : 'd;
fi : 'd;
gamma : float;
sdata : 'd;
}
type 'd rootsfn = float -> 'd -> Sundials.RealArray.t -> unit
val no_roots : int * 'd Arkode.Common.rootsfn
type adaptivity_args = {
h1 : float;
h2 : float;
h3 : float;
e1 : float;
e2 : float;
e3 : float;
q : int;
p : int;
}
type 'd adaptivity_fn =
float -> 'd -> Arkode.Common.adaptivity_args -> float
type adaptivity_params = {
ks : (float * float * float) option;
method_order : bool;
}
type 'd adaptivity_method =
PIDcontroller of Arkode.Common.adaptivity_params
| PIcontroller of Arkode.Common.adaptivity_params
| Icontroller of Arkode.Common.adaptivity_params
| ExplicitGustafsson of Arkode.Common.adaptivity_params
| ImplicitGustafsson of Arkode.Common.adaptivity_params
| ImExGustafsson of Arkode.Common.adaptivity_params
| AdaptivityFn of 'd Arkode.Common.adaptivity_fn
type 'd rhsfn = float -> 'd -> 'd -> unit
type 'd stability_fn = float -> 'd -> float
type 'd resize_fn = 'd -> 'd -> unit
type 'd postprocess_step_fn = float -> 'd -> unit
type 'd triple = 'd * 'd * 'd
type ('t, 'd) jacobian_arg =
('t, 'd) Arkode_impl.jacobian_arg = {
jac_t : float;
jac_y : 'd;
jac_fy : 'd;
jac_tmp : 't;
}
end