: \$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. // mlazarew@seas.upenn.edu // //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 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"