generalised stimulus (#126)
feature: #67 (GPU Support) Implement stimulii as part of the mechanism framework, as described here: #87 (comment) * A hand-written stimulus point process derived from `mechanisms::mechanism` was written for each back end. * The lowered `fvm_multicell` type explicitly constructs a stimulus mechanism if there are any stimuli attached to the its cells. * This mechanism is added to the other mechanisms in the lowered cell, so that the update of current is performed in the current update loop (i.e. via the `nrn_current()`) method. This isn't an ideal solution: we still have a hard coded stimulus type in the lowered cell, however the stimulus is now "in the right spot", and we can refine this better when we work on a better design for generalised mechanisms (i.e. when we have figured out what we going to do). fixes #104.
Showing
- src/backends/fvm_gpu.hpp 4 additions, 1 deletionsrc/backends/fvm_gpu.hpp
- src/backends/fvm_multicore.hpp 5 additions, 0 deletionssrc/backends/fvm_multicore.hpp
- src/backends/stimulus_gpu.hpp 149 additions, 0 deletionssrc/backends/stimulus_gpu.hpp
- src/backends/stimulus_multicore.hpp 110 additions, 0 deletionssrc/backends/stimulus_multicore.hpp
- src/fvm_multicell.hpp 37 additions, 23 deletionssrc/fvm_multicell.hpp
- tests/unit/test_fvm_multi.cpp 41 additions, 12 deletionstests/unit/test_fvm_multi.cpp
Please register or sign in to comment