/* * Optimal velocity and safety of discontinuous conduction through * the heterogeneous Purkinje-ventricular junction * * Model Status * * This CellML model runs in both COR and PCEnv to reproduce the * published results. The CellML model has been based on both the * published paper and the original C Code the model was written * in. Our thanks go to the authors Oleg and Philip for their help * in curating the CellML model and getting it to reproduce their * original results. * * Model Structure * * ABSTRACT: Slow and discontinuous wave conduction through non-uniform * junctions in cardiac tissues is generally considered unsafe * and pro-arrythmogenic. However, the relationships between tissue * structure, wave conduction velocity and safety at such junctions * are unknown. We develop a structurally and electrophysiologically * detailed model of the canine Purkinje-ventricular junction (PVJ) * and vary its heterogeneity parameters in order to determine * such relationships. We show that neither very fast nor very * slow conduction is safe, and there exists an optimal velocity * providing the maximum safety factor of conduction through the * junction. The resultant conduction time delay across the PVJ * is a natural consequence of the electrophysiological and morphological * differences between the Purkinje fibre and ventricular tissue. * The delay allows the PVJ to accumulate and pass sufficient charge * to excite the adjacent ventricular tissue, but is not long enough * for the source-to-load mismatch at the junction to be enhanced * over time. The observed relationships between the conduction * velocity and safety factor can provide new insights into optimal * conditions for wave propagation through non-uniform junctions * between various cardiac tissues. * * model diagram * * [[Image file: aslanidi_2009.png]] * * Schematic diagram of the cell model. * * The original paper reference is cited below: * * Optimal velocity and safety of discontinuous conduction through * the heterogeneous Purkinje-ventricular junction, Oleg V. Aslanidi, * Philip Stewart, Mark R. Boyett and Henggui Zhang, 2009, Biophysical * Journal, volume 97, 20-39. PubMed ID: 19580741 */ import nsrunit; unit conversion on; // unit millisecond predefined unit per_millisecond=1E3 second^(-1); // unit millivolt predefined unit per_millivolt=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; unit per_millivolt_millisecond=1E6 kilogram^(-1)*meter^(-2)*second^2*ampere^1; // unit millimolar predefined unit millimolar2=1 meter^(-6)*mole^2; unit millimolar3=1 meter^(-9)*mole^3; unit millimolar4=1 meter^(-12)*mole^4; unit millimolar_per_millisecond=1E3 meter^(-3)*second^(-1)*mole^1; unit millisecond_millimolar=1E-3 meter^(-3)*second^1*mole^1; unit millisecond_per_millivolt2=1E3 kilogram^(-2)*meter^(-4)*second^7*ampere^2; unit milliS_per_microF=1E3 second^(-1); unit microA_per_microF=1 kilogram^1*meter^2*second^(-4)*ampere^(-1); unit microA_per_microF_2=1 kilogram^2*meter^4*second^(-8)*ampere^(-2); unit microF=1E-6 kilogram^(-1)*meter^(-2)*second^4*ampere^2; // unit microlitre predefined unit cm_per_siemens=.01 kilogram^1*meter^3*second^(-3)*ampere^(-2); unit cm=.01 meter^1; unit cm2=1E-4 meter^2; unit cm_per_second=.01 meter^1*second^(-1); unit joule_per_kilomole_kelvin=.001 kilogram^1*meter^2*second^(-2)*kelvin^(-1)*mole^(-1); unit coulomb_per_mole=1 second^1*ampere^1*mole^(-1); unit microF_per_cm2=.01 kilogram^(-1)*meter^(-4)*second^4*ampere^2; math main { realDomain time millisecond; time.min=0; extern time.max; extern time.delta; real V(time) millivolt; when(time=time.min) V=-83.43812846286808; real i_stim(time) microA_per_microF; real i_tot(time) microA_per_microF; real i_Na(time) microA_per_microF; real i_Na_L(time) microA_per_microF; real i_Ca_L(time) microA_per_microF; real i_Ca_T(time) microA_per_microF; real i_to_1(time) microA_per_microF; real i_to_2(time) microA_per_microF; real i_Kr(time) microA_per_microF; real i_Ks(time) microA_per_microF; real i_K1(time) microA_per_microF; real i_NaCa(time) microA_per_microF; real i_NaK(time) microA_per_microF; real i_Na_b(time) microA_per_microF; real i_Ca_b(time) microA_per_microF; real i_K_b(time) microA_per_microF; real i_Cl_b(time) microA_per_microF; real i_Ca_p(time) microA_per_microF; real i_K_p(time) microA_per_microF; real stim_start millisecond; stim_start=0; real stim_end millisecond; stim_end=1; real stim_amplitude microA_per_microF; stim_amplitude=-80; real E_Na(time) millivolt; real E_K(time) millivolt; real E_Ca(time) millivolt; real E_Cl(time) millivolt; real E_Ks(time) millivolt; real r_NaK dimensionless; r_NaK=0.01833; real Na_i(time) millimolar; when(time=time.min) Na_i=9.927155552932733; real Na_o millimolar; Na_o=140; real Ca_i(time) millimolar; when(time=time.min) Ca_i=0.00022355433459434943; real Ca_o millimolar; Ca_o=1.8; real K_i(time) millimolar; when(time=time.min) K_i=141.9670801746057; real K_o millimolar; K_o=5.4; real Cl_i(time) millimolar; when(time=time.min) Cl_i=18.904682470140408; real Cl_o millimolar; Cl_o=100; real R joule_per_kilomole_kelvin; R=8314; real F coulomb_per_mole; F=96485; real T kelvin; T=310; real g_Na milliS_per_microF; g_Na=8; real m(time) dimensionless; when(time=time.min) m=0.002003390432234504; real h(time) dimensionless; when(time=time.min) h=0.9786390933308567; real j(time) dimensionless; when(time=time.min) j=0.09866447258167589; real tau_m(time) millisecond; real m_infinity(time) dimensionless; real alpha_m(time) per_millisecond; real beta_m(time) per_millisecond; real tau_h(time) millisecond; real h_infinity(time) dimensionless; real alpha_h(time) per_millisecond; real beta_h(time) per_millisecond; real tau_j(time) millisecond; real j_infinity(time) dimensionless; real alpha_j(time) per_millisecond; real beta_j(time) per_millisecond; real g_Na_L milliS_per_microF; g_Na_L=0.037375; real m_L(time) dimensionless; when(time=time.min) m_L=0.002003390432234504; real h_L(time) dimensionless; when(time=time.min) h_L=0.8946968372659203; real tau_m_L(time) millisecond; real m_L_infinity(time) dimensionless; real alpha_m_L(time) per_millisecond; real beta_m_L(time) per_millisecond; real tau_h_L(time) millisecond; real h_L_infinity(time) dimensionless; real g_Ca_L dimensionless; g_Ca_L=0.3392328; real i_Ca_L_max(time) microA_per_microF; real p_Ca cm_per_second; p_Ca=0.000243; real z_Ca dimensionless; z_Ca=2; real gamma_Cai dimensionless; gamma_Cai=1; real gamma_Cao dimensionless; gamma_Cao=0.341; real Ca_r(time) millimolar; when(time=time.min) Ca_r=0.00022418117117903934; real Ca_MK_act(time) dimensionless; real km_Ca_MK millimolar; km_Ca_MK=0.15; real d(time) dimensionless; when(time=time.min) d=0.000002322223865147363; real f(time) dimensionless; when(time=time.min) f=0.9985607329462358; real f2(time) dimensionless; when(time=time.min) f2=0.8173435436674658; real f_Ca(time) dimensionless; when(time=time.min) f_Ca=0.9610551285529658; real f_Ca2(time) dimensionless; when(time=time.min) f_Ca2=0.868690796671854; real Cm microF_per_cm2; Cm=1; real d_infinity(time) dimensionless; real tau_d(time) millisecond; real f_infinity(time) dimensionless; real tau_f(time) millisecond; real f2_infinity(time) dimensionless; real tau_f2(time) millisecond; real f_Ca_infinity(time) dimensionless; real tau_f_Ca(time) millisecond; real f_Ca2_infinity(time) dimensionless; real tau_f_Ca2(time) millisecond; real g_Ca_T milliS_per_microF; g_Ca_T=0.13; real b(time) dimensionless; when(time=time.min) b=0.0002563937630984438; real g(time) dimensionless; when(time=time.min) g=0.9720432601848331; real tau_b(time) millisecond; real b_infinity(time) dimensionless; real alpha_b(time) per_millisecond; real beta_b(time) per_millisecond; real tau_g(time) millisecond; real g_infinity(time) dimensionless; real alpha_g(time) per_millisecond; real beta_g(time) per_millisecond; real g_to_1 milliS_per_microF; g_to_1=0.14135944; real i_to_1.a(time) dimensionless; when(time=time.min) i_to_1.a=0.0004238729429342389; real i(time) dimensionless; when(time=time.min) i=0.9990935802459496; real i2(time) dimensionless; when(time=time.min) i2=0.9777368439681764; real alpha_a(time) per_millisecond; real beta_a(time) per_millisecond; real i_to_1_a_gate.tau_a(time) millisecond; real i_to_1_a_gate.a_infinity(time) dimensionless; real alpha_i(time) per_millisecond; real beta_i(time) per_millisecond; real tau_i(time) millisecond; real i_infinity(time) dimensionless; real alpha_i2(time) per_millisecond; real beta_i2(time) per_millisecond; real tau_i2(time) millisecond; real i2_infinity(time) dimensionless; real g_Kr milliS_per_microF; real rr_infinity(time) dimensionless; real xr(time) dimensionless; when(time=time.min) xr=0.07084939408222911; real tau_xr(time) millisecond; real xr_infinity(time) dimensionless; real g_Ks(time) milliS_per_microF; real xs1(time) dimensionless; when(time=time.min) xs1=0.0011737654433043125; real xs2(time) dimensionless; when(time=time.min) xs2=0.001179442867470093; real tau_xs1(time) millisecond; real xs1_infinity(time) dimensionless; real tau_xs2(time) millisecond; real xs2_infinity(time) dimensionless; real g_K1 milliS_per_microF; real xK1(time) dimensionless; real alpha_xK1(time) dimensionless; real beta_xK1(time) dimensionless; real g_K_p milliS_per_microF; g_K_p=0.00276; real kp(time) dimensionless; real p_Cl cm_per_second; p_Cl=0.0000004; real z_Cl dimensionless; z_Cl=-1; real i_to_2_max(time) microA_per_microF; real i_to_2.a(time) dimensionless; when(time=time.min) i_to_2.a=0.0014909437525000811; real i_to_2_a_gate.a_infinity(time) dimensionless; real i_to_2_a_gate.tau_a millisecond; real km_to_2 millimolar; km_to_2=0.1502; real X_NaCa dimensionless; X_NaCa=0.4; real i_NaCa_max microA_per_microF; i_NaCa_max=4.5; real km_Na_i_1 millimolar; km_Na_i_1=12.3; real km_Na_o millimolar; km_Na_o=87.5; real km_Ca_i millimolar; km_Ca_i=0.0036; real km_Ca_o millimolar; km_Ca_o=1.3; real km_Ca_act millimolar; km_Ca_act=0.000125; real k_sat dimensionless; k_sat=0.27; real dNaCa_1(time) millimolar4; real dNaCa_2(time) millimolar4; real g_NaK microA_per_microF; g_NaK=0.61875; real km_Na_i_2 millimolar; km_Na_i_2=10; real km_K_o millimolar; km_K_o=1.5; real f_NaK(time) dimensionless; real sigma dimensionless; real i_Ca_p_max microA_per_microF; i_Ca_p_max=0.0575; real km_Ca_p millimolar; km_Ca_p=0.0005; real CT_K_Cl(time) millimolar_per_millisecond; real CT_K_Cl_max millimolar_per_millisecond; CT_K_Cl_max=7.0756e-6; real CT_Na_Cl(time) millimolar_per_millisecond; real CT_Na_Cl_max millimolar_per_millisecond; CT_Na_Cl_max=9.8443e-6; real g_Na_b milliS_per_microF; g_Na_b=0.0025; real g_K_b milliS_per_microF; g_K_b=0.005; real p_Ca_b cm_per_second; p_Ca_b=1.995084e-7; real g_Cl_b milliS_per_microF; g_Cl_b=0.000225; real Vol_myo microlitre; real a_cap cm2; real km_TRPN millimolar; km_TRPN=0.0005; real km_CMDN millimolar; km_CMDN=0.00238; real TRPN_max millimolar; TRPN_max=0.07; real CMDN_max millimolar; CMDN_max=0.05; real TRPN(time) dimensionless; real CMDN(time) dimensionless; real b_myo(time) dimensionless; real Vol_nsr microlitre; real Vol_ss microlitre; real q_up(time) millimolar_per_millisecond; real q_leak(time) millimolar_per_millisecond; real q_diff(time) millimolar_per_millisecond; real Ca_MK_trap(time) dimensionless; when(time=time.min) Ca_MK_trap=0.000008789168284782809; real Ca_MK_bound(time) dimensionless; real alpha_Ca_MK per_millisecond; alpha_Ca_MK=0.05; real beta_Ca_MK per_millisecond; beta_Ca_MK=0.00068; real Ca_MK_0 dimensionless; Ca_MK_0=0.05; real Ca_NSR(time) millimolar; when(time=time.min) Ca_NSR=1.2132524695849454; real Vol_jsr microlitre; real q_tr(time) millimolar_per_millisecond; real Ca_JSR(time) millimolar; when(time=time.min) Ca_JSR=1.1433050636518596; real CSQN_max millimolar; CSQN_max=10; real km_CSQN millimolar; km_CSQN=0.8; real q_rel(time) millimolar_per_millisecond; real km_b_SR millimolar; km_b_SR=0.00087; real km_b_SL millimolar; km_b_SL=0.0087; real b_SR_max millimolar; b_SR_max=0.047; real b_SL_max millimolar; b_SL_max=1.124; real tau_ss millisecond; tau_ss=0.2; real b_SR(time) dimensionless; real b_SL(time) dimensionless; real Ca_r_tot(time) dimensionless; real g_rel(time) per_millisecond; real vg(time) dimensionless; real ri(time) dimensionless; when(time=time.min) ri=0.7802870066567904; real ro(time) dimensionless; when(time=time.min) ro=1.2785734760674763e-9; real tau_ri(time) millisecond; real tau_Ca_MK(time) millisecond; real tau_Ca_MK_max millisecond; tau_Ca_MK_max=10; real Ca_fac(time) millimolar; real ri_infinity(time) dimensionless; real tau_ro millisecond; tau_ro=3; real ro_infinity(time) dimensionless; real ro_infinity_JSR(time) dimensionless; real q_leak_max millimolar_per_millisecond; q_leak_max=0.004375; real NSR_max millimolar; NSR_max=15; real X_q_up dimensionless; X_q_up=0.5; real q_up_max millimolar_per_millisecond; q_up_max=0.004375; real dq_up_Ca_MK(time) dimensionless; real dq_up_Ca_MK_max dimensionless; dq_up_Ca_MK_max=0.75; real dkm_plb(time) millimolar; real dkm_plb_max millimolar; dkm_plb_max=0.00017; real km_up millimolar; km_up=0.00092; real tau_tr millisecond; tau_tr=120; real Vol_cell microlitre; Vol_cell=0.3454; real a_geo cm2; real radius cm; radius=0.0011; real length cm; length=0.01; real rcg dimensionless; rcg=2; // // i_stim=(if ((time>=stim_start) and (time<=stim_end)) stim_amplitude else (0 microA_per_microF)); V:time=((-1)*(i_tot+i_stim)); i_tot=(i_Na+i_Na_L+i_Ca_L+i_Ca_T+i_to_1+i_to_2+i_Kr+i_Ks+i_K1+i_NaCa+i_NaK+i_Na_b+i_K_b+i_Ca_b+i_Cl_b+i_Ca_p+i_K_p); // E_Na=(R*T/F*ln(Na_o/Na_i)); E_K=(R*T/F*ln(K_o/K_i)); E_Ca=(R*T/(2*F)*ln(Ca_o/Ca_i)); E_Cl=((-1)*R*T/F*ln(Cl_o/Cl_i)); E_Ks=(R*T/F*ln((K_o+r_NaK*Na_o)/(K_i+r_NaK*Na_i))); // i_Na=(g_Na*m^3*(.8*h+.2*j)*(V-E_Na)); // alpha_m=((.32 per_millivolt_millisecond)*(V+(47.13 millivolt))/(1-exp((-1)*(.1 per_millivolt)*(V+(47.13 millivolt))))); beta_m=((.08 per_millisecond)*exp((-1)*V/(11 millivolt))); m_infinity=(alpha_m/(alpha_m+beta_m)); tau_m=(1/(alpha_m+beta_m)); m:time=((m_infinity-m)/tau_m); // alpha_h=(if (V<((-1)*(40 millivolt))) (.135 per_millisecond)*exp((V+(80 millivolt))/((-1)*(6.8 millivolt))) else (0 per_millisecond)); beta_h=(if (V<((-1)*(40 millivolt))) (3.56 per_millisecond)*exp((.079 per_millivolt)*V)+(3.1E5 per_millisecond)*exp((.35 per_millivolt)*V) else 1/((.13 millisecond)*(1+exp((V+(10.66 millivolt))/((-1)*(11.1 millivolt)))))); h_infinity=(alpha_h/(alpha_h+beta_h)); tau_h=(1/(alpha_h+beta_h)); h:time=((h_infinity-h)/tau_h); // alpha_j=(if (V<((-1)*(40 millivolt))) ((-1)*(127140 per_millivolt_millisecond)*exp((.2444 per_millivolt)*V)-(3.474E-5 per_millivolt_millisecond)*exp((-1)*(.04391 per_millivolt)*V))*(V+(37.78 millivolt))/(1+exp((.311 per_millivolt)*(V+(79.23 millivolt)))) else (0 per_millisecond)); beta_j=(if (V<((-1)*(40 millivolt))) (.1212 per_millisecond)*exp((-1)*(.01052 per_millivolt)*V)/(1+exp((-1)*(.1378 per_millivolt)*(V+(40.14 millivolt)))) else (.3 per_millisecond)*exp((-1)*(2.535E-7 per_millivolt)*V)/(1+exp((-1)*(.1 per_millivolt)*(V+(32 millivolt))))); j_infinity=(.1*alpha_j/(alpha_j+beta_j)); tau_j=(.1/(alpha_j+beta_j)); j:time=((j_infinity-j)/tau_j); // i_Na_L=(g_Na_L*m_L^3*h_L*(V-E_Na)); // alpha_m_L=((.32 per_millivolt_millisecond)*(V+(47.13 millivolt))/(1-exp((-1)*(.1 per_millivolt)*(V+(47.13 millivolt))))); beta_m_L=((.08 per_millisecond)*exp((-1)*V/(11 millivolt))); m_L_infinity=(alpha_m_L/(alpha_m_L+beta_m_L)); tau_m_L=(1/(alpha_m_L+beta_m_L)); m_L:time=((m_L_infinity-m_L)/tau_m_L); // h_L_infinity=(1/(1+exp((V+(69 millivolt))/(6.1 millivolt)))); tau_h_L=((175 millisecond)+(125 millisecond)/(1+exp((-1)*(V+(25 millivolt))/(6 millivolt)))); h_L:time=((h_L_infinity-h_L)/tau_h_L); // i_Ca_L=(g_Ca_L*d*f*f2*f_Ca*f_Ca2*i_Ca_L_max); i_Ca_L_max=(1*p_Ca/Cm*z_Ca^2*(V-(15 millivolt))*F^2/(R*T)*(gamma_Cai*Ca_r*exp(z_Ca*F*(V-(15 millivolt))/(R*T))-gamma_Cao*Ca_o)/(exp(z_Ca*F*(V-(15 millivolt))/(R*T))-1)); // d:time=((d_infinity-d)/tau_d); d_infinity=(1/(1+exp((-1)*(V-(4 millivolt))/(6.74 millivolt)))); tau_d=((.59 millisecond)+(.8 millisecond)*exp((.052 per_millivolt)*(V+(13 millivolt)))/(1+exp((.132 per_millivolt)*(V+(13 millivolt))))); // f:time=((f_infinity-f)/tau_f); f_infinity=(1/(1+exp((V+(18 millivolt))/(10 millivolt)))); tau_f=((4 millisecond)+(.005 millisecond_per_millivolt2)*(V-(2.5 millivolt))^2); // f2:time=((f2_infinity-f2)/tau_f2); f2_infinity=(1/(1+exp((V+(18 millivolt))/(10 millivolt)))); tau_f2=((38 millisecond)+(.07 millisecond_per_millivolt2)*(V-(18.6 millivolt))^2); // f_Ca:time=((f_Ca_infinity-f_Ca)/tau_f_Ca); f_Ca_infinity=(.3/(1-i_Ca_L/(.05 microA_per_microF))+.55/(1+Ca_r/(.003 millimolar))+.15); tau_f_Ca=((.5 millisecond)+(10 millisecond)*(1 millimolar)*Ca_MK_act/((1 millimolar)*Ca_MK_act+km_Ca_MK)+(1 millisecond)/(1+Ca_r/(.003 millimolar))); // f_Ca2:time=((f_Ca2_infinity-f_Ca2)/tau_f_Ca2); f_Ca2_infinity=(1/(1-i_Ca_L/(.01 microA_per_microF))); tau_f_Ca2=((125 millisecond)+(300 millisecond)/(1+exp(((-1)*i_Ca_L-(.175 microA_per_microF))/(.04 microA_per_microF)))); // i_Ca_T=(g_Ca_T*b*g*(V-(50 millivolt))); // alpha_b=((1.068 per_millisecond)*exp((V+(16.3 millivolt))/(30 millivolt))); beta_b=((1.068 per_millisecond)*exp((-1)*(V+(16.3 millivolt))/(30 millivolt))); b_infinity=(1/(1+exp((-1)*(V+(33 millivolt))/(6.1 millivolt)))); tau_b=(1/(alpha_b+beta_b)); b:time=((b_infinity-b)/tau_b); // alpha_g=((.015 per_millisecond)*exp((-1)*(V+(71.7 millivolt))/(83.3 millivolt))); beta_g=((.015 per_millisecond)*exp((V+(71.7 millivolt))/(15.4 millivolt))); g_infinity=(1/(1+exp((V+(60 millivolt))/(6.6 millivolt)))); tau_g=(1/(alpha_g+beta_g)); g:time=((g_infinity-g)/tau_g); // i_to_1=(g_to_1*i_to_1.a*(.8*i+.2*i2)*(V-E_K)); // i_to_1.a:time=((i_to_1_a_gate.a_infinity-i_to_1.a)/i_to_1_a_gate.tau_a); alpha_a=((25 per_millisecond)*exp((V-(76 millivolt))/(20 millivolt))/(1+exp((V-(76 millivolt))/(20 millivolt)))); beta_a=((25 per_millisecond)*exp((-1)*(V+(54 millivolt))/(20 millivolt))/(1+exp((-1)*(V+(54 millivolt))/(20 millivolt)))); i_to_1_a_gate.tau_a=(1/(alpha_a+beta_a)); i_to_1_a_gate.a_infinity=(alpha_a/(alpha_a+beta_a)); // i:time=((i_infinity-i)/tau_i); alpha_i=((.03 per_millisecond)/(1+exp((V+(25 millivolt))/(15 millivolt)))); beta_i=((.1 per_millisecond)*exp((V-(40 millivolt))/(15 millivolt))/(1+exp((V-(40 millivolt))/(15 millivolt)))); tau_i=((6 millisecond)+(5 millisecond)/(1+exp((V-(16.5 millivolt))/(10 millivolt)))); i_infinity=(alpha_i/(alpha_i+beta_i)); // i2:time=((i2_infinity-i2)/tau_i2); alpha_i2=((.00442 per_millisecond)/(1+exp((V+(26 millivolt))/(15 millivolt)))); beta_i2=((.05 per_millisecond)*exp((V-(10 millivolt))/(15 millivolt))/(1+exp((V-(10 millivolt))/(15 millivolt)))); tau_i2=((21.5 millisecond)+(30 millisecond)/(1+exp((V-(25 millivolt))/(10 millivolt)))); i2_infinity=(alpha_i2/(alpha_i2+beta_i2)); // i_Kr=(g_Kr*xr*rr_infinity*(V-E_K)); g_Kr=((.040008488 milliS_per_microF)*sqrt(K_o/(5.4 millimolar))); rr_infinity=(1/(1+exp((V-(5.4 millivolt))/(20.4 millivolt)))); // xr:time=((xr_infinity-xr)/tau_xr); tau_xr=((900 millisecond)/(1+exp(V/(5 millivolt)))+(100 millisecond)); xr_infinity=(1/(1+exp((-1)*(V+(.085 millivolt))/(12.25 millivolt)))); // i_Ks=(g_Ks*xs1*xs2*(V-E_Ks)); g_Ks=((.052581329 milliS_per_microF)*(1+.6/(1+((3.8E-5 millimolar)/Ca_i)^1.4))); // xs1:time=((xs1_infinity-xs1)/tau_xs1); tau_xs1=((1 millisecond)/((7.61E-5 per_millivolt)*(V+(44.6 millivolt))/(1-exp((-1)*(9.97 per_millivolt)*(V+(44.6 millivolt))))+(3.6E-4 per_millivolt)*(V-(.55 millivolt))/(exp((.128 per_millivolt)*(V-(.55 millivolt)))-1))); xs1_infinity=(1/(1+exp((-1)*(V-(9 millivolt))/(13.7 millivolt)))); // xs2:time=((xs2_infinity-xs2)/tau_xs2); tau_xs2=(2*(1 millisecond)/((7.61E-5 per_millivolt)*(V+(44.6 millivolt))/(1-exp((-1)*(9.97 per_millivolt)*(V+(44.6 millivolt))))+(3.6E-4 per_millivolt)*(V-(.55 millivolt))/(exp((.128 per_millivolt)*(V-(.55 millivolt)))-1))); xs2_infinity=(1/(1+exp((-1)*(V-(9 millivolt))/(13.7 millivolt)))); // i_K1=((g_K1*xK1+(.004 milliS_per_microF))*(V-E_K)); g_K1=((.25 milliS_per_microF)*sqrt(K_o/(5.4 millimolar))); // xK1=(alpha_xK1/(alpha_xK1+beta_xK1)); beta_xK1=((.49124*exp((.08032 per_millivolt)*(V+(5.476 millivolt)-E_K))+exp((.06175 per_millivolt)*(V-((594.31 millivolt)+E_K))))/(1+exp((-1)*(.5143 per_millivolt)*(V+(4.753 millivolt)-E_K)))); alpha_xK1=(1.02/(1+exp((.2385 per_millivolt)*(V-(E_K+(59.215 millivolt)))))); // i_K_p=(g_K_p*kp*(V-E_K)); kp=(1/(1+exp(((7.488 millivolt)-V)/(5.98 millivolt)))); // i_to_2=(20*i_to_2_max*i_to_2.a); i_to_2_max=(1*p_Cl/Cm*z_Cl^2*V*F^2/(R*T)*(Cl_i-Cl_o*exp((-1)*z_Cl*V*F/(R*T)))/(1-exp((-1)*z_Cl*V*F/(R*T)))); // i_to_2.a:time=((i_to_2_a_gate.a_infinity-i_to_2.a)/i_to_2_a_gate.tau_a); i_to_2_a_gate.a_infinity=(1/(1+km_to_2/Ca_r)); i_to_2_a_gate.tau_a=(1 millisecond); // i_NaCa=((X_NaCa*i_NaCa_max*Na_i^3*Ca_o*exp(.35*F*V/(R*T))-(1.5 microA_per_microF)*Na_o^3*Ca_i*exp((-1)*.65*F*V/(R*T)))/((1+(km_Ca_act/(1.5*Ca_i))^2)*(1+k_sat*exp((-1)*.65*V*F/(R*T)))*(dNaCa_1+dNaCa_2))); dNaCa_1=(km_Ca_o*Na_i^3+1.5*km_Na_o^3*Ca_i+km_Na_i_1^3*Ca_o*(1+1.5*Ca_i/km_Ca_i)); dNaCa_2=(km_Ca_i*Na_o^3*(1+Na_i/km_Na_i_1)+Na_i^3*Ca_o+1.5*Na_o^3*Ca_i); // i_NaK=(g_NaK*f_NaK*1/(1+(km_Na_i_2/Na_i)^2)*K_o/(K_o+km_K_o)); f_NaK=(1/(1+.1245*exp((-1)*.1*F*V/(R*T))+.0365*sigma*exp((-1)*F*V/(R*T)))); sigma=(1/7*(exp(Na_o/(67.3 millimolar))-1)); // i_Ca_p=(i_Ca_p_max*Ca_i/(km_Ca_p+Ca_i)); // CT_K_Cl=(CT_K_Cl_max*(E_K-E_Cl)/(E_K+(87.8251 millivolt)-E_Cl)); // CT_Na_Cl=(CT_Na_Cl_max*(E_Na-E_Cl)^4/((E_Na-E_Cl)^4+(87.8251 millivolt)^4)); // i_Na_b=(g_Na_b*(V-E_Na)); i_K_b=(g_K_b*(V-E_K)); i_Cl_b=(g_Cl_b*(V-E_Cl)); i_Ca_b=(1*p_Ca_b/Cm*z_Ca^2*V*F^2/(R*T)*(gamma_Cai*Ca_i*exp(z_Ca*V*F/(R*T))-gamma_Cao*Ca_o)/(exp(z_Ca*V*F/(R*T))-1)); // Na_i:time=((-1)*Cm*(i_Na+i_Na_L+i_Na_b+3*i_NaK+3*i_NaCa)*a_cap/(Vol_myo*F)+CT_Na_Cl); K_i:time=((-1)*Cm*(i_to_1+i_K1+i_Kr+i_Ks+i_K_p+i_K_b-2*i_NaK)*a_cap/(Vol_myo*F)+CT_K_Cl); Cl_i:time=((-1)*Cm*(i_to_2+i_Cl_b)*a_cap/(Vol_myo*F)+CT_Na_Cl+CT_K_Cl); // Ca_i:time=((-1)*b_myo*(Cm*(i_Ca_b+i_Ca_p-2*i_NaCa)*a_cap/(2*Vol_myo*F)+(q_up-q_leak)*Vol_nsr/Vol_myo-q_diff*Vol_ss/Vol_myo)); CMDN=(2*CMDN_max*Ca_i/(Ca_i+km_CMDN)^2); TRPN=(2*TRPN_max*Ca_i/(Ca_i+km_TRPN)^2); b_myo=(1/(1+TRPN+CMDN)); // Ca_MK_act=(Ca_MK_bound+Ca_MK_trap); Ca_MK_trap:time=(alpha_Ca_MK*Ca_MK_bound*(Ca_MK_bound+Ca_MK_trap)-beta_Ca_MK*Ca_MK_trap); Ca_MK_bound=(Ca_MK_0*(1-Ca_MK_trap)/(1+km_Ca_MK/Ca_r)); // Ca_NSR:time=(q_up-(q_leak+q_tr*Vol_jsr/Vol_nsr)); // Ca_JSR:time=((q_tr-q_rel)/(1+CSQN_max*km_CSQN/(km_CSQN+Ca_JSR)^2)); // Ca_r:time=(Ca_r_tot*((-1)*Cm*i_Ca_L*a_cap/(Vol_ss*z_Ca*F)+q_rel*Vol_jsr/Vol_ss-q_diff)); q_diff=((Ca_r-Ca_i)/tau_ss); b_SL=(2*b_SL_max*Ca_r/(Ca_r+km_b_SL)^2); b_SR=(2*b_SR_max*Ca_r/(Ca_r+km_b_SR)^2); Ca_r_tot=(1/(1+b_SR+b_SL)); // q_rel=(g_rel*ro*ri*(Ca_JSR-Ca_r)); g_rel=((3E3 per_millisecond)*vg); vg=(1/(1+exp((g_Ca_L*i_Ca_L_max+(13 microA_per_microF))/(5 microA_per_microF)))); // ri:time=((ri_infinity-ri)/tau_ri); tau_ri=(((350 millisecond)-tau_Ca_MK)/(1+exp((Ca_r-(.003 millimolar)+.003*Ca_fac)/(2E-4 millimolar)))+(3 millisecond)+tau_Ca_MK); ri_infinity=(1/(1+exp((Ca_r-(4E-4 millimolar)+.002*Ca_fac)/(2.5E-5 millimolar)))); Ca_fac=((1 millimolar)/(1+exp((i_Ca_L+(.05 microA_per_microF))/(.015 microA_per_microF)))); tau_Ca_MK=(tau_Ca_MK_max*(1 millimolar)*Ca_MK_act/(km_Ca_MK+(1 millimolar)*Ca_MK_act)); // ro:time=((ro_infinity-ro)/tau_ro); ro_infinity=(ro_infinity_JSR*i_Ca_L^2/(i_Ca_L^2+(1 microA_per_microF_2))); ro_infinity_JSR=(Ca_JSR^1.9/(Ca_JSR^1.9+((49.28 millimolar)*Ca_r/(Ca_r+(.0028 millimolar)))^1.9)); // q_leak=(q_leak_max*Ca_NSR/NSR_max); // q_up=(X_q_up*(dq_up_Ca_MK+1)*q_up_max*Ca_i/(Ca_i+km_up-dkm_plb)); dq_up_Ca_MK=(dq_up_Ca_MK_max*Ca_MK_act*(1 millimolar)/(km_Ca_MK+Ca_MK_act*(1 millimolar))); dkm_plb=(dkm_plb_max*Ca_MK_act*(1 millimolar)/(km_Ca_MK+Ca_MK_act*(1 millimolar))); // q_tr=((Ca_NSR-Ca_JSR)/tau_tr); // a_geo=(2*3.14*radius^2+2*3.14*radius*length); a_cap=(rcg*a_geo); Vol_myo=(Vol_cell*.68); Vol_nsr=(Vol_cell*.0552); Vol_jsr=(Vol_cell*.0048); Vol_ss=(Vol_cell*.02); }