Skip to content
Snippets Groups Projects
Commit bfc6f593 authored by noraabiakar's avatar noraabiakar Committed by Sam Yates
Browse files

Coalescing linear synapses (#680)

Allow distinct point processes with the same linear dynamics to be combined if they reside in the same CV after discretization.

* Add `linear` flag to `mechinfo` struct.
* Add a linearity test to `modcc` that determines if a point process is a suitable candidate for coalescing: state and current updates must be linear, homogeneous functions of the state variables; state change on an event arrival (`net_receive`) must be independent of current state values.
* Add `mechanism_state_table()` inquiry function to backend mechanism interface.
* Add a field `multiplicity` to `fvm_mechanism_config` that accounts for merged synapse instances, and a corresponding `multiplicity` field in `mechanism::layout`.
* Merge linear synapses of the same type  in `fvm_build_mechanism_data` if they have the same parameters.
* Add global mc_cell property `coalesce_synapses` which enables or disables the merging of linear synapses at run time.
* Rename virtual `nrn_init()` interface funct...
parent fa7ea458
No related branches found
No related tags found
No related merge requests found
Showing
with 269 additions and 22 deletions
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment