In NOCMODL, the voltage is (when vectorized) handled via an instance specific copy. While in CoreNEURON, this is never done, which why the field is named v_unused.
This PR always uses v_unused. The reason we can't (easily) use the CoreNEURON variation is because sometimes, e.g. CVODE we need to register callbacks, those callbacks have a fixed signature, we can't simply pass through the voltage as an argument, instead we need to retrieve it, e.g. from the instance data.
In NOCMODL, the voltage is (when
vectorized
) handled via an instance specific copy. While in CoreNEURON, this is never done, which why the field is namedv_unused
.This PR always uses
v_unused
. The reason we can't (easily) use the CoreNEURON variation is because sometimes, e.g. CVODE we need to register callbacks, those callbacks have a fixed signature, we can't simply pass through the voltage as an argument, instead we need to retrieve it, e.g. from the instance data.