source: project/release/4/9ML-toolkit/trunk/examples/Brunel00/BrunelIaF.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.3 KB
Line 
1<?xml version='1.0' encoding='UTF-8'?>
2<NineML xmlns="http://nineml.incf.org/9ML/0.3"
3    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4    xsi:schemaLocation="http://nineml.incf.org/9ML/0.3 ../NineML_v0.3.xsd">
5
6  <ComponentClass name="BrunelIaF">
7
8    <Parameter name="tau" dimension='time'/>       <!-- membrane constant -->
9    <Parameter name="theta" dimension='voltage'/>  <!-- firing threshold -->
10    <Parameter name="tau_rp" dimension='time'/>    <!-- refractory period -->
11    <Parameter name="Vreset" dimension='voltage'/> <!-- reset potential -->
12    <Parameter name="R" dimension='resistance'/>   <!-- membrane resistance -->
13
14    <AnalogPort name="Isyn" mode='reduce' dimension='current'/>
15    <AnalogPort name="V" mode="send" dimension='voltage'/>
16    <AnalogPort name="t_rpend" mode="send" dimension='time'/>
17
18    <EventPort name="spikeOutput" mode="send"/>
19    <EventPort name="refractoryEnd" mode="send"/>
20
21    <Dynamics>
22
23        <StateVariable name="V" dimension="voltage"/>
24        <StateVariable name="t_rpend" dimension="time"/>
25
26        <Regime name="subthresholdRegime">
27         
28          <TimeDerivative variable="V">
29            <MathInline> ( - V) / tau </MathInline>
30          </TimeDerivative>
31
32
33          <StateAssignment variable="V" >
34            <MathInline> V + (R * Isyn) </MathInline>
35          </StateAssignment>
36
37          <OnCondition>
38           
39            <Trigger>
40              <MathInline>V &gt;= theta </MathInline>
41            </Trigger>
42           
43            <StateAssignment variable="t_rpend" >
44              <MathInline> t + tau_rp </MathInline>
45            </StateAssignment>
46           
47            <EventOut port="spikeOutput" />
48           
49          </OnCondition>
50         
51        </Regime>
52         
53        <Regime name="refractoryRegime">
54           
55          <StateAssignment variable="V" >
56            <MathInline> Vreset </MathInline>
57          </StateAssignment>
58
59          <StateAssignment variable="t" >
60            <MathInline> t + h </MathInline>
61          </StateAssignment>
62
63          <OnCondition>
64           
65            <Trigger>
66              <MathInline>t &gt; t_rpend </MathInline>
67            </Trigger>
68           
69            <EventOut port="refractoryEnd" />
70           
71          </OnCondition>
72         
73        </Regime>
74         
75    </Dynamics>
76
77  </ComponentClass>
78</NineML>
Note: See TracBrowser for help on using the repository browser.