Renewable Energy, Vol.156, 624-633, 2020
A comprehensive comparison of ODE solvers for biochemical problems
The article is focused on a deep and detailed study on available Ordinary Differential Equations (ODEs) numerical solvers for biochemical and bioprocesses purposes, which are an important part of the renewable energy sector. A wide selection of algorithms is tested - starting from simple, single-step explicit methods, ending with implicit multi-step techniques. These include MATLAB, Python, C++, and C# implementations. The test configuration is an ODEs based model that simulates a biogas production reactor. The research shows that most of the tested solvers pass the accuracy-test (the difference didn't exceed 0,07%), however only selected are efficient. Most of Runge-Kutta based methods are slow and require an enormous number of steps (more than 2.5 x 10(8)). Only multi-step implicit methods are long term solutions - they provide great accuracy while dealing well with stiff, non-smooth ODEs sets. The best from tested solutions were two MATLAB solvers - ode23s and odel5s, as well as a python solver - the LSODA. The first needed averagely 84,051s of calculation time, and 96465 steps, while odel5s required just 11,529s, performing over 20-times fewer steps. The LSODA is ranked somewhere between them with 18,806s of calculation time and the total number of 23730 steps for tested ODEs set. (C) 2020 Elsevier Ltd. All rights reserved.