[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] gsl newbie: GSL_EFAULT in
From: |
Steve Brosnan |
Subject: |
Re: [Help-gsl] gsl newbie: GSL_EFAULT in |
Date: |
Tue, 29 Nov 2011 10:45:01 -0800 |
Illes,
I too am pretty much a newbie, but I have successfully used the new (upgraded
in gsl-1.15) ode solver. You are probably correct that you have not allocated
things properly. I really encourage you to read Section 26 of the
documentation, but here is the kernel of what I found to be important. New for
gsl-1.15 is a higher level interface using the 'driver', which has worked fine
for me. What you need to do is:
(1) Define and load the gsl_odeiv2_system structure.
(2) Allocate the driver with one of four options. I used
gsl_odeiv2_driver_alloc_y_new. One of the call parameters is the
gsl_odeiv2_step_type* that you have already noted.
(3) Call gsl_odeiv2_driver_apply in your integration loop
(4) Free memory when you're done with gsl_odeiv2_driver_free
Hope that helps.
Best regards,
Steve
>
> From: "Farkas, Illes" <address@hidden>
> To: address@hidden
> Subject: [Help-gsl] gsl newbie: GSL_EFAULT in
>
> Dear GSL List,
>
> Thanks to all for making the gsl library available to the public. I'm a
> newbie to gsl. In my program gsl_odeiv2_evolve_apply returns GSL_EFAULT. I
> use the rk2imp integration method with this line in my code:
>
> gsl_odeiv2_step_type * stepType = gsl_odeiv2_step_rk2imp;
>
> I assume that with this setting gsl_odeiv2_evolve_apply simply invokes the
> function rk2imp (defined in the file "rk2imp.c"). Based on line 263 of
> rk2imp.c I think that the above mentioned GSL_EFAULT return value is caused
> by state->driver == NULL, where "state" is the first argument of
> rk2imp_apply.
>
> Do you think this conclusion is correct?
>
> Do I need to define (or allocate memory to) this driver somewhere?
>
> Or is this memory allocation problem a common newbie error?
>
> Many-many thanks
> Illes
> --