/* * test_hh_cond_exp_traub.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/>. * */ /* BeginDocumentation Name: testsuite::test_hh_cond_exp_traub - sli script for overall test of hh_cond_exp_traub model Synopsis: (test_hh_cond_exp_traub) run -> Description: Author: SeeAlso: */ /unittest (6666) require /unittest using 0.1 /h Set ResetKernel [0] << /local_num_threads 1 /resolution h >> SetStatus %% Test: Node creation /hh_cond_exp_traub Create /neuron Set %% Test: Set/GetStatus << /V_m 10.0 /g_Na 19000.0 /g_K 5000.0 /g_L 9.0 /C_m 100.0 /E_Na 40.0 /E_K -80.0 /E_L -70.0 %/U_tr -60.0 /E_ex 1.0 /E_in -90.0 /tau_syn_ex 0.3 /tau_syn_in 3.0 /I_e 1.0 >> /hh_params Set neuron hh_params SetStatus neuron GetStatus /result Set result /V_m get 6 ToUnitTestPrecision 10 eq assert_or_die result /g_Na get 6 ToUnitTestPrecision 19000 eq assert_or_die result /g_K get 6 ToUnitTestPrecision 5000 eq assert_or_die result /g_L get 6 ToUnitTestPrecision 9 eq assert_or_die result /C_m get 6 ToUnitTestPrecision 100 eq assert_or_die result /E_Na get 6 ToUnitTestPrecision 40 eq assert_or_die result /E_K get 6 ToUnitTestPrecision -80 eq assert_or_die result /E_L get 6 ToUnitTestPrecision -70 eq assert_or_die result /E_ex get 6 ToUnitTestPrecision 1 eq assert_or_die result /E_in get 6 ToUnitTestPrecision -90 eq assert_or_die result /tau_syn_ex get 6 ToUnitTestPrecision 0.3 eq assert_or_die result /tau_syn_in get 6 ToUnitTestPrecision 3 eq assert_or_die result /I_e get 6 ToUnitTestPrecision 1 eq assert_or_die %% Test: Handling of events % CurrentEvent /dc_generator Create /dc_gen Set dc_gen << /amplitude 100.0 >> SetStatus % SpikeEvent /spike_generator Create /sg Set sg << /precise_times false /spike_times [0.1 1.2] >> SetStatus % PotentialRequest /voltmeter Create /vm Set vm << /withtime true /time_in_steps true /interval h >> SetStatus /spike_detector Create /sp_det Set sp_det << /withtime true /withgid true /time_in_steps true >> SetStatus % SynapticConductanceRequest /conductancemeter Create /cm Set cm << /withtime true /time_in_steps true /interval h >> SetStatus sg neuron Connect dc_gen neuron Connect vm neuron Connect cm neuron Connect neuron sp_det Connect %% Test: Simulation 5 Simulate vm [/events [/times /V_m]] get cva % array of recorded data 6 ToUnitTestPrecision Transpose == % to precision of reference cm [/events [/times /exc_conductance /inh_conductance]] get cva % array of recorded data 6 ToUnitTestPrecision Transpose == % to precision of reference %% What about spike detector, is that included in the voltmeter output????