Assimulo is a Python / Cython based simulation package that allows for simulation of both ordinary differential equations (ODEs), f(t,y), and differential algebraic equations (DAEs), f(t,y,yd). It combines a variety of different solvers written in C and Python via a common high-level interface.
The idea with Assimulo is to create a basis for simulating differential equations and to be easily extended with other solvers. Currently Assimulo wraps the C-based Sundials solvers, IDA and CVode. There is also support for explicit Euler, RungeKutta of order 4 and adaptive RungeKutta of order 4. The package is created around a core for explicit and implicit problems respectively from where the solvers is connected. To be extendable, Assimulo is also appended with a problem class. See the Figure.
Assimulo was created from a collaboration between the Department of Numerical Analysis and the Department of Automatic Control at Lund University together with the company Modelon AB. The main contributors have been Christian Andersson, Claus Führer, Johan Åkesson and Magnus Gäfvert.
Assimulo is currently under development and the progress can be followed from our trac-site https://trac.jmodelica.org/assimulo/wiki.