/* * A computational model of the human left-ventricular epicardial * myocyte * * Model Status * * This CellML model runs in OpenCell and COR to reproduce the * published results. The units have been checked and they are * consistent. * * Model Structure * * ABSTRACT: A computational model of the human left-ventricular * epicardial myocyte is presented. Models of each of the major * ionic currents present in these cells are formulated and validated * using experimental data obtained from studies of recombinant * human ion channels and/or whole-cell recording from single myocytes * isolated from human left-ventricular subepicardium. Continuous-time * Markov chain models for the gating of the fast Na(+) current, * transient outward current, rapid component of the delayed rectifier * current, and the L-type calcium current are modified to represent * human data at physiological temperature. A new model for the * gating of the slow component of the delayed rectifier current * is formulated and validated against experimental data. Properties * of calcium handling and exchanger currents are altered to appropriately * represent the dynamics of intracellular ion concentrations. * The model is able to both reproduce and predict a wide range * of behaviors observed experimentally including action potential * morphology, ionic currents, intracellular calcium transients, * frequency dependence of action-potential duration, Ca(2+)-frequency * relations, and extrasystolic restitution/post-extrasystolic * potentiation. The model therefore serves as a useful tool for * investigating mechanisms of arrhythmia and consequences of drug-channel * interactions in the human left-ventricular myocyte. * * The original paper reference is cited below: * * A computational model of the human left-ventricular epicardial * myocyte, Vivek Iyer, Reza Mazhari and Raimond L. Winslow, 2004, * Biophysical Journal, 87, 1507-1525. PubMed ID: 15345532 * * cell diagram * * [[Image file: iyer_2004.png]] * * A schematic diagram describing the ion movement across the cell * surface membrane and the sarcoplasmic reticulum, which are described * by the Iyer et al. 2004 mathematical model of the human left-ventricular * epicardial myocyte. */ import nsrunit; unit conversion on; unit m2u=.001 dimensionless; unit ms=.001 second^1; unit per_ms=1E3 second^(-1); // unit micrometer predefined unit L=.001 meter^3; unit uL=1E-9 meter^3; unit N_per_mm2=1E6 kilogram^1*meter^(-1)*second^(-2); unit mm=.001 meter^1; unit cm=.01 meter^1; unit cm_per_s=.01 meter^1*second^(-1); unit mm3=1E-9 meter^3; unit mm2=1E-6 meter^2; unit cm2=1E-4 meter^2; unit mV=.001 kilogram^1*meter^2*second^(-3)*ampere^(-1); unit per_mV=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; unit mS=.001 kilogram^(-1)*meter^(-2)*second^3*ampere^2; unit uF=1E-6 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit mS_per_uF=1E3 second^(-1); unit pF=1E-12 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit mF=.001 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit mF_per_cm2=10 kilogram^(-1)*meter^(-4)*second^4*ampere^2; unit uF_per_mm2=1 kilogram^(-1)*meter^(-4)*second^4*ampere^2; unit F_M_per_coulomb=1E3 kilogram^(-1)*meter^(-5)*second^3*ampere^1*mole^1; unit uA=1E-6 ampere^1; // unit molar predefined unit mM=1 meter^(-3)*mole^1; unit uM=1E-3 meter^(-3)*mole^1; unit mM_per_ms=1E3 meter^(-3)*second^(-1)*mole^1; unit per_mM=1 meter^3*mole^(-1); unit mM3=1 meter^(-9)*mole^3; unit mM4=1 meter^(-12)*mole^4; unit per_uM3_per_ms=1E12 meter^9*second^(-1)*mole^(-3); unit per_uM4_per_ms=1E15 meter^12*second^(-1)*mole^(-4); unit litre_per_farad_second=.001 kilogram^1*meter^5*second^(-5)*ampere^(-2); unit joule_per_mole_kelvin=1 kilogram^1*meter^2*second^(-2)*kelvin^(-1)*mole^(-1); unit joule_per_kelvin=1 kilogram^1*meter^2*second^(-2)*kelvin^(-1); unit joule_ms=.001 kilogram^1*meter^2*second^(-1); unit joule_per_mole=1 kilogram^1*meter^2*second^(-2)*mole^(-1); unit coulomb_per_millimole=1E3 second^1*ampere^1*mole^(-1); unit per_mM_per_ms=1E3 meter^3*second^(-1)*mole^(-1); unit uA_per_uF=1 kilogram^1*meter^2*second^(-4)*ampere^(-1); math main { realDomain time ms; time.min=0; extern time.max; extern time.delta; real COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES.a1 F_M_per_coulomb; real COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES.a2 F_M_per_coulomb; real Faraday coulomb_per_millimole; Faraday=96.5; real Temp kelvin; Temp=310; real Rgas joule_per_mole_kelvin; Rgas=8.315; real RT_over_F mV; real Acap cm2; Acap=1.534e-4; real C mF; real Vmyo uL; Vmyo=25.84e-6; real VJSR uL; VJSR=0.16e-6; real VNSR uL; VNSR=2.1e-6; real VSS uL; VSS=1.2e-9; real Nai(time) mM; when(time=time.min) Nai=0.9798304162e1; real Ki(time) mM; when(time=time.min) Ki=0.1255589432e3; real Cai(time) mM; when(time=time.min) Cai=0.8601192016e-4; real CaSS(time) mM; when(time=time.min) CaSS=0.1420215245e-3; real CaJSR(time) mM; when(time=time.min) CaJSR=0.2852239446; real CaNSR(time) mM; when(time=time.min) CaNSR=0.2855294915; real V(time) mV; when(time=time.min) V=-0.9065755929e2; real INa(time) uA_per_uF; real INab(time) uA_per_uF; real INaCa(time) uA_per_uF; real INaK(time) uA_per_uF; real IKv14_Na(time) uA_per_uF; real IKr(time) uA_per_uF; real IKs(time) uA_per_uF; real IK1(time) uA_per_uF; real ICaK(time) uA_per_uF; real ICa(time) uA_per_uF; real Ito1(time) uA_per_uF; real i_Stim(time) uA_per_uF; real IKv43(time) uA_per_uF; real IKv14_K(time) uA_per_uF; real ICab(time) uA_per_uF; real IpCa(time) uA_per_uF; real Jxfer(time) mM_per_ms; real Jup(time) mM_per_ms; real Jtrpn(time) mM_per_ms; real Jrel(time) mM_per_ms; real Jtr(time) mM_per_ms; real beta_SS(time) dimensionless; real beta_JSR(time) dimensionless; real beta_i(time) dimensionless; real i_tot(time) uA_per_uF; real Ko mM; Ko=4; real Nao mM; Nao=138; real Cao mM; Cao=2; real stim_period ms; stim_period=1e3; real stim_duration ms; stim_duration=3; real stim_amplitude uA_per_uF; stim_amplitude=-15; real stim_offset ms; stim_offset=0; real past(time) ms; real fb(time) dimensionless; real Kfb mM; Kfb=0.000168; real Nfb dimensionless; Nfb=1.2; real rb(time) dimensionless; real Krb mM; Krb=3.29; real Nrb dimensionless; Nrb=1; real KSR mM; KSR=1.2; real vmaxf per_ms; vmaxf=0.0748e-3; real vmaxr per_ms; vmaxr=0.318e-3; real v1 per_ms; v1=1.8; real O1_RyR(time) dimensionless; when(time=time.min) O1_RyR=0.6601783287e-3; real O2_RyR(time) dimensionless; when(time=time.min) O2_RyR=0.397392006e-8; real tautr ms; tautr=0.5747; real tauxfer ms; tauxfer=26.7; real LTRPNtot mM; LTRPNtot=70e-3; real HTRPNtot mM; HTRPNtot=140e-3; real khtrpn_plus per_mM_per_ms; khtrpn_plus=20e0; real khtrpn_minus per_ms; khtrpn_minus=0.066e-3; real kltrpn_plus per_mM_per_ms; kltrpn_plus=40e0; real kltrpn_minus per_ms; kltrpn_minus=40e-3; real CMDNtot mM; CMDNtot=50e-3; real CSQNtot mM; CSQNtot=15e0; real EGTAtot mM; EGTAtot=0e0; real KmCMDN mM; KmCMDN=2.38e-3; real KmCSQN mM; KmCSQN=0.8e0; real KmEGTA mM; KmEGTA=1.5e-4; real dLTRPNCa(time) per_ms; real dHTRPNCa(time) per_ms; real LTRPNCa(time) dimensionless; when(time=time.min) LTRPNCa=0.8046584973e-1; real HTRPNCa(time) dimensionless; when(time=time.min) HTRPNCa=0.9772152481; real kaplus per_uM4_per_ms; kaplus=0.01215; real kaminus per_ms; kaminus=0.576; real kbplus per_uM3_per_ms; kbplus=0.00405; real kbminus per_ms; kbminus=1.93; real kcplus per_ms; kcplus=0.1; real kcminus per_ms; kcminus=0.0008; // Var below replaced by constant in model eqns to satisfy unit correction // real ncoop dimensionless; // ncoop=4; // Var below replaced by constant in model eqns to satisfy unit correction // real mcoop dimensionless; // mcoop=3; real dC1_RyR(time) per_ms; real dO2_RyR(time) per_ms; real dC2_RyR(time) per_ms; real dO1_RyR(time) per_ms; real C1_RyR(time) dimensionless; when(time=time.min) C1_RyR=0.4448038946; real C2_RyR(time) dimensionless; when(time=time.min) C2_RyR=0.554535924; real fL per_ms; fL=0.3; real gL per_ms; gL=4; real bL dimensionless; bL=2; real aL dimensionless; aL=2; real C0_to_C1(time) per_ms; real C1_to_C2(time) per_ms; real C2_to_C3(time) per_ms; real C3_to_C4(time) per_ms; real C1_to_C0(time) per_ms; real C2_to_C1(time) per_ms; real C3_to_C2(time) per_ms; real C4_to_C3(time) per_ms; real CCa0_to_CCa1(time) per_ms; real CCa1_to_CCa2(time) per_ms; real CCa2_to_CCa3(time) per_ms; real CCa3_to_CCa4(time) per_ms; real CCa1_to_CCa0(time) per_ms; real CCa2_to_CCa1(time) per_ms; real CCa3_to_CCa2(time) per_ms; real CCa4_to_CCa3(time) per_ms; real C0_to_CCa0(time) per_ms; real C1_to_CCa1(time) per_ms; real C2_to_CCa2(time) per_ms; real C3_to_CCa3(time) per_ms; real C4_to_CCa4(time) per_ms; real CCa0_to_C0 per_ms; real CCa1_to_C1 per_ms; real CCa2_to_C2 per_ms; real CCa3_to_C3 per_ms; real CCa4_to_C4 per_ms; real alpha(time) per_ms; real beta(time) per_ms; real alpha_prime(time) per_ms; real beta_prime(time) per_ms; real gamma(time) per_ms; real omega per_ms; real a1_Ca0(time) per_ms; real a2_Ca0(time) per_ms; real a1_Ca1(time) per_ms; real a2_Ca1(time) per_ms; real a1_Ca2(time) per_ms; real a2_Ca2(time) per_ms; real a1_Ca3(time) per_ms; real a2_Ca3(time) per_ms; real a1_Ca4(time) per_ms; real a2_Ca4(time) per_ms; real COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C0(time) per_ms; real COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C0(time) per_ms; real COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C1(time) per_ms; real COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C1(time) per_ms; real COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C2(time) per_ms; real COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C2(time) per_ms; real COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C3(time) per_ms; real COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C3(time) per_ms; real a1_C4(time) per_ms; real a2_C4(time) per_ms; real C0(time) dimensionless; when(time=time.min) C0=0.8621934054; real C1(time) dimensionless; when(time=time.min) C1=0.01141398211; real C2(time) dimensionless; when(time=time.min) C2=5.666325225e-5; real C3(time) dimensionless; when(time=time.min) C3=1.25021357e-7; real C4(time) dimensionless; when(time=time.min) C4=1.034426748e-10; real CCa0(time) dimensionless; when(time=time.min) CCa0=0.1198547081; real CCa1(time) dimensionless; when(time=time.min) CCa1=0.006346794302; real CCa2(time) dimensionless; when(time=time.min) CCa2=1.260326488e-4; real CCa3(time) dimensionless; when(time=time.min) CCa3=1.112315238e-6; real CCa4(time) dimensionless; when(time=time.min) CCa4=3.681315892e-9; real Open(time) dimensionless; when(time=time.min) Open=7.757981563e-12; real yCa(time) dimensionless; when(time=time.min) yCa=0.9997157074; real a1_Cainf dimensionless; real yCa_inf(time) dimensionless; real tau_yCa(time) ms; real alpha_act43(time) per_ms; real beta_act43(time) per_ms; real alpha_inact43(time) per_ms; real beta_inact43(time) per_ms; real C0Kv43_to_C1Kv43(time) per_ms; real C1Kv43_to_C2Kv43(time) per_ms; real C2Kv43_to_C3Kv43(time) per_ms; real C3Kv43_to_OKv43(time) per_ms; real CI0Kv43_to_CI1Kv43(time) per_ms; real CI1Kv43_to_CI2Kv43(time) per_ms; real CI2Kv43_to_CI3Kv43(time) per_ms; real CI3Kv43_to_OIKv43(time) per_ms; real C1Kv43_to_C0Kv43(time) per_ms; real C2Kv43_to_C1Kv43(time) per_ms; real C3Kv43_to_C2Kv43(time) per_ms; real OKv43_to_C3Kv43(time) per_ms; real CI1Kv43_to_CI0Kv43(time) per_ms; real CI2Kv43_to_CI1Kv43(time) per_ms; real CI3Kv43_to_CI2Kv43(time) per_ms; real OIKv43_to_CI3Kv43(time) per_ms; real C0Kv43_to_CI0Kv43(time) per_ms; real C1Kv43_to_CI1Kv43(time) per_ms; real C2Kv43_to_CI2Kv43(time) per_ms; real C3Kv43_to_CI3Kv43(time) per_ms; real OKv43_to_OIKv43(time) per_ms; real CI0Kv43_to_C0Kv43(time) per_ms; real CI1Kv43_to_C1Kv43(time) per_ms; real CI2Kv43_to_C2Kv43(time) per_ms; real CI3Kv43_to_C3Kv43(time) per_ms; real OIKv43_to_OKv43(time) per_ms; real C0Kv43(time) dimensionless; when(time=time.min) C0Kv43=0.9513721351; real C1Kv43(time) dimensionless; when(time=time.min) C1Kv43=0.02668288089; real C2Kv43(time) dimensionless; when(time=time.min) C2Kv43=2.806380358e-4; real C3Kv43(time) dimensionless; when(time=time.min) C3Kv43=1.311837579e-6; real OKv43(time) dimensionless; when(time=time.min) OKv43=2.29955624e-9; real CI0Kv43(time) dimensionless; when(time=time.min) CI0Kv43=0.01513025204; real CI1Kv43(time) dimensionless; when(time=time.min) CI1Kv43=0.005442964601; real CI2Kv43(time) dimensionless; when(time=time.min) CI2Kv43=9.918373359000001e-4; real CI3Kv43(time) dimensionless; when(time=time.min) CI3Kv43=9.514386057000001e-5; real OIKv43(time) dimensionless; when(time=time.min) OIKv43=2.742677382e-6; real a1_C043(time) per_ms; real a2_C043(time) per_ms; real a1_C143(time) per_ms; real a2_C143(time) per_ms; real a1_C243(time) per_ms; real a2_C243(time) per_ms; real a1_C343(time) per_ms; real a2_C343(time) per_ms; real a1_O43(time) per_ms; real a2_O43(time) per_ms; real a1_I043(time) per_ms; real a2_I043(time) per_ms; real a1_I143(time) per_ms; real a2_I143(time) per_ms; real a1_I243(time) per_ms; real a2_I243(time) per_ms; real a1_I343(time) per_ms; real a2_I343(time) per_ms; real a1_OI43(time) per_ms; real a2_OI43(time) per_ms; real alphaa0Kv43 per_ms; alphaa0Kv43=0.543708; real aaKv43 per_mV; aaKv43=0.028983; real betaa0Kv43 per_ms; betaa0Kv43=0.080185; real baKv43 per_mV; baKv43=0.0468437; real alphai0Kv43 per_ms; alphai0Kv43=0.0498424; real aiKv43 per_mV; aiKv43=0.000373016; real betai0Kv43 per_ms; betai0Kv43=0.000819482; real biKv43 per_mV; biKv43=0.00000005374; real f1Kv43 dimensionless; f1Kv43=1.8936; real f2Kv43 dimensionless; f2Kv43=14.224647456; real f3Kv43 dimensionless; f3Kv43=158.574378389; real f4Kv43 dimensionless; f4Kv43=142.936645351; real b1Kv43 dimensionless; b1Kv43=6.77348; real b2Kv43 dimensionless; b2Kv43=15.6212705152; real b3Kv43 dimensionless; b3Kv43=28.7532603313; real b4Kv43 dimensionless; b4Kv43=524.576206679; real f1Kv14 dimensionless; f1Kv14=0.52465073996; real f2Kv14 dimensionless; f2Kv14=17.51885408639; real f3Kv14 dimensionless; f3Kv14=938.58764534556; real f4Kv14 dimensionless; f4Kv14=54749.19473332601; real b1Kv14 dimensionless; b1Kv14=1.00947847105; real b2Kv14 dimensionless; b2Kv14=1.17100540567; real b3Kv14 dimensionless; b3Kv14=0.63902768758; real b4Kv14 dimensionless; b4Kv14=2.12035379095; real alphaa0Kv14 per_ms; alphaa0Kv14=1.84002414554; real aaKv14 per_mV; aaKv14=0.00768548031; real betaa0Kv14 per_ms; betaa0Kv14=0.0108174834; real baKv14 per_mV; baKv14=0.07793378174; real alphai0Kv14 per_ms; alphai0Kv14=0.00305767916; real betai0Kv14 per_ms; betai0Kv14=0.00000244936; real alpha_act14(time) per_ms; real beta_act14(time) per_ms; real alpha_inact14 per_ms; real beta_inact14 per_ms; real C0Kv14_to_C1Kv14(time) per_ms; real C1Kv14_to_C2Kv14(time) per_ms; real C2Kv14_to_C3Kv14(time) per_ms; real C3Kv14_to_OKv14(time) per_ms; real CI0Kv14_to_CI1Kv14(time) per_ms; real CI1Kv14_to_CI2Kv14(time) per_ms; real CI2Kv14_to_CI3Kv14(time) per_ms; real CI3Kv14_to_OIKv14(time) per_ms; real C1Kv14_to_C0Kv14(time) per_ms; real C2Kv14_to_C1Kv14(time) per_ms; real C3Kv14_to_C2Kv14(time) per_ms; real OKv14_to_C3Kv14(time) per_ms; real CI1Kv14_to_CI0Kv14(time) per_ms; real CI2Kv14_to_CI1Kv14(time) per_ms; real CI3Kv14_to_CI2Kv14(time) per_ms; real OIKv14_to_CI3Kv14(time) per_ms; real C0Kv14_to_CI0Kv14 per_ms; real C1Kv14_to_CI1Kv14 per_ms; real C2Kv14_to_CI2Kv14 per_ms; real C3Kv14_to_CI3Kv14 per_ms; real OKv14_to_OIKv14 per_ms; real CI0Kv14_to_C0Kv14 per_ms; real CI1Kv14_to_C1Kv14 per_ms; real CI2Kv14_to_C2Kv14 per_ms; real CI3Kv14_to_C3Kv14 per_ms; real OIKv14_to_OKv14 per_ms; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C0(time) per_ms; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C0(time) per_ms; real C0Kv14(time) dimensionless; when(time=time.min) C0Kv14=0.5977099765; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C1(time) per_ms; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C1(time) per_ms; real C1Kv14(time) dimensionless; when(time=time.min) C1Kv14=0.1730990528; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C2(time) per_ms; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C2(time) per_ms; real C2Kv14(time) dimensionless; when(time=time.min) C2Kv14=0.01881072386; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C3(time) per_ms; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C3(time) per_ms; real C3Kv14(time) dimensionless; when(time=time.min) C3Kv14=9.16070135e-4; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_O(time) per_ms; real COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_O(time) per_ms; real OKv14(time) dimensionless; when(time=time.min) OKv14=1.975541357e-5; real a1_CI0(time) per_ms; real a2_CI0(time) per_ms; real CI0Kv14(time) dimensionless; when(time=time.min) CI0Kv14=0.03539084346; real a1_CI1(time) per_ms; real a2_CI1(time) per_ms; real CI1Kv14(time) dimensionless; when(time=time.min) CI1Kv14=0.005428824353; real a1_CI2(time) per_ms; real a2_CI2(time) per_ms; real CI2Kv14(time) dimensionless; when(time=time.min) CI2Kv14=0.02287858869; real a1_CI3(time) per_ms; real a2_CI3(time) per_ms; real CI3Kv14(time) dimensionless; when(time=time.min) CI3Kv14=0.03233800003; real a1_OI(time) per_ms; real a2_OI(time) per_ms; real OIKv14(time) dimensionless; when(time=time.min) OIKv14=0.1134082058; real ENa(time) mV; real EK(time) mV; real EKs(time) mV; real ECa(time) mV; real COMPUTE_REVERSAL_POTENTIALS.a1 mM; real COMPUTE_REVERSAL_POTENTIALS.a2(time) mM; real GKr mS_per_uF; GKr=0.0186e0; real GKs mS_per_uF; GKs=0.0035e0; real GK1 mS_per_uF; GK1=0.1253051261188079722568586886469e0; real GNa mS_per_uF; GNa=56.32e0; real GNab mS_per_uF; GNab=0.001e0; real KvScale dimensionless; KvScale=0.872; real Kv43Frac dimensionless; Kv43Frac=0.889; real GKv43 mS_per_uF; real PKv14 litre_per_farad_second; real na6(time) dimensionless; when(time=time.min) na6=1.57442749e-8; real na7(time) dimensionless; when(time=time.min) na7=2.856607179e-9; real OHerg(time) dimensionless; when(time=time.min) OHerg=9.511789113e-6; real O1ks(time) dimensionless; when(time=time.min) O1ks=2.491710696e-7; real O2ks(time) dimensionless; when(time=time.min) O2ks=1.298547822e-5; real fKo dimensionless; real COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VF_over_RT(time) dimensionless; real COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VFsq_over_RT(time) coulomb_per_millimole; real COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a1_K(time) mM; real COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a2(time) dimensionless; real COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a1_Na(time) mM; real K1_inf(time) dimensionless; real IKv14(time) uA_per_uF; real kNaCa uA_per_uF; kNaCa=0.44; real KmNa mM; KmNa=87.5; real KmCa mM; KmCa=1.38; real ksat dimensionless; ksat=0.2; real eta dimensionless; eta=0.35; real INaKmax uA_per_uF; INaKmax=2.387; real KmNai mM; KmNai=20; real KmKo mM; KmKo=1.5; real IpCamax uA_per_uF; IpCamax=0.05; real KmpCa mM; KmpCa=0.0005; real GCab mS_per_uF; GCab=7.684e-5; real COMPUTE_INaK_INaCa_ICab_IpCa.VF_over_RT(time) dimensionless; real sigma dimensionless; real COMPUTE_INaK_INaCa_ICab_IpCa.a1_Na(time) dimensionless; real a2_Na(time) dimensionless; real fNaK(time) dimensionless; real COMPUTE_INaK_INaCa_ICab_IpCa.a1_K dimensionless; real COMPUTE_INaK_INaCa_ICab_IpCa.a2_K(time) dimensionless; real a1_ncx(time) mM4; real a2_ncx(time) mM4; real a3_ncx(time) dimensionless; real a4_ncx mM; real a5_ncx mM3; real PKprime(time) litre_per_farad_second; real COMPUTE_ICa_ICaK.VF_over_RT(time) dimensionless; real COMPUTE_ICa_ICaK.VFsq_over_RT(time) coulomb_per_millimole; real a1_Ca(time) mM; real a2_Ca(time) dimensionless; real COMPUTE_ICa_ICaK.a1_K(time) mM; real COMPUTE_ICa_ICaK.a2_K(time) dimensionless; real ICamax(time) uA_per_uF; real Icabar(time) uA_per_uF; real PCa litre_per_farad_second; real PK litre_per_farad_second; real ICahalf uA_per_uF; ICahalf=-0.265; real Pscale dimensionless; Pscale=7; real Temp_Scale dimensionless; real alpha1(time) per_ms; real beta1(time) per_ms; real gamma1(time) per_ms; real Delta1(time) per_ms; real On(time) per_ms; real Of(time) per_ms; real GammaGamma(time) per_ms; real DeltaDelta(time) per_ms; real epsilon per_ms; real omega_na per_ms; real rho(time) per_ms; real mu(time) per_ms; real Cn per_ms; real Cf per_ms; real parameter_a dimensionless; real k12(time) per_ms; real k23(time) per_ms; real k34(time) per_ms; real k45(time) per_ms; real k56(time) per_ms; real k67 per_ms; real k89(time) per_ms; real k910(time) per_ms; real k1011(time) per_ms; real k1112(time) per_ms; real k1213(time) per_ms; real k57(time) per_ms; real k21(time) per_ms; real k32(time) per_ms; real k43(time) per_ms; real k54(time) per_ms; real k65(time) per_ms; real k76 per_ms; real k98(time) per_ms; real k109(time) per_ms; real k1110(time) per_ms; real k1211(time) per_ms; real k1312(time) per_ms; real k75(time) per_ms; real k81 per_ms; real k92 per_ms; real k103 per_ms; real k114 per_ms; real k125 per_ms; real k136(time) per_ms; real k18 per_ms; real k29 per_ms; real k310 per_ms; real k411 per_ms; real k512 per_ms; real k613(time) per_ms; real na1(time) dimensionless; when(time=time.min) na1=0.1437575649; real na2(time) dimensionless; when(time=time.min) na2=0.0417776208; real na3(time) dimensionless; when(time=time.min) na3=0.004552898364; real na4(time) dimensionless; when(time=time.min) na4=2.20520743e-4; real na5(time) dimensionless; when(time=time.min) na5=4.005266484e-6; real na8(time) dimensionless; when(time=time.min) na8=0.4749950008; real na9(time) dimensionless; when(time=time.min) na9=0.2707214097; real na10(time) dimensionless; when(time=time.min) na10=0.05786120057; real na11(time) dimensionless; when(time=time.min) na11=0.005496292279; real na12(time) dimensionless; when(time=time.min) na12=1.957874519e-4; real na13(time) dimensionless; when(time=time.min) na13=4.17679396e-4; real TNa kelvin; TNa=294.16; real KToverH per_ms; real FoverRT per_mV; real RTNa joule_per_mole; real RTNaF mV; real T_Const_HERG dimensionless; T_Const_HERG=5.320000001; real A0_HERG per_ms; A0_HERG=0.017147641733086; real B0_HERG per_mV; B0_HERG=0.03304608038835; real A1_HERG per_ms; A1_HERG=0.03969328381141; real B1_HERG per_mV; B1_HERG=-0.0430605416398; real A2_HERG per_ms; A2_HERG=0.02057448605977; real B2_HERG per_mV; B2_HERG=0.02617412715118; real A3_HERG per_ms; A3_HERG=0.00134366604423; real B3_HERG per_mV; B3_HERG=-0.02691385498399; real A4_HERG per_ms; A4_HERG=0.10666316491288; real B4_HERG per_mV; B4_HERG=0.00568908859717; real A5_HERG per_ms; A5_HERG=0.00646393910049; real B5_HERG per_mV; B5_HERG=-0.04536642959543; real A6_HERG per_ms; A6_HERG=0.00008039374403; real B6_HERG per_mV; B6_HERG=0.00000069808924; real C2H_to_C3H per_ms; real C3H_to_C2H per_ms; real C1H_to_C2H(time) per_ms; real C2H_to_C1H(time) per_ms; real C3H_to_OH(time) per_ms; real OH_to_C3H(time) per_ms; real OH_to_IH(time) per_ms; real IH_to_OH(time) per_ms; real C3H_to_IH(time) per_ms; real IH_to_C3H(time) per_ms; real C1Herg(time) dimensionless; when(time=time.min) C1Herg=0.996697338; real IKr.a1_C2(time) per_ms; real IKr.a2_C2(time) per_ms; real C2Herg(time) dimensionless; when(time=time.min) C2Herg=4.340879648e-4; real IKr.a1_C3(time) per_ms; real IKr.a2_C3(time) per_ms; real C3Herg(time) dimensionless; when(time=time.min) C3Herg=7.634099755000001e-5; real IKr.a1_O(time) per_ms; real IKr.a2_O(time) per_ms; real a1_I(time) per_ms; real a2_I(time) per_ms; real IHerg(time) dimensionless; when(time=time.min) IHerg=1.533347007e-6; real C0ks_C1ks per_ms; real C1ks_O1ks per_ms; real O1ks_O2ks(time) per_ms; real O1ks_C1ks(time) per_ms; real O2ks_O1ks(time) per_ms; real C1ks_C0ks(time) per_ms; real C0ks(time) dimensionless; when(time=time.min) C0ks=0.9645606295; real C1ks(time) dimensionless; when(time=time.min) C1ks=0.03542613568; // // RT_over_F=(Rgas*Temp/Faraday); C=(Acap*(.001 mF_per_cm2)); COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES.a1=(C/(Vmyo*Faraday)); COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES.a2=(C/(2*VSS*Faraday)); Nai:time=((-1)*(INa+INab+3*(INaCa+INaK)+IKv14_Na)*COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES.a1); Ki:time=((-1)*(IKr+IKs+IK1+ICaK+i_Stim-2*INaK+IKv43+IKv14_K)*COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES.a1); Cai:time=(beta_i*(Jxfer-Jup-Jtrpn-(ICab-2*INaCa+IpCa)*.5*COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES.a1)); CaSS:time=(beta_SS*(Jrel*VJSR/VSS-Jxfer*Vmyo/VSS-ICa*COMPUTE_CONCENTRATION_AND_VOLTAGE_DERIVATIVES.a2)); CaJSR:time=(beta_JSR*(Jtr-Jrel)); CaNSR:time=(Jup*Vmyo/VNSR-Jtr*VJSR/VNSR); i_tot=(INa+ICa+ICaK+IKr+IKs+IK1+INaCa+INaK+Ito1+IpCa+ICab+INab+i_Stim); V:time=((-1)*i_tot); // past=(floor(time/stim_period)*stim_period); i_Stim=(if (((time-past)>=stim_offset) and ((time-past)<=(stim_offset+stim_duration))) stim_amplitude else (0 uA_per_uF)); // fb=((Cai/Kfb)^Nfb); rb=((CaNSR/Krb)^Nrb); Jup=(KSR*(vmaxf*fb-vmaxr*rb)/(1+fb+rb)); Jrel=(v1*(O1_RyR+O2_RyR)*(CaJSR-CaSS)); Jtr=((CaNSR-CaJSR)/tautr); Jxfer=((CaSS-Cai)/tauxfer); // dLTRPNCa=(kltrpn_plus*Cai*(1-LTRPNCa)-kltrpn_minus*LTRPNCa); dHTRPNCa=(khtrpn_plus*Cai*(1-HTRPNCa)-khtrpn_minus*HTRPNCa); LTRPNCa:time=dLTRPNCa; HTRPNCa:time=dHTRPNCa; Jtrpn=(LTRPNtot*dLTRPNCa+HTRPNtot*dHTRPNCa); beta_SS=(1/(1+CMDNtot*KmCMDN/(CaSS+KmCMDN)^2+EGTAtot*KmEGTA/(CaSS+KmEGTA)^2)); beta_JSR=(1/(1+CSQNtot*KmCSQN/(CaJSR+KmCSQN)^2)); beta_i=(1/(1+CMDNtot*KmCMDN/(Cai+KmCMDN)^2+EGTAtot*KmEGTA/(Cai+KmEGTA)^2)); // dC1_RyR=((-1)*kaplus*(CaSS*(1E3 m2u))^4*C1_RyR+kaminus*O1_RyR); dO2_RyR=(kbplus*(CaSS*(1E3 m2u))^3*O1_RyR-kbminus*O2_RyR); dC2_RyR=(kcplus*O1_RyR-kcminus*C2_RyR); dO1_RyR=((-1)*(dC1_RyR+dO2_RyR+dC2_RyR)); C1_RyR:time=dC1_RyR; O2_RyR:time=dO2_RyR; C2_RyR:time=dC2_RyR; O1_RyR:time=dO1_RyR; // alpha=((4 per_ms)*1.2*.416*exp((.012 per_mV)*(V-(35 mV)))); beta=((4 per_ms)*.45*.049*exp((-1)*(.065 per_mV)*(V-(22 mV)))); alpha_prime=(aL*alpha); beta_prime=(beta/bL); gamma=((.6 per_ms)*(.09233 per_mM)*CaSS); omega=((.25 per_ms)*.01); C0_to_C1=(4*alpha); C1_to_C2=(3*alpha); C2_to_C3=(2*alpha); C3_to_C4=alpha; CCa0_to_CCa1=(4*alpha_prime); CCa1_to_CCa2=(3*alpha_prime); CCa2_to_CCa3=(2*alpha_prime); CCa3_to_CCa4=alpha_prime; C1_to_C0=beta; C2_to_C1=(2*beta); C3_to_C2=(3*beta); C4_to_C3=(4*beta); CCa1_to_CCa0=beta_prime; CCa2_to_CCa1=(2*beta_prime); CCa3_to_CCa2=(3*beta_prime); CCa4_to_CCa3=(4*beta_prime); C0_to_CCa0=gamma; C1_to_CCa1=(aL*C0_to_CCa0); C2_to_CCa2=(aL*C1_to_CCa1); C3_to_CCa3=(aL*C2_to_CCa2); C4_to_CCa4=(aL*C3_to_CCa3); CCa0_to_C0=omega; CCa1_to_C1=(CCa0_to_C0/bL); CCa2_to_C2=(CCa1_to_C1/bL); CCa3_to_C3=(CCa2_to_C2/bL); CCa4_to_C4=(CCa3_to_C3/bL); COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C0=((C0_to_C1+C0_to_CCa0)*C0); COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C0=(C1_to_C0*C1+CCa0_to_C0*CCa0); C0:time=(COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C0-COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C0); COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C1=((C1_to_C0+C1_to_C2+C1_to_CCa1)*C1); COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C1=(C0_to_C1*C0+C2_to_C1*C2+CCa1_to_C1*CCa1); C1:time=(COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C1-COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C1); COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C2=((C2_to_C1+C2_to_C3+C2_to_CCa2)*C2); COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C2=(C1_to_C2*C1+C3_to_C2*C3+CCa2_to_C2*CCa2); C2:time=(COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C2-COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C2); COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C3=((C3_to_C2+C3_to_C4+C3_to_CCa3)*C3); COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C3=(C2_to_C3*C2+C4_to_C3*C4+CCa3_to_C3*CCa3); C3:time=(COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a2_C3-COMPUTE_DERIVATIVES_OF_LTYPE_CHANNEL_STATES.a1_C3); a1_C4=((C4_to_C3+fL+C4_to_CCa4)*C4); a2_C4=(C3_to_C4*C3+gL*Open+CCa4_to_C4*CCa4); C4:time=(a2_C4-a1_C4); Open:time=(fL*C4-gL*Open); a1_Ca0=((CCa0_to_CCa1+CCa0_to_C0)*CCa0); a2_Ca0=(CCa1_to_CCa0*CCa1+C0_to_CCa0*C0); CCa0:time=(a2_Ca0-a1_Ca0); a1_Ca1=((CCa1_to_CCa0+CCa1_to_CCa2+CCa1_to_C1)*CCa1); a2_Ca1=(CCa0_to_CCa1*CCa0+CCa2_to_CCa1*CCa2+C1_to_CCa1*C1); CCa1:time=(a2_Ca1-a1_Ca1); a1_Ca2=((CCa2_to_CCa1+CCa2_to_CCa3+CCa2_to_C2)*CCa2); a2_Ca2=(CCa1_to_CCa2*CCa1+CCa3_to_CCa2*CCa3+C2_to_CCa2*C2); CCa2:time=(a2_Ca2-a1_Ca2); a1_Ca3=((CCa3_to_CCa2+CCa3_to_CCa4+CCa3_to_C3)*CCa3); a2_Ca3=(CCa2_to_CCa3*CCa2+CCa4_to_CCa3*CCa4+C3_to_CCa3*C3); CCa3:time=(a2_Ca3-a1_Ca3); a1_Ca4=((CCa4_to_CCa3+CCa4_to_C4)*CCa4); a2_Ca4=(CCa3_to_CCa4*CCa3+C4_to_CCa4*C4); CCa4:time=(a2_Ca4-a1_Ca4); a1_Cainf=.82; yCa_inf=(a1_Cainf/(1+exp((V+(28.5 mV))/(7.8 mV)))+1-a1_Cainf); tau_yCa=((1 ms)/(.00336336209452/(.5+exp(V/((-1)*(5.53899874036055 mV))))+.00779046570737*exp(V/((-1)*(49.51039631160386 mV))))); yCa:time=((yCa_inf-yCa)/tau_yCa); // alpha_act43=(alphaa0Kv43*exp(aaKv43*V)); beta_act43=(betaa0Kv43*exp((-1)*baKv43*V)); alpha_inact43=(alphai0Kv43*exp((-1)*aiKv43*V)); beta_inact43=(betai0Kv43*exp(biKv43*V)); C0Kv43_to_C1Kv43=(4*alpha_act43); C1Kv43_to_C2Kv43=(3*alpha_act43); C2Kv43_to_C3Kv43=(2*alpha_act43); C3Kv43_to_OKv43=alpha_act43; CI0Kv43_to_CI1Kv43=(4*b1Kv43*alpha_act43); CI1Kv43_to_CI2Kv43=(3*b2Kv43*alpha_act43/b1Kv43); CI2Kv43_to_CI3Kv43=(2*b3Kv43*alpha_act43/b2Kv43); CI3Kv43_to_OIKv43=(b4Kv43*alpha_act43/b3Kv43); C1Kv43_to_C0Kv43=beta_act43; C2Kv43_to_C1Kv43=(2*beta_act43); C3Kv43_to_C2Kv43=(3*beta_act43); OKv43_to_C3Kv43=(4*beta_act43); CI1Kv43_to_CI0Kv43=(beta_act43/f1Kv43); CI2Kv43_to_CI1Kv43=(2*f1Kv43*beta_act43/f2Kv43); CI3Kv43_to_CI2Kv43=(3*f2Kv43*beta_act43/f3Kv43); OIKv43_to_CI3Kv43=(4*f3Kv43*beta_act43/f4Kv43); C0Kv43_to_CI0Kv43=beta_inact43; C1Kv43_to_CI1Kv43=(f1Kv43*beta_inact43); C2Kv43_to_CI2Kv43=(f2Kv43*beta_inact43); C3Kv43_to_CI3Kv43=(f3Kv43*beta_inact43); OKv43_to_OIKv43=(f4Kv43*beta_inact43); CI0Kv43_to_C0Kv43=alpha_inact43; CI1Kv43_to_C1Kv43=(alpha_inact43/b1Kv43); CI2Kv43_to_C2Kv43=(alpha_inact43/b2Kv43); CI3Kv43_to_C3Kv43=(alpha_inact43/b3Kv43); OIKv43_to_OKv43=(alpha_inact43/b4Kv43); a1_C043=((C0Kv43_to_C1Kv43+C0Kv43_to_CI0Kv43)*C0Kv43); a2_C043=(C1Kv43_to_C0Kv43*C1Kv43+CI0Kv43_to_C0Kv43*CI0Kv43); C0Kv43:time=(a2_C043-a1_C043); a1_C143=((C1Kv43_to_C2Kv43+C1Kv43_to_C0Kv43+C1Kv43_to_CI1Kv43)*C1Kv43); a2_C143=(C2Kv43_to_C1Kv43*C2Kv43+CI1Kv43_to_C1Kv43*CI1Kv43+C0Kv43_to_C1Kv43*C0Kv43); C1Kv43:time=(a2_C143-a1_C143); a1_C243=((C2Kv43_to_C3Kv43+C2Kv43_to_C1Kv43+C2Kv43_to_CI2Kv43)*C2Kv43); a2_C243=(C3Kv43_to_C2Kv43*C3Kv43+CI2Kv43_to_C2Kv43*CI2Kv43+C1Kv43_to_C2Kv43*C1Kv43); C2Kv43:time=(a2_C243-a1_C243); a1_C343=((C3Kv43_to_OKv43+C3Kv43_to_C2Kv43+C3Kv43_to_CI3Kv43)*C3Kv43); a2_C343=(OKv43_to_C3Kv43*OKv43+CI3Kv43_to_C3Kv43*CI3Kv43+C2Kv43_to_C3Kv43*C2Kv43); C3Kv43:time=(a2_C343-a1_C343); a1_O43=((OKv43_to_C3Kv43+OKv43_to_OIKv43)*OKv43); a2_O43=(C3Kv43_to_OKv43*C3Kv43+OIKv43_to_OKv43*OIKv43); OKv43:time=(a2_O43-a1_O43); a1_I043=((CI0Kv43_to_C0Kv43+CI0Kv43_to_CI1Kv43)*CI0Kv43); a2_I043=(C0Kv43_to_CI0Kv43*C0Kv43+CI1Kv43_to_CI0Kv43*CI1Kv43); CI0Kv43:time=(a2_I043-a1_I043); a1_I143=((CI1Kv43_to_CI2Kv43+CI1Kv43_to_C1Kv43+CI1Kv43_to_CI0Kv43)*CI1Kv43); a2_I143=(CI2Kv43_to_CI1Kv43*CI2Kv43+C1Kv43_to_CI1Kv43*C1Kv43+CI0Kv43_to_CI1Kv43*CI0Kv43); CI1Kv43:time=(a2_I143-a1_I143); a1_I243=((CI2Kv43_to_CI3Kv43+CI2Kv43_to_C2Kv43+CI2Kv43_to_CI1Kv43)*CI2Kv43); a2_I243=(CI3Kv43_to_CI2Kv43*CI3Kv43+C2Kv43_to_CI2Kv43*C2Kv43+CI1Kv43_to_CI2Kv43*CI1Kv43); CI2Kv43:time=(a2_I243-a1_I243); a1_I343=((CI3Kv43_to_OIKv43+CI3Kv43_to_C3Kv43+CI3Kv43_to_CI2Kv43)*CI3Kv43); a2_I343=(OIKv43_to_CI3Kv43*OIKv43+C3Kv43_to_CI3Kv43*C3Kv43+CI2Kv43_to_CI3Kv43*CI2Kv43); CI3Kv43:time=(a2_I343-a1_I343); a1_OI43=((OIKv43_to_OKv43+OIKv43_to_CI3Kv43)*OIKv43); a2_OI43=(OKv43_to_OIKv43*OKv43+CI3Kv43_to_OIKv43*CI3Kv43); OIKv43:time=(a2_OI43-a1_OI43); // alpha_act14=(alphaa0Kv14*exp(aaKv14*V)); beta_act14=(betaa0Kv14*exp((-1)*baKv14*V)); alpha_inact14=alphai0Kv14; beta_inact14=betai0Kv14; C0Kv14_to_C1Kv14=(4*alpha_act14); C1Kv14_to_C2Kv14=(3*alpha_act14); C2Kv14_to_C3Kv14=(2*alpha_act14); C3Kv14_to_OKv14=alpha_act14; CI0Kv14_to_CI1Kv14=(4*b1Kv14*alpha_act14); CI1Kv14_to_CI2Kv14=(3*b2Kv14*alpha_act14/b1Kv14); CI2Kv14_to_CI3Kv14=(2*b3Kv14*alpha_act14/b2Kv14); CI3Kv14_to_OIKv14=(b4Kv14*alpha_act14/b3Kv14); C1Kv14_to_C0Kv14=beta_act14; C2Kv14_to_C1Kv14=(2*beta_act14); C3Kv14_to_C2Kv14=(3*beta_act14); OKv14_to_C3Kv14=(4*beta_act14); CI1Kv14_to_CI0Kv14=(beta_act14/f1Kv14); CI2Kv14_to_CI1Kv14=(2*f1Kv14*beta_act14/f2Kv14); CI3Kv14_to_CI2Kv14=(3*f2Kv14*beta_act14/f3Kv14); OIKv14_to_CI3Kv14=(4*f3Kv14*beta_act14/f4Kv14); C0Kv14_to_CI0Kv14=beta_inact14; C1Kv14_to_CI1Kv14=(f1Kv14*beta_inact14); C2Kv14_to_CI2Kv14=(f2Kv14*beta_inact14); C3Kv14_to_CI3Kv14=(f3Kv14*beta_inact14); OKv14_to_OIKv14=(f4Kv14*beta_inact14); CI0Kv14_to_C0Kv14=alpha_inact14; CI1Kv14_to_C1Kv14=(alpha_inact14/b1Kv14); CI2Kv14_to_C2Kv14=(alpha_inact14/b2Kv14); CI3Kv14_to_C3Kv14=(alpha_inact14/b3Kv14); OIKv14_to_OKv14=(alpha_inact14/b4Kv14); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C0=((C0Kv14_to_C1Kv14+C0Kv14_to_CI0Kv14)*C0Kv14); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C0=(C1Kv14_to_C0Kv14*C1Kv14+CI0Kv14_to_C0Kv14*CI0Kv14); C0Kv14:time=(COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C0-COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C0); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C1=((C1Kv14_to_C2Kv14+C1Kv14_to_C0Kv14+C1Kv14_to_CI1Kv14)*C1Kv14); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C1=(C2Kv14_to_C1Kv14*C2Kv14+CI1Kv14_to_C1Kv14*CI1Kv14+C0Kv14_to_C1Kv14*C0Kv14); C1Kv14:time=(COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C1-COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C1); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C2=((C2Kv14_to_C3Kv14+C2Kv14_to_C1Kv14+C2Kv14_to_CI2Kv14)*C2Kv14); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C2=(C3Kv14_to_C2Kv14*C3Kv14+CI2Kv14_to_C2Kv14*CI2Kv14+C1Kv14_to_C2Kv14*C1Kv14); C2Kv14:time=(COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C2-COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C2); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C3=((C3Kv14_to_OKv14+C3Kv14_to_C2Kv14+C3Kv14_to_CI3Kv14)*C3Kv14); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C3=(OKv14_to_C3Kv14*OKv14+CI3Kv14_to_C3Kv14*CI3Kv14+C2Kv14_to_C3Kv14*C2Kv14); C3Kv14:time=(COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_C3-COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_C3); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_O=((OKv14_to_C3Kv14+OKv14_to_OIKv14)*OKv14); COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_O=(C3Kv14_to_OKv14*C3Kv14+OIKv14_to_OKv14*OIKv14); OKv14:time=(COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a2_O-COMPUTE_DERIVATIVES_OF_Kv1_4_CHANNEL_STATES.a1_O); a1_CI0=((CI0Kv14_to_C0Kv14+CI0Kv14_to_CI1Kv14)*CI0Kv14); a2_CI0=(C0Kv14_to_CI0Kv14*C0Kv14+CI1Kv14_to_CI0Kv14*CI1Kv14); CI0Kv14:time=(a2_CI0-a1_CI0); a1_CI1=((CI1Kv14_to_CI2Kv14+CI1Kv14_to_C1Kv14+CI1Kv14_to_CI0Kv14)*CI1Kv14); a2_CI1=(CI2Kv14_to_CI1Kv14*CI2Kv14+C1Kv14_to_CI1Kv14*C1Kv14+CI0Kv14_to_CI1Kv14*CI0Kv14); CI1Kv14:time=(a2_CI1-a1_CI1); a1_CI2=((CI2Kv14_to_CI3Kv14+CI2Kv14_to_C2Kv14+CI2Kv14_to_CI1Kv14)*CI2Kv14); a2_CI2=(CI3Kv14_to_CI2Kv14*CI3Kv14+C2Kv14_to_CI2Kv14*C2Kv14+CI1Kv14_to_CI2Kv14*CI1Kv14); CI2Kv14:time=(a2_CI2-a1_CI2); a1_CI3=((CI3Kv14_to_OIKv14+CI3Kv14_to_C3Kv14+CI3Kv14_to_CI2Kv14)*CI3Kv14); a2_CI3=(OIKv14_to_CI3Kv14*OIKv14+C3Kv14_to_CI3Kv14*C3Kv14+CI2Kv14_to_CI3Kv14*CI2Kv14); CI3Kv14:time=(a2_CI3-a1_CI3); a1_OI=((OIKv14_to_OKv14+OIKv14_to_CI3Kv14)*OIKv14); a2_OI=(OKv14_to_OIKv14*OKv14+CI3Kv14_to_OIKv14*CI3Kv14); OIKv14:time=(a2_OI-a1_OI); // ENa=(RT_over_F*ln(Nao/Nai)); EK=(RT_over_F*ln(Ko/Ki)); COMPUTE_REVERSAL_POTENTIALS.a1=(Ko+.01833*Nao); COMPUTE_REVERSAL_POTENTIALS.a2=(Ki+.01833*Nai); EKs=(RT_over_F*ln(COMPUTE_REVERSAL_POTENTIALS.a1/COMPUTE_REVERSAL_POTENTIALS.a2)); ECa=(.5*RT_over_F*ln(Cao/Cai)); // PKv14=((1-Kv43Frac)*KvScale*(4.2986E-7 litre_per_farad_second)); GKv43=(Kv43Frac*KvScale*(.1 mS_per_uF)); INa=(GNa*(na6+na7)*(V-ENa)); fKo=sqrt(Ko/(4 mM)); IKr=(GKr*fKo*OHerg*(V-EK)); IKs=(GKs*(O1ks+O2ks)*(V-EK)); IKv43=(GKv43*OKv43*(V-EK)); COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VF_over_RT=(V/RT_over_F); COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VFsq_over_RT=(1E3*Faraday*COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VF_over_RT); COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a1_K=(Ki*exp(COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VF_over_RT)-Ko); COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a2=(exp(COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VF_over_RT)-1); IKv14_K=(PKv14*OKv14*COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VFsq_over_RT*COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a1_K/COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a2); COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a1_Na=(Nai*exp(COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VF_over_RT)-Nao); IKv14_Na=(.02*PKv14*OKv14*COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.VFsq_over_RT*COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a1_Na/COMPUTE_INa_IKr_IKs_Ito1_IK1_INab_IKp.a2); IKv14=(IKv14_K+IKv14_Na); Ito1=(IKv43+IKv14); K1_inf=(1/(.94+exp(1.26/RT_over_F*(V-EK)))); IK1=(GK1*sqrt(Ko/(1 mM))*K1_inf*(V-EK)); INab=(GNab*(V-ENa)); // ICab=(GCab*(V-ECa)); IpCa=(IpCamax*Cai/(KmpCa+Cai)); COMPUTE_INaK_INaCa_ICab_IpCa.VF_over_RT=(V/RT_over_F); sigma=((exp(Nao/(67.3 mM))-1)/7); COMPUTE_INaK_INaCa_ICab_IpCa.a1_Na=(1+.1245*exp((-1)*.1*COMPUTE_INaK_INaCa_ICab_IpCa.VF_over_RT)); a2_Na=(.0365*sigma*exp((-1)*1.33*COMPUTE_INaK_INaCa_ICab_IpCa.VF_over_RT)); fNaK=(1/(COMPUTE_INaK_INaCa_ICab_IpCa.a1_Na+a2_Na)); COMPUTE_INaK_INaCa_ICab_IpCa.a1_K=(Ko/(Ko+KmKo)); COMPUTE_INaK_INaCa_ICab_IpCa.a2_K=(1+(KmNai/Nai)^1.5); INaK=(INaKmax*fNaK*COMPUTE_INaK_INaCa_ICab_IpCa.a1_K/COMPUTE_INaK_INaCa_ICab_IpCa.a2_K); a1_ncx=(exp(eta*COMPUTE_INaK_INaCa_ICab_IpCa.VF_over_RT)*Nai^3*Cao); a2_ncx=(exp((eta-1)*COMPUTE_INaK_INaCa_ICab_IpCa.VF_over_RT)*Nao^3*Cai); a3_ncx=(1+ksat*exp((eta-1)*COMPUTE_INaK_INaCa_ICab_IpCa.VF_over_RT)); a4_ncx=(KmCa+Cao); a5_ncx=((KmNa^3+Nao^3)/5E3); INaCa=(kNaCa*(a1_ncx-a2_ncx)/(a4_ncx*a3_ncx*a5_ncx)); // PK=(Pscale*(4.5739999999999995E-7 litre_per_farad_second)); PCa=(Pscale*(2.469E-4 litre_per_farad_second)); COMPUTE_ICa_ICaK.VF_over_RT=(V/RT_over_F); COMPUTE_ICa_ICaK.VFsq_over_RT=(1E3*Faraday*COMPUTE_ICa_ICaK.VF_over_RT); a1_Ca=((.001 mM)*exp(2*COMPUTE_ICa_ICaK.VF_over_RT)-Cao*.341); a2_Ca=(exp(2*COMPUTE_ICa_ICaK.VF_over_RT)-1); ICamax=(PCa*4*COMPUTE_ICa_ICaK.VFsq_over_RT*a1_Ca/a2_Ca); ICa=(ICamax*yCa*Open); Icabar=(if (ICamax>=(0 uA_per_uF)) (0 uA_per_uF) else ICamax); PKprime=(PK/(1+Icabar/ICahalf)); COMPUTE_ICa_ICaK.a1_K=(Ki*exp(COMPUTE_ICa_ICaK.VF_over_RT)-Ko); COMPUTE_ICa_ICaK.a2_K=(exp(COMPUTE_ICa_ICaK.VF_over_RT)-1); ICaK=(PKprime*Open*yCa*COMPUTE_ICa_ICaK.VFsq_over_RT*COMPUTE_ICa_ICaK.a1_K/COMPUTE_ICa_ICaK.a2_K); // FoverRT=(1/RT_over_F); KToverH=((1.381E-23 joule_per_kelvin)*TNa/(6.626000000000001E-31 joule_ms)); RTNa=(Rgas*TNa); RTNaF=(Rgas*TNa/Faraday); Temp_Scale=1.38862291252871; alpha1=(Temp_Scale*KToverH*exp((-1)*(114007.462700232 joule_per_mole)/RTNa+(224.114 joule_per_mole_kelvin)/Rgas+.286374268596235*V/RTNaF)); beta1=(Temp_Scale*KToverH*exp((-1)*(272470.273489681 joule_per_mole)/RTNa+(708.146 joule_per_mole_kelvin)/Rgas+(-1)*2.28528417586424*V/RTNaF)); gamma1=(Temp_Scale*KToverH*exp((-1)*(196336.575735923 joule_per_mole)/RTNa+(529.952 joule_per_mole_kelvin)/Rgas+2.78084918596045*V/RTNaF)); Delta1=(Temp_Scale*KToverH*exp((-1)*(133689.9304091 joule_per_mole)/RTNa+(229.205 joule_per_mole_kelvin)/Rgas+(-1)*1.55804214553883*V/RTNaF)); On=(Temp_Scale*KToverH*exp((-1)*(62123.0784380481 joule_per_mole)/RTNa+(39.295 joule_per_mole_kelvin)/Rgas+.288816042743232*V/RTNaF)); Of=(Temp_Scale*KToverH*exp((-1)*(97657.8497137015 joule_per_mole)/RTNa+(1.51 joule_per_mole_kelvin)/Rgas+.0684861993100685*V/RTNaF)); GammaGamma=(Temp_Scale*KToverH*exp((116431.142142348 joule_per_mole)/RTNa+(-1)*(578.317 joule_per_mole_kelvin)/Rgas+.764126011745707*V/RTNaF)); DeltaDelta=(Temp_Scale*KToverH*exp((-1)*(55700.6624658307 joule_per_mole)/RTNa+(-1)*(130.639 joule_per_mole_kelvin)/Rgas+(-1)*3.64981672927078*V/RTNaF)); epsilon=(Temp_Scale*KToverH*exp((-1)*(85800.3675578326 joule_per_mole)/RTNa+(70.078 joule_per_mole_kelvin)/Rgas)); omega_na=(Temp_Scale*KToverH*exp((-1)*(121955.166154864 joule_per_mole)/RTNa+(225.175 joule_per_mole_kelvin)/Rgas)); rho=(Temp_Scale*KToverH*exp((-1)*(147813.990005035 joule_per_mole)/RTNa+(338.915 joule_per_mole_kelvin)/Rgas+2.1360043702126*V/RTNaF)); mu=(Temp_Scale*KToverH*exp((-1)*(121322.143275242 joule_per_mole)/RTNa+(193.265 joule_per_mole_kelvin)/Rgas+(-1)*1.74290267020903*V/RTNaF)); Cn=(Temp_Scale*KToverH*exp((-1)*(287913.446530953 joule_per_mole)/RTNa+(786.217 joule_per_mole_kelvin)/Rgas)); Cf=(Temp_Scale*KToverH*exp((-1)*(59565.2236284584 joule_per_mole)/RTNa+(.00711 joule_per_mole_kelvin)/Rgas)); parameter_a=1.40042625477401; k12=(4*alpha1); k23=(3*alpha1); k34=(2*alpha1); k45=alpha1; k56=gamma1; k67=epsilon; k89=(k12*parameter_a); k910=(k23*parameter_a); k1011=(k34*parameter_a); k1112=(k45*parameter_a); k1213=GammaGamma; k57=rho; k21=beta1; k32=(2*beta1); k43=(3*beta1); k54=(4*beta1); k65=Delta1; k76=omega_na; k98=(k21/parameter_a); k109=(k32/parameter_a); k1110=(k43/parameter_a); k1211=(k54/parameter_a); k1312=DeltaDelta; k75=mu; k81=Cf; k92=(k81/parameter_a); k103=(k92/parameter_a); k114=(k103/parameter_a); k125=(k114/parameter_a); k136=Of; k18=Cn; k29=(k18*parameter_a); k310=(k29*parameter_a); k411=(k310*parameter_a); k512=(k411*parameter_a); k613=On; na1:time=((-1)*(k18+k12)*na1+k21*na2+k81*na8); na2:time=(k12*na1-(k21+k23+k29)*na2+k32*na3+k92*na9); na3:time=(k23*na2-(k32+k34+k310)*na3+k43*na4+k103*na10); na4:time=(k34*na3-(k43+k45+k411)*na4+k54*na5+k114*na11); na5:time=(k45*na4-(k54+k56+k57+k512)*na5+k65*na6+k75*na7+k125*na12); na6:time=(k56*na5-(k65+k67+k613)*na6+k76*na7+k136*na13); na7:time=(k57*na5+k67*na6-(k75+k76)*na7); na8:time=(k18*na1-(k81+k89)*na8+k98*na9); na9:time=(k29*na2+k89*na8-(k98+k92+k910)*na9+k109*na10); na10:time=(k310*na3+k910*na9-(k1011+k103+k109)*na10+k1110*na11); na11:time=(k411*na4+k1011*na10-(k1110+k114+k1112)*na11+k1211*na12); na12:time=(k512*na5+k1112*na11-(k1211+k125+k1213)*na12+k1312*na13); na13:time=(k613*na6+k1213*na12-(k1312+k136)*na13); // C2H_to_C3H=(T_Const_HERG*(.02608362043337 per_ms)); C3H_to_C2H=(T_Const_HERG*(.14832978132145 per_ms)); C1H_to_C2H=(T_Const_HERG*A0_HERG*exp(B0_HERG*V)); C2H_to_C1H=(T_Const_HERG*A1_HERG*exp(B1_HERG*V)); C3H_to_OH=(T_Const_HERG*A2_HERG*exp(B2_HERG*V)); OH_to_C3H=(T_Const_HERG*A3_HERG*exp(B3_HERG*V)); OH_to_IH=(T_Const_HERG*A4_HERG*exp(B4_HERG*V)); IH_to_OH=(T_Const_HERG*A5_HERG*exp(B5_HERG*V)); C3H_to_IH=(T_Const_HERG*A6_HERG*exp(B6_HERG*V)); IH_to_C3H=(OH_to_C3H*IH_to_OH*C3H_to_IH/(C3H_to_OH*OH_to_IH)); C1Herg:time=(C2H_to_C1H*C2Herg-C1H_to_C2H*C1Herg); IKr.a1_C2=(C1H_to_C2H*C1Herg+C3H_to_C2H*C3Herg); IKr.a2_C2=((C2H_to_C1H+C2H_to_C3H)*C2Herg); C2Herg:time=(IKr.a1_C2-IKr.a2_C2); IKr.a1_C3=(C2H_to_C3H*C2Herg+OH_to_C3H*OHerg+IH_to_C3H*IHerg); IKr.a2_C3=((C3H_to_IH+C3H_to_OH+C3H_to_C2H)*C3Herg); C3Herg:time=(IKr.a1_C3-IKr.a2_C3); IKr.a1_O=(C3H_to_OH*C3Herg+IH_to_OH*IHerg); IKr.a2_O=((OH_to_C3H+OH_to_IH)*OHerg); OHerg:time=(IKr.a1_O-IKr.a2_O); a1_I=(C3H_to_IH*C3Herg+OH_to_IH*OHerg); a2_I=((IH_to_C3H+IH_to_OH)*IHerg); IHerg:time=(a1_I-a2_I); // C0ks_C1ks=(.00795600798004 per_ms); C1ks_O1ks=(.03966720676071 per_ms); O1ks_O2ks=((.00767254363063 per_ms)*exp((.08662945914655 per_mV)*V)); O1ks_C1ks=((.00700806628929 per_ms)*exp((-1)*(.14999754700285 per_mV)*V)); O2ks_O1ks=((.00379737998368 per_ms)*exp((-1)*(.01425668126881 per_mV)*V)); C1ks_C0ks=((.2162557589585 per_ms)*exp((-1)*(1.889123021E-5 per_mV)*V)); C0ks:time=((-1)*C0ks_C1ks*C0ks+C1ks_C0ks*C1ks); C1ks:time=(C0ks_C1ks*C0ks-(C1ks_C0ks+C1ks_O1ks)*C1ks+O1ks_C1ks*O1ks); O1ks:time=(C1ks_O1ks*C1ks-(O1ks_C1ks+O1ks_O2ks)*O1ks+O2ks_O1ks*O2ks); O2ks:time=(O1ks_O2ks*O1ks-O2ks_O1ks*O2ks); // // // // }