Skip to content
Snippets Groups Projects
user avatar
Nora Abi Akar authored
Adds support for user-defined gap junction mechanisms. Fixes #1600.

- API Change: Wrap `mechanism_desc` in one of `density`, `synapse`, `junction` to be able to differentiate the kind of placed mechanism between point and junction mechanisms. 
- API Change: The `ggap` parameter of a `gap_junction_connection` renamed to `weight` and is not a unit-less parameter. 
- Mechanism ABI change: New `peer_index` vector which stores the indices of the peer sites of a gap-junction-connection. New mechanism kind. 
- Internal API change: `shared_state` no longer controls the gap junction current contribution, that is now handled in the mechanism callbacks.
- Modcc change: Add `JUNCTION_PROCESS` and `v_peer` keywords to nmodl, the first to identify a gap-junction mechanism, the second to access the peer voltage of a gap-junction connection. Modify modcc to be able to compile nmodl and generate correct code.
- Behavior change: gap-junctions now contribute to both the current and conductance of a CV as opposed to just the current.
- Add new "gj" mechanism, to replace the built-in constant-conductance based linear gap-junction implementation.
- Fix unit tests.
- Fix python wrapper. 
- Fix docs. 
dc371e5d