/* * BrodyHopfield.sli * * This file is part of NEST. * * Copyright (C) 2004 The NEST Initiative * * NEST is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * NEST is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NEST. If not, see <http://www.gnu.org/licenses/>. * */ /* Synchronization Behavior The SLI code in this file reproduces the spike synchronization behavior of integrate-and-fire neurons in response to a subthreshold oscillation. This phenomenon is shown in Fig. 1 of C.D. Brody and J.J. Hopfield Simple Networks for Spike-Timing-Based Computation, with Application to Olfactory Processing Neuron 37, 843-852 (2003) Neurons receive a weak 35Hz oscillation, a gaussian noise current and an increasing DC. The time-locking capability is shown to depend on the input current given. All parameters are taken from the above paper. Sven Schrader */ ResetKernel /N 1000 def % number of neurons /T 600 ms def % simulation time /bias_begin 140 pA def % increasing bias current to all neurons... /bias_end 200 pA def % ...from neuron 0 to N-1 /model /iaf_psc_alpha def /ac_generator Create /drive Set /noise_generator Create /noise Set /spike_detector Create /sd Set /subnet Create /net Set net ChangeSubnet model N Create ; [0] ChangeSubnet net GetNodes /neurons Set sd << /to_file true /withgid true >> SetStatus %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% drive << /amplitude 50. pA /frequency 35. Hz >> SetStatus %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% noise << /mean 0. pA /std 200. pA >> SetStatus %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0 1 N 1 sub { /i Set neurons i get << /tau_m 20 ms /V_th 20 mV /E_L 10 mV /t_ref 2 ms /V_reset 0 mV /C_m 200 pF /V_m 0 mV /I_e i bias_end bias_begin sub N div mul bias_begin add >> SetStatus } for %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% drive neurons DivergentConnect noise neurons DivergentConnect neurons sd ConvergentConnect T Simulate