diff --git a/lib/hsim/full.ml b/lib/hsim/full.ml index c0e8cac..4334558 100644 --- a/lib/hsim/full.ml +++ b/lib/hsim/full.ml @@ -45,7 +45,7 @@ type 'a dense = function obtained by the concatenation of the interval domains of each [α value] in the sequence. - For instance, [[Some { h=3.0; f=f1 }; None; Some { h=2.0; f=f2 }]] + For instance, [[Some { h=3.0; f=f1 }; None; Some { h=2.0; f=f2 }]] represents the function [{ h=5.0; f=fun t -> if t <= 3.0 then f1 t else f2 (t - 3.0) }]. *) type 'a signal = @@ -54,7 +54,7 @@ type 'a signal = (** Initial value problem (IVP) - Its solution is a function [f : [0, h] -> 'y] such that: + Its solution is a function [f : [0, h] -> 'y] such that: - [f 0.0 = y0] - [(df/dt) t = fder t (f t)] *) type ('y, 'yder) ivp = @@ -66,11 +66,11 @@ type ('y, 'yder) ivp = (** ODE solver Given a requested horizon [t], the solver returns an approximation - of the solution to the IVP on [[0, t']] (where [t' ≤ t]). + of the solution to the IVP on [[0, t']] (where [t' ≤ t]). Successive steps compute successive parts of the solution. Its (re)initialization parameter is the IVP to solve. That is, the - solver must be initialized with an IVP before use. *) + solver must be initialized with an IVP before use. *) type ('y, 'yder) csolver = (time, 'y dense, ('y, 'yder) ivp) dnode (* ↑ ↑ ↑ *) @@ -160,7 +160,7 @@ type ('i, 'o, 'r, 'y, 'yder, 'zin, 'zout) hnode = (* We consider the simulation of a hybrid node with a solver as a particular case of a discrete node. That is, the simulation has an internal state, step function and reset function. At each step of - the simulation, we operate according to one of two modes: discrete + the simulation, we operate according to one of two modes: discrete and continuous. In discrete mode, we perform a discrete step using the model's