Ionic Diffusion along the Morphology
# Introduction Plasticity processes are mediated by signalling ions, eg Ca++, which are generated by synapses upon reception of a spike. This adds a quantity `Xd` for any ion `X` - initialised as `Xi` - read from and written to by NMODL density and point mechanisms. - propagates according to a diffusion law `∂_t Xd = ∂_z c X ∂_z Xd + iX/qi`. - in contrast to `Xi` and `Xo` there's no buffering and the update in mechanisms occurs atomically (and at a different time) More details can be found in the documentation. For the future there are some low hanging optimisations - per-ion conductivity for the matrix solver could be disabled if no diffusion is computed - cable and diffusion solvers store duplicates of the solver state, could be merged Closes #1651
Showing
- arbor/CMakeLists.txt 2 additions, 0 deletionsarbor/CMakeLists.txt
- arbor/arbexcept.cpp 6 additions, 0 deletionsarbor/arbexcept.cpp
- arbor/backends/gpu/diffusion.cu 274 additions, 0 deletionsarbor/backends/gpu/diffusion.cu
- arbor/backends/gpu/diffusion.hpp 40 additions, 0 deletionsarbor/backends/gpu/diffusion.hpp
- arbor/backends/gpu/diffusion_state.hpp 462 additions, 0 deletionsarbor/backends/gpu/diffusion_state.hpp
- arbor/backends/gpu/fine.cu 65 additions, 0 deletionsarbor/backends/gpu/fine.cu
- arbor/backends/gpu/fine.hpp 85 additions, 0 deletionsarbor/backends/gpu/fine.hpp
- arbor/backends/gpu/fvm.hpp 4 additions, 6 deletionsarbor/backends/gpu/fvm.hpp
- arbor/backends/gpu/matrix_fine.cu 0 additions, 57 deletionsarbor/backends/gpu/matrix_fine.cu
- arbor/backends/gpu/matrix_fine.hpp 3 additions, 22 deletionsarbor/backends/gpu/matrix_fine.hpp
- arbor/backends/gpu/matrix_state_fine.hpp 3 additions, 57 deletionsarbor/backends/gpu/matrix_state_fine.hpp
- arbor/backends/gpu/shared_state.cpp 40 additions, 8 deletionsarbor/backends/gpu/shared_state.cpp
- arbor/backends/gpu/shared_state.hpp 22 additions, 4 deletionsarbor/backends/gpu/shared_state.hpp
- arbor/backends/multicore/cable_solver.hpp 27 additions, 34 deletionsarbor/backends/multicore/cable_solver.hpp
- arbor/backends/multicore/diffusion_solver.hpp 145 additions, 0 deletionsarbor/backends/multicore/diffusion_solver.hpp
- arbor/backends/multicore/fvm.hpp 8 additions, 8 deletionsarbor/backends/multicore/fvm.hpp
- arbor/backends/multicore/shared_state.cpp 43 additions, 9 deletionsarbor/backends/multicore/shared_state.cpp
- arbor/backends/multicore/shared_state.hpp 23 additions, 7 deletionsarbor/backends/multicore/shared_state.hpp
- arbor/cable_cell.cpp 4 additions, 0 deletionsarbor/cable_cell.cpp
- arbor/cable_cell_param.cpp 14 additions, 8 deletionsarbor/cable_cell_param.cpp
Please register or sign in to comment