-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathLIN.xml
47 lines (47 loc) · 1.58 KB
/
LIN.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
47
<?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="LIN" type="neuron_body">
<Annotation>
<SpineCreator/>
</Annotation>
<Dynamics initial_regime="New_Regime_1">
<Regime name="New_Regime_1">
<TimeDerivative variable="a">
<MathInline>(1/tau)*(y-a)</MathInline>
</TimeDerivative>
<OnCondition target_regime="New_Regime_1">
<StateAssignment variable="y">
<MathInline>0</MathInline>
</StateAssignment>
<Trigger>
<MathInline>in<b</MathInline>
</Trigger>
</OnCondition>
<OnCondition target_regime="New_Regime_1">
<StateAssignment variable="y">
<MathInline>max</MathInline>
</StateAssignment>
<Trigger>
<MathInline>in>((max/m)+b)</MathInline>
</Trigger>
</OnCondition>
<OnCondition target_regime="New_Regime_1">
<StateAssignment variable="y">
<MathInline>m*(in-b)</MathInline>
</StateAssignment>
<Trigger>
<MathInline>in<=((max/m)+b) && in>=b</MathInline>
</Trigger>
</OnCondition>
</Regime>
<StateVariable name="a" dimension="?"/>
<StateVariable name="y" dimension="?"/>
</Dynamics>
<AnalogReducePort name="in" reduce_op="+" dimension="?"/>
<AnalogSendPort name="a"/>
<Parameter name="m" dimension="?"/>
<Parameter name="b" dimension="?"/>
<Parameter name="tau" dimension="?"/>
<Parameter name="max" dimension="?"/>
</ComponentClass>
</SpineML>