def model individual_Na_channel as def import using "units_and_constants/units_BG.cellml" for unit mM using unit mM; unit fmol using unit fmol; unit per_fmol using unit per_fmol; unit J_per_mol using unit J_per_mol; unit fmol_per_sec using unit fmol_per_sec; unit C_per_mol using unit C_per_mol; unit J_per_C using unit J_per_C; unit microm3 using unit microm3; unit fF using unit fF; unit fC using unit fC; unit fA using unit fA; unit per_second using unit per_second; unit millivolt using unit millivolt; unit per_sec using unit per_sec; unit J_per_K_per_mol using unit J_per_K_per_mol; unit fmol_per_L using unit fmol_per_L; unit fmol_per_L_per_sec using unit fmol_per_L_per_sec; unit per_sec_per_fmol_per_L using unit per_sec_per_fmol_per_L; unit uM using unit uM; unit mM_per_sec using unit mM_per_sec; unit uM_per_sec using unit uM_per_sec; unit pL using unit pL; unit m_to_u using unit m_to_u; enddef; def import using "units_and_constants/constants_BG.cellml" for comp constants using comp constants; enddef; def comp environment as var time: second {pub: out}; // initial values var q_Nai: fmol {init: 1e-888, pub: out}; var q_Nao: fmol {init: 1e-888, pub: out}; var q_000_Na: fmol {init: 1e-888, pub: out}; var q_100_Na: fmol {init: 1e-888, pub: out}; var q_200_Na: fmol {init: 1e-888, pub: out}; var q_300_Na: fmol {init: 1e-888, pub: out}; var q_010_Na: fmol {init: 1e-888, pub: out}; var q_110_Na: fmol {init: 1e-888, pub: out}; var q_210_Na: fmol {init: 1e-888, pub: out}; var q_310_Na: fmol {init: 1e-888, pub: out}; var q_001_Na: fmol {init: 1e-888, pub: out}; var q_101_Na: fmol {init: 1e-888, pub: out}; var q_201_Na: fmol {init: 1e-888, pub: out}; var q_301_Na: fmol {init: 1e-888, pub: out}; var q_011_Na: fmol {init: 1e-888, pub: out}; var q_111_Na: fmol {init: 1e-888, pub: out}; var q_211_Na: fmol {init: 1e-888, pub: out}; var q_311_Na: fmol {init: 1e-888, pub: out}; // From submodule var v_Na: fmol_per_sec {pub: in}; var v_m000: fmol_per_sec {pub: in}; var v_m001: fmol_per_sec {pub: in}; var v_m010: fmol_per_sec {pub: in}; var v_m011: fmol_per_sec {pub: in}; var v_m100: fmol_per_sec {pub: in}; var v_m101: fmol_per_sec {pub: in}; var v_m110: fmol_per_sec {pub: in}; var v_m111: fmol_per_sec {pub: in}; var v_m200: fmol_per_sec {pub: in}; var v_m201: fmol_per_sec {pub: in}; var v_m210: fmol_per_sec {pub: in}; var v_m211: fmol_per_sec {pub: in}; var v_h000: fmol_per_sec {pub: in}; var v_h001: fmol_per_sec {pub: in}; var v_h100: fmol_per_sec {pub: in}; var v_h101: fmol_per_sec {pub: in}; var v_h200: fmol_per_sec {pub: in}; var v_h201: fmol_per_sec {pub: in}; var v_h300: fmol_per_sec {pub: in}; var v_h301: fmol_per_sec {pub: in}; var v_j000: fmol_per_sec {pub: in}; var v_j010: fmol_per_sec {pub: in}; var v_j100: fmol_per_sec {pub: in}; var v_j110: fmol_per_sec {pub: in}; var v_j200: fmol_per_sec {pub: in}; var v_j210: fmol_per_sec {pub: in}; var v_j300: fmol_per_sec {pub: in}; var v_j310: fmol_per_sec {pub: in}; ode(q_Nai, time) = vvv; ode(q_Nao, time) = vvv; ode(q_000_Na, time) = vvv; ode(q_100_Na, time) = vvv; ode(q_200_Na, time) = vvv; ode(q_300_Na, time) = vvv; ode(q_010_Na, time) = vvv; ode(q_110_Na, time) = vvv; ode(q_210_Na, time) = vvv; ode(q_310_Na, time) = vvv; ode(q_001_Na, time) = vvv; ode(q_101_Na, time) = vvv; ode(q_201_Na, time) = vvv; ode(q_301_Na, time) = vvv; ode(q_011_Na, time) = vvv; ode(q_111_Na, time) = vvv; ode(q_211_Na, time) = vvv; ode(q_311_Na, time) = vvv; enddef; def comp Na_channel_parameters as var kappa_Na: fmol_per_sec {init: 2.17233, pub: out}; var kappa_m000: fmol_per_sec {init: 5.4433e+06, pub: out}; var kappa_m001: fmol_per_sec {init: 1.68398, pub: out}; var kappa_m010: fmol_per_sec {init: 2.28234, pub: out}; var kappa_m011: fmol_per_sec {init: 7.06079e-07, pub: out}; var kappa_m100: fmol_per_sec {init: 1.70328e+09, pub: out}; var kappa_m101: fmol_per_sec {init: 526.937, pub: out}; var kappa_m110: fmol_per_sec {init: 714.171, pub: out}; var kappa_m111: fmol_per_sec {init: 0.000220941, pub: out}; var kappa_m200: fmol_per_sec {init: 1.33244e+11, pub: out}; var kappa_m201: fmol_per_sec {init: 41221.2, pub: out}; var kappa_m210: fmol_per_sec {init: 55868.2, pub: out}; var kappa_m211: fmol_per_sec {init: 0.0172838, pub: out}; var kappa_h000: fmol_per_sec {init: 0.0486199, pub: out}; var kappa_h001: fmol_per_sec {init: 1.50414e-08, pub: out}; var kappa_h100: fmol_per_sec {init: 22.8207, pub: out}; var kappa_h101: fmol_per_sec {init: 7.05995e-06, pub: out}; var kappa_h200: fmol_per_sec {init: 3570.43, pub: out}; var kappa_h201: fmol_per_sec {init: 0.00110457, pub: out}; var kappa_h300: fmol_per_sec {init: 186205, pub: out}; var kappa_h301: fmol_per_sec {init: 0.0576057, pub: out}; var kappa_j000: fmol_per_sec {init: 0.0189595, pub: out}; var kappa_j010: fmol_per_sec {init: 7.94956e-09, pub: out}; var kappa_j100: fmol_per_sec {init: 8.89896, pub: out}; var kappa_j110: fmol_per_sec {init: 3.73127e-06, pub: out}; var kappa_j200: fmol_per_sec {init: 1392.3, pub: out}; var kappa_j210: fmol_per_sec {init: 0.00058378, pub: out}; var kappa_j300: fmol_per_sec {init: 72611.1, pub: out}; var kappa_j310: fmol_per_sec {init: 0.0304453, pub: out}; var K_Nai: per_fmol {init: 0.0428455, pub: out}; var K_Nao: per_fmol {init: 0.0428455, pub: out}; var K_000_Na: per_fmol {init: 0.00689827, pub: out}; var K_100_Na: per_fmol {init: 1.46969e-05, pub: out}; var K_200_Na: per_fmol {init: 9.39364e-08, pub: out}; var K_300_Na: per_fmol {init: 1.8012e-09, pub: out}; var K_010_Na: per_fmol {init: 16452.2, pub: out}; var K_110_Na: per_fmol {init: 35.0517, pub: out}; var K_210_Na: per_fmol {init: 0.224035, pub: out}; var K_310_Na: per_fmol {init: 0.00429581, pub: out}; var K_001_Na: per_fmol {init: 22298, pub: out}; var K_101_Na: per_fmol {init: 47.5065, pub: out}; var K_201_Na: per_fmol {init: 0.303641, pub: out}; var K_301_Na: per_fmol {init: 0.00582222, pub: out}; var K_011_Na: per_fmol {init: 5.31801e+10, pub: out}; var K_111_Na: per_fmol {init: 1.13301e+08, pub: out}; var K_211_Na: per_fmol {init: 724174, pub: out}; var K_311_Na: per_fmol {init: 13885.8, pub: out}; enddef; def comp Na_channel as var time: second {pub: in}; var R: J_per_K_per_mol {pub: in}; var T: kelvin {pub: in}; // parameters var kappa_Na: fmol_per_sec {pub: in}; var kappa_m000: fmol_per_sec {pub: in}; var kappa_m001: fmol_per_sec {pub: in}; var kappa_m010: fmol_per_sec {pub: in}; var kappa_m011: fmol_per_sec {pub: in}; var kappa_m100: fmol_per_sec {pub: in}; var kappa_m101: fmol_per_sec {pub: in}; var kappa_m110: fmol_per_sec {pub: in}; var kappa_m111: fmol_per_sec {pub: in}; var kappa_m200: fmol_per_sec {pub: in}; var kappa_m201: fmol_per_sec {pub: in}; var kappa_m210: fmol_per_sec {pub: in}; var kappa_m211: fmol_per_sec {pub: in}; var kappa_h000: fmol_per_sec {pub: in}; var kappa_h001: fmol_per_sec {pub: in}; var kappa_h100: fmol_per_sec {pub: in}; var kappa_h101: fmol_per_sec {pub: in}; var kappa_h200: fmol_per_sec {pub: in}; var kappa_h201: fmol_per_sec {pub: in}; var kappa_h300: fmol_per_sec {pub: in}; var kappa_h301: fmol_per_sec {pub: in}; var kappa_j000: fmol_per_sec {pub: in}; var kappa_j010: fmol_per_sec {pub: in}; var kappa_j100: fmol_per_sec {pub: in}; var kappa_j110: fmol_per_sec {pub: in}; var kappa_j200: fmol_per_sec {pub: in}; var kappa_j210: fmol_per_sec {pub: in}; var kappa_j300: fmol_per_sec {pub: in}; var kappa_j310: fmol_per_sec {pub: in}; var K_Nai: per_fmol {pub: in}; var K_Nao: per_fmol {pub: in}; var K_000_Na: per_fmol {pub: in}; var K_100_Na: per_fmol {pub: in}; var K_200_Na: per_fmol {pub: in}; var K_300_Na: per_fmol {pub: in}; var K_010_Na: per_fmol {pub: in}; var K_110_Na: per_fmol {pub: in}; var K_210_Na: per_fmol {pub: in}; var K_310_Na: per_fmol {pub: in}; var K_001_Na: per_fmol {pub: in}; var K_101_Na: per_fmol {pub: in}; var K_201_Na: per_fmol {pub: in}; var K_301_Na: per_fmol {pub: in}; var K_011_Na: per_fmol {pub: in}; var K_111_Na: per_fmol {pub: in}; var K_211_Na: per_fmol {pub: in}; var K_311_Na: per_fmol {pub: in}; // Input from global environment var q_Nai: fmol {pub: in}; var q_Nao: fmol {pub: in}; var q_000_Na: fmol {pub: in}; var q_100_Na: fmol {pub: in}; var q_200_Na: fmol {pub: in}; var q_300_Na: fmol {pub: in}; var q_010_Na: fmol {pub: in}; var q_110_Na: fmol {pub: in}; var q_210_Na: fmol {pub: in}; var q_310_Na: fmol {pub: in}; var q_001_Na: fmol {pub: in}; var q_101_Na: fmol {pub: in}; var q_201_Na: fmol {pub: in}; var q_301_Na: fmol {pub: in}; var q_011_Na: fmol {pub: in}; var q_111_Na: fmol {pub: in}; var q_211_Na: fmol {pub: in}; var q_311_Na: fmol {pub: in}; // Constitutive parameters var mu_Nai: J_per_mol; var mu_Nao: J_per_mol; var mu_000_Na: J_per_mol; var mu_100_Na: J_per_mol; var mu_200_Na: J_per_mol; var mu_300_Na: J_per_mol; var mu_010_Na: J_per_mol; var mu_110_Na: J_per_mol; var mu_210_Na: J_per_mol; var mu_310_Na: J_per_mol; var mu_001_Na: J_per_mol; var mu_101_Na: J_per_mol; var mu_201_Na: J_per_mol; var mu_301_Na: J_per_mol; var mu_011_Na: J_per_mol; var mu_111_Na: J_per_mol; var mu_211_Na: J_per_mol; var mu_311_Na: J_per_mol; var v_Na: fmol_per_sec {pub: out}; var v_m000: fmol_per_sec {pub: out}; var v_m001: fmol_per_sec {pub: out}; var v_m010: fmol_per_sec {pub: out}; var v_m011: fmol_per_sec {pub: out}; var v_m100: fmol_per_sec {pub: out}; var v_m101: fmol_per_sec {pub: out}; var v_m110: fmol_per_sec {pub: out}; var v_m111: fmol_per_sec {pub: out}; var v_m200: fmol_per_sec {pub: out}; var v_m201: fmol_per_sec {pub: out}; var v_m210: fmol_per_sec {pub: out}; var v_m211: fmol_per_sec {pub: out}; var v_h000: fmol_per_sec {pub: out}; var v_h001: fmol_per_sec {pub: out}; var v_h100: fmol_per_sec {pub: out}; var v_h101: fmol_per_sec {pub: out}; var v_h200: fmol_per_sec {pub: out}; var v_h201: fmol_per_sec {pub: out}; var v_h300: fmol_per_sec {pub: out}; var v_h301: fmol_per_sec {pub: out}; var v_j000: fmol_per_sec {pub: out}; var v_j010: fmol_per_sec {pub: out}; var v_j100: fmol_per_sec {pub: out}; var v_j110: fmol_per_sec {pub: out}; var v_j200: fmol_per_sec {pub: out}; var v_j210: fmol_per_sec {pub: out}; var v_j300: fmol_per_sec {pub: out}; var v_j310: fmol_per_sec {pub: out}; mu_Nai = R*T*ln(K_Nai*q_Nai); mu_Nao = R*T*ln(K_Nao*q_Nao); mu_000_Na = R*T*ln(K_000_Na*q_000_Na); mu_100_Na = R*T*ln(K_100_Na*q_100_Na); mu_200_Na = R*T*ln(K_200_Na*q_200_Na); mu_300_Na = R*T*ln(K_300_Na*q_300_Na); mu_010_Na = R*T*ln(K_010_Na*q_010_Na); mu_110_Na = R*T*ln(K_110_Na*q_110_Na); mu_210_Na = R*T*ln(K_210_Na*q_210_Na); mu_310_Na = R*T*ln(K_310_Na*q_310_Na); mu_001_Na = R*T*ln(K_001_Na*q_001_Na); mu_101_Na = R*T*ln(K_101_Na*q_101_Na); mu_201_Na = R*T*ln(K_201_Na*q_201_Na); mu_301_Na = R*T*ln(K_301_Na*q_301_Na); mu_011_Na = R*T*ln(K_011_Na*q_011_Na); mu_111_Na = R*T*ln(K_111_Na*q_111_Na); mu_211_Na = R*T*ln(K_211_Na*q_211_Na); mu_311_Na = R*T*ln(K_311_Na*q_311_Na); v_Na = ppp; v_m000 = ppp; v_m001 = ppp; v_m010 = ppp; v_m011 = ppp; v_m100 = ppp; v_m101 = ppp; v_m110 = ppp; v_m111 = ppp; v_m200 = ppp; v_m201 = ppp; v_m210 = ppp; v_m211 = ppp; v_h000 = ppp; v_h001 = ppp; v_h100 = ppp; v_h101 = ppp; v_h200 = ppp; v_h201 = ppp; v_h300 = ppp; v_h301 = ppp; v_j000 = ppp; v_j010 = ppp; v_j100 = ppp; v_j110 = ppp; v_j200 = ppp; v_j210 = ppp; v_j300 = ppp; v_j310 = ppp; enddef; def map between environment and Na_channel for vars time and time; vars q_Nai and q_Nai; vars q_Nao and q_Nao; vars q_000_Na and q_000_Na; vars q_100_Na and q_100_Na; vars q_200_Na and q_200_Na; vars q_300_Na and q_300_Na; vars q_010_Na and q_010_Na; vars q_110_Na and q_110_Na; vars q_210_Na and q_210_Na; vars q_310_Na and q_310_Na; vars q_001_Na and q_001_Na; vars q_101_Na and q_101_Na; vars q_201_Na and q_201_Na; vars q_301_Na and q_301_Na; vars q_011_Na and q_011_Na; vars q_111_Na and q_111_Na; vars q_211_Na and q_211_Na; vars q_311_Na and q_311_Na; vars v_Na and v_Na; vars v_m000 and v_m000; vars v_m001 and v_m001; vars v_m010 and v_m010; vars v_m011 and v_m011; vars v_m100 and v_m100; vars v_m101 and v_m101; vars v_m110 and v_m110; vars v_m111 and v_m111; vars v_m200 and v_m200; vars v_m201 and v_m201; vars v_m210 and v_m210; vars v_m211 and v_m211; vars v_h000 and v_h000; vars v_h001 and v_h001; vars v_h100 and v_h100; vars v_h101 and v_h101; vars v_h200 and v_h200; vars v_h201 and v_h201; vars v_h300 and v_h300; vars v_h301 and v_h301; vars v_j000 and v_j000; vars v_j010 and v_j010; vars v_j100 and v_j100; vars v_j110 and v_j110; vars v_j200 and v_j200; vars v_j210 and v_j210; vars v_j300 and v_j300; vars v_j310 and v_j310; enddef; def map between Na_channel and Na_channel_parameters for vars kappa_Na and kappa_Na; vars kappa_m000 and kappa_m000; vars kappa_m001 and kappa_m001; vars kappa_m010 and kappa_m010; vars kappa_m011 and kappa_m011; vars kappa_m100 and kappa_m100; vars kappa_m101 and kappa_m101; vars kappa_m110 and kappa_m110; vars kappa_m111 and kappa_m111; vars kappa_m200 and kappa_m200; vars kappa_m201 and kappa_m201; vars kappa_m210 and kappa_m210; vars kappa_m211 and kappa_m211; vars kappa_h000 and kappa_h000; vars kappa_h001 and kappa_h001; vars kappa_h100 and kappa_h100; vars kappa_h101 and kappa_h101; vars kappa_h200 and kappa_h200; vars kappa_h201 and kappa_h201; vars kappa_h300 and kappa_h300; vars kappa_h301 and kappa_h301; vars kappa_j000 and kappa_j000; vars kappa_j010 and kappa_j010; vars kappa_j100 and kappa_j100; vars kappa_j110 and kappa_j110; vars kappa_j200 and kappa_j200; vars kappa_j210 and kappa_j210; vars kappa_j300 and kappa_j300; vars kappa_j310 and kappa_j310; vars K_Nai and K_Nai; vars K_Nao and K_Nao; vars K_000_Na and K_000_Na; vars K_100_Na and K_100_Na; vars K_200_Na and K_200_Na; vars K_300_Na and K_300_Na; vars K_010_Na and K_010_Na; vars K_110_Na and K_110_Na; vars K_210_Na and K_210_Na; vars K_310_Na and K_310_Na; vars K_001_Na and K_001_Na; vars K_101_Na and K_101_Na; vars K_201_Na and K_201_Na; vars K_301_Na and K_301_Na; vars K_011_Na and K_011_Na; vars K_111_Na and K_111_Na; vars K_211_Na and K_211_Na; vars K_311_Na and K_311_Na; enddef; def map between constants and Na_channel for vars R and R; vars T and T; enddef; enddef;