Madagascar Programming Reference Manual |
int sf_ode23_step (float* y /* [dim] solution */, void* par /* parameters for function evaluation */, void (*rhs)(void*,float*,float*) /* RHS function */, int (*term)(void*,float*) /* function returning 1 if the ray needs to terminate */, float** traj /* [nt+1][dim] - ray trajectory (output) */) /*< ODE solver for dy/dt = f where f comes from rhs(par,y,f) Note: 1. Value of y is changed inside the function. 2. The output code for it = ode23_step(...) it=0 - ray traced to the end without termination it>0 - ray terminated The total traveltime along the ray is nt*dt if (it = 0); it*dt otherwise >*/ { ... }