-
Notifications
You must be signed in to change notification settings - Fork 45
Description
I am using scikits.odes 2.6.4 installed from conda-forge
ode_solver = scikits.odes.ode('cvode', self.rhs,
atol = 1e-8,
rtol = 1e-6,
old_api = False,
max_steps = 20000,
linsolver = 'dense',
lmm_type = 'ADAMS',
nonlinsolver = 'fixedpoint',
one_step_compute=True,
jacfn=self.jac)
and
def jac(self, t, y, f, J):
"computer the jacobian"
def wrap(x):
return self.function(t, x, self.current_feeds, jacobian=True)
J[:] = scipy.optimize.approx_fprime(y, wrap)
and I get [CVLS ERROR] CVodeSetJacFn Linear solver memory is NULL. every time before my jac function is called
the entire integration seems to work fine. My function is called the Jacobian is set, J is the right shape when that function is called.
Any idea what is causing that error and how can I fix it?
Part of the reason I am doing this in the first place was I needed to debug the system and see what the approximate jacobian was and I also wanted to be able to tell apart calls to my function to approximate the jacobian and normal calls.
I don't think the issue is in the jac function since the error occurs before it is called.
Further information: If I changed fixedpoint to newton the error message goes away