TITLE Lpas channel for LGMD UNITS { (mV) = (millivolt) (mA) = (milliamp) (S) = (siemens) } NEURON { THREADSAFE SUFFIX Lpas2 NONSPECIFIC_CURRENT i RANGE g0, g,tauL,pl,L,e, i } PARAMETER { g0 = 0.0001 (S/cm2) e = -65 (mV) pl = 0.4 (1) <0,1> L = 1.0e3 (henry-cm2) } ASSIGNED { v (mV) i (mA/cm2) tauL(ms) g (S/cm2) } STATE { lv (mV) } BREAKPOINT { SOLVE states METHOD cnexp tauL = L*g0*1e3(ms/s) if (tauL<1e-2) { tauL = 1e-2 (ms) } i = g0*(v-e) + g0*pl*(lv-e) : i = g0*(v-e+pl*(lv-v)) if (fabs((v-e)/1(mV))>1e-3) { : avoid numerical errors of dividing by ~0 g = i/(v-e) } } INITIAL { lv = v g=g0*(1+pl) } DERIVATIVE states { : if L is very low and pl is not, there are problems with high freq oscillations lv' = (v - lv)/tauL }