In the previous post I wrote some words about VexCL, a library for OpenCL. This library can easily be used within odeint. I only needed to create an adapter for the odeint resizing mechanism and then it was done. VexCL supports expression template and therefore, it can be used with odeints vector_space_algebra and default_operations. Continue reading
Mario Mulansky and me will visit this years C++Now! conference formerly known as BoostCon, held on May 13-18, 2012, in Aspen Colorado. It is one of the largest conferences devoted to C++ and we will present an overview talk on odeint. Furthermore, we will introduce some techniques used in odeint. We would be happy to meet and discuss with anyone who has interest in odeint there, of course.
We have worked for one year on a new version of odeint – a highly flexible library for solving ordinary differential equations. It was hidden in some branch of the boost sandbox. Today, we put this version into the github:
It is not compatible with the old version such that we call the library odeint v2. Some nice and new features are:
- Algebras and operations which can be adapted for nearly all container types. For example, a specialized algebra for thrust exists, such that you can use the power of modern graphics cards and CUDA for solving ODEs.
- A generic implementation of the Runge-Kutta solvers. Any Butcher tableau can now be used without any performance loss.
- Methods with dense output for example the Dopri5 solver.
- Methods for stiff ODEs.
The Taylor series methods determines the solution of an ODE by its Taylor coefficients. The theory is extremely simple but the difficulty is to determine these coefficients numerically and in an unique way. To do so automatic differentiation is used where the formulas defining the ODE are given as expression trees and are then sequentially evaluated to obtain the n-the derivative or the n-th Taylor coefficient. Continue reading