-
Notifications
You must be signed in to change notification settings - Fork 2
/
kdrbwb.mod
76 lines (61 loc) · 1.39 KB
/
kdrbwb.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
: $Id: kdrbwb.mod,v 1.4 2010/12/13 21:35:26 samn Exp $
COMMENT
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
// NOTICE OF COPYRIGHT AND OWNERSHIP OF SOFTWARE
//
// Copyright 2007, The University Of Pennsylvania
// School of Engineering & Applied Science.
// All rights reserved.
// For research use only; commercial use prohibited.
// Distribution without permission of Maciej T. Lazarewicz not permitted.
//
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ENDCOMMENT
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(mS) = (millisiemens)
}
NEURON {
SUFFIX Kdrbwb
USEION k WRITE ik
RANGE phin,gkdr,ek
RANGE taon,ninf
}
PARAMETER {
gkdr = 9 (mS/cm2)
ek = -90 (mV)
phin = 5
}
ASSIGNED {
v (mV)
ik (mA/cm2)
celsius (degC)
ninf (1)
taon (ms)
}
STATE { n }
PROCEDURE iassign () { ik = (1e-3) * gkdr * n^4 * (v-ek) }
INITIAL {
rates(v)
n = ninf
iassign()
}
BREAKPOINT {
SOLVE states METHOD cnexp
iassign()
}
DERIVATIVE states {
rates(v)
n' = (ninf-n)/taon
}
PROCEDURE rates(v(mV)) { LOCAL an, bn, q10
q10 = phin:^((celsius-27.0(degC))/10.0(degC))
an = fun3(v, -34, -0.01, -10)
bn = fun1(v, -44, 0.125, -80)
ninf = an/(an+bn)
taon = 1./((an+bn)*q10)
}
INCLUDE "aux_fun.inc"