-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathLINexp.xml
46 lines (46 loc) · 1.65 KB
/
LINexp.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?xml version="1.0"?>
<SpineML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.shef.ac.uk/SpineMLComponentLayer" xsi:schemaLocation="http://www.shef.ac.uk/SpineMLComponentLayer SpineMLComponentLayer.xsd">
<ComponentClass name="LINexp" type="neuron_body">
<Annotation>
<SpineCreator/>
</Annotation>
<Dynamics initial_regime="integrating">
<Regime name="integrating">
<TimeDerivative variable="a">
<MathInline>(1/tau)*(in-a)</MathInline>
</TimeDerivative>
<OnCondition target_regime="integrating">
<StateAssignment variable="out">
<MathInline>1</MathInline>
</StateAssignment>
<Trigger>
<MathInline>exp(a)>c+1</MathInline>
</Trigger>
</OnCondition>
<OnCondition target_regime="integrating">
<StateAssignment variable="out">
<MathInline>exp(a)-c</MathInline>
</StateAssignment>
<Trigger>
<MathInline>exp(a)<=c+1</MathInline>
</Trigger>
</OnCondition>
</Regime>
<Alias name="in" dimension="?">
<MathInline>(A+N*(a-neg_rev_pot))*(p-(S/w))+(0.01*randomNormal)</MathInline>
</Alias>
<StateVariable name="a" dimension="?"/>
<StateVariable name="out" dimension="?"/>
</Dynamics>
<AnalogReducePort name="A" reduce_op="+" dimension="?"/>
<AnalogSendPort name="out"/>
<AnalogReducePort name="S" reduce_op="+" dimension="?"/>
<AnalogSendPort name="a"/>
<AnalogReducePort name="N" reduce_op="+" dimension="?"/>
<Parameter name="p" dimension="?"/>
<Parameter name="tau" dimension="?"/>
<Parameter name="c" dimension="?"/>
<Parameter name="w" dimension="?"/>
<Parameter name="neg_rev_pot" dimension="?"/>
</ComponentClass>
</SpineML>