Hello,
I am trying to use NEURON to run a simulation with a model that has a stiff system of ODEs. Unfortunately, it is so stiff that CVODE has not been able to solve the system. I have tried adjusting the absolute tolerance level, but it is still not working.
Previously, I had been using this model in the Matlab environment, where I was successfully running simulations using the built in Matlab ODE solver ode15s, which is a backwards differentiation method with a variable time step intended for use with stiff problems.
I have been having trouble figuring out what kinds of options are available for numerical solvers in the NEURON environment, and I was wondering if anyone could suggest another solver that I might try. Alternatively, perhaps someone knows of a paper that managed to use NEURON for an especially stiff system?
Thanks so much!
Also, if it is useful, here is the output I get from nrn:
exp(725.497) out of range, returning exp(700)
exp(725.497) out of range, returning exp(700)
CVode Warning: Internal t = 1.39616 and h = 1.84998e17
are such that t + h = t on the next step.
The solver will continue anyway.
CVode Warning: Internal t = 1.39616 and h = 1.15623e18
are such that t + h = t on the next step.
The solver will continue anyway.
CVode Warning: Internal t = 1.39616 and h = 6.8639e19
are such that t + h = t on the next step.
The solver will continue anyway.
CVode Warning: Internal t = 1.39616 and h = 4.40155e19
are such that t + h = t on the next step.
The solver will continue anyway.
CVode Warning: Internal t = 1.39616 and h = 4.40155e19
are such that t + h = t on the next step.
The solver will continue anyway.
CVode Warning: Internal t = 1.39616 and h = 4.40155e19
are such that t + h = t on the next step.
The solver will continue anyway.
CVode Warning: Internal t = 1.39616 and h = 7.53857e19
are such that t + h = t on the next step.
The solver will continue anyway.
CVode Warning: Internal t = 1.39616 and h = 7.53857e19
are such that t + h = t on the next step.
The solver will continue anyway.
CVode Warning: Internal t = 1.39616 and h = 7.53857e19
are such that t + h = t on the next step.
The solver will continue anyway.
CVode Warning: Internal t = 1.39616 and h = 7.53857e19
are such that t + h = t on the next step.
The solver will continue anyway.
CVode The above warning has been issued mxhnil times and will not be
issued again for this problem.
exp(700.014) out of range, returning exp(700)
exp(700.073) out of range, returning exp(700)
No more errno warnings during this execution

Just to check on the warnings about "exp(700.014)", I did go back to my matlab code and have it print out the value of the argument to every exp() at each timestep to see whether any of these was supposed to reach 700 or higher; in fact, none of them did. Thus, I think that these warning messages from cvode regarding "exp(700.014 out of range)" are happening after the solution has already blown up.
ODE solvers for stiff problems (when cvode is not enough)

 Site Admin
 Posts: 5592
 Joined: Wed May 18, 2005 4:50 pm
 Location: Yale University School of Medicine
 Contact:
Re: ODE solvers for stiff problems (when cvode is not enough
The default method is implicit Euler which has admirable stability.
Sometimes the problem lies in a particular mod file that can be revised to make the resulting equations more tractable. If you want me to take a look at this for you, please zip up just the hoc, nmodl, and ses code and email it to
ted dot carnevale at yale dot edu
Its fixed step methods are implicit Euler and a couple of CrankNicholson methods (see secondorder in the Programmer's Reference); its adaptive integrators are called CVODE for historical reasons but actually include a differential algebraic equation solver with preconditioned Krylov iteration.Alix wrote:I have been having trouble figuring out what kinds of options are available for numerical solvers in the NEURON environment
Sometimes the problem lies in a particular mod file that can be revised to make the resulting equations more tractable. If you want me to take a look at this for you, please zip up just the hoc, nmodl, and ses code and email it to
ted dot carnevale at yale dot edu
Re: ODE solvers for stiff problems (when cvode is not enough
Thanks so much, I'd really appreciate that!