Software
Some software under development (or developed in the recent years):
-
Z-code:
Z-code is a parallel code implementing the MultiResolution method (mainly used for the solution of Reaction Diffusion systems, but this is not a limitation), in dimension 2 and 3. It is fully written in modern C++; parallelism is implemented using task stealing, with the TBB library (paper).
-
Odes-NG:
Odes-NG has three parts:
1- A careful rewriting in C++ of the classical programs of Hairer and Wanner Radau5, Rodas and SDIRK. Performances are improved by a relatively small factor (20%) compared to the fortran implementation. Programs are easier to use in a C++ program.
2- A reimplementation in C++ of A. Abdulle Rock2 and Rock4 methods, avoiding copy of large arrays. I have also developed Rock4 and Rock2 programs specialised in the solution of linear (affine) parabolic problems (like the heat equation).
3- An experimental implementation of the symplectic Runge-Kutta Gauss formulas.
-
Benchmarks for numerical Python, Pythran, Numba, Julia and C++
Compare performances on simple but real numerical problems. This is a work in progress.
-
RKkit:
A Sage package to manipulate and prove properties of Runge-Kutta methods (implicit or explicit). It is just in an early development phase.
-
DGSage:
Experimental kernels (in C++) for the fast solution of heat equation and Poisson equation (use Discontinuous Galerkin, Chebyshev acceleration and Rock methods).
Some years ago:
-
Zebre:
A parallel code (in shared memory) which implements the solution of Reaction-Diffusion systems using operator splitting, stiff equations solvers and finite volumes. It was used for the simulation of strokes on a "real" 3d brain (21 equations, a very stiff and very non linear problem!).
All these software are under various free software licenses.