Re: Vector Runge-Kutta ODE solver with compilation?
- To: mathgroup at smc.vnet.net
- Subject: [mg125447] Re: Vector Runge-Kutta ODE solver with compilation?
- From: Joao <joaopereira9 at gmail.com>
- Date: Wed, 14 Mar 2012 00:39:21 -0500 (EST)
- Delivered-to: email@example.com
Hi there, I've been going through this thread and I would like to know if anyone could give me an opinion on the problem I have. Basically I am using the same runge-kutta 4 taken from Jason Cantarella's page than Dmitry was, but I am using the NestList version. I really need to speed up this algorithm. When I did one of the examples you provided on this thread, the compiled version solved it at a duration of 7% of the non compiled version which was pretty cool. My problem was that when I tried to use it on the work I'm doing the compiled and non compiled versions took the same time. My guess is that the compiled version wasn't able to compute and it returned to the non-compiled version. At this moment I don't know if I'm doing something wrong or if the nature of the RHS of the functions I'm using prevents the compiled algorithm to work in a proper way. I can send the code if necessary. Nevertheless, I may advance that my RHS is a system of 6 ODE (hamiltonian), these ODE call other functions (controls). These last functions (controls) are coded in a module box. Inside that box are some implicit functions in R1 (hence a newton algorithm is called) and there is also a switch - if a given condition is above a threshold the control box assumes one form, bellow that threshold another form is assumed. After all these calculations inside the control box it returns simply a vector of order 3. I would appreciate any help. At the moment I do not know if this is feasible with Compile or not. Maybe I have to put all this different boxes inside a compile? Thanks in advance Joao Pereira