Current NMODL Best Practices
Posted: Mon Mar 20, 2023 11:19 am
The available information on NMODL best practices seems to be contradictory at points, and I wonder if the best current practices could be summarized in one place?
As an example, the xtra.mod file states:
So - in the interest of constructing a Hodgkin-Huxley-style density mechanism, what best practices should one follow today? Are there defunct/redundant blocks that should not be used, or not be used in combination?
As an example, the xtra.mod file states:
But I can't find corroboration of, or elaboration on, this point anywhere. Most of the information appears not to have been updated in years. Chapters 9/10 of The NEURON Book (as far as I've found) don't even mention the existence of BEFORE BREAKPOINT and AFTER SOLVE. From this quote, it seems that the code for the section.insert('hh') mechanism itself appears to be out of date.Prior to NEURON 5.5, the SOLVE statement in the BREAKPOINT block used METHOD cvode_t so that the adaptive integrators wouldn't miss the stimulus. Otherwise, the BREAKPOINT block would have been called _after_ the integration step... With NEURON 5.5 and later, this mechanism abandons the BREAKPOINT block and uses the two new blocks BEFORE BREAKPOINT and AFTER SOLVE
So - in the interest of constructing a Hodgkin-Huxley-style density mechanism, what best practices should one follow today? Are there defunct/redundant blocks that should not be used, or not be used in combination?