/* * Mathematical Model Of Action Potentials In The Periphery Of * The Sinoatrial Node, 2000 * * Model Status * * This version of the CellML model was created by Alan Garny of * Oxford University, it has been unit checked and the model runs * in both COR and OpenCell to reproduce the published results. * The units have been checked and they are consistent. * * Model Structure * * ABSTRACT: INTRODUCTION: Cardiac multicellular modeling has traditionally * focused on ventricular electromechanics. More recently, models * of the atria have started to emerge, and there is much interest * in addressing sinoatrial node structure and function. METHODS * AND RESULTS: We implemented a variety of one-dimensional sinoatrial * models consisting of descriptions of central, transitional, * and peripheral sinoatrial node cells, as well as rabbit or human * atrial cells. These one-dimensional models were implemented * using CMISS on an SGI Origin 2000 supercomputer. Intercellular * coupling parameters recorded in experimental studies on sinoatrial * node and atrial cell-pairs under-represent the electrotonic * interactions that any cardiomyocyte would have in a multidimensional * setting. Unsurprisingly, cell-to-cell coupling had to be scaled-up * (by a factor of 5) in order to obtain a stable leading pacemaker * site in the sinoatrial node center. Further critical parameters * include the gradual increase in intercellular coupling from * sinoatrial node center to periphery, and the presence of electrotonic * interaction with atrial cells. Interestingly, the electrotonic * effect of the atrium on sinoatrial node periphery is best described * as opposing depolarization, rather than necessarily hyperpolarizing, * as often assumed. CONCLUSION: Multicellular one-dimensional * models of sinoatrial node and atrium can provide useful insight * into the origin and spread of normal cardiac excitation. They * require larger than "physiologic" intercellular conductivities * in order to make up for a lack of "anatomical" spatial scaling. * Multicellular models for more in-depth quantitative studies * will require more realistic anatomico-physiologic properties. * * Note: There is a second variable which varies between models; * version. If version=0 the CellML model behaves like the Zhang * et al. 2000 model. If version=1 the CellML model describes a * 0D capable, or suitable for single cell modelling, and if version=2 * the CellML model describes a 1D capable, or suitable for multicellular * modelling. By default the CellML model is setup to describe * a central SAN cell (dCell=0) suitable for single cell modelling * (version=1). * * The original paper reference is cited below. * * One-dimensional rabbit sinoatrial node models: benefits and * limitations, A. Garny, P. Kohl, P.J. Hunter, M.R. Boyett and * D. Noble, 2003, The Journal of Cardiovascular Electrophysiology * , 14, S121-S132. PubMed ID: 14760914 * * cell diagram of the Zhang et al SAN model showing ionic currents, * pumps and exchangers within the sarcolemma and the sarcoplasmic * reticulum * * [[Image file: zhang_2000.png]] * * A schematic diagram describing the current flows across the * cell membrane that are captured in the Garny et al 2003 'published' * and "0D capable' models of the action potentials in the cells * of the SA node. The 1D capable model has one additional current * called I_Cap - or a persistant calcium current. */ import nsrunit; unit conversion on; unit per_second=1 second^(-1); // unit millivolt predefined unit per_millivolt=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; unit per_millivolt_second=1E3 kilogram^(-1)*meter^(-2)*second^2*ampere^1; unit microS=1E-6 kilogram^(-1)*meter^(-2)*second^3*ampere^2; unit microF=1E-6 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit nanoA=1E-9 ampere^1; // unit millimolar predefined unit millimolar4=1 meter^(-12)*mole^4; unit millijoule_per_mole_kelvin=.001 kilogram^1*meter^2*second^(-2)*kelvin^(-1)*mole^(-1); unit coulomb_per_mole=1 second^1*ampere^1*mole^(-1); unit microlitre_per_second=1E-9 meter^3*second^(-1); math main { realDomain time second; time.min=0; extern time.max; extern time.delta; real Version dimensionless; Version=1; real dCell dimensionless; dCell=0; real FCellConstant dimensionless; FCellConstant=1.0309347; real FCell dimensionless; real V(time) millivolt; when(time=time.min) V=-39.013558536; real R millijoule_per_mole_kelvin; R=8314; real T kelvin; T=310; real F coulomb_per_mole; F=96845; real Cm microF; real CmCentre microF; CmCentre=2e-5; real CmPeriphery microF; CmPeriphery=6.5e-5; real i_Na(time) nanoA; real i_Ca_L(time) nanoA; real i_Ca_T(time) nanoA; real i_to(time) nanoA; real i_sus(time) nanoA; real i_K_r(time) nanoA; real i_K_s(time) nanoA; real i_f_Na(time) nanoA; real i_f_K(time) nanoA; real i_b_Na(time) nanoA; real i_b_Ca(time) nanoA; real i_b_K(time) nanoA; real i_NaCa(time) nanoA; real i_p(time) nanoA; real i_Ca_p nanoA; real g_Na microlitre_per_second; real g_Na_Centre_Published microlitre_per_second; g_Na_Centre_Published=0; real g_Na_Centre_0DCapable microlitre_per_second; g_Na_Centre_0DCapable=0; real g_Na_Centre_1DCapable microlitre_per_second; g_Na_Centre_1DCapable=0; real g_Na_Periphery_Published microlitre_per_second; g_Na_Periphery_Published=1.2e-6; real g_Na_Periphery_0DCapable microlitre_per_second; g_Na_Periphery_0DCapable=1.204e-6; real g_Na_Periphery_1DCapable microlitre_per_second; g_Na_Periphery_1DCapable=3.7e-7; real E_Na millivolt; real Na_o millimolar; Na_o=140; real m(time) dimensionless; when(time=time.min) m=0.092361701692; real h(time) dimensionless; real m_infinity(time) dimensionless; real tau_m(time) second; real F_Na(time) dimensionless; real h1(time) dimensionless; when(time=time.min) h1=0.015905380261; real h2(time) dimensionless; when(time=time.min) h2=0.01445216109; real h1_infinity(time) dimensionless; real h2_infinity(time) dimensionless; real tau_h1(time) second; real tau_h2(time) second; real g_Ca_L_Centre_Published microS; g_Ca_L_Centre_Published=0.0058; real g_Ca_L_Centre_0DCapable microS; g_Ca_L_Centre_0DCapable=0.0057938; real g_Ca_L_Centre_1DCapable microS; g_Ca_L_Centre_1DCapable=0.0082; real g_Ca_L_Periphery_Published microS; g_Ca_L_Periphery_Published=0.0659; real g_Ca_L_Periphery_0DCapable microS; g_Ca_L_Periphery_0DCapable=0.06588648; real g_Ca_L_Periphery_1DCapable microS; g_Ca_L_Periphery_1DCapable=0.0659; real g_Ca_L microS; real E_Ca_L millivolt; E_Ca_L=46.4; real d_L(time) dimensionless; when(time=time.min) d_L=0.04804900895; real f_L(time) dimensionless; when(time=time.min) f_L=0.48779845203; real alpha_d_L(time) per_second; real beta_d_L(time) per_second; real d_L_infinity(time) dimensionless; real tau_d_L(time) second; real alpha_f_L(time) per_second; real beta_f_L(time) per_second; real f_L_infinity(time) dimensionless; real tau_f_L(time) second; real g_Ca_T_Centre_Published microS; g_Ca_T_Centre_Published=0.0043; real g_Ca_T_Centre_0DCapable microS; g_Ca_T_Centre_0DCapable=0.00427806; real g_Ca_T_Centre_1DCapable microS; g_Ca_T_Centre_1DCapable=0.0021; real g_Ca_T_Periphery_Published microS; g_Ca_T_Periphery_Published=0.0139; real g_Ca_T_Periphery_0DCapable microS; g_Ca_T_Periphery_0DCapable=0.0138823; real g_Ca_T_Periphery_1DCapable microS; g_Ca_T_Periphery_1DCapable=0.00694; real g_Ca_T microS; real E_Ca_T millivolt; E_Ca_T=45; real d_T(time) dimensionless; when(time=time.min) d_T=0.42074047435; real f_T(time) dimensionless; when(time=time.min) f_T=0.038968420558; real alpha_d_T(time) per_second; real beta_d_T(time) per_second; real d_T_infinity(time) dimensionless; real tau_d_T(time) second; real alpha_f_T(time) per_second; real beta_f_T(time) per_second; real f_T_infinity(time) dimensionless; real tau_f_T(time) second; real g_to_Centre_Published microS; g_to_Centre_Published=0.00491; real g_to_Centre_0DCapable microS; g_to_Centre_0DCapable=0.004905; real g_to_Centre_1DCapable microS; g_to_Centre_1DCapable=0.004905; real g_to_Periphery_Published microS; g_to_Periphery_Published=0.03649; real g_to_Periphery_0DCapable microS; g_to_Periphery_0DCapable=0.036495; real g_to_Periphery_1DCapable microS; g_to_Periphery_1DCapable=0.0365; real g_to microS; real g_sus_Centre_Published microS; g_sus_Centre_Published=6.65e-5; real g_sus_Centre_0DCapable microS; g_sus_Centre_0DCapable=6.645504e-5; real g_sus_Centre_1DCapable microS; g_sus_Centre_1DCapable=0.000266; real g_sus_Periphery_Published microS; g_sus_Periphery_Published=0.0114; real g_sus_Periphery_0DCapable microS; g_sus_Periphery_0DCapable=0.01138376; real g_sus_Periphery_1DCapable microS; g_sus_Periphery_1DCapable=0.0114; real g_sus microS; real E_K millivolt; real q(time) dimensionless; when(time=time.min) q=0.29760539675; real r(time) dimensionless; when(time=time.min) r=0.064402950262; real q_infinity(time) dimensionless; real tau_q(time) second; real r_infinity(time) dimensionless; real tau_r(time) second; real g_K_r_Centre_Published microS; g_K_r_Centre_Published=0.000797; real g_K_r_Centre_0DCapable microS; g_K_r_Centre_0DCapable=0.00079704; real g_K_r_Centre_1DCapable microS; g_K_r_Centre_1DCapable=0.000738; real g_K_r_Periphery_Published microS; g_K_r_Periphery_Published=0.016; real g_K_r_Periphery_0DCapable microS; g_K_r_Periphery_0DCapable=0.016; real g_K_r_Periphery_1DCapable microS; g_K_r_Periphery_1DCapable=0.0208; real g_K_r microS; real P_a(time) dimensionless; real P_af(time) dimensionless; when(time=time.min) P_af=0.13034201158; real P_as(time) dimensionless; when(time=time.min) P_as=0.46960956028; real P_i(time) dimensionless; when(time=time.min) P_i=0.87993375273; real P_af_infinity(time) dimensionless; real tau_P_af(time) second; real P_as_infinity(time) dimensionless; real tau_P_as(time) second; real P_i_infinity(time) dimensionless; real tau_P_i second; real g_K_s_Centre_Published microS; g_K_s_Centre_Published=0.000518; real g_K_s_Centre_0DCapable microS; g_K_s_Centre_0DCapable=0.0003445; real g_K_s_Centre_1DCapable microS; g_K_s_Centre_1DCapable=0.000345; real g_K_s_Periphery_Published microS; g_K_s_Periphery_Published=0.0104; real g_K_s_Periphery_0DCapable microS; g_K_s_Periphery_0DCapable=0.0104; real g_K_s_Periphery_1DCapable microS; g_K_s_Periphery_1DCapable=0.0104; real g_K_s microS; real E_K_s millivolt; real xs(time) dimensionless; when(time=time.min) xs=0.082293827208; real alpha_xs(time) per_second; real beta_xs(time) per_second; real g_f_Na_Centre_Published microS; g_f_Na_Centre_Published=0.000548; real g_f_Na_Centre_0DCapable microS; g_f_Na_Centre_0DCapable=0.0005465; real g_f_Na_Centre_1DCapable microS; g_f_Na_Centre_1DCapable=0.000437; real g_f_Na_Periphery_Published microS; g_f_Na_Periphery_Published=0.0069; real g_f_Na_Periphery_0DCapable microS; g_f_Na_Periphery_0DCapable=0.006875; real g_f_Na_Periphery_1DCapable microS; g_f_Na_Periphery_1DCapable=0.0055; real g_f_Na microS; real g_f_K_Centre_Published microS; g_f_K_Centre_Published=0.000548; real g_f_K_Centre_0DCapable microS; g_f_K_Centre_0DCapable=0.0005465; real g_f_K_Centre_1DCapable microS; g_f_K_Centre_1DCapable=0.000437; real g_f_K_Periphery_Published microS; g_f_K_Periphery_Published=0.0069; real g_f_K_Periphery_0DCapable microS; g_f_K_Periphery_0DCapable=0.006875; real g_f_K_Periphery_1DCapable microS; g_f_K_Periphery_1DCapable=0.0055; real g_f_K microS; real y(time) dimensionless; when(time=time.min) y=0.03889291759; real alpha_y(time) per_second; real beta_y(time) per_second; real g_b_Na_Centre_Published microS; g_b_Na_Centre_Published=5.8e-5; real g_b_Na_Centre_0DCapable microS; g_b_Na_Centre_0DCapable=5.81818e-5; real g_b_Na_Centre_1DCapable microS; g_b_Na_Centre_1DCapable=5.8e-5; real g_b_Na_Periphery_Published microS; g_b_Na_Periphery_Published=0.000189; real g_b_Na_Periphery_0DCapable microS; g_b_Na_Periphery_0DCapable=0.0001888; real g_b_Na_Periphery_1DCapable microS; g_b_Na_Periphery_1DCapable=0.000189; real g_b_Na microS; real g_b_K_Centre_Published microS; g_b_K_Centre_Published=2.52e-5; real g_b_K_Centre_0DCapable microS; g_b_K_Centre_0DCapable=2.523636e-5; real g_b_K_Centre_1DCapable microS; g_b_K_Centre_1DCapable=2.52e-5; real g_b_K_Periphery_Published microS; g_b_K_Periphery_Published=8.19e-5; real g_b_K_Periphery_0DCapable microS; g_b_K_Periphery_0DCapable=8.1892e-5; real g_b_K_Periphery_1DCapable microS; g_b_K_Periphery_1DCapable=8.19e-5; real g_b_K microS; real g_b_Ca_Centre_Published microS; g_b_Ca_Centre_Published=1.32e-5; real g_b_Ca_Centre_0DCapable microS; g_b_Ca_Centre_0DCapable=1.3236e-5; real g_b_Ca_Centre_1DCapable microS; g_b_Ca_Centre_1DCapable=1.323e-5; real g_b_Ca_Periphery_Published microS; g_b_Ca_Periphery_Published=4.3e-5; real g_b_Ca_Periphery_0DCapable microS; g_b_Ca_Periphery_0DCapable=4.2952e-5; real g_b_Ca_Periphery_1DCapable microS; g_b_Ca_Periphery_1DCapable=4.29e-5; real g_b_Ca microS; real E_Ca millivolt; real k_NaCa_Centre_Published nanoA; k_NaCa_Centre_Published=2.7e-6; real k_NaCa_Centre_0DCapable nanoA; k_NaCa_Centre_0DCapable=2.7229e-6; real k_NaCa_Centre_1DCapable nanoA; k_NaCa_Centre_1DCapable=2.8e-6; real k_NaCa_Periphery_Published nanoA; k_NaCa_Periphery_Published=8.8e-6; real k_NaCa_Periphery_0DCapable nanoA; k_NaCa_Periphery_0DCapable=8.83584e-6; real k_NaCa_Periphery_1DCapable nanoA; k_NaCa_Periphery_1DCapable=8.8e-6; real k_NaCa nanoA; real d_NaCa dimensionless; d_NaCa=0.0001; real gamma_NaCa dimensionless; gamma_NaCa=0.5; real Na_i millimolar; Na_i=8; real Ca_i millimolar; Ca_i=0.0001; real Ca_o millimolar; Ca_o=2; real K_m_Na millimolar; K_m_Na=5.64; real K_m_K millimolar; K_m_K=0.621; real i_p_max_Centre_Published nanoA; i_p_max_Centre_Published=0.0478; real i_p_max_Centre_0DCapable nanoA; i_p_max_Centre_0DCapable=0.04782545; real i_p_max_Centre_1DCapable nanoA; i_p_max_Centre_1DCapable=0.0478; real i_p_max_Periphery_Published nanoA; i_p_max_Periphery_Published=0.16; real i_p_max_Periphery_0DCapable nanoA; i_p_max_Periphery_0DCapable=0.1551936; real i_p_max_Periphery_1DCapable nanoA; i_p_max_Periphery_1DCapable=0.16; real i_p_max nanoA; real K_o millimolar; K_o=5.4; real i_Ca_p_max_Centre_Published nanoA; i_Ca_p_max_Centre_Published=0; real i_Ca_p_max_Centre_0DCapable nanoA; i_Ca_p_max_Centre_0DCapable=0; real i_Ca_p_max_Centre_1DCapable nanoA; i_Ca_p_max_Centre_1DCapable=0.0042; real i_Ca_p_max_Periphery_Published nanoA; i_Ca_p_max_Periphery_Published=0; real i_Ca_p_max_Periphery_0DCapable nanoA; i_Ca_p_max_Periphery_0DCapable=0; real i_Ca_p_max_Periphery_1DCapable nanoA; i_Ca_p_max_Periphery_1DCapable=0.03339; real i_Ca_p_max nanoA; real K_i millimolar; K_i=140; // // FCell=(if (Version=0) 1.07*(3*dCell-.1)/(3*(1+.7745*exp((-1)*(3*dCell-2.05)/.295))) else if (Version=1) FCellConstant*dCell/(1+.7745*exp((-1)*(3*dCell-2.05)/.295)) else 1.07*29*dCell/(30*(1+.7745*exp((-1)*(29*dCell-24.5)/1.95)))); Cm=(CmCentre+FCell*(CmPeriphery-CmCentre)); V:time=((-1)*1/Cm*(i_Na+i_Ca_L+i_Ca_T+i_to+i_sus+i_K_r+i_K_s+i_f_Na+i_f_K+i_b_Na+i_b_Ca+i_b_K+i_NaCa+i_p+i_Ca_p)); // g_Na=(if (Version=0) g_Na_Centre_Published+FCell*(g_Na_Periphery_Published-g_Na_Centre_Published) else if (Version=1) g_Na_Centre_0DCapable+FCell*(g_Na_Periphery_0DCapable-g_Na_Centre_0DCapable) else g_Na_Centre_1DCapable+FCell*(g_Na_Periphery_1DCapable-g_Na_Centre_1DCapable)); i_Na=(g_Na*m^3*h*Na_o*F^2/(R*T)*(exp((V-E_Na)*F/(R*T))-1)/(exp(V*F/(R*T))-1)*V); // m:time=((m_infinity-m)/tau_m); m_infinity=(if (Version=0) (1/(1+exp((-1)*V/(5.46 millivolt))))^(1/3) else (1/(1+exp((-1)*(V+(30.32 millivolt))/(5.46 millivolt))))^(1/3)); tau_m=(if (Version=0) (6.247E-4 second)/(.832*exp((-1)*(.335 per_millivolt)*(V+(56.7 millivolt)))+.627*exp((.082 per_millivolt)*(V+(65.01 millivolt))))+(3.9999999999999996E-5 second) else (6.247E-4 second)/(.8322166*exp((-1)*(.33566 per_millivolt)*(V+(56.7062 millivolt)))+.6274*exp((.0823 per_millivolt)*(V+(65.0131 millivolt))))+(4.569E-5 second)); // F_Na=(if (Version=0) .0952*exp((-1)*(.063 per_millivolt)*(V+(34.4 millivolt)))/(1+1.66*exp((-1)*(.225 per_millivolt)*(V+(63.7 millivolt))))+.0869 else .09518*exp((-1)*(.06306 per_millivolt)*(V+(34.4 millivolt)))/(1+1.662*exp((-1)*(.2251 per_millivolt)*(V+(63.7 millivolt))))+.08693); h=((1-F_Na)*h1+F_Na*h2); h1:time=((h1_infinity-h1)/tau_h1); h2:time=((h2_infinity-h2)/tau_h2); h1_infinity=(1/(1+exp((V+(66.1 millivolt))/(6.4 millivolt)))); h2_infinity=h1_infinity; tau_h1=((3.7169999999999997E-6 second)*exp((-1)*(.2815 per_millivolt)*(V+(17.11 millivolt)))/(1+.003732*exp((-1)*(.3426 per_millivolt)*(V+(37.76 millivolt))))+(5.977E-4 second)); tau_h2=((3.186E-8 second)*exp((-1)*(.6219 per_millivolt)*(V+(18.8 millivolt)))/(1+7.188999999999999E-5*exp((-1)*(.6683 per_millivolt)*(V+(34.07 millivolt))))+(.003556 second)); // g_Ca_L=(if (Version=0) g_Ca_L_Centre_Published+FCell*(g_Ca_L_Periphery_Published-g_Ca_L_Centre_Published) else if (Version=1) g_Ca_L_Centre_0DCapable+FCell*(g_Ca_L_Periphery_0DCapable-g_Ca_L_Centre_0DCapable) else g_Ca_L_Centre_1DCapable+FCell*(g_Ca_L_Periphery_1DCapable-g_Ca_L_Centre_1DCapable)); i_Ca_L=(g_Ca_L*(f_L*d_L+.006/(1+exp((-1)*(V+(14.1 millivolt))/(6 millivolt))))*(V-E_Ca_L)); // d_L:time=((d_L_infinity-d_L)/tau_d_L); alpha_d_L=(if (Version=0) (-1)*(28.38 per_millivolt_second)*(V+(35 millivolt))/(exp((-1)*(V+(35 millivolt))/(2.5 millivolt))-1)-(84.9 per_millivolt_second)*V/(exp((-1)*(.208 per_millivolt)*V)-1) else if (Version=1) (-1)*(28.39 per_millivolt_second)*(V+(35 millivolt))/(exp((-1)*(V+(35 millivolt))/(2.5 millivolt))-1)-(84.9 per_millivolt_second)*V/(exp((-1)*(.208 per_millivolt)*V)-1) else (-1)*(28.4 per_millivolt_second)*(V+(35 millivolt))/(exp((-1)*(V+(35 millivolt))/(2.5 millivolt))-1)-(84.9 per_millivolt_second)*V/(exp((-1)*(.208 per_millivolt)*V)-1)); beta_d_L=(if (Version=1) (11.43 per_millivolt_second)*(V-(5 millivolt))/(exp((.4 per_millivolt)*(V-(5 millivolt)))-1) else (11.42 per_millivolt_second)*(V-(5 millivolt))/(exp((.4 per_millivolt)*(V-(5 millivolt)))-1)); tau_d_L=(2/(alpha_d_L+beta_d_L)); d_L_infinity=(if (Version=0) 1/(1+exp((-1)*(V+(23.1 millivolt))/(6 millivolt))) else if (Version=1) 1/(1+exp((-1)*(V+(22.3 millivolt)+(.8 millivolt)*FCell)/(6 millivolt))) else 1/(1+exp((-1)*(V+(22.2 millivolt))/(6 millivolt)))); // f_L:time=((f_L_infinity-f_L)/tau_f_L); alpha_f_L=(if (Version=1) (3.75 per_millivolt_second)*(V+(28 millivolt))/(exp((V+(28 millivolt))/(4 millivolt))-1) else (3.12 per_millivolt_second)*(V+(28 millivolt))/(exp((V+(28 millivolt))/(4 millivolt))-1)); beta_f_L=(if (Version=1) (30 per_second)/(1+exp((-1)*(V+(28 millivolt))/(4 millivolt))) else (25 per_second)/(1+exp((-1)*(V+(28 millivolt))/(4 millivolt)))); tau_f_L=(if (Version=1) (1.2-.2*FCell)/(alpha_f_L+beta_f_L) else 1/(alpha_f_L+beta_f_L)); f_L_infinity=(1/(1+exp((V+(45 millivolt))/(5 millivolt)))); // g_Ca_T=(if (Version=0) g_Ca_T_Centre_Published+FCell*(g_Ca_T_Periphery_Published-g_Ca_T_Centre_Published) else if (Version=1) g_Ca_T_Centre_0DCapable+FCell*(g_Ca_T_Periphery_0DCapable-g_Ca_T_Centre_0DCapable) else g_Ca_T_Centre_1DCapable+FCell*(g_Ca_T_Periphery_1DCapable-g_Ca_T_Centre_1DCapable)); i_Ca_T=(g_Ca_T*d_T*f_T*(V-E_Ca_T)); // d_T:time=((d_T_infinity-d_T)/tau_d_T); alpha_d_T=((1068 per_second)*exp((V+(26.3 millivolt))/(30 millivolt))); beta_d_T=((1068 per_second)*exp((-1)*(V+(26.3 millivolt))/(30 millivolt))); tau_d_T=(1/(alpha_d_T+beta_d_T)); d_T_infinity=(1/(1+exp((-1)*(V+(37 millivolt))/(6.8 millivolt)))); // f_T:time=((f_T_infinity-f_T)/tau_f_T); alpha_f_T=(if (Version=1) (15.3 per_second)*exp((-1)*(V+(71 millivolt)+(.7 millivolt)*FCell)/(83.3 millivolt)) else (15.3 per_second)*exp((-1)*(V+(71.7 millivolt))/(83.3 millivolt))); beta_f_T=(if (Version=1) (15 per_second)*exp((V+(71 millivolt))/(15.38 millivolt)) else (15 per_second)*exp((V+(71.7 millivolt))/(15.38 millivolt))); tau_f_T=(1/(alpha_f_T+beta_f_T)); f_T_infinity=(1/(1+exp((V+(71 millivolt))/(9 millivolt)))); // g_to=(if (Version=0) g_to_Centre_Published+FCell*(g_to_Periphery_Published-g_to_Centre_Published) else if (Version=1) g_to_Centre_0DCapable+FCell*(g_to_Periphery_0DCapable-g_to_Centre_0DCapable) else g_to_Centre_1DCapable+FCell*(g_to_Periphery_1DCapable-g_to_Centre_1DCapable)); g_sus=(if (Version=0) g_sus_Centre_Published+FCell*(g_sus_Periphery_Published-g_sus_Centre_Published) else if (Version=1) g_sus_Centre_0DCapable+FCell*(g_sus_Periphery_0DCapable-g_sus_Centre_0DCapable) else g_sus_Centre_1DCapable+FCell*(g_sus_Periphery_1DCapable-g_sus_Centre_1DCapable)); i_to=(g_to*q*r*(V-E_K)); i_sus=(g_sus*r*(V-E_K)); // q:time=((q_infinity-q)/tau_q); q_infinity=(1/(1+exp((V+(59.37 millivolt))/(13.1 millivolt)))); tau_q=(if (Version=0) (.0101 second)+(.06517 second)/(.57*exp((-1)*(.08 per_millivolt)*(V+(49 millivolt))))+(2.3999999999999997E-5 second)*exp((.1 per_millivolt)*(V+(50.93 millivolt))) else if (Version=1) .001/3*((30.31 second)+(195.5 second)/(.5686*exp((-1)*(.08161 per_millivolt)*(V+(39 millivolt)+(10 millivolt)*FCell))+.7174*exp((.2719-.1719*FCell)*(1 per_millivolt)*(V+(40.93 millivolt)+(10 millivolt)*FCell)))) else (.0101 second)+(.06517 second)/(.5686*exp((-1)*(.08161 per_millivolt)*(V+(39 millivolt)))+.7174*exp((.2719 per_millivolt)*(V+(40.93 millivolt))))); // r:time=((r_infinity-r)/tau_r); r_infinity=(1/(1+exp((-1)*(V-(10.93 millivolt))/(19.7 millivolt)))); tau_r=(if (Version=0) .001*((2.98 second)+(15.59 second)/(1.037*exp((.09 per_millivolt)*(V+(30.61 millivolt)))+.369*exp((-1)*(.12 per_millivolt)*(V+(23.84 millivolt))))) else if (Version=1) .0025*((1.191 second)+(7.838 second)/(1.037*exp((.09012 per_millivolt)*(V+(30.61 millivolt)))+.369*exp((-1)*(.119 per_millivolt)*(V+(23.84 millivolt))))) else .001*((2.98 second)+(19.59 second)/(1.037*exp((.09012 per_millivolt)*(V+(30.61 millivolt)))+.369*exp((-1)*(.119 per_millivolt)*(V+(23.84 millivolt)))))); // g_K_r=(if (Version=0) g_K_r_Centre_Published+FCell*(g_K_r_Periphery_Published-g_K_r_Centre_Published) else if (Version=1) g_K_r_Centre_0DCapable+FCell*(g_K_r_Periphery_0DCapable-g_K_r_Centre_0DCapable) else g_K_r_Centre_1DCapable+FCell*(g_K_r_Periphery_1DCapable-g_K_r_Centre_1DCapable)); i_K_r=(g_K_r*P_a*P_i*(V-E_K)); P_a=(.6*P_af+.4*P_as); // P_af:time=((P_af_infinity-P_af)/tau_P_af); P_af_infinity=(if (Version<>2) 1/(1+exp((-1)*(V+(14.2 millivolt))/(10.6 millivolt))) else 1/(1+exp((-1)*(V+(13.2 millivolt))/(10.6 millivolt)))); tau_P_af=(if (Version<>2) (1 second)/(37.2*exp((V-(9 millivolt))/(15.9 millivolt))+.96*exp((-1)*(V-(9 millivolt))/(22.5 millivolt))) else (1 second)/(37.2*exp((V-(10 millivolt))/(15.9 millivolt))+.96*exp((-1)*(V-(10 millivolt))/(22.5 millivolt)))); // P_as:time=((P_as_infinity-P_as)/tau_P_as); P_as_infinity=P_af_infinity; tau_P_as=(if (Version<>2) (1 second)/(4.2*exp((V-(9 millivolt))/(17 millivolt))+.15*exp((-1)*(V-(9 millivolt))/(21.6 millivolt))) else (1 second)/(4.2*exp((V-(10 millivolt))/(17 millivolt))+.15*exp((-1)*(V-(10 millivolt))/(21.6 millivolt)))); // tau_P_i=(if (Version=0) (.002 second) else if (Version=1) (.002 second) else (.006 second)); P_i:time=((P_i_infinity-P_i)/tau_P_i); P_i_infinity=(1/(1+exp((V+(18.6 millivolt))/(10.1 millivolt)))); // g_K_s=(if (Version=0) g_K_s_Centre_Published+FCell*(g_K_s_Periphery_Published-g_K_s_Centre_Published) else if (Version=1) g_K_s_Centre_0DCapable+FCell*(g_K_s_Periphery_0DCapable-g_K_s_Centre_0DCapable) else g_K_s_Centre_1DCapable+FCell*(g_K_s_Periphery_1DCapable-g_K_s_Centre_1DCapable)); i_K_s=(g_K_s*xs^2*(V-E_K_s)); // xs:time=(alpha_xs*(1-xs)-beta_xs*xs); alpha_xs=((14 per_second)/(1+exp((-1)*(V-(40 millivolt))/(9 millivolt)))); beta_xs=((1 per_second)*exp((-1)*V/(45 millivolt))); // g_f_Na=(if (Version=0) g_f_Na_Centre_Published+FCell*(g_f_Na_Periphery_Published-g_f_Na_Centre_Published) else if (Version=1) g_f_Na_Centre_0DCapable+FCell*(g_f_Na_Periphery_0DCapable-g_f_Na_Centre_0DCapable) else g_f_Na_Centre_1DCapable+FCell*(g_f_Na_Periphery_1DCapable-g_f_Na_Centre_1DCapable)); i_f_Na=(if (Version<>2) g_f_Na*y*(V-E_Na) else g_f_Na*y*(V-(77.6 millivolt))); g_f_K=(if (Version=0) g_f_K_Centre_Published+FCell*(g_f_K_Periphery_Published-g_f_K_Centre_Published) else if (Version=1) g_f_K_Centre_0DCapable+FCell*(g_f_K_Periphery_0DCapable-g_f_K_Centre_0DCapable) else g_f_K_Centre_1DCapable+FCell*(g_f_K_Periphery_1DCapable-g_f_K_Centre_1DCapable)); i_f_K=(if (Version<>2) g_f_K*y*(V-E_K) else g_f_K*y*(V+(102 millivolt))); // y:time=(alpha_y*(1-y)-beta_y*y); alpha_y=(if (Version=0) (1 per_second)*exp((-1)*(V+(78.91 millivolt))/(26.62 millivolt)) else (1 per_second)*exp((-1)*(V+(78.91 millivolt))/(26.63 millivolt))); beta_y=((1 per_second)*exp((V+(75.13 millivolt))/(21.25 millivolt))); // g_b_Na=(if (Version=0) g_b_Na_Centre_Published+FCell*(g_b_Na_Periphery_Published-g_b_Na_Centre_Published) else if (Version=1) g_b_Na_Centre_0DCapable+FCell*(g_b_Na_Periphery_0DCapable-g_b_Na_Centre_0DCapable) else g_b_Na_Centre_1DCapable+FCell*(g_b_Na_Periphery_1DCapable-g_b_Na_Centre_1DCapable)); i_b_Na=(g_b_Na*(V-E_Na)); // g_b_K=(if (Version=0) g_b_K_Centre_Published+FCell*(g_b_K_Periphery_Published-g_b_K_Centre_Published) else if (Version=1) g_b_K_Centre_0DCapable+FCell*(g_b_K_Periphery_0DCapable-g_b_K_Centre_0DCapable) else g_b_K_Centre_1DCapable+FCell*(g_b_K_Periphery_1DCapable-g_b_K_Centre_1DCapable)); i_b_K=(g_b_K*(V-E_K)); // g_b_Ca=(if (Version=0) g_b_Ca_Centre_Published+FCell*(g_b_Ca_Periphery_Published-g_b_Ca_Centre_Published) else if (Version=1) g_b_Ca_Centre_0DCapable+FCell*(g_b_Ca_Periphery_0DCapable-g_b_Ca_Centre_0DCapable) else g_b_Ca_Centre_1DCapable+FCell*(g_b_Ca_Periphery_1DCapable-g_b_Ca_Centre_1DCapable)); i_b_Ca=(g_b_Ca*(V-E_Ca)); // k_NaCa=(if (Version=0) k_NaCa_Centre_Published+FCell*(k_NaCa_Periphery_Published-k_NaCa_Centre_Published) else if (Version=1) k_NaCa_Centre_0DCapable+FCell*(k_NaCa_Periphery_0DCapable-k_NaCa_Centre_0DCapable) else k_NaCa_Centre_1DCapable+FCell*(k_NaCa_Periphery_1DCapable-k_NaCa_Centre_1DCapable)); i_NaCa=(if (Version=0) k_NaCa*(Na_i^3*Ca_o*exp((.03743 per_millivolt)*V*gamma_NaCa)-Na_o^3*Ca_i*exp((.0374 per_millivolt)*V*(gamma_NaCa-1)))/((1 millimolar4)+d_NaCa*(Ca_i*Na_o^3+Ca_o*Na_i^3)) else k_NaCa*(Na_i^3*Ca_o*exp((.03743 per_millivolt)*V*gamma_NaCa)-Na_o^3*Ca_i*exp((.03743 per_millivolt)*V*(gamma_NaCa-1)))/((1 millimolar4)+d_NaCa*(Ca_i*Na_o^3+Ca_o*Na_i^3))); // i_p_max=(if (Version=0) i_p_max_Centre_Published+FCell*(i_p_max_Periphery_Published-i_p_max_Centre_Published) else if (Version=1) i_p_max_Centre_0DCapable+FCell*(i_p_max_Periphery_0DCapable-i_p_max_Centre_0DCapable) else i_p_max_Centre_1DCapable+FCell*(i_p_max_Periphery_1DCapable-i_p_max_Centre_1DCapable)); i_p=(i_p_max*(Na_i/(K_m_Na+Na_i))^3*(K_o/(K_m_K+K_o))^2*1.6/(1.5+exp((-1)*(V+(60 millivolt))/(40 millivolt)))); // i_Ca_p_max=(if (Version=0) i_Ca_p_max_Centre_Published+FCell*(i_Ca_p_max_Periphery_Published-i_Ca_p_max_Centre_Published) else if (Version=1) i_Ca_p_max_Centre_0DCapable+FCell*(i_Ca_p_max_Periphery_0DCapable-i_Ca_p_max_Centre_0DCapable) else i_Ca_p_max_Centre_1DCapable+FCell*(i_Ca_p_max_Periphery_1DCapable-i_Ca_p_max_Centre_1DCapable)); i_Ca_p=(i_Ca_p_max*Ca_i/(Ca_i+(4E-4 millimolar))); // // 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_K_s=(if (Version=0) R*T/F*ln((K_o+.12*Na_o)/(K_i+.12*Na_i)) else R*T/F*ln((K_o+.03*Na_o)/(K_i+.03*Na_i))); }