zbMATH — the first resource for mathematics

Assimulo: a unified framework for ODE solvers. (English) Zbl 07313385
Summary: 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.
68 Computer science
65 Numerical analysis
Full Text: DOI
[1] A˚kesson, J.; A˚rzén, K. E.; Gäfvert, M.; Bergdahl, T.; Tummescheit, H., Modeling and optimization with Optimica and JModelica.org—languages and tools for solving large-scale dynamic optimization problem, Comput. Chem. Eng., 34, 1737-1749 (2010)
[2] Andersson, C., (A Software Framework for Implementation and Evaluation of Co-Simulation Algorithms. A Software Framework for Implementation and Evaluation of Co-Simulation Algorithms, Lic. Theses Math. Sci., vol. 2013:1 (2013), Lund Uni.)
[3] Andersson, C.; Gedda, S.; Åkesson, J.; Diehl, S., Derivative-free parameter optimization of functional mock-up units, (Proc. 9th Int. Modelica Conf (2012), LiU E-Press), 819-828
[4] Andersson, N.; Larsson, P. O.; Åkesson, J.; Skålén, S.; Carlsson, N.; Nilsson, B., Parameter estimation of dynamic grade transitions in a polyethylene plant, (ESCAPE 22, vol. 17 (2012), Elsevier), 20
[6] Behnel, S.; Bradshaw, R.; Citro, C.; Dalcin, L.; Seljebotn, D.; Smith, K., Cython: The best of both worlds, IEEE Comput. Sci. Eng., 13, 31-39 (2011)
[7] Blochwitz, T.; Otter, M.; Arnold, M.; Bausch, C.; Clauß, C.; Elmqvist, H.; Junghanns, A.; Mauss, J.; Monteiro, M.; Neidhold, T., The functional mockup interface for tool independent exchange of simulation models, (Proc. 8th Int. Modelica Conf. (2011), LiU E-Press), 105-114
[9] Elmqvist, H.; Mattsson, S. E., Modelica—the next generation modeling language an international design effort, (Proc. 1th World Congr. Syst. Simul. (1997), SCS), 1-3
[10] Fredriksson, E.; Andersson, C.; Åkesson, J., Discontinuities handled with events in Assimulo, a practical approach, (Proc. 10th Int. Modelica Conf. (2014), LiU E-Press), 827-836
[12] Führer, C.; Leimkuhler, B. J., Numerical solution of differential-algebraic equations for constrained mechanical motion, Numer. Math., 59, 55-69 (1991)
[13] Hairer, E.; Nørsett, S.; Wanner, G., (Solving Ordinary Differential Equations. I. Nonstiff Problems. Solving Ordinary Differential Equations. I. Nonstiff Problems, Springer Ser. Comput. Math. (1991), Springer-Verlag: Springer-Verlag Berlin)
[14] Hairer, E.; Wanner, G., (Solving Ordinary Differential Equations. II. Stiff and Differential-Algebraic Problems. Solving Ordinary Differential Equations. II. Stiff and Differential-Algebraic Problems, Springer Ser. Comput. Math. (1996), Springer-Verlag: Springer-Verlag Berlin)
[15] Hindmarsh, A. C., Toward a systematized collection of ODE solvers, (10th IMACS World Congr. Syst. Simul. Sci. Comput. (1982), ESP), 427-429
[16] Hindmarsh, A. C., ODEPACK, a systematized collection of ODE solvers, (Sci. Comput. (1983), NHPC: NHPC Amsterdam), 55-64
[17] Hindmarsh, A. C.; Brown, P. N.; Grant, K. E.; Lee, S. L.; Serban, R.; Shumaker, D. E.; Woodward, C. S., Sundials: Suite of nonlinear and differential/algebraic equation solvers, ACM Trans. Math. Softw., 31, 363-396 (2005)
[18] Horvath, P.; Yampolskiy, M.; Xue, Y.; Koutsoukos, X. D.; Sztipanovits, J., An integrated system simulation approach for wireless networked control systems, (Proc. 5th ISRCS (2012), IEEE), 118-123
[19] Kværnø, A., Runge-Kutta Methods for the Numerical Solution of Differential-Algebraic Equations of Index 1 (1988), NTH: NTH Trondheim, Norway, (Ph.D. thesis)
[20] Leine, R. I.; Van Campen, D. H.; Glocker, C. H., Nonlinear dynamics and modeling of various wooden toys with impact and friction, J. Vib. Control, 9, 25 (2003)
[21] Lubich, C.; Nowak, U.; Pohle, U.; Engstler, C., MEXX-numerical Software for the Integration of Constrained Mechanical Multibody Systems (1992), ZIB: ZIB Berlin
[22] MATLAB, Version—R2012b (2012), The MathWorks Inc.: The MathWorks Inc. Natick, Massachusetts
[26] Oliphant, T. E., Python for scientific computing, IEEE Comput. Sci. Eng., 9, 10-20 (2007)
[27] Otter, M., Objektorientierte Modellierung mechatronischer Systeme am Beispiel geregelter Roboter (1995), Ruhr-University: Ruhr-University Bochum, Germany, (Ph.D. thesis)
[28] Peterson, P., F2PY: a tool for connecting Fortran and Python programs, Int. J. Comput. Sci. Eng., 4, 296-305 (2009)
[29] Petzold, L., Description of DASSL: A Differential/Algebraic System Solver, Technical Report, SAND-82-8637, SNL (1982)
[30] Rabier, P. J.; Rheinboldt, W. C., Nonholonomic Motion of Rigid Mechanical Systems from a DAE Viewpoint (2000), SIAM: SIAM Philadelphia, PA, USA
[32] Voigtmann, S., General Linear Methods for Integrated Circuit Design (2006), Logos Verlag: Logos Verlag Berlin
[33] Wehage, R. A.; Haug, E. J., Generalized coordinate partitioning for dimension reduction in analysis of constrained dynamic systems, J. Mech. Des., 104, 247-255 (1982)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.