Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic Connector dispatch #505

Merged
merged 14 commits into from
Dec 22, 2024
Merged

Generic Connector dispatch #505

merged 14 commits into from
Dec 22, 2024

Conversation

harisorgn
Copy link
Member

Adds a generic dispatch to Connector along with functions to be expanded by users when they want to define their own connections. There's one such function per Connector field.

Also adds a couple of convenience functions

  • system(blox; simplify=true) that returns a (simplified) system to make it easy to simulate a single blox without defining a graph.
  • dispatch Base.getproperty(blox, field::Symbol) to propagate relevant fields to blox.odesystem so one can do @named blox = LIFNeuron() ; blox.V to get the namespaced V variable instead having to first extract the inner odesystem.

@harisorgn harisorgn merged commit 89cadb8 into master Dec 22, 2024
6 checks passed
@harisorgn harisorgn deleted the ho/generic_connector branch December 22, 2024 19:37
david-hofmann pushed a commit that referenced this pull request Jan 2, 2025
* reexport t and D from MTK

* add alias for `AbstractNeuronBlox` for brevity

* export functions for easier custom blox+connector definitions

* add generic spike affect and restructure existing one for LIF neurons

* add `system(blox)` to return (simplified) system

* option to choose between namespaced or not input equations in getter function

* add generic Connector dispatch

* add getter functions for spike affect states and params

* remove abstract neuron -> neuron Connector dispatch

* change values in `spike_affects` to `Vector{Tuple}` instead of `Tuple{Vector,Vector}`

* move functional spike affect to `Neurographs.jl`

* add generic fallback for discrete callbacks

* fix typo

* add `weight` argument to `connection_spike_affects`
david-hofmann pushed a commit that referenced this pull request Jan 3, 2025
* reexport t and D from MTK

* add alias for `AbstractNeuronBlox` for brevity

* export functions for easier custom blox+connector definitions

* add generic spike affect and restructure existing one for LIF neurons

* add `system(blox)` to return (simplified) system

* option to choose between namespaced or not input equations in getter function

* add generic Connector dispatch

* add getter functions for spike affect states and params

* remove abstract neuron -> neuron Connector dispatch

* change values in `spike_affects` to `Vector{Tuple}` instead of `Tuple{Vector,Vector}`

* move functional spike affect to `Neurographs.jl`

* add generic fallback for discrete callbacks

* fix typo

* add `weight` argument to `connection_spike_affects`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant