diff --git a/doc/fig/integration_order.pdf b/doc/fig/integration_order.pdf index fe6332481..34e7a6be5 100644 Binary files a/doc/fig/integration_order.pdf and b/doc/fig/integration_order.pdf differ diff --git a/doc/fig/integration_order.png b/doc/fig/integration_order.png index 1a59c08c0..47acc72c6 100644 Binary files a/doc/fig/integration_order.png and b/doc/fig/integration_order.png differ diff --git a/doc/models_library/aeif_cond_exp_neuron_characterisation.rst b/doc/models_library/aeif_cond_exp_neuron_characterisation.rst index 7d334b174..087516490 100644 --- a/doc/models_library/aeif_cond_exp_neuron_characterisation.rst +++ b/doc/models_library/aeif_cond_exp_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[aeif_cond_exp_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[aeif_cond_exp_neuron_nestml].png :alt: aeif_cond_exp_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[aeif_cond_exp_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[aeif_cond_exp_neuron_nestml].png :alt: aeif_cond_exp_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[aeif_cond_exp_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[aeif_cond_exp_neuron_nestml].png :alt: aeif_cond_exp_neuron f-I curve diff --git a/doc/models_library/hh_cond_exp_traub_neuron_characterisation.rst b/doc/models_library/hh_cond_exp_traub_neuron_characterisation.rst index b4f1c86d0..ac3c96c3f 100644 --- a/doc/models_library/hh_cond_exp_traub_neuron_characterisation.rst +++ b/doc/models_library/hh_cond_exp_traub_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[hh_cond_exp_traub_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[hh_cond_exp_traub_neuron_nestml].png :alt: hh_cond_exp_traub_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[hh_cond_exp_traub_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[hh_cond_exp_traub_neuron_nestml].png :alt: hh_cond_exp_traub_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[hh_cond_exp_traub_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[hh_cond_exp_traub_neuron_nestml].png :alt: hh_cond_exp_traub_neuron f-I curve diff --git a/doc/models_library/hh_psc_alpha_neuron_characterisation.rst b/doc/models_library/hh_psc_alpha_neuron_characterisation.rst index 6dab13d8a..e178e7bee 100644 --- a/doc/models_library/hh_psc_alpha_neuron_characterisation.rst +++ b/doc/models_library/hh_psc_alpha_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[hh_psc_alpha_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[hh_psc_alpha_neuron_nestml].png :alt: hh_psc_alpha_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[hh_psc_alpha_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[hh_psc_alpha_neuron_nestml].png :alt: hh_psc_alpha_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[hh_psc_alpha_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[hh_psc_alpha_neuron_nestml].png :alt: hh_psc_alpha_neuron f-I curve diff --git a/doc/models_library/iaf_chxk_2008_neuron_characterisation.rst b/doc/models_library/iaf_chxk_2008_neuron_characterisation.rst index be31432a9..7592578f9 100644 --- a/doc/models_library/iaf_chxk_2008_neuron_characterisation.rst +++ b/doc/models_library/iaf_chxk_2008_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[iaf_chxk_2008_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[iaf_chxk_2008_neuron_nestml].png :alt: iaf_chxk_2008_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[iaf_chxk_2008_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[iaf_chxk_2008_neuron_nestml].png :alt: iaf_chxk_2008_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[iaf_chxk_2008_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[iaf_chxk_2008_neuron_nestml].png :alt: iaf_chxk_2008_neuron f-I curve diff --git a/doc/models_library/iaf_cond_alpha_neuron_characterisation.rst b/doc/models_library/iaf_cond_alpha_neuron_characterisation.rst index 91fb496a6..b4cff6120 100644 --- a/doc/models_library/iaf_cond_alpha_neuron_characterisation.rst +++ b/doc/models_library/iaf_cond_alpha_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[iaf_cond_alpha_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[iaf_cond_alpha_neuron_nestml].png :alt: iaf_cond_alpha_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[iaf_cond_alpha_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[iaf_cond_alpha_neuron_nestml].png :alt: iaf_cond_alpha_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[iaf_cond_alpha_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[iaf_cond_alpha_neuron_nestml].png :alt: iaf_cond_alpha_neuron f-I curve diff --git a/doc/models_library/iaf_cond_beta_neuron_characterisation.rst b/doc/models_library/iaf_cond_beta_neuron_characterisation.rst index 1ca6d71f9..f980be9e8 100644 --- a/doc/models_library/iaf_cond_beta_neuron_characterisation.rst +++ b/doc/models_library/iaf_cond_beta_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[iaf_cond_beta_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[iaf_cond_beta_neuron_nestml].png :alt: iaf_cond_beta_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[iaf_cond_beta_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[iaf_cond_beta_neuron_nestml].png :alt: iaf_cond_beta_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[iaf_cond_beta_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[iaf_cond_beta_neuron_nestml].png :alt: iaf_cond_beta_neuron f-I curve diff --git a/doc/models_library/iaf_cond_exp_neuron_characterisation.rst b/doc/models_library/iaf_cond_exp_neuron_characterisation.rst index f3c44f598..e46bdde74 100644 --- a/doc/models_library/iaf_cond_exp_neuron_characterisation.rst +++ b/doc/models_library/iaf_cond_exp_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[iaf_cond_exp_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[iaf_cond_exp_neuron_nestml].png :alt: iaf_cond_exp_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[iaf_cond_exp_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[iaf_cond_exp_neuron_nestml].png :alt: iaf_cond_exp_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[iaf_cond_exp_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[iaf_cond_exp_neuron_nestml].png :alt: iaf_cond_exp_neuron f-I curve diff --git a/doc/models_library/iaf_cond_exp_sfa_rr_neuron_characterisation.rst b/doc/models_library/iaf_cond_exp_sfa_rr_neuron_characterisation.rst index 9cfb191df..94d1001e2 100644 --- a/doc/models_library/iaf_cond_exp_sfa_rr_neuron_characterisation.rst +++ b/doc/models_library/iaf_cond_exp_sfa_rr_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[iaf_cond_exp_sfa_rr_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[iaf_cond_exp_sfa_rr_neuron_nestml].png :alt: iaf_cond_exp_sfa_rr_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[iaf_cond_exp_sfa_rr_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[iaf_cond_exp_sfa_rr_neuron_nestml].png :alt: iaf_cond_exp_sfa_rr_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[iaf_cond_exp_sfa_rr_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[iaf_cond_exp_sfa_rr_neuron_nestml].png :alt: iaf_cond_exp_sfa_rr_neuron f-I curve diff --git a/doc/models_library/iaf_psc_alpha_neuron_characterisation.rst b/doc/models_library/iaf_psc_alpha_neuron_characterisation.rst index 934683581..89d0c2175 100644 --- a/doc/models_library/iaf_psc_alpha_neuron_characterisation.rst +++ b/doc/models_library/iaf_psc_alpha_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[iaf_psc_alpha_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[iaf_psc_alpha_neuron_nestml].png :alt: iaf_psc_alpha_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[iaf_psc_alpha_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[iaf_psc_alpha_neuron_nestml].png :alt: iaf_psc_alpha_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[iaf_psc_alpha_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[iaf_psc_alpha_neuron_nestml].png :alt: iaf_psc_alpha_neuron f-I curve diff --git a/doc/models_library/iaf_psc_delta_neuron_characterisation.rst b/doc/models_library/iaf_psc_delta_neuron_characterisation.rst index 1b6036734..47167921a 100644 --- a/doc/models_library/iaf_psc_delta_neuron_characterisation.rst +++ b/doc/models_library/iaf_psc_delta_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[iaf_psc_delta_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[iaf_psc_delta_neuron_nestml].png :alt: iaf_psc_delta_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[iaf_psc_delta_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[iaf_psc_delta_neuron_nestml].png :alt: iaf_psc_delta_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[iaf_psc_delta_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[iaf_psc_delta_neuron_nestml].png :alt: iaf_psc_delta_neuron f-I curve diff --git a/doc/models_library/iaf_psc_exp_neuron_characterisation.rst b/doc/models_library/iaf_psc_exp_neuron_characterisation.rst index 5c9f3708a..6f3edcd91 100644 --- a/doc/models_library/iaf_psc_exp_neuron_characterisation.rst +++ b/doc/models_library/iaf_psc_exp_neuron_characterisation.rst @@ -1,18 +1,18 @@ Synaptic response +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_psp_[iaf_psc_exp_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_psp_[iaf_psc_exp_neuron_nestml].png :alt: iaf_psc_exp_neuron postsynaptic response Response to pulse current injection +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_current_pulse_response_[iaf_psc_exp_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_current_pulse_response_[iaf_psc_exp_neuron_nestml].png :alt: iaf_psc_exp_neuron current pulse response f-I curve +++++++++++++++++ -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library/nestml_fI_curve_[iaf_psc_exp_neuron_nestml].png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library/nestml_fI_curve_[iaf_psc_exp_neuron_nestml].png :alt: iaf_psc_exp_neuron f-I curve diff --git a/doc/models_library/index.rst b/doc/models_library/index.rst index d27fa9cc7..af5b70afe 100644 --- a/doc/models_library/index.rst +++ b/doc/models_library/index.rst @@ -22,17 +22,17 @@ Source file: `aeif_cond_exp_neuron.nestml Post-synaptic potential Step current response Firing rate vs. current @@ -47,13 +47,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -75,13 +75,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -103,13 +103,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -125,13 +125,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -147,13 +147,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -169,13 +169,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -192,13 +192,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -213,13 +213,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -235,13 +235,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -270,13 +270,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -298,13 +298,13 @@

Post-synaptic potential Step current response Firing rate vs. current @@ -327,13 +327,13 @@

Post-synaptic potential Step current response Firing rate vs. current diff --git a/doc/nestml_language/nestml_language_concepts.rst b/doc/nestml_language/nestml_language_concepts.rst index 7fc87c624..5c8af3738 100644 --- a/doc/nestml_language/nestml_language_concepts.rst +++ b/doc/nestml_language/nestml_language_concepts.rst @@ -788,11 +788,11 @@ For any two valid numeric expressions ``a``, ``b``, boolean expressions ``c``,\ +------------------------------------------------+--------------------------------------------------------------------+---------------------------+ | ``**`` | Power operator. | ``a ** b`` | +------------------------------------------------+--------------------------------------------------------------------+---------------------------+ -| ``+``, ``-``, ``~`` | unary plus, unary minus, bitwise negation | ``-a``, ``~c`` | +| ``+``, ``-``, ``~`` | Unary plus, unary minus, bitwise negation | ``-a``, ``~c`` | +------------------------------------------------+--------------------------------------------------------------------+---------------------------+ -| ``*``, ``/``, ``%`` | Multiplication, Division and Modulo-Operator | ``a * b``, ``a % b`` | +| ``*``, ``/``, ``%`` | Multiplication, division and modulo operator | ``a * b``, ``a % b`` | +------------------------------------------------+--------------------------------------------------------------------+---------------------------+ -| ``+``, ``-`` | Addition and Subtraction | ``a + b``, ``a - b`` | +| ``+``, ``-`` | Addition and subtraction | ``a + b``, ``a - b`` | +------------------------------------------------+--------------------------------------------------------------------+---------------------------+ | ``<<``, ``>>`` | Left and right bit shifts | ``a << n``, ``a >> n`` | +------------------------------------------------+--------------------------------------------------------------------+---------------------------+ @@ -877,7 +877,7 @@ Spiking input can be handled by convolutions with kernels (see :ref:`Integrating .. code-block:: nestml onReceive(pre_spikes): - print("Info: processing a presynaptic spike at time t = {t}") + println("Info: processing a presynaptic spike at time t = {t}") # ... further statements go here ... The statements in the event handler will be executed when the event occurs. @@ -887,10 +887,10 @@ To specify in which sequence the event handlers should be called in case multipl .. code-block:: nestml onReceive(pre_spikes, priority=1): - print("Info: processing a presynaptic spike at time t = {t}") + println("Info: processing a presynaptic spike at time t = {t}") onReceive(post_spikes, priority=2): - print("Info: processing a postsynaptic spike at time t = {t}") + println("Info: processing a postsynaptic spike at time t = {t}") In this case, if a pre- and postsynaptic spike are received at the exact same time, the higher-priority ``post_spikes`` handler will be invoked first. @@ -1045,7 +1045,7 @@ with time constant, for example, equal to 20 ms: parameters: tau ms = 20 ms -The start at time :math:`t \geq 0` is an implicit assumption for all kernels. +All kernels are assumed to start at time :math:`t \geq 0` (that is, the value of a kernel is 0 for :math:`t < 0`; it is not necessary to explicitly enforce this). Equivalently, the same exponentially decaying kernel can be formulated as a differential equation: @@ -1111,7 +1111,7 @@ A Dirac delta impulse kernel can be defined by using the predefined function ``d Handling of time ---------------- -Inside the ``update`` block, the current time can be retrieved via the predefined, global variable ``t``. The statements executed in the block are reponsible for updating the state of the model between timesteps or events. The statements in this block update the state of the model from the "current" time ``t``, to the next simulation timestep or time of next event ``t + timestep()``. The update step typically involves integration of the ODEs and corresponds to the "free-flight" or "subthreshold" integration; the events themselves are typically handled elsewhere, namely as a convolution with a kernel, or as an ``onReceive`` block. +Inside the ``update`` block, the current time can be retrieved via the predefined, global variable ``t``. The statements executed in the block are responsible for updating the state of the model between timesteps or events. The statements in this block update the state of the model from the "current" time ``t``, to the next simulation timestep or time of next event ``t + timestep()``. The update step involves integration of the ODEs and corresponds to the "free-flight" or "subthreshold" integration; the events themselves are handled elsewhere, namely as a convolution with a kernel, or as an ``onReceive`` block. Integrating the ODEs @@ -1158,15 +1158,15 @@ During simulation, the simulation kernel (for example, NEST Simulator) is respon The recommended update sequence for a spiking neuron model is shown below (panel B), which is optimal ("gives the fewest surprises") in the case the simulator uses a minimum synaptic transmission delay (this includes NEST). In this sequence, first the subthreshold dynamics are evaluated (that is, ``integrate_odes()`` is called; in the simplest case, all equations are solved simultaneously) and only afterwards, incoming spikes are processed. .. _label:fig_integration_order -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/integrate_specific_odes/doc/fig/integration_order.png - :alt: Four different conventions for integration sequence. Modified after [1]_, their Fig. 10.2. +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/fig/integration_order.png + :alt: Different conventions for the integration sequence. Modified after [1]_, their Fig. 10.2. The precise sequence of operations depends on whether the simulation is considered to have synaptic propagation delays (A) or not (B). The numeric results of a typical simulation run are shown below. Consider a leaky integrate-and-fire neuron with exponentially decaying postsynaptic currents :math:`I_\text{syn}`. The neuron is integrated using a fixed timestep of :math:`1~\text{ms}` (left) and using an event-based method (right): -.. figure:: https://raw.githubusercontent.com/clinssen/nestml/integrate_specific_odes/doc/fig/integration_order_example.png +.. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/fig/integration_order_example.png :alt: Numerical example for two different integration sequences. -On the left, both pre-synaptic spikes are only processed at the end of the interval in which they occur. The statements in the ``update`` block are run every timestep for a fixed timestep of :math:`1~\text{ms}`, alternating with the statements in the ``onReceive`` handler for the spiking input port. Note that this means that the effect of the spikes becomes visible at the end of the timestep in :math:`I_\text{syn}`, but it takes another timestep before ``integrate_odes()`` is called again and consequently for the effect of the spikes to become visible in the membrane potential. This results in a threshold crossing and the neuron firing a spike. On the right half of the figure, the same presynaptic spike timing is used, but because events are processed at their exact time of occurrence. In this case, the ``update`` statements are called once to update the neuron from time 0 to :math:`1~\text{ms}`, then again to update from :math:`1~\text{ms}` to the time of the first spike, then the spike is processed by running the statements in its ``onReceive`` block, then ``update`` is called to update from the time of the first spike to the second spike, and so on. The time courses of :math:`I_\text{syn}` and :math:`V_\text{m}` are such that the threshold is not reached and the neuron does not fire, illustrating the numerical differences that can occur when the same model is simulated using different strategies. +On the left, both pre-synaptic spikes are only processed at the end of the interval in which they occur. The statements in the ``update`` block are run every timestep for a fixed timestep of :math:`1~\text{ms}`, alternating with the statements in the ``onReceive`` handler for the spiking input port. Note that this means that the effect of the spikes becomes visible at the end of the timestep in :math:`I_\text{syn}`, but it takes another timestep before ``integrate_odes()`` is called again and consequently for the effect of the spikes to become visible in the membrane potential. This results in a threshold crossing and the neuron firing a spike. On the right half of the figure, the same presynaptic spike timing is used, but events are processed at their exact time of occurrence. In this case, the ``update`` statements are called once to update the neuron from time 0 to :math:`1~\text{ms}`, then again to update from :math:`1~\text{ms}` to the time of the first spike, then the spike is processed by running the statements in its ``onReceive`` block, then ``update`` is called to update from the time of the first spike to the second spike, and so on. The time courses of :math:`I_\text{syn}` and :math:`V_\text{m}` are such that the threshold is not reached and the neuron does not fire, illustrating the numerical differences that can occur when the same model is simulated using different strategies. Guards diff --git a/doc/running/running_nest.rst b/doc/running/running_nest.rst index f6d53dfc9..5e6ee37b5 100644 --- a/doc/running/running_nest.rst +++ b/doc/running/running_nest.rst @@ -17,11 +17,7 @@ Simulation loop Note that NEST Simulator uses a hybrid integration strategy [Hanuschkin2010]_; see :numref:`fig_integration_order`, panel A for a graphical depiction. -At the end of each timestep, incoming spikes are processed and their effects become visible in those variables that correspond to a convolution with the corresponding spiking input port. At the start of a timestep, the value is the one "just before" the update due to incoming spikes. - -Then, the code is run corresponding to the NESTML ``update`` block. - -At the end of the timestep, variables corresponding to convolutions are updated according to their ODE dynamics. +At the start of a timestep, the value is the one "just before" the update due to incoming spikes. Then, the code is run corresponding to the NESTML ``update`` block, which makes appropriate calls to integrate the necessary ODEs. After that, incoming spikes are processed, that is, the code corresponding to ``onReceive`` blocks is run and the values of variables corresponding to convolutions are updated. Event-based updating of synapses diff --git a/pynestml/codegeneration/autodoc_builder.py b/pynestml/codegeneration/autodoc_builder.py index e6b2840d3..6a411e3a2 100644 --- a/pynestml/codegeneration/autodoc_builder.py +++ b/pynestml/codegeneration/autodoc_builder.py @@ -318,19 +318,19 @@ def generate_neuron_models_documentation(self, model_names): if model_name in self._characterised_models: s += ".. list-table::\n" s += "\n" - s += " * - .. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library" \ + s += " * - .. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library" \ "/nestml_psp_[" + \ model_name + "_nestml]_small.png\n" s += " :alt: " + model_name + "\n\n" s += " Post-synaptic potential\n" s += "\n" - s += " - .. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library" \ + s += " - .. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library" \ "/nestml_current_pulse_response_[" + \ model_name + "_nestml]_small.png\n" s += " :alt: " + model_name + "\n\n" s += " Step current response\n" s += "\n" - s += " - .. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library" \ + s += " - .. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library" \ "/nestml_fI_curve_[" + \ model_name + "_nestml]_small.png\n" s += " :alt: " + model_name + "\n\n" @@ -339,19 +339,19 @@ def generate_neuron_models_documentation(self, model_names): with open(os.path.join(self.target_path, model_name + "_characterisation.rst"), "w") as f: s_ = "Synaptic response\n+++++++++++++++++\n\n" - s_ += ".. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library" \ + s_ += ".. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library" \ "/nestml_psp_[" + \ model_name + "_nestml].png\n" s_ += " :alt: " + model_name + " postsynaptic response\n" s_ += "\n" s_ += "Response to pulse current injection\n+++++++++++++++++\n\n" - s_ += ".. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library" \ + s_ += ".. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library" \ "/nestml_current_pulse_response_[" + \ model_name + "_nestml].png\n" s_ += " :alt: " + model_name + " current pulse response\n" s_ += "\n" s_ += "f-I curve\n+++++++++++++++++\n\n" - s_ += ".. figure:: https://raw.githubusercontent.com/clinssen/nestml/model_doc_gen/doc/models_library" \ + s_ += ".. figure:: https://raw.githubusercontent.com/nest/nestml/master/doc/models_library" \ "/nestml_fI_curve_[" + \ model_name + "_nestml].png\n" s_ += " :alt: " + model_name + " f-I curve\n"