Hi all,
Does anyone know a good c++ open source code for adaptive higher order integration of ODEs (runge-kutta family) ? Or perhaps any good references so I can write my own ?
It depends very much on the complexity of the equations you have to solve and how important is this module for you. If the core logic of the program is not the ODE solver, I would recommed using a library. Beware that most methods learned at school don't work as expected for most complex problems (stability problems, round-off errors, lack of convergence in non-linear ODEs). Dealing with this correctly requires lots of expertise and effort.
// Well as for the "it's best to program it yourself" thing, I would have to agree to that for a simple yet important reason... learning and experience! Unless there is some higher priority reason that surpasses the importance of experience and understanding, which I find hard to believe unless it's for some deadline on something needed out of your control. Otherwise, if you had plenty of time to do it, I don't see a reason not to gain what you can from it!
// These are just ideas from a quite inexperienced beginner.
ODE= ordinary differential equations, it's not 3D.
You do know what kinds of things differential equations are useful for, right? This stuff is very useful in three-dimensional analysis and modelling -- particularly in simulations (like cloth and hair).
Which reminds me what I was using it for... I was writing my own cloth simulation for a popular 3D package. Someone else beat me to the punch though, so I never finished it.
My primary concern is error control. The basic runge-kutta can be easily picked out from wikipedia. I did some more searching and managed to find couple of books in the library. Intend to spend some time learning the theory. Also, intend to have a look at the matlab source and see how they have implemented it.