Skip to content

Commit

Permalink
Merge pull request #879 from clinssen/integrate_specific_odes
Browse files Browse the repository at this point in the history
Unify neuron + synapse as hybrid dynamical systems models; clarify integration loop sequence
  • Loading branch information
clinssen authored Apr 19, 2024
2 parents 017b050 + 6825854 commit f772922
Show file tree
Hide file tree
Showing 515 changed files with 28,044 additions and 10,821 deletions.
2 changes: 1 addition & 1 deletion doc/extending.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ The default directory can be changed by specifying code generator options that o

.. code-block:: bash
nestml --input_path models/neurons/iaf_psc_exp.nestml --codegen_opts /home/nest/work/codegen_options.json
nestml --input_path models/neurons/iaf_psc_exp_neuron.nestml --codegen_opts /home/nest/work/codegen_options.json
An example ``codegen_options.json`` file for NEST could look as follows:

Expand Down
Binary file added doc/fig/integration_order.pdf
Binary file not shown.
Binary file added doc/fig/integration_order.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/fig/integration_order_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 6 additions & 4 deletions doc/models_library/aeif_cond_alpha.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Parameters


"C_m", "pF", "281.0pF", "membrane parametersMembrane Capacitance"
"t_ref", "ms", "0.0ms", "Refractory period"
"refr_T", "ms", "2ms", "Duration of refractory period"
"V_reset", "mV", "-60.0mV", "Reset Potential"
"g_L", "nS", "30.0nS", "Leak Conductance"
"E_L", "mV", "-70.6mV", "Leak reversal Potential (aka resting potential)"
Expand All @@ -78,7 +78,9 @@ State variables


"V_m", "mV", "E_L", "Membrane potential"
"w", "pA", "0pA", "Spike-adaptation current"
"w", "pA", "0pA", "Spike-adaptation current"
"refr_t", "ms", "0ms", "Refractory period timer"
"is_refractory", "boolean", "false", ""



Expand All @@ -99,7 +101,7 @@ Equations
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `aeif_cond_alpha <https://github.com/nest/nestml/tree/master/models/neurons/aeif_cond_alpha.nestml>`_.
The model source code can be found in the NESTML models repository here: `aeif_cond_alpha <https://github.com/nest/nestml/tree/master/models/neurons/aeif_cond_alpha_neuron.nestml>`_.

Characterisation
++++++++++++++++
Expand All @@ -109,4 +111,4 @@ Characterisation

.. footer::

Generated at 2023-08-22 14:29:44.564178
Generated at 2023-11-16 11:40:54.055963
4 changes: 2 additions & 2 deletions doc/models_library/aeif_cond_alpha_characterisation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ Synaptic response
-----------------

.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_models_library_[aeif_cond_alpha]_synaptic_response.png
:alt: aeif_cond_alpha_nestml
:alt: aeif_cond_alpha_neuron

f-I curve
---------

.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_models_library_[aeif_cond_alpha]_f-I_curve.png
:alt: aeif_cond_alpha_nestml
:alt: aeif_cond_alpha_neuron

10 changes: 6 additions & 4 deletions doc/models_library/aeif_cond_exp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Parameters


"C_m", "pF", "281.0pF", "membrane parametersMembrane Capacitance"
"t_ref", "ms", "0.0ms", "Refractory period"
"refr_T", "ms", "2ms", "Duration of refractory period"
"V_reset", "mV", "-60.0mV", "Reset Potential"
"g_L", "nS", "30.0nS", "Leak Conductance"
"E_L", "mV", "-70.6mV", "Leak reversal Potential (aka resting potential)"
Expand All @@ -79,7 +79,9 @@ State variables


"V_m", "mV", "E_L", "Membrane potential"
"w", "pA", "0pA", "Spike-adaptation current"
"w", "pA", "0pA", "Spike-adaptation current"
"refr_t", "ms", "0ms", "Refractory period timer"
"is_refractory", "boolean", "false", ""



Expand All @@ -100,7 +102,7 @@ Equations
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `aeif_cond_exp <https://github.com/nest/nestml/tree/master/models/neurons/aeif_cond_exp.nestml>`_.
The model source code can be found in the NESTML models repository here: `aeif_cond_exp <https://github.com/nest/nestml/tree/master/models/neurons/aeif_cond_exp_neuron.nestml>`_.

Characterisation
++++++++++++++++
Expand All @@ -110,4 +112,4 @@ Characterisation

.. footer::

