PreprintArticleVersion 1Preserved in Portico This version is not peer-reviewed
Exploiting Abstract Calculus Pattern for the Integration of Ordinary Differential Equations for Dynamics Systems, an Object Oriented Programming Approach in Modern Fortran
Zaghi, S.; Andolfi, C. Exploiting the Abstract Calculus Pattern for the Integration of Ordinary Differential Equations for Dynamics Systems: An Object-Oriented Programming Approach in Modern Fortran. Dynamics2023, 3, 488-529.
Zaghi, S.; Andolfi, C. Exploiting the Abstract Calculus Pattern for the Integration of Ordinary Differential Equations for Dynamics Systems: An Object-Oriented Programming Approach in Modern Fortran. Dynamics 2023, 3, 488-529.
Zaghi, S.; Andolfi, C. Exploiting the Abstract Calculus Pattern for the Integration of Ordinary Differential Equations for Dynamics Systems: An Object-Oriented Programming Approach in Modern Fortran. Dynamics2023, 3, 488-529.
Zaghi, S.; Andolfi, C. Exploiting the Abstract Calculus Pattern for the Integration of Ordinary Differential Equations for Dynamics Systems: An Object-Oriented Programming Approach in Modern Fortran. Dynamics 2023, 3, 488-529.
Abstract
The (numerical) solution of Ordinary Differential Equations (ODEs) problems is of paramount relevance, ODEs system being an ubiquitous mathematical formulation of many physical phenomena (such as those involved in fluid dynamics, chemistry, biology, evolutionary-anthropology, ...): almost every dynamici phenomenon can be modeled by means of an ODEs system. The present paper is the first manifesto of FOODIE, a library aimed to numerically solve ODEs problems by means of a clear, concise and efficient abstract interface. FOODIE, meaning Fortran Object oriented Ordinary Differential Equations integration library, has manifolds aims: to provide a set to built-in numerical schemes that are accurate, robust, validated and efficient and to allow easy application of these schemes to (almost) all ODEs problems by means of an effective Abstract Calculus Pattern. The key idea is to allow the same solver-implementation to be applied to all ODEs problems thus avoiding the re-implementation of the ODEs solver for each different ODEs problem: code re-usability is consequently maximized, FOODIE being a general robust framework. Besides, the same framework also allows rapid development of new ODEs solvers due to the high abstraction level of the library itself. The present paper is the first announcement of FOODIE project: the current implementation is extensively discussed and its capabilities are proved by means of tests and examples.
Computer Science and Mathematics, Computational Mathematics
Copyright:
This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.