source: project/release/4/9ML-toolkit/trunk/examples/AEIF_AL.xml @ 30924

Last change on this file since 30924 was 30924, checked in by Ivan Raikov, 6 years ago

9ML-toolkit: tweaks to adaptive integrate and fire example

File size: 2.7 KB
Line 
1<?xml version='1.0' encoding='UTF-8'?>
2<NineML xmlns="http://nineml.incf.org/9ML/1.0"
3    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4    xsi:schemaLocation="http://nineml.incf.org/9ML/1.0/NineML_v0.3.xsd">
5
6  <ComponentClass name="adExIaF">
7
8    <Parameter name="C_m"/>
9    <Parameter name="g_L"/>
10    <Parameter name="E_L"/>
11    <Parameter name="V_T"/>
12    <Parameter name="V_R"/>
13    <Parameter name="V_peak"/>
14    <Parameter name="Delta"/>
15    <Parameter name="tau_w"/>
16    <Parameter name="tau_rp"/>
17    <Parameter name="a"/>
18    <Parameter name="b"/>
19
20    <AnalogPort name="Isyn" mode='reduce' dimension='current'/>
21    <AnalogPort name="t" mode="send" dimension='time'/>
22    <AnalogPort name="V" mode="send" dimension='voltage'/>
23    <AnalogPort name="W" mode="send" dimension='none'/>
24    <AnalogPort name="t_rpend" mode="send" dimension='time'/>
25
26    <EventPort name="refractoryEnd" mode="send"/>
27    <EventPort name="spikeOutput" mode="send"/>
28
29    <Dynamics>
30
31        <StateVariable name="V" dimension="voltage"/>
32        <StateVariable name="W" dimension="none"/>
33
34        <Regime name="subthresholdRegime">
35
36          <TimeDerivative variable="V">
37            <MathInline> (-g_L * (V - E_L) + g_L * Delta * exp ((V - V_T) / Delta) - W + Isyn) / C_m </MathInline>
38
39          </TimeDerivative>
40
41          <TimeDerivative variable="W">
42            <MathInline> (a * (V - E_L) - W) / tau_w </MathInline>
43          </TimeDerivative>
44
45          <OnCondition>
46
47            <Trigger>
48              <MathInline>V &gt; (V_T + 4 * Delta) </MathInline>
49            </Trigger>
50           
51            <StateAssignment variable="V" >
52              <MathInline> V_peak </MathInline>
53            </StateAssignment>
54
55            <StateAssignment variable="W">
56              <MathInline> W + b </MathInline>
57            </StateAssignment>
58
59            <StateAssignment variable="t_rpend" >
60              <MathInline> t + tau_rp </MathInline>
61            </StateAssignment>
62           
63            <EventOut port="spikeOutput" />
64
65          </OnCondition>
66
67        </Regime>
68
69        <Regime name="refractoryRegime">
70           
71          <StateAssignment variable="V" >
72            <MathInline> V_R </MathInline>
73          </StateAssignment>
74
75          <StateAssignment variable="W" >
76            <MathInline> W </MathInline>
77          </StateAssignment>
78
79          <StateAssignment variable="t" >
80            <MathInline> t + h </MathInline>
81          </StateAssignment>
82
83          <OnCondition>
84           
85            <Trigger>
86              <MathInline>t &gt; t_rpend </MathInline>
87            </Trigger>
88           
89            <EventOut port="refractoryEnd" />
90           
91          </OnCondition>
92         
93        </Regime>
94
95    </Dynamics>
96
97  </ComponentClass>
98</NineML>
Note: See TracBrowser for help on using the repository browser.