Cvode::interpolate assert error

Moderator: wwlytton

Post Reply
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Hanze University of Applied Sciences
Contact:

Cvode::interpolate assert error

Post by Raj »

Dear forum,

I'm running network simulations with 160 cells and am using Cvode with use_local_dt switched on. During parameter searches on the network parameters I occasionally get the following errors:
...
Cvode::interpolate assert error t0=197.657 tout-t0=-2.84217e-14 eps*t_=4.38888e-12
...
Cvode::interpolate assert error t0=1678.76 tout-t0=-2.27374e-13 eps*t_=3.72759e-11
...
Has any body encountered these before? Is it known how to adjust the code to prevent these errors from happening? Or at least does anybody have a hint for a search direction?

Regards,
Raj
hines
Site Admin
Posts: 1600
Joined: Wed May 18, 2005 3:32 pm

Post by hines »

Cvode::interpolate assert error
What version are you using? If it is earlier than the current standard distribution
NEURON -- Release 5.9.10 (1601) 2006-11-01 then see if the problem recurs after upgrading. If it does, can you set up a single simulation which reproducibly gives the err, zip up all the files needed, and send them to me at michael.hines@yale.edu.

Cvode is not allowed to interpolate to
a time earlier than t0 but an event wanted to be delivered then. The error seems to involve round off and I've spent a lot of effort ensuring that does not happen. Maybe it is back to the drawing board for me.
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Hanze University of Applied Sciences
Contact:

Post by Raj »

It was a 5.9 version but pre 5.9.10 (The one current at July 18 2006), but because I got caught in some other problem I cannot give the built number. As a result I am in the middle of updating. As a dutch saying formulates it: 'An accident never comes alone.'

When all updating is done I'll rerun the simulation, and let you know the result. It will take the machine at least this weekend as it is an extensive parameter scan on a network model.

Unfortunately the problem only occurs occasionally, somewhere after several hours simulation time so I'll have to think about how to make a minimal set, before zipping up the haystack.

I'll be in touch.
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Hanze University of Applied Sciences
Contact:

Post by Raj »

I reproduced the problem with version 5.9.10 (1601). Sofar running the same code at other parameter settings gave no problems under version 5.8 2005-10-14 12:36:20 Main (88).

To get towards a more (faster) reproducible situation I will have to provide an explicit seed to NetStim at the start of each simulation run and see if there are parameter values for which the problem reproduces.
Raj
Posts: 220
Joined: Thu Jun 09, 2005 1:09 pm
Location: Hanze University of Applied Sciences
Contact:

New interpolation errors?

Post by Raj »

Build:
NEURON -- Version 5.9 2006-5-20 18:55:15 Main (39)
by John W. Moore, Michael Hines, and Ted Carnevale
Duke and Yale University -- Copyright 1984-2005

loading membrane mechanisms from nrnmech.dll
Additional mechanisms from files
AMPAS.mod des_cad.mod des_hh2.mod des_im.mod des_it.mod first_order_ampa.mod first_order_gaba.mod first_order_gabav2.mod netstimgamma.mod nmdaR.mod second_order_nmda.mod tmgsyn.mod

Running a network of 11 cells with 1kHz synaptic stimulation gives this error after about 179 ms simulation time:

PreSyn threshold for PyramidalCellRS_1C_Destexhe[4].soma
occurred immediately after the dead time interval (~0.01 ms,
needed for second order correct threshold detection)
since its previous activation and is therefore inaccurate.
Assertion failed: file ../nrncvode/netcvode.cpp, line 3703
nrniv: after_spike_flag_ == false
near line 285
hoc_ac_ = NoOfFastSpikingINs
^
fadvance( )
advance( )
step( )
continuerun(800 )
and others


With variable time step removed and use use_local_dt removed
we get the following error after about 672 ms simulation time:


Assertion failed: file AMPAS.c, line 239
nrniv: _tsav <= t
near line 285
hoc_ac_ = NoOfFastSpikingINs
^
fadvance( )
advance( )
step( )
continuerun(800 )
and others


Feels like these problems might be related to the previous one, for which admittedly I still didn't get to produce a test set.
hines
Site Admin
Posts: 1600
Joined: Wed May 18, 2005 3:32 pm

Post by hines »

PreSyn threshold for PyramidalCellRS_1C_Destexhe[4].soma
occurred immediately after the dead time interval (~0.01 ms,
needed for second order correct threshold detection)
A dead time after a spike threshold was being used to handle a spurious threshold crossing when a concave trajectory generates a spike time in which the voltage is in fact slightly below threshold. Unfortunately, cvode chose a time step at that point which was longer than the deadtime. Instead of increasing the deadtime, I have chosen a very different but logically simpler method that deals straightforwardly with these edge cases. An explanation is in
http://www.neuron.yale.edu/cgi-bin/trac ... geset/1733
Assertion failed: file AMPAS.c, line 239
nrniv: _tsav <= t
The cause of that error was fixed in
http://www.neuron.yale.edu/cgi-bin/trac ... geset/1465
Post Reply