Generated at 2023-08-22 14:29:44.513192
Generated at 2023-11-16 11:40:54.284516
4 changes: 2 additions & 2 deletions doc/models_library/aeif_cond_exp_characterisation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ Synaptic response
-----------------

.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_models_library_[aeif_cond_exp]_synaptic_response.png
:alt: aeif_cond_exp_nestml
:alt: aeif_cond_exp_neuron

f-I curve
---------

.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_models_library_[aeif_cond_exp]_f-I_curve.png
:alt: aeif_cond_exp_nestml
:alt: aeif_cond_exp_neuron

9 changes: 6 additions & 3 deletions doc/models_library/hh_cond_exp_destexhe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ Parameters
"beta_h_init", "1 / ms", "(4.0 / (1.0 + exp((40.0mV - V_m) / 5.0mV))) / ms", ""
"alpha_p_init", "1 / ms", "0.0001 / (ms * mV) * (V_m + 30.0mV) / (1.0 - exp(-(V_m + 30.0mV) / 9.0mV))", ""
"beta_p_init", "1 / ms", "-0.0001 / (ms * mV) * (V_m + 30.0mV) / (1.0 - exp((V_m + 30.0mV) / 9.0mV))", ""
"refr_T", "ms", "2ms", "Duration of refractory period"
"I_e", "pA", "0pA", "constant external input current"


Expand All @@ -78,10 +79,12 @@ State variables
:widths: auto


"r", "integer", "0", "counts number of tick during the refractory period"
"g_noise_exc", "uS", "g_noise_exc0", ""
"g_noise_inh", "uS", "g_noise_inh0", ""
"V_m", "mV", "E_L", "Membrane potential"
"V_m_old", "mV", "E_L", "Membrane potential at the previous timestep"
"refr_t", "ms", "0ms", "Refractory period timer"
"is_refractory", "boolean", "false", ""
"Act_m", "real", "alpha_m_init / (alpha_m_init + beta_m_init)", ""
"Act_h", "real", "alpha_h_init / (alpha_h_init + beta_h_init)", ""
"Inact_n", "real", "alpha_n_init / (alpha_n_init + beta_n_init)", ""
Expand Down Expand Up @@ -115,7 +118,7 @@ Equations
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `hh_cond_exp_destexhe <https://github.com/nest/nestml/tree/master/models/neurons/hh_cond_exp_destexhe.nestml>`_.
The model source code can be found in the NESTML models repository here: `hh_cond_exp_destexhe <https://github.com/nest/nestml/tree/master/models/neurons/hh_cond_exp_destexhe_neuron.nestml>`_.

Characterisation
++++++++++++++++
Expand All @@ -125,4 +128,4 @@ Characterisation

.. footer::

Generated at 2023-08-22 14:29:44.766222
Generated at 2023-11-16 11:40:53.935360
10 changes: 6 additions & 4 deletions doc/models_library/hh_cond_exp_traub.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Parameters
"V_T", "mV", "-63mV", "Voltage offset that controls dynamics. For default"
"tau_syn_exc", "ms", "5ms", "parameters, V_T = -63 mV results in a threshold around -50 mV.Synaptic time constant of excitatory synapse"
"tau_syn_inh", "ms", "10ms", "Synaptic time constant of inhibitory synapse"
"t_ref", "ms", "2ms", "Refractory period"
"refr_T", "ms", "2ms", "Duration of refractory period"
"E_exc", "mV", "0mV", "Excitatory synaptic reversal potential"
"E_inh", "mV", "-80mV", "Inhibitory synaptic reversal potential"
"alpha_n_init", "1 / ms", "0.032 / (ms * mV) * (15.0mV - E_L) / (exp((15.0mV - E_L) / 5.0mV) - 1.0)", ""
Expand All @@ -89,8 +89,10 @@ State variables
:widths: auto


"r", "integer", "0", "counts number of tick during the refractory period"
"V_m", "mV", "E_L", "Membrane potential"
"V_m_old", "mV", "E_L", "Membrane potential at previous timestep"
"refr_t", "ms", "0ms", "Refractory period timer"
"is_refractory", "boolean", "false", ""
"Act_m", "real", "alpha_m_init / (alpha_m_init + beta_m_init)", ""
"Act_h", "real", "alpha_h_init / (alpha_h_init + beta_h_init)", ""
"Inact_n", "real", "alpha_n_init / (alpha_n_init + beta_n_init)", ""
Expand Down Expand Up @@ -120,7 +122,7 @@ Equations
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `hh_cond_exp_traub <https://github.com/nest/nestml/tree/master/models/neurons/hh_cond_exp_traub.nestml>`_.
The model source code can be found in the NESTML models repository here: `hh_cond_exp_traub <https://github.com/nest/nestml/tree/master/models/neurons/hh_cond_exp_traub_neuron.nestml>`_.

