INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} NEURON { SUFFIX IKv USEION k READ ek WRITE ik RANGE gkvbar RANGE m_inf, h_inf RANGE tau_m, tau_h RANGE m_exp, h_exp } UNITS { (molar) = (1/liter) (mM) = (millimolar) (mA) = (milliamp) (mV) = (millivolt) } PARAMETER { gkvbar = 0.000318 (mho/cm2) ek (mV) dt (ms) v (mV) } STATE { m h } INITIAL { : The initial values were determined at a resting value of -66.3232 mV in a single-compartment : at -60 mV m = 0.0345 h = 0.8594 } ASSIGNED { ik (mA/cm2) m_inf h_inf tau_m tau_h m_exp h_exp } BREAKPOINT { SOLVE states ik = gkvbar * m*m*m *h* (v - ek) } PROCEDURE states() { : exact when v held constant evaluate_fct(v) m = m + m_exp * (m_inf - m) h = h + h_exp * (h_inf - h) VERBATIM return 0; ENDVERBATIM } UNITSOFF PROCEDURE evaluate_fct(v(mV)) { LOCAL am,bm,ah,bh :IA channel am = (400) / ((exp(-(v-15)/36)) + 1) bm = (exp((-v/13))) tau_m = 1 / (am + bm) m_inf = am * tau_m m_exp = 1 - exp(-dt/tau_m) ah = 0.0003 * (exp((-v/7))) bh = ((80) / ((exp(-(v+115)/15)) + 1))+0.02 tau_h = 1 / (ah + bh) h_inf = ah * tau_h h_exp = 1 - exp(-dt/tau_h) } UNITSON