Setting and Confirming NEURON's Solver
Posted: Fri May 24, 2024 12:11 pm
I'm trying to compare the results of different solvers offered in NEURON. My strategy goes something like this:
But I don't know how I would confirm that what I'm setting is the exclusive solver at work. Is there a query I can send to NEURON to confirm this? I think setting h.secondorder = 2 is correct, because the results are noticeably different. All the others give identical output, as far as I can tell - but is this due to convergence, or because my code isn't doing what I think it's doing?
Code: Select all
moi_switch = 1
match moi_switch:
case 0:
h.CVode().use_daspk()
self.cell.integration_method = 'SUNDIALS - DASPK'
case 1:
h.secondorder = 2
self.cell.integration_method = 'Crank-Nicholson'
case 2:
h.CVode().use_mxb(0)
self.cell.integration_method = 'SUNDIALS - MXB (structured)'
case 3:
h.CVode().use_mxb(1)
self.cell.integration_method = 'SUNDIALS - MXB (sparse)'
case 4:
h.CVode().stiff(2)
self.cell.integration_method = 'SUNDIALS - backwards Euler'
case 5:
h.CVode().stiff(0)
self.cell.integration_method = 'Adams-Bashforth'
case _:
self.cell.integration_method = 'Backwards Euler'
pass