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.
// mlazarew@seas.upenn.edu
//
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ENDCOMMENT
NEURON {
POINT_PROCESS Exp2SynNMDApre
RANGE e, i
NONSPECIFIC_CURRENT i
POINTER pre
RANGE gmax
}
UNITS {
(nA) = (nanoamp)
(mV) = (millivolt)
(uS) = (microsiemens)
}
PARAMETER {
e = 0 (mV)
gmax = 0 (uS)
Smax = 125 (1)
}
ASSIGNED {
pre (mV)
v (mV)
i (nA)
mgblock
}
STATE { S }
INITIAL { S = 0 }
BREAKPOINT {
mgblock = 1 / (1 + 0.28 * exp(-0.062(/mV) * v) )
if (S>=Smax) {S=Smax} else {SOLVE state METHOD cnexp}
i = gmax * S * (v - e) * mgblock
}
DERIVATIVE state {
S' = H(pre)/1(ms)-S/150(ms)
}
FUNCTION H(x(mV)) {
if (x>-50) {
H = 1
}else{
H = 0
}
}