Characterisation
++++++++++++++++
Expand All @@ -130,4 +132,4 @@ Characterisation

.. footer::

Generated at 2023-08-22 14:29:44.206568
Generated at 2023-11-16 11:40:53.801490
12 changes: 12 additions & 0 deletions doc/models_library/hh_cond_exp_traub_characterisation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Synaptic response
-----------------

.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_models_library_[hh_cond_exp_traub]_synaptic_response.png
:alt: hh_cond_exp_traub_neuron

f-I curve
---------

.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_models_library_[hh_cond_exp_traub]_f-I_curve.png
:alt: hh_cond_exp_traub_neuron

10 changes: 6 additions & 4 deletions doc/models_library/hh_moto_5ht.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Parameters
:widths: auto


"t_ref", "ms", "2.0ms", "Refractory period"
"refr_T", "ms", "2ms", "Duration of refractory period"
"g_Na", "nS", "5000.0nS", "Sodium peak conductance"
"g_L", "nS", "200.0nS", "Leak conductance"
"g_K_rect", "nS", "30000.0nS", "Delayed Rectifier Potassium peak conductance"
Expand Down Expand Up @@ -77,8 +77,10 @@ State variables
:widths: auto


"r", "integer", "0", "number of steps in the current refractory phase"
"V_m", "mV", "V_m_init", "Membrane potential"
"V_m_old", "mV", "V_m_init", "Membrane potential"
"refr_t", "ms", "0ms", "Refractory period timer"
"is_refractory", "boolean", "false", ""
"Ca_in", "mmol", "Ca_in_init", "Inside Calcium concentration"
"Act_m", "real", "alpha_m(V_m_init) / (alpha_m(V_m_init) + beta_m(V_m_init))", ""
"Act_h", "real", "h_inf(V_m_init)", ""
Expand Down Expand Up @@ -124,7 +126,7 @@ Equations
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `hh_moto_5ht <https://github.com/nest/nestml/tree/master/models/neurons/hh_moto_5ht.nestml>`_.
The model source code can be found in the NESTML models repository here: `hh_moto_5ht <https://github.com/nest/nestml/tree/master/models/neurons/hh_moto_5ht_neuron.nestml>`_.

Characterisation
++++++++++++++++
Expand All @@ -134,4 +136,4 @@ Characterisation

.. footer::

Generated at 2023-08-22 14:29:44.636925
Generated at 2023-11-16 11:40:53.883052
20 changes: 8 additions & 12 deletions doc/models_library/hh_psc_alpha.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,23 +54,17 @@ Parameters
:widths: auto


"t_ref", "ms", "2ms", "Refractory period"
"V_m_init", "mV", "-65mV", "Initial membrane potential"
"C_m", "pF", "100pF", "Membrane Capacitance"
"g_Na", "nS", "12000nS", "Sodium peak conductance"
"g_K", "nS", "3600nS", "Potassium peak conductance"
"g_L", "nS", "30nS", "Leak conductance"
"C_m", "pF", "100pF", "Membrane Capacitance"
"E_Na", "mV", "50mV", "Sodium reversal potential"
"E_K", "mV", "-77mV", "Potassium reversal potential"
"E_L", "mV", "-54.402mV", "Leak reversal Potential (aka resting potential)"
"refr_T", "ms", "2ms", "Duration of refractory period"
"tau_syn_exc", "ms", "0.2ms", "Rise time of the excitatory synaptic alpha function"
"tau_syn_inh", "ms", "2ms", "Rise time of the inhibitory synaptic alpha function"
"V_m_init", "mV", "-65mV", "Initial membrane potential"
"alpha_n_init", "real", "(0.01 * (V_m_init / mV + 55.0)) / (1.0 - exp(-(V_m_init / mV + 55.0) / 10.0))", ""
"beta_n_init", "real", "0.125 * exp(-(V_m_init / mV + 65.0) / 80.0)", ""
"alpha_m_init", "real", "(0.1 * (V_m_init / mV + 40.0)) / (1.0 - exp(-(V_m_init / mV + 40.0) / 10.0))", ""
"beta_m_init", "real", "4.0 * exp(-(V_m_init / mV + 65.0) / 18.0)", ""
"alpha_h_init", "real", "0.07 * exp(-(V_m_init / mV + 65.0) / 20.0)", ""
"beta_h_init", "real", "1.0 / (1.0 + exp(-(V_m_init / mV + 35.0) / 10.0))", ""
"I_e", "pA", "0pA", "constant external input current"


