Module Integrate3d

type method_ =
  1. | Explicit_euler
  2. | Semi_implicit_euler
  3. | Verlet
  4. | Rk4
type spin_law =
  1. | Momentum
  2. | Spin_gyroscopic
  3. | Spin_naive
type turn =
  1. | First_order
  2. | Exact
type force = Vec3.t -> Vec3.t -> Vec3.t
val methods : method_ list
val name : method_ -> string
val no_force : force
val step : method_ -> ?law:spin_law -> ?turn:turn -> ?torque:Vec3.t -> force:force -> dt:float -> Body3d.t -> Body3d.t
val spin_step : ?law:spin_law -> ?turn:turn -> torque:Vec3.t -> dt:float -> Body3d.t -> Body3d.t
val explicit_euler : force:force -> dt:float -> Body3d.t -> Body3d.t
val semi_implicit_euler : force:force -> dt:float -> Body3d.t -> Body3d.t
val verlet : force:force -> dt:float -> Body3d.t -> Body3d.t
val rk4 : force:force -> dt:float -> Body3d.t -> Body3d.t