def model individual_Kp_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_Ki: fmol {init: 1e-888, pub: out}; var q_Ko: fmol {init: 1e-888, pub: out}; var q_C_Kp: fmol {init: 1e-888, pub: out}; var q_O_Kp: fmol {init: 1e-888, pub: out}; // From submodule var v_Kp: fmol_per_sec {pub: in}; var v_gKp: fmol_per_sec {pub: in}; ode(q_Ki, time) = vvv; ode(q_Ko, time) = vvv; ode(q_C_Kp, time) = vvv; ode(q_O_Kp, time) = vvv; enddef; def comp Kp_channel_parameters as var kappa_Kp: fmol_per_sec {init: 29.3467, pub: out}; var kappa_gKp: fmol_per_sec {init: 49.2085, pub: out}; var K_Ki: per_fmol {init: 0.157479, pub: out}; var K_Ko: per_fmol {init: 0.157479, pub: out}; var K_C_Kp: per_fmol {init: 20.3186, pub: out}; var K_O_Kp: per_fmol {init: 71.0732, pub: out}; enddef; def comp Kp_channel as var time: second {pub: in}; var R: J_per_K_per_mol {pub: in}; var T: kelvin {pub: in}; // parameters var kappa_Kp: fmol_per_sec {pub: in}; var kappa_gKp: fmol_per_sec {pub: in}; var K_Ki: per_fmol {pub: in}; var K_Ko: per_fmol {pub: in}; var K_C_Kp: per_fmol {pub: in}; var K_O_Kp: per_fmol {pub: in}; // Input from global environment var q_Ki: fmol {pub: in}; var q_Ko: fmol {pub: in}; var q_C_Kp: fmol {pub: in}; var q_O_Kp: fmol {pub: in}; // Constitutive parameters var mu_Ki: J_per_mol; var mu_Ko: J_per_mol; var mu_C_Kp: J_per_mol; var mu_O_Kp: J_per_mol; var v_Kp: fmol_per_sec {pub: out}; var v_gKp: fmol_per_sec {pub: out}; mu_Ki = R*T*ln(K_Ki*q_Ki); mu_Ko = R*T*ln(K_Ko*q_Ko); mu_C_Kp = R*T*ln(K_C_Kp*q_C_Kp); mu_O_Kp = R*T*ln(K_O_Kp*q_O_Kp); v_Kp = ppp; v_gKp = ppp; enddef; def map between environment and Kp_channel for vars time and time; vars q_Ki and q_Ki; vars q_Ko and q_Ko; vars q_C_Kp and q_C_Kp; vars q_O_Kp and q_O_Kp; vars v_Kp and v_Kp; vars v_gKp and v_gKp; enddef; def map between Kp_channel and Kp_channel_parameters for vars kappa_Kp and kappa_Kp; vars kappa_gKp and kappa_gKp; vars K_Ki and K_Ki; vars K_Ko and K_Ko; vars K_C_Kp and K_C_Kp; vars K_O_Kp and K_O_Kp; enddef; def map between constants and Kp_channel for vars R and R; vars T and T; enddef; enddef;