def model individual_funny 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_Na_i: fmol {init: 1e-888, pub: out}; var q_Na_o: fmol {init: 1e-888, pub: out}; var q_K_i: fmol {init: 1e-888, pub: out}; var q_K_o: fmol {init: 1e-888, pub: out}; var q_x0_funny: fmol {init: 1e-888, pub: out}; var q_x1_funny: fmol {init: 1e-888, pub: out}; // From submodule var v_funny_Na: fmol_per_sec {pub: in}; var v_funny_K: fmol_per_sec {pub: in}; var v_R_xf: fmol_per_sec {pub: in}; ode(q_Na_i, time) = vvv; ode(q_Na_o, time) = vvv; ode(q_K_i, time) = vvv; ode(q_K_o, time) = vvv; ode(q_x0_funny, time) = vvv; ode(q_x1_funny, time) = vvv; enddef; def comp funny_parameters as var kappa_funny_Na: fmol_per_sec {init: 45.0247, pub: out}; var kappa_funny_K: fmol_per_sec {init: 91.4974, pub: out}; var kappa_R_xf: fmol_per_sec {init: 0.188833, pub: out}; var K_Na_i: per_fmol {init: 1.80864, pub: out}; var K_Na_o: per_fmol {init: 13.2633, pub: out}; var K_K_i: per_fmol {init: 2.57828, pub: out}; var K_K_o: per_fmol {init: 18.9074, pub: out}; var K_x0_funny: per_fmol {init: 0.00306604, pub: out}; var K_x1_funny: per_fmol {init: 61.5887, pub: out}; enddef; def comp funny as var time: second {pub: in}; var R: J_per_K_per_mol {pub: in}; var T: kelvin {pub: in}; // parameters var kappa_funny_Na: fmol_per_sec {pub: in}; var kappa_funny_K: fmol_per_sec {pub: in}; var kappa_R_xf: fmol_per_sec {pub: in}; var K_Na_i: per_fmol {pub: in}; var K_Na_o: per_fmol {pub: in}; var K_K_i: per_fmol {pub: in}; var K_K_o: per_fmol {pub: in}; var K_x0_funny: per_fmol {pub: in}; var K_x1_funny: per_fmol {pub: in}; // Input from global environment var q_Na_i: fmol {pub: in}; var q_Na_o: fmol {pub: in}; var q_K_i: fmol {pub: in}; var q_K_o: fmol {pub: in}; var q_x0_funny: fmol {pub: in}; var q_x1_funny: fmol {pub: in}; // Constitutive parameters var mu_Na_i: J_per_mol; var mu_Na_o: J_per_mol; var mu_K_i: J_per_mol; var mu_K_o: J_per_mol; var mu_x0_funny: J_per_mol; var mu_x1_funny: J_per_mol; var v_funny_Na: fmol_per_sec {pub: out}; var v_funny_K: fmol_per_sec {pub: out}; var v_R_xf: fmol_per_sec {pub: out}; mu_Na_i = R*T*ln(K_Na_i*q_Na_i); mu_Na_o = R*T*ln(K_Na_o*q_Na_o); mu_K_i = R*T*ln(K_K_i*q_K_i); mu_K_o = R*T*ln(K_K_o*q_K_o); mu_x0_funny = R*T*ln(K_x0_funny*q_x0_funny); mu_x1_funny = R*T*ln(K_x1_funny*q_x1_funny); v_funny_Na = ppp; v_funny_K = ppp; v_R_xf = ppp; enddef; def map between environment and funny for vars time and time; vars q_Na_i and q_Na_i; vars q_Na_o and q_Na_o; vars q_K_i and q_K_i; vars q_K_o and q_K_o; vars q_x0_funny and q_x0_funny; vars q_x1_funny and q_x1_funny; vars v_funny_Na and v_funny_Na; vars v_funny_K and v_funny_K; vars v_R_xf and v_R_xf; enddef; def map between funny and funny_parameters for vars kappa_funny_Na and kappa_funny_Na; vars kappa_funny_K and kappa_funny_K; vars kappa_R_xf and kappa_R_xf; vars K_Na_i and K_Na_i; vars K_Na_o and K_Na_o; vars K_K_i and K_K_i; vars K_K_o and K_K_o; vars K_x0_funny and K_x0_funny; vars K_x1_funny and K_x1_funny; enddef; def map between constants and funny for vars R and R; vars T and T; enddef; enddef;