Assimulo

Assimulo: A unified framework for ODE solvers. During the last three decades, a vast variety of methods to numerically solve ordinary differential equations and differential–algebraic equations has been developed and investigated. The methods are mostly freely available in different programming languages and with different interfaces. Accessing them using a unified interface is a need not only of the research community and for education purposes but also to make them available in industrial contexts. An industrial model of a dynamic system is usually not just a set of differential equations. The models today may contain discrete controllers, impacts or friction resulting in discontinuities that need to be handled by a modern solver in a correct and efficient way. Additionally, the models may produce an enormous amount of data that puts strain on the simulation software. In this paper, Assimulo is presented. It is a unified high-level interface to solvers of ordinary differential equations and is designed to satisfy the needs in research and education together with the requirements for solving industrial models with discontinuities and data handling. It combines original classical and modern solvers independent of their programming language with a well-structured Python/Cython interface. This allows to easily control parameter setting and discontinuity handling for a wide range of problem classes.