SimpleSim.jl

SimpleSim.jl is a minimalist Julia package for modular dynamical systems simulation and control systems design that I develop and maintain.

What It Does

SimpleSim.jl can simulate continuous-time and discrete-time dynamical systems and supports mixed (“hybrid”) systems. Timing issues are deconflicted automatically, ensuring precise timing of all systems in the simulation. Beyond standard simulations, it provides a few helpful features such as zero-crossing detection and reproducible random variables.

Design Philosophy

SimpleSim.jl does not export any types. The interface consists almost solely of the function simulate and an agreed-upon model structure. This super-light interface leaves most design decisions up to the user — without compromising on functionality: SimpleSim.jl still offers a feature-rich simulation framework.

Citing

If you used SimpleSim.jl in research and you are preparing a publication, please use the following BiBTeX entry:

@software{SimpleSim,
    author = {H{\"u}hnerbein, Jannes},
    title = {{SimpleSim.jl: A minimalist Julia toolbox for modular dynamical systems simulation}},
    url = {https://github.com/janneshb/SimpleSim.jl},
    version = {0.1.2},
    year = {2024},
    month = {04},
}