yade/trunk — pull request #40 by burak-er (2014-02-17 16:04:55+00:00)
Title:  Added an adaptive Runge Kutta integrator scheme.

Hi Mr. Chareyre/Gladky,

As we all already discussed at the topic here[1] I have created a general integrator interface for both multistep and single step methods. I think the interface is flexible for the integration purposes. It inherits the TimeStepper class, thus, it is an engine which calls the given list of engines in a sequential order by using the parallel engine functions,. I have also created a sample adaptive integrator using odeint library where the integration is based on Runge Kutta. The class is called RungeKuttaCashKarp45 and can be found at pkg/dem. I have added an example to compare the NewtonIntegrator and RungeKuttaCashKarp45 that is based on the simple-scene example. The result is very good and the computation is fast for this scene with a low number of object. But as I tried on other simulations with many objects in it, the integrator is slow and needs to be improved.

Here I want you to merge my master branch with the yade master branch. If you find any bugs or want to improve the code you can contact me.

Thank you in advance.

Burak ER

Research Assistant
Mechanical Engineering Department
Bursa Technical University
mail:burak.er@btu.edu.tr
phone:00902243141658

[1] https://answers.launchpad.net/yade/+question/242646