Expand All @@ -83,8 +77,10 @@ State variables
:widths: auto


"r", "integer", "0", "number of steps in the current refractory phase"
"V_m", "mV", "V_m_init", "Membrane potential"
"V_m_old", "mV", "V_m_init", "Membrane potential at previous timestep for threshold check"
"refr_t", "ms", "0ms", "Refractory period timer"
"is_refractory", "boolean", "false", ""
"Act_m", "real", "alpha_m_init / (alpha_m_init + beta_m_init)", "Activation variable m for Na"
"Inact_h", "real", "alpha_h_init / (alpha_h_init + beta_h_init)", "Inactivation variable h for Na"
"Act_n", "real", "alpha_n_init / (alpha_n_init + beta_n_init)", "Activation variable n for K"
Expand Down Expand Up @@ -114,7 +110,7 @@ Equations
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `hh_psc_alpha <https://github.com/nest/nestml/tree/master/models/neurons/hh_psc_alpha.nestml>`_.
The model source code can be found in the NESTML models repository here: `hh_psc_alpha <https://github.com/nest/nestml/tree/master/models/neurons/hh_psc_alpha_neuron.nestml>`_.

Characterisation
++++++++++++++++
Expand All @@ -124,4 +120,4 @@ Characterisation

.. footer::

Generated at 2023-08-22 14:29:44.732465
Generated at 2023-11-16 11:40:53.850147
4 changes: 2 additions & 2 deletions doc/models_library/hh_psc_alpha_characterisation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ Synaptic response
-----------------

.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_models_library_[hh_psc_alpha]_synaptic_response.png
:alt: hh_psc_alpha_nestml
:alt: hh_psc_alpha_neuron

f-I curve
---------

.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_models_library_[hh_psc_alpha]_f-I_curve.png
:alt: hh_psc_alpha_nestml
:alt: hh_psc_alpha_neuron

7 changes: 4 additions & 3 deletions doc/models_library/hill_tononi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@ State variables
:widths: auto


"r_potassium", "integer", "0", ""
"potassium_refr_t", "ms", "0ms", ""
"is_refractory", "boolean", "false", ""
"g_spike", "boolean", "false", ""
"V_m", "mV", "(g_NaL * E_Na + g_KL * E_K) / (g_NaL + g_KL)", "membrane potential"
"Theta", "mV", "Theta_eq", "Threshold"
Expand Down Expand Up @@ -141,7 +142,7 @@ Equations
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `hill_tononi <https://github.com/nest/nestml/tree/master/models/neurons/hill_tononi.nestml>`_.
The model source code can be found in the NESTML models repository here: `hill_tononi <https://github.com/nest/nestml/tree/master/models/neurons/hill_tononi_neuron.nestml>`_.

Characterisation
++++++++++++++++
Expand All @@ -151,4 +152,4 @@ Characterisation

.. footer::

Generated at 2023-08-22 14:29:44.380314
Generated at 2023-11-16 11:40:54.143368
5 changes: 3 additions & 2 deletions doc/models_library/iaf_chxk_2008.rst
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ State variables


"V_m", "mV", "E_L", "membrane potential"
"V_m_prev", "mV", "E_L", "membrane potential"
"g_ahp", "nS", "0nS", "AHP conductance"
"g_ahp", "nS / ms", "0nS / ms", "AHP conductance"

Expand All @@ -91,7 +92,7 @@ Equations
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `iaf_chxk_2008 <https://github.com/nest/nestml/tree/master/models/neurons/iaf_chxk_2008.nestml>`_.
The model source code can be found in the NESTML models repository here: `iaf_chxk_2008 <https://github.com/nest/nestml/tree/master/models/neurons/iaf_chxk_2008_neuron.nestml>`_.

Characterisation
++++++++++++++++
Expand All @@ -101,4 +102,4 @@ Characterisation

.. footer::

Generated at 2023-08-22 14:29:44.431863
Generated at 2023-11-16 11:40:53.989187
12 changes: 0 additions & 12 deletions doc/models_library/iaf_chxk_2008_characterisation.rst

This file was deleted.

Loading

0 comments on commit f772922

Please sign in to comment.