Related to BlueBrain/CoreNeuron#416
Allow incremental simulation workflow
h.finitialize()
# any change to data or structure
pc.psolve(t1)
# any change to data or structure
pc.psolve(t2)
# any change to data or structure
...
I.e. h.finitialize() also does direct mode finitialize() in CoreNEURON and pc.psolve() does not do direct mode finitialize() in CoreNEURON. This proposal is agnostic with regard to whether full structure is transferred at the beginning of each pc.psolve. But consistency of structure is easily ascertainable. Of course, on pc.solve entry and exit, full data is transferred from and back to NEURON. If there are limitations on the kinds of structure change allowed without calling h.finitialize they should be the same existing limitations as for native NEURON simulations. But this is a gray area and the incremental simulation workflow is useful even with structure change disallowed.
Related to BlueBrain/CoreNeuron#416
Allow incremental simulation workflow
I.e.
h.finitialize()also does direct mode finitialize() in CoreNEURON andpc.psolve()does not do direct mode finitialize() in CoreNEURON. This proposal is agnostic with regard to whether full structure is transferred at the beginning of eachpc.psolve. But consistency of structure is easily ascertainable. Of course, onpc.solveentry and exit, full data is transferred from and back to NEURON. If there are limitations on the kinds of structure change allowed without callingh.finitializethey should be the same existing limitations as for native NEURON simulations. But this is a gray area and the incremental simulation workflow is useful even with structure change disallowed.