-
Notifications
You must be signed in to change notification settings - Fork 0
/
iholmw.mod
65 lines (52 loc) · 1.31 KB
/
iholmw.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
: $Id: iholmw.mod,v 1.5 2013/01/02 16:02:37 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)
}
NEURON {
SUFFIX Iholmw
NONSPECIFIC_CURRENT i
RANGE gbar,gh,eh,gfactor
}
PARAMETER {
gbar = 0.00015 (mho/cm2)
eh = -40 (mV)
gfactor = 1
}
ASSIGNED {
v (mV)
i (mA/cm2)
gh (mho/cm2)
}
STATE { q }
PROCEDURE giassign () {
: i = (1e-3) * gh * q * (v-eh) * gfactor
gh = gbar * q * gfactor
i = gh * (v-eh)
}
INITIAL {
q = qinf(v)
giassign()
}
BREAKPOINT {
SOLVE states METHOD cnexp
giassign()
}
DERIVATIVE states { q' = (qinf(v)-q)/qtau(v) }
FUNCTION qinf(v(mV)) { qinf = fun2(v, -80, 1, 10)*1(ms) }
FUNCTION qtau(v(mV))(ms) { qtau = 200(ms)/(exp((v+70(mV))/20(mV))+exp(-(v+70(mV))/20(mV))) + 5(ms) }
INCLUDE "aux_fun.inc"