/* * Action potential and contractility changes in [Na(+)](i) overloaded * cardiac myocytes: a simulation study * * Model Status * * This model has been curated and validated by Penny Noble of * Oxford University and is known to run in PCEnv and COR to recreate * the published results. The units have been checked and they * are consistent. Note that this is the model in steady state * and it is the original Faber Rudy model from 2000. * * Model Structure * * ABSTRACT: Sodium overload of cardiac cells can accompany various * pathologies and induce fatal cardiac arrhythmias. We investigate * effects of elevated intracellular sodium on the cardiac action * potential (AP) and on intracellular calcium using the Luo-Rudy * model of a mammalian ventricular myocyte. The results are: 1) * During rapid pacing, AP duration (APD) shortens in two phases, * a rapid phase without Na(+) accumulation and a slower phase * that depends on [Na(+)](i). 2) The rapid APD shortening is due * to incomplete deactivation (accumulation) of I(Ks). 3) The slow * phase is due to increased repolarizing currents I(NaK) and reverse-mode * I(NaCa), secondary to elevated [Na(+)](i). 4) Na(+)-overload * slows the rate of AP depolarization, allowing time for greater * I(Ca(L)) activation; it also enhances reverse-mode I(NaCa). * The resulting increased Ca(2+) influx triggers a greater [Ca(2+)](i) * transient. 5) Reverse-mode I(NaCa) alone can trigger Ca(2+) * release in a voltage and [Na(+)](i)-dependent manner. 6) During * I(NaK) block, Na(+) and Ca(2+) accumulate and APD shortens due * to enhanced reverse-mode I(NaCa); contribution of I(K(Na)) to * APD shortening is negligible. By slowing AP depolarization (hence * velocity) and shortening APD, Na(+)-overload acts to enhance * inducibility of reentrant arrhythmias. Shortened APD with elevated * [Ca(2+)](i) (secondary to Na(+)-overload) also predisposes the * myocardium to arrhythmogenic delayed afterdepolarizations. * * The original paper reference is cited below: * * Action potential and contractility changes in [Na(+)](i) overloaded * cardiac myocytes: a simulation study, Gregory M. Faber and Yoram * Rudy, 2000, Biophysical Journal, 78, 2392-2404. PubMed ID: 10777735 * * cell diagram of the shaw and viswanathan models showing ionic * currents, pumps and exchangers within the sarcolemma and the * sarcoplasmic reticulum * * [[Image file: faber_2000.png]] * * A schematic diagram of the Faber and Rudy 2000 cardiac myocyte * model. */ import nsrunit; unit conversion on; unit ms=.001 second^1; unit per_ms=1E3 second^(-1); // unit millivolt predefined unit per_millivolt=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; unit ms_per_millivolt=1 kilogram^(-1)*meter^(-2)*second^4*ampere^1; unit per_millivolt_ms=1E6 kilogram^(-1)*meter^(-2)*second^2*ampere^1; unit millivolt_per_ms=1 kilogram^1*meter^2*second^(-4)*ampere^(-1); unit milliS_per_microF=1E3 second^(-1); unit cm2=1E-4 meter^2; unit milliS_per_cm2=10 kilogram^(-1)*meter^(-4)*second^3*ampere^2; unit nanoS_per_cm2=1E-5 kilogram^(-1)*meter^(-4)*second^3*ampere^2; unit microF=1E-6 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit microA_per_microF=1 kilogram^1*meter^2*second^(-4)*ampere^(-1); unit millimolar_per_ms=1E3 meter^(-3)*second^(-1)*mole^1; // unit millimolar predefined unit millimolar4=1 meter^(-12)*mole^4; // unit micromolar predefined 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 cm_per_second=.01 meter^1*second^(-1); unit mm=.001 meter^1; unit mm2=1E-6 meter^2; unit micro_litre=1E-9 meter^3; unit litre_per_farad_millisecond=1 kilogram^1*meter^5*second^(-5)*ampere^(-2); unit microF_per_cm2=.01 kilogram^(-1)*meter^(-4)*second^4*ampere^2; math main { realDomain time ms; time.min=0; extern time.max; extern time.delta; real V(time) millivolt; when(time=time.min) V=-85.2119207874627; real R joule_per_kilomole_kelvin; R=8314; real T kelvin; T=310; real F coulomb_per_mole; F=96485; real I_st(time) microA_per_microF; real i_Na(time) microA_per_microF; real i_Ca_L(time) microA_per_microF; real i_Ca_T(time) microA_per_microF; real i_Kr(time) microA_per_microF; real i_Ks(time) microA_per_microF; real i_K_Na(time) microA_per_microF; real i_K_ATP(time) microA_per_microF; real i_to(time) microA_per_microF; real i_NaCa(time) microA_per_microF; real i_K1(time) microA_per_microF; real i_Kp(time) microA_per_microF; real i_p_Ca(time) microA_per_microF; real i_Na_b(time) microA_per_microF; real i_Ca_b(time) microA_per_microF; real i_NaK(time) microA_per_microF; real i_ns_Ca(time) microA_per_microF; real dVdt(time) microA_per_microF; real stim_start ms; stim_start=100; real stim_end ms; stim_end=9000000; real stim_period ms; stim_period=1000; real stim_duration ms; stim_duration=2; real stim_amplitude microA_per_microF; stim_amplitude=-25.5; real E_Na(time) millivolt; real g_Na milliS_per_microF; g_Na=16; real Nai(time) millimolar; when(time=time.min) Nai=13.3649235394859; real Nao millimolar; Nao=140; real m(time) dimensionless; when(time=time.min) m=0.00149183115674257; real h(time) dimensionless; when(time=time.min) h=0.985596581239651; real j(time) dimensionless; when(time=time.min) j=0.990898461370389; real alpha_m(time) per_ms; real beta_m(time) per_ms; real delta_m millivolt; delta_m=1e-5; real E0_m(time) millivolt; real alpha_h(time) per_ms; real beta_h(time) per_ms; real alpha_j(time) per_ms; real beta_j(time) per_ms; real i_CaCa(time) microA_per_microF; real i_CaK(time) microA_per_microF; real i_CaNa(time) microA_per_microF; real gamma_Nai dimensionless; gamma_Nai=0.75; real gamma_Nao dimensionless; gamma_Nao=0.75; real gamma_Ki dimensionless; gamma_Ki=0.75; real gamma_Ko dimensionless; gamma_Ko=0.75; real gamma_Cai dimensionless; gamma_Cai=1; real gamma_Cao dimensionless; gamma_Cao=0.341; real I_CaCa(time) microA_per_microF; real I_CaK(time) microA_per_microF; real I_CaNa(time) microA_per_microF; real P_Ca litre_per_farad_millisecond; P_Ca=0.00054; real P_Na litre_per_farad_millisecond; P_Na=6.75e-7; real P_K litre_per_farad_millisecond; P_K=1.93e-7; real Cai(time) millimolar; when(time=time.min) Cai=0.000117482029668194; real Cao millimolar; Cao=1.8; real Ko millimolar; Ko=5.4; real Ki(time) millimolar; when(time=time.min) Ki=141.056872392446; real d(time) dimensionless; when(time=time.min) d=5.82597094505446e-6; real f(time) dimensionless; when(time=time.min) f=0.997765362821995; real f_Ca(time) dimensionless; real alpha_d(time) per_ms; real beta_d(time) per_ms; real d_infinity(time) dimensionless; real tau_d(time) ms; real E0_d(time) millivolt; real alpha_f(time) per_ms; real beta_f(time) per_ms; real f_infinity(time) dimensionless; real tau_f(time) ms; real Km_Ca millimolar; Km_Ca=0.0006; real g_CaT milliS_per_microF; g_CaT=0.05; real E_Ca(time) millivolt; real b(time) dimensionless; when(time=time.min) b=0.00136737866785149; real g(time) dimensionless; when(time=time.min) g=0.98881442877378; real b_inf(time) dimensionless; real tau_b(time) ms; real g_inf(time) dimensionless; real tau_g(time) ms; real g_Kr milliS_per_microF; real G_Kr milliS_per_microF; G_Kr=0.02614; real Rect(time) dimensionless; real E_K(time) millivolt; real xr(time) dimensionless; when(time=time.min) xr=0.000204700363126417; real xr_infinity(time) dimensionless; real tau_xr(time) ms; real g_Ks(time) milliS_per_microF; real G_Ks milliS_per_microF; G_Ks=0.433; real E_Ks(time) millivolt; real PNaK dimensionless; PNaK=0.01833; real xs1(time) dimensionless; when(time=time.min) xs1=0.00660746743356887; real xs2(time) dimensionless; when(time=time.min) xs2=0.0303768241233812; real xs1_infinity(time) dimensionless; real tau_xs1(time) ms; real xs2_infinity(time) dimensionless; real tau_xs2(time) ms; real g_K1 milliS_per_microF; real G_K1 milliS_per_microF; G_K1=0.75; real K1_infinity(time) dimensionless; real alpha_K1(time) per_ms; real beta_K1(time) per_ms; real g_Kp milliS_per_microF; g_Kp=0.00552; real Kp(time) dimensionless; real g_K_Na milliS_per_microF; g_K_Na=0.12848; real nKNa dimensionless; nKNa=2.8; real pona(time) dimensionless; real pov(time) dimensionless; real kdKNa millimolar; kdKNa=66; real g_K_ATP milliS_per_microF; real i_K_ATP_on dimensionless; i_K_ATP_on=1; real nATP dimensionless; nATP=0.24; real nicholsarea dimensionless; nicholsarea=5e-5; real ATPi millimolar; ATPi=3; real hATP dimensionless; hATP=2; real kATP millimolar; kATP=0.00025; real pATP dimensionless; real GKbaraATP milliS_per_microF; real g_to milliS_per_microF; real rvdv(time) dimensionless; real zdv(time) dimensionless; when(time=time.min) zdv=0.0144622472219576; real ydv(time) dimensionless; when(time=time.min) ydv=0.999945568566232; real alpha_zdv(time) per_ms; real beta_zdv(time) per_ms; real tau_zdv(time) ms; real zdv_ss(time) dimensionless; real alpha_ydv(time) per_ms; real beta_ydv(time) per_ms; real tau_ydv(time) ms; real ydv_ss(time) dimensionless; real K_mpCa millimolar; K_mpCa=0.0005; real I_pCa microA_per_microF; I_pCa=1.15; real g_Nab milliS_per_microF; g_Nab=0.004; real g_Cab milliS_per_microF; g_Cab=0.003016; real I_NaK microA_per_microF; I_NaK=2.25; real f_NaK(time) dimensionless; real K_mNai millimolar; K_mNai=10; real K_mKo millimolar; K_mKo=1.5; real sigma dimensionless; real i_ns_Na(time) microA_per_microF; real i_ns_K(time) microA_per_microF; real P_ns_Ca litre_per_farad_millisecond; real I_ns_Na(time) microA_per_microF; real I_ns_K(time) microA_per_microF; real K_m_ns_Ca millimolar; K_m_ns_Ca=0.0012; real c1 microA_per_microF; c1=0.00025; real c2 dimensionless; c2=0.0001; real gamma dimensionless; gamma=0.15; real i_rel(time) millimolar_per_ms; real i_up(time) millimolar_per_ms; real i_leak(time) millimolar_per_ms; real i_tr(time) millimolar_per_ms; real G_rel(time) per_ms; real G_rel_Viswanathan(time) per_ms; real G_rel_max per_ms; G_rel_max=60; real G_rel_overload per_ms; G_rel_overload=4; real tau_tr ms; tau_tr=180; real K_mrel millimolar; K_mrel=0.0008; real delta_Ca_ith millimolar; delta_Ca_ith=0.00018; real CSQN_max millimolar; CSQN_max=10; real K_mCSQN millimolar; K_mCSQN=0.8; real K_mup millimolar; K_mup=0.00092; real K_leak per_ms; real I_up millimolar_per_ms; I_up=0.00875; real Ca_NSR_max millimolar; Ca_NSR_max=15; real Ca_JSR(time) millimolar; when(time=time.min) Ca_JSR=1.12791401197882; real Ca_NSR(time) millimolar; when(time=time.min) Ca_NSR=1.76731003671612; real V_myo micro_litre; real A_cap cm2; A_cap=0.0001534; real V_JSR micro_litre; real V_NSR micro_litre; real K_mTn millimolar; K_mTn=0.0005; real K_mCMDN millimolar; K_mCMDN=0.00238; real Tn_max millimolar; Tn_max=0.07; real CMDN_max millimolar; CMDN_max=0.05; real APtrack(time) dimensionless; when(time=time.min) APtrack=9.65910542308504e-196; real APtrack2(time) dimensionless; when(time=time.min) APtrack2=5.33944967562997e-195; real APtrack3(time) dimensionless; when(time=time.min) APtrack3=0.000129515197402902; real Cainfluxtrack(time) millimolar; when(time=time.min) Cainfluxtrack=2.69380318286645e-196; real OVRLDtrack(time) dimensionless; when(time=time.min) OVRLDtrack=0; real OVRLDtrack2(time) dimensionless; when(time=time.min) OVRLDtrack2=0; real OVRLDtrack3(time) dimensionless; when(time=time.min) OVRLDtrack3=0; real CSQNthresh dimensionless; CSQNthresh=0.7; real Logicthresh dimensionless; Logicthresh=0.98; real RyRopen(time) dimensionless; real RyRclose(time) dimensionless; real preplength mm; preplength=0.1; real radius mm; radius=0.011; real volume micro_litre; // // I_st=(if (((time>=stim_start) and (time<=stim_end)) and ((time-stim_start-floor((time-stim_start)/stim_period)*stim_period)<=stim_duration)) stim_amplitude else (0 microA_per_microF)); dVdt=((-1)*(i_Na+i_Ca_L+i_Ca_T+i_Kr+i_Ks+i_K_Na+i_K_ATP+i_to+i_K1+i_Kp+i_NaCa+i_p_Ca+i_Na_b+i_Ca_b+i_NaK+i_ns_Ca+I_st)); V:time=dVdt; // E_Na=(R*T/F*ln(Nao/Nai)); i_Na=(g_Na*m^3*h*j*(V-E_Na)); // E0_m=(V+(47.13 millivolt)); alpha_m=(if (abs(E0_m)>=delta_m) (.32 per_millivolt_ms)*E0_m/(1-exp((-1)*(.1 per_millivolt)*E0_m)) else (3.2 per_ms)); beta_m=((.08 per_ms)*exp((-1)*V/(11 millivolt))); m:time=(alpha_m*(1-m)-beta_m*m); // alpha_h=(if (V<((-1)*(40 millivolt))) (.135 per_ms)*exp(((80 millivolt)+V)/((-1)*(6.8 millivolt))) else (0 per_ms)); beta_h=(if (V<((-1)*(40 millivolt))) (3.56 per_ms)*exp((.079 per_millivolt)*V)+(3.1E5 per_ms)*exp((.35 per_millivolt)*V) else (1 per_ms)/(.13*(1+exp((V+(10.66 millivolt))/((-1)*(11.1 millivolt)))))); h:time=(alpha_h*(1-h)-beta_h*h); // alpha_j=(if (V<((-1)*(40 millivolt))) (-1)*((127140 per_millivolt_ms)*exp((.2444 per_millivolt)*V)+(3.4739999999999996E-5 per_millivolt_ms)*exp((-1)*(.04391 per_millivolt)*V))*(V+(37.78 millivolt))/(1+exp((.311 per_millivolt)*(V+(79.23 millivolt)))) else (0 per_ms)); beta_j=(if (V<((-1)*(40 millivolt))) (.1212 per_ms)*exp((-1)*(.01052 per_millivolt)*V)/(1+exp((-1)*(.1378 per_millivolt)*(V+(40.14 millivolt)))) else (.3 per_ms)*exp((-1)*(2.535E-7 per_millivolt)*V)/(1+exp((-1)*(.1 per_millivolt)*(V+(32 millivolt))))); j:time=(alpha_j*(1-j)-beta_j*j); // I_CaCa=(P_Ca*2^2*V*F^2/(R*T)*(gamma_Cai*Cai*exp(2*V*F/(R*T))-gamma_Cao*Cao)/(exp(2*V*F/(R*T))-1)); I_CaNa=(P_Na*1^2*V*F^2/(R*T)*(gamma_Nai*Nai*exp(1*V*F/(R*T))-gamma_Nao*Nao)/(exp(1*V*F/(R*T))-1)); I_CaK=(P_K*1^2*V*F^2/(R*T)*(gamma_Ki*Ki*exp(1*V*F/(R*T))-gamma_Ko*Ko)/(exp(1*V*F/(R*T))-1)); i_CaCa=(d*f*f_Ca*I_CaCa); i_CaNa=(d*f*f_Ca*I_CaNa); i_CaK=(d*f*f_Ca*I_CaK); i_Ca_L=(i_CaCa+i_CaK+i_CaNa); // E0_d=(V+(10 millivolt)); d_infinity=(1/(1+exp((-1)*E0_d/(6.24 millivolt)))); tau_d=(if (abs(E0_d)<(9.999999999999999E-6 millivolt)) (1 ms)/(.035*6.24*2) else (1 ms)*d_infinity*(1-exp((-1)*E0_d/(6.24 millivolt)))/((.035 per_millivolt)*E0_d)); alpha_d=(d_infinity/tau_d); beta_d=((1-d_infinity)/tau_d); d:time=(alpha_d*(1-d)-beta_d*d); // f_infinity=(1/(1+exp((V+(35.06 millivolt))/(8.6 millivolt)))+.6/(1+exp(((50 millivolt)-V)/(20 millivolt)))); tau_f=((1 ms)/(.0197*exp((-1)*((.0337 per_millivolt)*(V+(10 millivolt)))^2)+.02)); alpha_f=(f_infinity/tau_f); beta_f=((1-f_infinity)/tau_f); f:time=(alpha_f*(1-f)-beta_f*f); // f_Ca=(1/(1+Cai/Km_Ca)); // i_Ca_T=(g_CaT*b*b*g*(V-E_Ca)); // b_inf=(1/(1+exp((-1)*(V+(14 millivolt))/(10.8 millivolt)))); tau_b=((3.7 ms)+(6.1 ms)/(1+exp((V+(25 millivolt))/(4.5 millivolt)))); b:time=((b_inf-b)/tau_b); // g_inf=(1/(1+exp((V+(60 millivolt))/(5.6 millivolt)))); tau_g=(if (V<=(0 millivolt)) (-1)*(.875 ms_per_millivolt)*V+(12 ms) else (12 ms)); g:time=((g_inf-g)/tau_g); // g_Kr=(G_Kr*sqrt(Ko/(5.4 millimolar))); Rect=(1/(1+exp((V+(9 millivolt))/(22.4 millivolt)))); i_Kr=(g_Kr*xr*Rect*(V-E_K)); // xr_infinity=(1/(1+exp((-1)*(V+(21.5 millivolt))/(7.5 millivolt)))); tau_xr=((1 ms)/((.00138 per_millivolt)*(V+(14.2 millivolt))/(1-exp((-1)*(.123 per_millivolt)*(V+(14.2 millivolt))))+(6.1E-4 per_millivolt)*(V+(38.9 millivolt))/(exp((.145 per_millivolt)*(V+(38.9 millivolt)))-1))); xr:time=((xr_infinity-xr)/tau_xr); // E_Ks=(R*T/F*ln((Ko+PNaK*Nao)/(Ki+PNaK*Nai))); g_Ks=(G_Ks*(1+.6/(1+((3.7999999999999995E-5 millimolar)/Cai)^1.4))); i_Ks=(g_Ks*xs1*xs2*(V-E_Ks)); // xs1_infinity=(1/(1+exp((-1)*(V-(1.5 millivolt))/(16.7 millivolt)))); tau_xs1=((1 ms)/((7.19E-5 per_millivolt)*(V+(30 millivolt))/(1-exp((-1)*(.148 per_millivolt)*(V+(30 millivolt))))+(1.31E-4 per_millivolt)*(V+(30 millivolt))/(exp((.0687 per_millivolt)*(V+(30 millivolt)))-1))); xs1:time=((xs1_infinity-xs1)/tau_xs1); // xs2_infinity=(1/(1+exp((-1)*(V-(1.5 millivolt))/(16.7 millivolt)))); tau_xs2=((4 ms)/((7.19E-5 per_millivolt)*(V+(30 millivolt))/(1-exp((-1)*(.148 per_millivolt)*(V+(30 millivolt))))+(1.31E-4 per_millivolt)*(V+(30 millivolt))/(exp((.0687 per_millivolt)*(V+(30 millivolt)))-1))); xs2:time=((xs2_infinity-xs2)/tau_xs2); // g_K1=(G_K1*sqrt(Ko/(5.4 millimolar))); E_K=(R*T/F*ln(Ko/Ki)); i_K1=(g_K1*K1_infinity*(V-E_K)); // alpha_K1=((1.02 per_ms)/(1+exp((.2385 per_millivolt)*(V-E_K-(59.215 millivolt))))); beta_K1=((1 per_ms)*(.49124*exp((.08032 per_millivolt)*(V-E_K+(5.476 millivolt)))+exp((.06175 per_millivolt)*(V-E_K-(594.31 millivolt))))/(1+exp((-1)*(.5143 per_millivolt)*(V-E_K+(4.753 millivolt))))); K1_infinity=(alpha_K1/(alpha_K1+beta_K1)); // Kp=(1/(1+exp(((7.488 millivolt)-V)/(5.98 millivolt)))); i_Kp=(g_Kp*Kp*(V-E_K)); // pona=(.85/(1+(kdKNa/Nai)^nKNa)); pov=(.8-.65/(1+exp((V+(125 millivolt))/(15 millivolt)))); i_K_Na=(g_K_Na*pona*pov*(V-E_K)); // g_K_ATP=(i_K_ATP_on*(1.93E-4 milliS_per_microF)/nicholsarea); pATP=(1/(1+(ATPi/kATP)^hATP)); GKbaraATP=(g_K_ATP*pATP*(Ko/(4 millimolar))^nATP); i_K_ATP=(GKbaraATP*(V-E_K)); // g_to=(0*(.5 milliS_per_microF)); rvdv=exp(V/(100 millivolt)); i_to=(g_to*zdv^3*ydv*rvdv*(V-E_K)); // alpha_zdv=((10 per_ms)*exp((V-(40 millivolt))/(25 millivolt))/(1+exp((V-(40 millivolt))/(25 millivolt)))); beta_zdv=((10 per_ms)*exp((-1)*(V+(90 millivolt))/(25 millivolt))/(1+exp((-1)*(V+(90 millivolt))/(25 millivolt)))); tau_zdv=(1/(alpha_zdv+beta_zdv)); zdv_ss=(alpha_zdv/(alpha_zdv+beta_zdv)); zdv:time=((zdv_ss-zdv)/tau_zdv); // alpha_ydv=((.015 per_ms)/(1+exp((V+(60 millivolt))/(5 millivolt)))); beta_ydv=((.1 per_ms)*exp((V+(25 millivolt))/(5 millivolt))/(1+exp((V+(25 millivolt))/(5 millivolt)))); tau_ydv=(1/(alpha_ydv+beta_ydv)); ydv_ss=(alpha_ydv/(alpha_ydv+beta_ydv)); ydv:time=((ydv_ss-ydv)/tau_ydv); // i_p_Ca=(I_pCa*Cai/(K_mpCa+Cai)); // i_Na_b=(g_Nab*(V-E_Na)); // E_Ca=(R*T/(2*F)*ln(Cao/Cai)); i_Ca_b=(g_Cab*(V-E_Ca)); // sigma=(1/7*(exp(Nao/(67.3 millimolar))-1)); f_NaK=(1/(1+.1245*exp((-1)*.1*V*F/(R*T))+.0365*sigma*exp((-1)*V*F/(R*T)))); i_NaK=(I_NaK*f_NaK*1/(1+(K_mNai/Nai)^2)*Ko/(Ko+K_mKo)); // P_ns_Ca=(1.75E-7 litre_per_farad_millisecond); I_ns_Na=(P_ns_Ca*1^2*V*F^2/(R*T)*(gamma_Nai*Nai*exp(1*V*F/(R*T))-gamma_Nao*Nao)/(exp(1*V*F/(R*T))-1)); I_ns_K=(P_ns_Ca*1^2*V*F^2/(R*T)*(gamma_Ki*Ki*exp(1*V*F/(R*T))-gamma_Ko*Ko)/(exp(1*V*F/(R*T))-1)); i_ns_Na=(I_ns_Na*1/(1+(K_m_ns_Ca/Cai)^3)); i_ns_K=(I_ns_K*1/(1+(K_m_ns_Ca/Cai)^3)); i_ns_Ca=(i_ns_Na+i_ns_K); // i_NaCa=(c1*exp((gamma-1)*V*F/(R*T))*(exp(V*F/(R*T))*Nai^3*Cao-Nao^3*Cai)/((1 millimolar4)+c2*exp((gamma-1)*V*F/(R*T))*(exp(V*F/(R*T))*Nai^3*Cao+Nao^3*Cai))); // APtrack:time=(if (dVdt>(150 millivolt_per_ms)) (100 per_ms)*(1-APtrack)-(.5 per_ms)*APtrack else (-1)*(.5 per_ms)*APtrack); APtrack2:time=(if ((APtrack<.2) and (APtrack>.18)) (100 per_ms)*(1-APtrack2)-(.5 per_ms)*APtrack2 else (-1)*(.5 per_ms)*APtrack2); APtrack3:time=(if ((APtrack<.2) and (APtrack>.18)) (100 per_ms)*(1-APtrack3)-(.5 per_ms)*APtrack3 else (-1)*(.01 per_ms)*APtrack3); Cainfluxtrack:time=(if (APtrack>.2) (-1)*(1 microF_per_cm2)*A_cap*(i_CaCa+i_Ca_T-2*i_NaCa+i_p_Ca+i_Ca_b)/(2*V_myo*F) else if ((APtrack2>.01) and (APtrack<=.2)) (0 millimolar_per_ms) else (-1)*(.5 per_ms)*Cainfluxtrack); OVRLDtrack:time=(if ((((1/(1+K_mCSQN/Ca_JSR))>CSQNthresh) and (OVRLDtrack3<.37)) and (APtrack3<.37)) (50 per_ms)*(1-OVRLDtrack) else (-1)*(.5 per_ms)*OVRLDtrack); OVRLDtrack2:time=(if ((OVRLDtrack>Logicthresh) and (OVRLDtrack2Logicthresh) and (OVRLDtrack3delta_Ca_ith) G_rel_max*(Cainfluxtrack-delta_Ca_ith)/(K_mrel+Cainfluxtrack-delta_Ca_ith)*(1-APtrack2)*APtrack2 else if ((Cainfluxtrack<=delta_Ca_ith) and (OVRLDtrack2>0)) G_rel_overload*(1-OVRLDtrack2)*OVRLDtrack2 else (0 per_ms)); RyRopen=(1/(1+exp(2)*APtrack2)); RyRclose=(1-RyRopen); G_rel=(RyRopen*RyRclose*(150 per_ms)/(1+exp((i_CaCa+i_Ca_T-2*i_NaCa+i_p_Ca+i_Ca_b+(5 microA_per_microF))/(.9 microA_per_microF)))); i_rel=(G_rel*(Ca_JSR-Cai)); i_up=(I_up*Cai/(Cai+K_mup)); K_leak=(I_up/Ca_NSR_max); i_leak=(K_leak*Ca_NSR); i_tr=((Ca_NSR-Ca_JSR)/tau_tr); Ca_JSR:time=(1/(1+CSQN_max*K_mCSQN/(K_mCSQN+Ca_JSR)^2)*(i_tr-i_rel)); Ca_NSR:time=((-1)*i_tr*V_JSR/V_NSR-i_leak+i_up); Cai:time=(1/(1+CMDN_max*K_mCMDN/(K_mCMDN+Cai)^2+Tn_max*K_mTn/(K_mTn+Cai)^2)*((-1)*(1 microF_per_cm2)*A_cap*(i_CaCa+i_Ca_T-2*i_NaCa+i_p_Ca+i_Ca_b)/(2*V_myo*F)+i_rel*V_JSR/V_myo+(i_leak-i_up)*V_NSR/V_myo)); // Nai:time=((-1)*(1 microF_per_cm2)*(i_Na+i_CaNa+i_Na_b+i_ns_Na+i_NaCa*3+i_NaK*3)*A_cap/(V_myo*F)); Ki:time=((-1)*(1 microF_per_cm2)*(I_st+i_CaK+i_Kr+i_Ks+i_K1+i_Kp+i_K_Na+i_K_ATP+i_to+i_ns_K+(-1)*i_NaK*2)*A_cap/(V_myo*F)); // volume=(3.141592653589793*preplength*radius^2); V_myo=(.68*volume); V_JSR=(.0048*volume); V_NSR=(.0552*volume); // // // }