source: project/release/4/9ML-toolkit/trunk/examples/IzhikevichFS_AL.xml @ 29952

Last change on this file since 29952 was 29952, checked in by Ivan Raikov, 8 years ago

9ML-toolkit: bringing octave and scheme backends up to date; changed Izhikevich FS example to use heaviside function

File size: 2.0 KB
Line 
1<?xml version='1.0' encoding='UTF-8'?>
2<NineML xmlns="http://nineml.org/9ML/1.0"
3    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4    xsi:schemaLocation="http://nineml.org/9ML/1.0/NineML_v0.2.xsd">
5
6  <ComponentClass name="IzhikevichFS">
7
8    <Parameter name="a" dimension='none'/>
9    <Parameter name="b" dimension='none'/>
10    <Parameter name="c" dimension='none'/>
11    <Parameter name="k" dimension='none'/>
12
13    <Parameter name="Vpeak" dimension='voltage'/>
14    <Parameter name="Vt" dimension='voltage'/>
15    <Parameter name="Vr" dimension='voltage'/>
16    <Parameter name="Vb" dimension='voltage'/>
17
18    <Parameter name="Cm" dimension='capacitance'/>
19
20    <AnalogPort name="Isyn" mode='reduce' dimension='current'/>
21    <AnalogPort name="Iext" mode='receive' dimension='current'/>
22    <AnalogPort name="V" mode="send" dimension='voltage'/>
23    <AnalogPort name="U" mode="send" dimension='none'/>
24
25    <EventPort name="spikeOutput" mode="send"/>
26
27    <Dynamics>
28
29        <StateVariable name="V" dimension="voltage"/>
30        <StateVariable name="U" dimension="none"/>
31
32        <Alias name="UU" argument="V">
33          <MathInline> heaviside (V - Vb) * (b * (V - Vb) * (V - Vb) * (V - Vb)) </MathInline>
34        </Alias>
35
36        <Regime name="subthresholdRegime">
37
38          <TimeDerivative variable="V">
39            <MathInline> ((k * (V - Vr) * (V - Vt) - U + Isyn + Iext) / Cm) </MathInline>
40          </TimeDerivative>
41
42          <TimeDerivative variable="U">
43            <MathInline> a * (UU(V) - U) </MathInline>
44          </TimeDerivative>
45
46          <OnCondition>
47            <Trigger>
48              <MathInline>V &gt; Vpeak </MathInline>
49            </Trigger>
50
51            <StateAssignment variable="V" >
52              <MathInline>c</MathInline>
53            </StateAssignment>
54
55            <TimeDerivative variable="U">
56              <MathInline> a * (UU(V) - U) </MathInline>
57            </TimeDerivative>
58
59            <EventOut port="spikeOutput" />
60
61          </OnCondition>
62
63        </Regime>
64    </Dynamics>
65
66  </ComponentClass>
67</NineML>
Note: See TracBrowser for help on using the repository browser.