-
Notifications
You must be signed in to change notification settings - Fork 0
/
hva.mod
98 lines (68 loc) · 1.18 KB
/
hva.mod
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
:high voltage activated Ca2+ current
NEURON {
SUFFIX Hva
USEION ca READ cai, cao WRITE ica
RANGE ghvabar, ica, gca, eca
}
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
}
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
PARAMETER {
v (mV)
dt (ms)
ghvabar= 0.00034 (mho/cm2) <0,1e9>
}
STATE {
u z
}
ASSIGNED {
ica (mA/cm2)
uinf zinf
utau (ms)
ztau (ms)
gca (mho/cm2)
eca (mV)
cai (mM)
cao (mM)
}
INITIAL {
rate(v)
u = uinf
z = zinf
}
BREAKPOINT {
SOLVE states METHOD cnexp
gca = ghvabar*u*u*z
eca = 12.5 * log(cao/cai)
ica = gca*(v-eca)
}
DERIVATIVE states {
rate(v)
u' = (uinf-u)/utau
z' = (zinf-z)/ztau
}
UNITSOFF
PROCEDURE rate(v (mV)) {LOCAL vu, vz, vx
vx = -0.031*(v+37.1)
vu = v+24.6
if (fabs(vu)<1e-04){
vu = vu+0.00001
uinf = 1/(1+exp(-(vu/11.3)))
utau = (1.25*(2/(exp(vx) + exp(-vx))))
}else{
uinf = 1/(1+exp(-(vu)/11.3))
utau = (1.25*(2/(exp(vx) + exp(-vx))))
}
vz = v+12.6
if (fabs(vz)<1e-04){
vz = vz+0.00001
zinf = 1/(1+exp(vz/18.9))
ztau = 420
}else{
zinf = 1/(1+exp(vz/18.9))
ztau = 420
}
}
UNITSON