/* * Modelling the Roles of Individual Current Systems in Ventricular * Cells and in the SA Node * * Model Status * * This model has been curated and unit checked by Alan Garny in * collaboration with the model authors and it is known to run * in COR to reproduce the published results. It also works in * JSim as long as the stimulus protocol is altered. * * Model Structure * * Different types of ion channel, with their distinct gating and * conductance properties, play a unique role in generating membrane * excitation. Although the behaviours of single ion channels have * been extensively studied experimentally, ionic current interactions * make it difficult to deduce their individual roles in membrane * excitability. In order to better understand the roles of the * individual ion currents, Satoshi Matsuoka et al. have developed * a mathematical model of membrane excitation for the ventricular * cell. * * The Matsuoka et al. mathematical model is a development of previously * published cardiac cellular models. The group's general approach * to modelling was based on the methods used in the Difrancesco-Noble, * 1985 Model and the Luo-Rudy Ventricular Model II (dynamic), * 1994. In addition, the compound Kyoto Model of Matsuoka et al. * incorporates the Negroni and Lascano (1996) model of cardiac * muscle contraction, allowing simulation of sarcomere shortening, * and also, the gating model of Shirokov et al. is used for both * the fast Na+ and L-type Ca2+ channels. * * New experimental data are included, such as new kinetics of * the inward rectifier K+ channel, the delayed rectifier K+ channel, * and the sustained inward current (for more details on the reaction * kinetics, see figure 3 below). Model simulations showed that * ion conductance by the L-type Ca2+ channel (ICaL) dominates * the membrane conductance during the action potential. Repolarisation * occurs as the following currents are sequentially activated: * IKs; IKr; and IK1. Agreement between model simulation results * and experimental data was taken as supporting evidence for the * validity of the model. * * The complete original paper reference is cited below: * * Role of Individual Ionic Current Systems in Ventricular Cells * Hypothesized by a Model Study, Matsuoka S, Sarai N, Kuratomi * S, Ono K, and Noma A, 2003, The Japanese Journal of Physiology, * 53, 105-123. PubMed ID: 12877767 * * ventricular cell diagram * * [[Image file: matsuoka_2003.png]] * * A schematic diagram describing the ionic components of the Matsuoka * et al. 2003 ventricular cell mathematical model. Ions are exchanged * between the intracellular and extracellular environments, and * between the cytosol and the sarcoplasmic reticulum (SR) via * channels and pumps. Unique to the ventricular cells are the * transient outward current, Ito, and the slow component of the * delayed rectifier K+ current, IKs. * * reaction kinetics diagram * * [[Image file: matsuoka_3_2003.png]] * * A schematic diagram describing the reaction kinetics of the * ion channel gates in the Matsuoka et al. 2003 mathematical models. * A) The kinetics of the sodium channel voltage-dependent gate. * B) The kinetics of the Na-Ca exchange pump. C) The kinetics * of the Na-K pump. D) The kinetics of the inward rectifier K+ * current. E) The kinetics of the Ca2+-dependent gate of the L-type * Ca2+ channel. F) The kinetics of the ultra-slow gates of several * ion channels. G) The kinetics of the SR Ca2+ pump. H) The kinetics * of the hyperpolarisation-activated cation current. I) The kinetics * of the RyR channel in the SR. */ import nsrunit; unit conversion on; // unit millivolt predefined unit per_millivolt=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; // unit millimole predefined // unit millimolar predefined unit millimolar2=1 meter^(-6)*mole^2; // unit micromolar predefined unit millimolar_per_millisecond=1E3 meter^(-3)*second^(-1)*mole^1; unit per_millimolar=1 meter^3*mole^(-1); unit per_micromolar2=1E6 meter^6*mole^(-2); unit second_per_micromolar2=1E6 meter^6*second^1*mole^(-2); unit millisecond_per_micrometre2=1E9 meter^(-2)*second^1; unit mN_per_mm2=1E3 kilogram^1*meter^(-1)*second^(-2); unit mN_per_mm2_micrometre=1E9 kilogram^1*meter^(-2)*second^(-2); unit mN_per_mm2_micrometre5=1E33 kilogram^1*meter^(-6)*second^(-2); unit mN_per_mm2_micrometre_millimolar=1E9 kilogram^1*meter^1*second^(-2)*mole^(-1); unit per_micrometre2=1E12 meter^(-2); // unit millisecond predefined unit micromolar_per_second=1E-3 meter^(-3)*second^(-1)*mole^1; unit per_millisecond=1E3 second^(-1); unit per_millimolar_millisecond=1E3 meter^3*second^(-1)*mole^(-1); unit picoF=1E-12 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit picoF_per_millisecond=1E-9 kilogram^(-1)*meter^(-2)*second^3*ampere^2; unit picoA=1E-12 ampere^1; unit per_picoA_millisecond=1E15 second^(-1)*ampere^(-1); // unit micrometre predefined unit micrometre_per_millisecond=.001 meter^1*second^(-1); unit micrometre3=1E-18 meter^3; unit nanoS=1E-9 kilogram^(-1)*meter^(-2)*second^3*ampere^2; unit nanoS_per_picoF=1E3 second^(-1); unit picoA_per_picoF=1 kilogram^1*meter^2*second^(-4)*ampere^(-1); unit nanoS_per_millimolar=1E-9 kilogram^(-1)*meter^1*second^3*ampere^2*mole^(-1); unit picoA_per_millimolar=1E-12 meter^3*ampere^1*mole^(-1); unit coulomb_millivolt_per_kelvin_millimole=1 kilogram^1*meter^2*second^(-2)*kelvin^(-1)*mole^(-1); unit coulomb_per_millimole=1E3 second^1*ampere^1*mole^(-1); unit millimolar_per_picoA=1E12 meter^(-3)*ampere^(-1)*mole^1; math main { realDomain time millisecond; time.min=0; extern time.max; extern time.delta; real Vm(time) millivolt; when(time=time.min) Vm=-85.95752434460744; real R coulomb_millivolt_per_kelvin_millimole; R=8.3143; real T kelvin; T=310; real F coulomb_per_millimole; F=96.4867; real Cm picoF; Cm=132; real i_ext(time) picoA; real i_tot(time) picoA; real i_I(time) picoA; real i_Na(time) picoA; real i_Ca_L(time) picoA; real i_Ca_T(time) picoA; real i_K1(time) picoA; real i_Kr(time) picoA; real i_Ks(time) picoA; real i_to(time) picoA; real i_NaK(time) picoA; real i_NaCa(time) picoA; real i_bNSC(time) picoA; real i_Cab(time) picoA; real i_Kpl(time) picoA; real i_lCa(time) picoA; real i_KATP(time) picoA; real stim_start millisecond; stim_start=50; real stim_end millisecond; stim_end=1000000; real stim_period millisecond; stim_period=400; real stim_duration millisecond; stim_duration=2; real stim_amplitude picoA; stim_amplitude=-4000; real Nao millimolar; Nao=140; real Cao millimolar; Cao=1.8; real Ko millimolar; Ko=5.4; real Nai(time) millimolar; when(time=time.min) Nai=4.925761439682025; real Cai(time) millimolar; real Ki(time) millimolar; when(time=time.min) Ki=143.1837333000449; real Vi micrometre3; Vi=8000; real i_net_Na(time) picoA; real i_net_K(time) picoA; real i_net_Ca(time) picoA; real i_Na_Na(time) picoA; real i_CaL_Na(time) picoA; real i_bNSC_Na(time) picoA; real i_lCa_Na(time) picoA; real i_to_K(time) picoA; real i_to_Na(time) picoA; real i_Ks_K(time) picoA; real i_Ks_Na(time) picoA; real i_Na_K(time) picoA; real i_CaL_K(time) picoA; real i_bNSC_K(time) picoA; real i_lCa_K(time) picoA; real i_CaL_Ca(time) picoA; real i_RyR(time) picoA; real i_SR_U(time) picoA; real i_SR_L(time) picoA; real dCaidt_NL(time) millimolar_per_millisecond; real CMDN_max millimolar; CMDN_max=0.05; real K_mCMDN millimolar; K_mCMDN=0.00238; real internal_ion_concentrations.Ca_Total(time) millimolar; when(time=time.min) internal_ion_concentrations.Ca_Total=4.0180173572968586e-4; real internal_ion_concentrations.b1(time) millimolar; real internal_ion_concentrations.c1(time) millimolar2; real CF_Na(time) millimolar; real CF_Ca(time) millimolar; real CF_K(time) millimolar; real ATPi(time) millimolar; when(time=time.min) ATPi=4.657102729020499; real dATPdt_NL(time) millimolar_per_millisecond; real ProducingRate_Max per_millisecond; ProducingRate_Max=0.003; real Adenosine_Total millimolar; Adenosine_Total=5; real P_Na picoA_per_millimolar; P_Na=2860; real p_AP_Na(time) dimensionless; when(time=time.min) p_AP_Na=1.779648367445368e-5; real sodium_current.y(time) dimensionless; when(time=time.min) sodium_current.y=0.5861887862983165; real p_RI_Na(time) dimensionless; real p_RP_Na(time) dimensionless; when(time=time.min) p_RP_Na=0.3556412697995689; real p_AI_Na(time) dimensionless; when(time=time.min) p_AI_Na=0.40285968661346977; real sodium_current_voltage_dependent_gate.k_RP_AP(time) per_millisecond; real sodium_current_voltage_dependent_gate.k_AP_RP(time) per_millisecond; real sodium_current_voltage_dependent_gate.k_RI_AI(time) per_millisecond; real sodium_current_voltage_dependent_gate.k_AI_RI(time) per_millisecond; real sodium_current_voltage_dependent_gate.k_AP_AI(time) per_millisecond; real sodium_current_voltage_dependent_gate.k_AI_AP per_millisecond; sodium_current_voltage_dependent_gate.k_AI_AP=0.0000875; real sodium_current_voltage_dependent_gate.k_RP_RI(time) per_millisecond; real sodium_current_voltage_dependent_gate.k_RI_RP(time) per_millisecond; real sodium_current_ultra_slow_gate.alpha_y(time) per_millisecond; real sodium_current_ultra_slow_gate.beta_y(time) per_millisecond; real p_open_CaL(time) dimensionless; real CaDiadic(time) picoA; real P_CaL picoA_per_millimolar; P_CaL=8712; real p_AP_CaL(time) dimensionless; when(time=time.min) p_AP_CaL=1.5445004166497696e-6; real p_U(time) dimensionless; when(time=time.min) p_U=0.17246483915629204; real p_UCa(time) dimensionless; when(time=time.min) p_UCa=6.098246017787626e-5; real L_type_Ca_channel.y(time) dimensionless; when(time=time.min) L_type_Ca_channel.y=0.9985266538252986; real p_RI_CaL(time) dimensionless; real p_RP_CaL(time) dimensionless; when(time=time.min) p_RP_CaL=0.9968480629364956; real p_AI_CaL(time) dimensionless; when(time=time.min) p_AI_CaL=8.77325391245903e-4; real L_type_Ca_channel_voltage_dependent_gate.k_RP_AP(time) per_millisecond; real L_type_Ca_channel_voltage_dependent_gate.k_AP_RP(time) per_millisecond; real L_type_Ca_channel_voltage_dependent_gate.k_RI_AI(time) per_millisecond; real L_type_Ca_channel_voltage_dependent_gate.k_AI_RI(time) per_millisecond; real L_type_Ca_channel_voltage_dependent_gate.k_AP_AI per_millisecond; L_type_Ca_channel_voltage_dependent_gate.k_AP_AI=0.004; real L_type_Ca_channel_voltage_dependent_gate.k_AI_AP per_millisecond; L_type_Ca_channel_voltage_dependent_gate.k_AI_AP=0.001; real L_type_Ca_channel_voltage_dependent_gate.k_RP_RI(time) per_millisecond; real L_type_Ca_channel_voltage_dependent_gate.k_RI_RP(time) per_millisecond; real iCaL(time) picoA; real Cacm(time) millimolar; real p_CCa(time) dimensionless; real p_C(time) dimensionless; when(time=time.min) p_C=0.4250747299372254; real k_CCa_UCa per_millisecond; k_CCa_UCa=0.0003; real k_UCa_CCa per_millisecond; k_UCa_CCa=0.35; real k_C_U per_millisecond; k_C_U=0.143; real k_U_C per_millisecond; k_U_C=0.35; real k_UCa_U per_millisecond; real k_U_UCa per_millimolar_millisecond; k_U_UCa=6.954; real k_CCa_C per_millisecond; k_CCa_C=0.0042; real k_C_CCa per_millimolar_millisecond; k_C_CCa=6.954; real CaEffC(time) millimolar; real CaEffU(time) millimolar; real k_UUCa_Ca(time) per_millisecond; real k_CCCa_Ca(time) per_millisecond; real L_type_Ca_channel_ultra_slow_gate.alpha_y(time) per_millisecond; real L_type_Ca_channel_ultra_slow_gate.beta_y(time) per_millisecond; real P_CaT picoA_per_millimolar; P_CaT=612; real T_type_Ca_channel.y1(time) dimensionless; when(time=time.min) T_type_Ca_channel.y1=1.6882718240109127e-5; real T_type_Ca_channel.y2(time) dimensionless; when(time=time.min) T_type_Ca_channel.y2=0.8585352091865849; real T_type_Ca_channel_y1_gate.alpha_y1(time) per_millisecond; real T_type_Ca_channel_y1_gate.beta_y1(time) per_millisecond; real T_type_Ca_channel_y2_gate.alpha_y2(time) per_millisecond; real T_type_Ca_channel_y2_gate.beta_y2(time) per_millisecond; real E_K(time) millivolt; real g_K1 nanoS; real P_K1_0 nanoS_per_picoF; P_K1_0=1.146; real fO(time) dimensionless; real fO2(time) dimensionless; real fO3(time) dimensionless; real fO4(time) dimensionless; real fB(time) dimensionless; real mu(time) per_millisecond; real lambda(time) per_millisecond; real time_independent_potassium_current.y(time) dimensionless; when(time=time.min) time_independent_potassium_current.y=0.6080573900752752; real time_independent_potassium_current_y_gate.alpha_y(time) per_millisecond; real time_independent_potassium_current_y_gate.beta_y(time) per_millisecond; real g_Kr nanoS; real P_Kr nanoS_per_picoF; P_Kr=0.00864; real rapid_time_dependent_potassium_current.y1(time) dimensionless; when(time=time.min) rapid_time_dependent_potassium_current.y1=0.0018339931180983765; real rapid_time_dependent_potassium_current.y2(time) dimensionless; when(time=time.min) rapid_time_dependent_potassium_current.y2=0.20443083454225305; real y3(time) dimensionless; when(time=time.min) y3=0.967887666264921; real rapid_time_dependent_potassium_current_y1_gate.alpha_y1(time) per_millisecond; real rapid_time_dependent_potassium_current_y1_gate.beta_y1(time) per_millisecond; real rapid_time_dependent_potassium_current_y2_gate.alpha_y2(time) per_millisecond; real rapid_time_dependent_potassium_current_y2_gate.beta_y2(time) per_millisecond; real alpha_y3(time) per_millisecond; real beta_y3(time) per_millisecond; real slow_time_dependent_potassium_current.y1(time) dimensionless; when(time=time.min) slow_time_dependent_potassium_current.y1=0.09738789658609195; real slow_time_dependent_potassium_current.y2(time) dimensionless; when(time=time.min) slow_time_dependent_potassium_current.y2=0.09745345578743213; real P_Ks_K picoA_per_millimolar; P_Ks_K=5.04; real P_Ks_Na picoA_per_millimolar; P_Ks_Na=0.2016; real slow_time_dependent_potassium_current_y1_gate.alpha_y1(time) per_millisecond; real slow_time_dependent_potassium_current_y1_gate.beta_y1(time) per_millisecond; real slow_time_dependent_potassium_current_y2_gate.alpha_y2(time) per_millisecond; real slow_time_dependent_potassium_current_y2_gate.beta_y2 per_millisecond; slow_time_dependent_potassium_current_y2_gate.beta_y2=0.004444; real transient_outward_current.y1(time) dimensionless; when(time=time.min) transient_outward_current.y1=7.956883250874798e-4; real transient_outward_current.y2(time) dimensionless; when(time=time.min) transient_outward_current.y2=0.9999125083105881; real P_to_K picoA_per_millimolar; P_to_K=0.033; real P_to_Na picoA_per_millimolar; P_to_Na=0.00297; real transient_outward_current_y1_gate.alpha_y1(time) per_millisecond; real transient_outward_current_y1_gate.beta_y1(time) per_millisecond; real transient_outward_current_y2_gate.alpha_y2(time) per_millisecond; real transient_outward_current_y2_gate.beta_y2(time) per_millisecond; real P_bNSC picoA_per_millimolar; P_bNSC=0.385; real P_Kpl nanoS_per_millimolar; real P_lCa picoA_per_millimolar; P_lCa=0.11; real background_lCa_current.p_open(time) dimensionless; real background_KATP_current.p_open(time) dimensionless; real gamma nanoS; real P_KATP nanoS_per_picoF; P_KATP=0.0236; real N picoF; N=2333; real P_Cab picoA_per_millimolar; P_Cab=0.04; real sodium_calcium_exchanger.p_E2Na dimensionless; real sodium_calcium_exchanger.p_E1Na(time) dimensionless; real sodium_calcium_exchanger.p_E1Ca(time) dimensionless; real sodium_calcium_exchanger.p_E2Ca dimensionless; real sodium_calcium_exchanger.k1(time) per_millisecond; real sodium_calcium_exchanger.k2(time) per_millisecond; real sodium_calcium_exchanger.k3 per_millisecond; sodium_calcium_exchanger.k3=1; real sodium_calcium_exchanger.k4 per_millisecond; sodium_calcium_exchanger.k4=1; real sodium_calcium_exchanger.Km_Nai millimolar; sodium_calcium_exchanger.Km_Nai=8.75; real sodium_calcium_exchanger.Km_Nao millimolar; sodium_calcium_exchanger.Km_Nao=87.5; real Km_Cai millimolar; Km_Cai=0.00138; real Km_Cao millimolar; Km_Cao=1.38; real sodium_calcium_exchanger.y(time) dimensionless; when(time=time.min) sodium_calcium_exchanger.y=0.9891789193465331; real P_NaCa picoA_per_picoF; P_NaCa=6.81; real Partition dimensionless; Partition=0.32; real sodium_calcium_exchanger_y_gate.alpha_y(time) per_millisecond; real sodium_calcium_exchanger_y_gate.beta_y(time) per_millisecond; real sodium_potassium_pump.p_E2Na(time) dimensionless; real sodium_potassium_pump.p_E1Na(time) dimensionless; real p_E1K(time) dimensionless; real p_E2K(time) dimensionless; real sodium_potassium_pump.k1(time) per_millisecond; real sodium_potassium_pump.k2 per_millisecond; sodium_potassium_pump.k2=0.04; real sodium_potassium_pump.k3 per_millisecond; sodium_potassium_pump.k3=0.01; real sodium_potassium_pump.k4 per_millisecond; sodium_potassium_pump.k4=0.165; real sodium_potassium_pump.Km_Nai millimolar; sodium_potassium_pump.Km_Nai=4.05; real sodium_potassium_pump.Km_Nao millimolar; sodium_potassium_pump.Km_Nao=69.8; real Km_Ki millimolar; Km_Ki=32.88; real Km_Ko millimolar; Km_Ko=0.258; real sodium_potassium_pump.Km_ATP millimolar; sodium_potassium_pump.Km_ATP=0.094; real Nao_Eff(time) millimolar; real sodium_potassium_pump.y(time) dimensionless; when(time=time.min) sodium_potassium_pump.y=0.5910747147428818; real P_NaK picoA_per_picoF; P_NaK=21; real sodium_potassium_pump_y_gate.alpha_y(time) per_millisecond; real sodium_potassium_pump_y_gate.beta_y(time) per_millisecond; real SR_calcium_pump.p_E2Ca(time) dimensionless; real SR_calcium_pump.p_E1Ca(time) dimensionless; real p_E1(time) dimensionless; real p_E2(time) dimensionless; real SR_calcium_pump.k1 per_millisecond; SR_calcium_pump.k1=0.01; real SR_calcium_pump.k2(time) per_millisecond; real SR_calcium_pump.k3 per_millisecond; SR_calcium_pump.k3=1; real SR_calcium_pump.k4 per_millisecond; SR_calcium_pump.k4=0.01; real Km_CaSR millimolar; Km_CaSR=0.08; real Km_CaCyto millimolar; Km_CaCyto=0.0008; real SR_calcium_pump.Km_ATP millimolar; SR_calcium_pump.Km_ATP=0.1; real i_max picoA; i_max=162500; real Caup(time) millimolar; when(time=time.min) Caup=2.611712901567567; real SR_calcium_pump.y(time) dimensionless; when(time=time.min) SR_calcium_pump.y=0.46108441538480216; real SR_calcium_pump_y_gate.alpha_y(time) per_millisecond; real SR_calcium_pump_y_gate.beta_y(time) per_millisecond; real P_RyR picoA_per_millimolar; P_RyR=62000; real RyR_channel.k1(time) per_millisecond; real RyR_channel.k2(time) per_millisecond; real RyR_channel.k3(time) per_millisecond; real RyR_channel.k4 per_millisecond; RyR_channel.k4=0.000849; real p_open_RyR(time) dimensionless; when(time=time.min) p_open_RyR=3.4314360001543243e-4; real p_close_RyR(time) dimensionless; when(time=time.min) p_close_RyR=0.19135178123107768; real Carel(time) millimolar; real Diadid_Factor per_picoA_millisecond; Diadid_Factor=-150; real i_SR_T(time) picoA; real P_SR_T picoA_per_millimolar; P_SR_T=386; real P_SR_L picoA_per_millimolar; P_SR_L=459; real Ca_concentrations_in_SR.Ca_Total(time) millimolar; when(time=time.min) Ca_concentrations_in_SR.Ca_Total=9.455741736977666; real V_rel micrometre3; V_rel=160; real V_up micrometre3; V_up=400; real CSQN_max millimolar; CSQN_max=10; real K_mCSQN millimolar; K_mCSQN=0.8; real Ca_concentrations_in_SR.b1(time) millimolar; real Ca_concentrations_in_SR.c1(time) millimolar2; real EffFraction dimensionless; real pCa(time) dimensionless; when(time=time.min) pCa=0.02490898775497523; real pCaCB(time) dimensionless; when(time=time.min) pCaCB=0.001990153835322864; real pCB(time) dimensionless; when(time=time.min) pCB=4.2941813853474524e-4; real p(time) dimensionless; real T_t millimolar; T_t=0.07; real Q_a(time) per_millisecond; real Q_b(time) per_millisecond; real Q_r(time) per_millisecond; real Q_d(time) per_millisecond; real Q_d1(time) per_millisecond; real Q_d2(time) per_millisecond; real Y_1 per_millimolar_millisecond; Y_1=39; real Y_2 per_millisecond; Y_2=0.0039; real Y_3 per_millisecond; Y_3=0.03; real Y_4 per_millisecond; Y_4=0.12; real Y_d millisecond_per_micrometre2; Y_d=0.027; real Z_1 per_millisecond; Z_1=0.03; real Z_2 per_millisecond; Z_2=0.0039; real Z_3 per_millimolar_millisecond; Z_3=1560; real h(time) micrometre; real L_a micrometre; L_a=1.17; real L micrometre; L=0.9623799975411884; real ForceCB(time) mN_per_mm2; real X(time) micrometre; when(time=time.min) X=0.9573749975411884; real NewCBF(time) mN_per_mm2_micrometre; real CBBound(time) millimolar; real KForceEC mN_per_mm2_micrometre5; KForceEC=140000; real ZeroForceEL micrometre; ZeroForceEL=0.97; real KForceLinearEc mN_per_mm2_micrometre; KForceLinearEc=200; real ForceFactor mN_per_mm2_micrometre_millimolar; ForceFactor=1800000; real ForceEcomp mN_per_mm2; real B per_millisecond; B=1.2; real h_c micrometre; h_c=0.005; real ForceExt(time) mN_per_mm2; // // i_ext=(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 picoA)); Vm:time=((-1)*(i_tot+i_ext)/Cm); i_tot=(i_Na+i_Ca_L+i_Ca_T+i_K1+i_Kr+i_Ks+i_to+i_I+i_NaK+i_NaCa); i_I=(i_bNSC+i_Cab+i_Kpl+i_lCa+i_KATP); // // internal_ion_concentrations.b1=(CMDN_max-internal_ion_concentrations.Ca_Total+K_mCMDN); internal_ion_concentrations.c1=(K_mCMDN*internal_ion_concentrations.Ca_Total); Cai=((sqrt(internal_ion_concentrations.b1^2+4*internal_ion_concentrations.c1)-internal_ion_concentrations.b1)/2); Nai:time=((-1)*i_net_Na/(F*Vi)); Ki:time=((-1)*(i_net_K+i_ext)/(F*Vi)); internal_ion_concentrations.Ca_Total:time=((-1)*(i_net_Ca-i_SR_U-i_RyR-i_SR_L)/(2*F*Vi)+dCaidt_NL); i_net_Na=(i_Na_Na+i_Ks_Na+i_to_Na+i_CaL_Na+i_bNSC_Na+i_lCa_Na+3*i_NaK+3*i_NaCa); i_net_K=(i_K1+i_Kr+i_to_K+i_KATP+i_Ks_K+i_Na_K+i_CaL_K+i_bNSC_K+i_lCa_K+i_Kpl-2*i_NaK); i_net_Ca=(i_CaL_Ca+i_Ca_T+i_Cab-2*i_NaCa); // CF_Na=(if (Vm=(0 millivolt)) (-1)*Nao else F*Vm/(R*T)*(Nai-Nao*exp((-1)*F*Vm/(R*T)))/(1-exp((-1)*F*Vm/(R*T)))); CF_Ca=(if (Vm=(0 millivolt)) (-1)*Cao else 2*F*Vm/(R*T)*(Cai-Cao*exp((-1)*2*F*Vm/(R*T)))/(1-exp((-1)*2*F*Vm/(R*T)))); CF_K=(if (Vm=(0 millivolt)) Ki else F*Vm/(R*T)*(Ki-Ko*exp((-1)*F*Vm/(R*T)))/(1-exp((-1)*F*Vm/(R*T)))); // ATPi:time=(ProducingRate_Max*(Adenosine_Total-ATPi)+dATPdt_NL-i_NaK/(F*Vi)+i_SR_U/(4*F*Vi)); // i_Na=(i_Na_Na+i_Na_K); i_Na_Na=(P_Na*CF_Na*p_AP_Na*sodium_current.y); i_Na_K=(.1*P_Na*CF_K*p_AP_Na*sodium_current.y); // p_RP_Na:time=(p_AP_Na*sodium_current_voltage_dependent_gate.k_AP_RP+p_RI_Na*sodium_current_voltage_dependent_gate.k_RI_RP-p_RP_Na*(sodium_current_voltage_dependent_gate.k_RP_RI+sodium_current_voltage_dependent_gate.k_RP_AP)); p_AP_Na:time=(p_RP_Na*sodium_current_voltage_dependent_gate.k_RP_AP+p_AI_Na*sodium_current_voltage_dependent_gate.k_AI_AP-p_AP_Na*(sodium_current_voltage_dependent_gate.k_AP_RP+sodium_current_voltage_dependent_gate.k_AP_AI)); p_AI_Na:time=(p_RI_Na*sodium_current_voltage_dependent_gate.k_RI_AI+p_AP_Na*sodium_current_voltage_dependent_gate.k_AP_AI-p_AI_Na*(sodium_current_voltage_dependent_gate.k_AI_RI+sodium_current_voltage_dependent_gate.k_AI_AP)); p_RI_Na=(1-p_RP_Na-p_AP_Na-p_AI_Na); sodium_current_voltage_dependent_gate.k_RP_AP=((1 per_millisecond)/(.1027*exp((-1)*Vm/(8 millivolt))+.25*exp((-1)*Vm/(50 millivolt)))); sodium_current_voltage_dependent_gate.k_AP_RP=((1 per_millisecond)/(26*exp(Vm/(17 millivolt))+.02*exp(Vm/(800 millivolt)))); sodium_current_voltage_dependent_gate.k_AP_AI=((1 per_millisecond)/(.8*exp((-1)*Vm/(400 millivolt)))); sodium_current_voltage_dependent_gate.k_AI_RI=((1 per_millisecond)/(1300*exp(Vm/(20 millivolt))+.04*exp(Vm/(800 millivolt)))); sodium_current_voltage_dependent_gate.k_RI_AI=((1 per_millisecond)/(1.027E-4*exp((-1)*Vm/(8 millivolt))+5*exp((-1)*Vm/(400 millivolt)))); sodium_current_voltage_dependent_gate.k_RP_RI=((.01 per_millisecond)/(1+sodium_current_voltage_dependent_gate.k_AI_AP*sodium_current_voltage_dependent_gate.k_AP_RP*sodium_current_voltage_dependent_gate.k_RI_AI/(sodium_current_voltage_dependent_gate.k_AP_AI*sodium_current_voltage_dependent_gate.k_RP_AP*sodium_current_voltage_dependent_gate.k_AI_RI))); sodium_current_voltage_dependent_gate.k_RI_RP=((.01 per_millisecond)-sodium_current_voltage_dependent_gate.k_RP_RI); // sodium_current_ultra_slow_gate.alpha_y=((1 per_millisecond)/(9E9*exp(Vm/(5 millivolt))+8E3*exp(Vm/(100 millivolt)))); sodium_current_ultra_slow_gate.beta_y=((1 per_millisecond)/(.014*exp((-1)*Vm/(5 millivolt))+4E3*exp((-1)*Vm/(100 millivolt)))); sodium_current.y:time=(sodium_current_ultra_slow_gate.alpha_y*(1-sodium_current.y)-sodium_current_ultra_slow_gate.beta_y*sodium_current.y); // i_Ca_L=(i_CaL_Na+i_CaL_Ca+i_CaL_K); i_CaL_Ca=(P_CaL*CF_Ca*p_open_CaL); i_CaL_Na=(1.85E-5*P_CaL*CF_Na*p_open_CaL); i_CaL_K=(3.65E-4*P_CaL*CF_K*p_open_CaL); p_open_CaL=(p_AP_CaL*(p_U+p_UCa)*L_type_Ca_channel.y/(1+((1.4 millimolar)/ATPi)^3)); // p_RP_CaL:time=(p_AP_CaL*L_type_Ca_channel_voltage_dependent_gate.k_AP_RP+p_RI_CaL*L_type_Ca_channel_voltage_dependent_gate.k_RI_RP-p_RP_CaL*(L_type_Ca_channel_voltage_dependent_gate.k_RP_RI+L_type_Ca_channel_voltage_dependent_gate.k_RP_AP)); p_AP_CaL:time=(p_RP_CaL*L_type_Ca_channel_voltage_dependent_gate.k_RP_AP+p_AI_CaL*L_type_Ca_channel_voltage_dependent_gate.k_AI_AP-p_AP_CaL*(L_type_Ca_channel_voltage_dependent_gate.k_AP_RP+L_type_Ca_channel_voltage_dependent_gate.k_AP_AI)); p_AI_CaL:time=(p_RI_CaL*L_type_Ca_channel_voltage_dependent_gate.k_RI_AI+p_AP_CaL*L_type_Ca_channel_voltage_dependent_gate.k_AP_AI-p_AI_CaL*(L_type_Ca_channel_voltage_dependent_gate.k_AI_RI+L_type_Ca_channel_voltage_dependent_gate.k_AI_AP)); p_RI_CaL=(1-p_AP_CaL-p_RP_CaL-p_AI_CaL); L_type_Ca_channel_voltage_dependent_gate.k_RP_AP=((1 per_millisecond)/(.27*exp((-1)*Vm/(5.9 millivolt))+1.5*exp((-1)*Vm/(65 millivolt)))); L_type_Ca_channel_voltage_dependent_gate.k_AP_RP=((1 per_millisecond)/(480*exp(Vm/(7 millivolt))+2.2*exp(Vm/(65 millivolt)))); L_type_Ca_channel_voltage_dependent_gate.k_RI_AI=((1 per_millisecond)/(.0018*exp((-1)*Vm/(7.4 millivolt))+2*exp((-1)*Vm/(100 millivolt)))); L_type_Ca_channel_voltage_dependent_gate.k_AI_RI=((1 per_millisecond)/(2.2E6*exp(Vm/(7.4 millivolt))+11*exp(Vm/(100 millivolt)))); L_type_Ca_channel_voltage_dependent_gate.k_RP_RI=((.04 per_millisecond)/(1+L_type_Ca_channel_voltage_dependent_gate.k_AI_AP*L_type_Ca_channel_voltage_dependent_gate.k_AP_RP*L_type_Ca_channel_voltage_dependent_gate.k_RI_AI/(L_type_Ca_channel_voltage_dependent_gate.k_AP_AI*L_type_Ca_channel_voltage_dependent_gate.k_RP_AP*L_type_Ca_channel_voltage_dependent_gate.k_AI_RI))); L_type_Ca_channel_voltage_dependent_gate.k_RI_RP=((.04 per_millisecond)-L_type_Ca_channel_voltage_dependent_gate.k_RP_RI); // iCaL=((.0676 picoA_per_millimolar)*CF_Ca); CaDiadic=(iCaL*p_open_CaL); Cacm=(Cai-(.3 millimolar_per_picoA)*iCaL); CaEffC=(Cacm*p_AP_CaL); CaEffU=(CaEffC+Cai*(1-p_AP_CaL)); k_UUCa_Ca=(k_U_UCa*CaEffU); k_CCCa_Ca=(k_C_CCa*CaEffC); p_U:time=(p_C*k_C_U+p_UCa*k_UCa_U-p_U*(k_UUCa_Ca+k_U_C)); p_UCa:time=(p_U*k_UUCa_Ca+p_CCa*k_CCa_UCa-p_UCa*(k_UCa_CCa+k_UCa_U)); p_C:time=(p_CCa*k_CCa_C+p_U*k_U_C-p_C*(k_C_U+k_C_CCa*Cacm*p_AP_CaL)); p_CCa=(1-p_C-p_U-p_UCa); k_UCa_U=(k_CCa_C*k_C_U*k_U_UCa*k_UCa_CCa/(k_U_C*k_C_CCa*k_CCa_UCa)); // L_type_Ca_channel_ultra_slow_gate.alpha_y=((1 per_millisecond)/(2.5E5*exp(Vm/(9 millivolt))+58*exp(Vm/(65 millivolt)))); L_type_Ca_channel_ultra_slow_gate.beta_y=((1 per_millisecond)/(1800*exp((-1)*Vm/(14 millivolt))+66*exp((-1)*Vm/(65 millivolt)))); L_type_Ca_channel.y:time=(L_type_Ca_channel_ultra_slow_gate.alpha_y*(1-L_type_Ca_channel.y)-L_type_Ca_channel_ultra_slow_gate.beta_y*L_type_Ca_channel.y); // i_Ca_T=(P_CaT*CF_Ca*T_type_Ca_channel.y1*T_type_Ca_channel.y2); // T_type_Ca_channel_y1_gate.alpha_y1=((1 per_millisecond)/(.019*exp((-1)*Vm/(5.6 millivolt))+.82*exp((-1)*Vm/(250 millivolt)))); T_type_Ca_channel_y1_gate.beta_y1=((1 per_millisecond)/(40*exp(Vm/(6.3 millivolt))+1.5*exp(Vm/(1E4 millivolt)))); T_type_Ca_channel.y1:time=(T_type_Ca_channel_y1_gate.alpha_y1*(1-T_type_Ca_channel.y1)-T_type_Ca_channel_y1_gate.beta_y1*T_type_Ca_channel.y1); // T_type_Ca_channel_y2_gate.alpha_y2=((1 per_millisecond)/(62000*exp(Vm/(10.1 millivolt))+30*exp(Vm/(3E3 millivolt)))); T_type_Ca_channel_y2_gate.beta_y2=((1 per_millisecond)/(6E-4*exp((-1)*Vm/(6.7 millivolt))+1.2*exp((-1)*Vm/(25 millivolt)))); T_type_Ca_channel.y2:time=(T_type_Ca_channel_y2_gate.alpha_y2*(1-T_type_Ca_channel.y2)-T_type_Ca_channel_y2_gate.beta_y2*T_type_Ca_channel.y2); // i_K1=(g_K1*(Vm-E_K)*(fO4+fO3+fO2)*time_independent_potassium_current.y); E_K=(R*T/F*ln(Ko/Ki)); g_K1=(P_K1_0*Cm*(Ko/(5.4 millimolar))^.4); fB=(mu/(mu+lambda)); fO=(lambda/(mu+lambda)); fO2=(2*fO^2*fB^2); fO3=(8/3*fO^3*fB); fO4=(fO^4); mu=((.75 per_millisecond)*exp((.035 per_millivolt)*(Vm-E_K-(10 millivolt)))/(1+exp((.015 per_millivolt)*(Vm-E_K-(140 millivolt))))); lambda=((3 per_millisecond)*exp((-1)*(.048 per_millivolt)*(Vm-E_K-(10 millivolt)))*(1+exp((.064 per_millivolt)*(Vm-E_K-(38 millivolt))))/(1+exp((.03 per_millivolt)*(Vm-E_K-(70 millivolt))))); // time_independent_potassium_current_y_gate.alpha_y=((1 per_millisecond)/(8E3*exp((Vm-E_K-(97 millivolt))/(8.5 millivolt))+7*exp((Vm-E_K-(97 millivolt))/(300 millivolt)))); time_independent_potassium_current_y_gate.beta_y=(fO^4*(1 per_millisecond)/(1.4E-4*exp((-1)*(Vm-E_K-(97 millivolt))/(9.1 millivolt))+.2*exp((-1)*(Vm-E_K-(97 millivolt))/(500 millivolt)))); time_independent_potassium_current.y:time=(time_independent_potassium_current_y_gate.alpha_y*(1-time_independent_potassium_current.y)-time_independent_potassium_current_y_gate.beta_y*time_independent_potassium_current.y); // i_Kr=(g_Kr*(Vm-E_K)*(.6*rapid_time_dependent_potassium_current.y1+.4*rapid_time_dependent_potassium_current.y2)*y3); g_Kr=(P_Kr*Cm*(Ko/(5.4 millimolar))^.2); // rapid_time_dependent_potassium_current_y1_gate.alpha_y1=((1 per_millisecond)/(20*exp((-1)*Vm/(11.5 millivolt))+5*exp((-1)*Vm/(300 millivolt)))); rapid_time_dependent_potassium_current_y1_gate.beta_y1=((1 per_millisecond)/(160*exp(Vm/(28 millivolt))+200*exp(Vm/(1E3 millivolt)))+(1 per_millisecond)/(2500*exp(Vm/(20 millivolt)))); rapid_time_dependent_potassium_current.y1:time=(rapid_time_dependent_potassium_current_y1_gate.alpha_y1*(1-rapid_time_dependent_potassium_current.y1)-rapid_time_dependent_potassium_current_y1_gate.beta_y1*rapid_time_dependent_potassium_current.y1); // rapid_time_dependent_potassium_current_y2_gate.alpha_y2=((1 per_millisecond)/(200*exp((-1)*Vm/(13 millivolt))+20*exp((-1)*Vm/(300 millivolt)))); rapid_time_dependent_potassium_current_y2_gate.beta_y2=((1 per_millisecond)/(1600*exp(Vm/(28 millivolt))+2E3*exp(Vm/(1E3 millivolt)))+(1 per_millisecond)/(1E4*exp(Vm/(20 millivolt)))); rapid_time_dependent_potassium_current.y2:time=(rapid_time_dependent_potassium_current_y2_gate.alpha_y2*(1-rapid_time_dependent_potassium_current.y2)-rapid_time_dependent_potassium_current_y2_gate.beta_y2*rapid_time_dependent_potassium_current.y2); // alpha_y3=((1 per_millisecond)/(10*exp(Vm/(17 millivolt))+2.5*exp(Vm/(300 millivolt)))); beta_y3=((1 per_millisecond)/(.35*exp((-1)*Vm/(17 millivolt))+2*exp((-1)*Vm/(150 millivolt)))); y3:time=(alpha_y3*(1-y3)-beta_y3*y3); // i_Ks=(i_Ks_Na+i_Ks_K); i_Ks_K=(P_Ks_K*CF_K*slow_time_dependent_potassium_current.y1^2*(.9*slow_time_dependent_potassium_current.y2+.1)); i_Ks_Na=(P_Ks_Na*CF_Na*slow_time_dependent_potassium_current.y1^2*(.9*slow_time_dependent_potassium_current.y2+.1)); // slow_time_dependent_potassium_current_y1_gate.alpha_y1=((1 per_millisecond)/(85*exp((-1)*Vm/(10.5 millivolt))+370*exp((-1)*Vm/(62 millivolt)))); slow_time_dependent_potassium_current_y1_gate.beta_y1=((1 per_millisecond)/(1450*exp(Vm/(20 millivolt))+260*exp(Vm/(100 millivolt)))); slow_time_dependent_potassium_current.y1:time=(slow_time_dependent_potassium_current_y1_gate.alpha_y1*(1-slow_time_dependent_potassium_current.y1)-slow_time_dependent_potassium_current_y1_gate.beta_y1*slow_time_dependent_potassium_current.y1); // slow_time_dependent_potassium_current_y2_gate.alpha_y2=((3.7 per_millimolar_millisecond)*Cai); slow_time_dependent_potassium_current.y2:time=(slow_time_dependent_potassium_current_y2_gate.alpha_y2*(1-slow_time_dependent_potassium_current.y2)-slow_time_dependent_potassium_current_y2_gate.beta_y2*slow_time_dependent_potassium_current.y2); // i_to=(i_to_Na+i_to_K); i_to_K=(P_to_K*CF_K*transient_outward_current.y1^3*transient_outward_current.y2); i_to_Na=(P_to_Na*CF_Na*transient_outward_current.y1^3*transient_outward_current.y2); // transient_outward_current_y1_gate.alpha_y1=((1 per_millisecond)/(11*exp((-1)*Vm/(28 millivolt))+.2*exp((-1)*Vm/(400 millivolt)))); transient_outward_current_y1_gate.beta_y1=((1 per_millisecond)/(4.4*exp(Vm/(16 millivolt))+.2*exp(Vm/(500 millivolt)))); transient_outward_current.y1:time=(transient_outward_current_y1_gate.alpha_y1*(1-transient_outward_current.y1)-transient_outward_current_y1_gate.beta_y1*transient_outward_current.y1); // transient_outward_current_y2_gate.alpha_y2=((.0038 per_millisecond)*exp((-1)*(Vm+(13.5 millivolt))/(11.3 millivolt))/(1+.051335*exp((-1)*(Vm+(13.5 millivolt))/(11.3 millivolt)))); transient_outward_current_y2_gate.beta_y2=((.0038 per_millisecond)*exp((Vm+(13.5 millivolt))/(11.3 millivolt))/(1+.067083*exp((Vm+(13.5 millivolt))/(11.3 millivolt)))); transient_outward_current.y2:time=(transient_outward_current_y2_gate.alpha_y2*(1-transient_outward_current.y2)-transient_outward_current_y2_gate.beta_y2*transient_outward_current.y2); // i_bNSC=(i_bNSC_K+i_bNSC_Na); i_bNSC_K=(.4*P_bNSC*CF_K); i_bNSC_Na=(P_bNSC*CF_Na); // i_Kpl=(if (Vm=((-1)*(3 millivolt))) P_Kpl*CF_K*(13.0077 millivolt) else P_Kpl*CF_K*(Vm+(3 millivolt))/(1-exp((-1)*(Vm+(3 millivolt))/(13 millivolt)))); P_Kpl=((1.1E-4 nanoS_per_millimolar)*(Ko/(5.4 millimolar))^.16); // i_lCa=(i_lCa_K+i_lCa_Na); i_lCa_K=(P_lCa*CF_K*background_lCa_current.p_open); i_lCa_Na=(P_lCa*CF_Na*background_lCa_current.p_open); background_lCa_current.p_open=(1/(1+((.0012 millimolar)/Cai)^3)); // i_KATP=(gamma*(Vm-E_K)*background_KATP_current.p_open); gamma=(P_KATP*N*(Ko/(1 millimolar))^.24); background_KATP_current.p_open=(.8/(1+(ATPi/(.1 millimolar))^2)); // i_Cab=(P_Cab*CF_Ca); // i_NaCa=(P_NaCa*Cm*(1 millisecond)*(sodium_calcium_exchanger.k1*sodium_calcium_exchanger.p_E1Na*sodium_calcium_exchanger.y-sodium_calcium_exchanger.k2*sodium_calcium_exchanger.p_E2Na*(1-sodium_calcium_exchanger.y))); sodium_calcium_exchanger.p_E1Na=(1/(1+(sodium_calcium_exchanger.Km_Nai/Nai)^3*(1+Cai/Km_Cai))); sodium_calcium_exchanger.p_E2Na=(1/(1+(sodium_calcium_exchanger.Km_Nao/Nao)^3*(1+Cao/Km_Cao))); sodium_calcium_exchanger.p_E1Ca=(1/(1+Km_Cai/Cai*(1+(Nai/sodium_calcium_exchanger.Km_Nai)^3))); sodium_calcium_exchanger.p_E2Ca=(1/(1+Km_Cao/Cao*(1+(Nao/sodium_calcium_exchanger.Km_Nao)^3))); sodium_calcium_exchanger.k1=((1 per_millisecond)*exp(Partition*F*Vm/(R*T))); sodium_calcium_exchanger.k2=((1 per_millisecond)*exp((Partition-1)*F*Vm/(R*T))); // sodium_calcium_exchanger_y_gate.alpha_y=(sodium_calcium_exchanger.k2*sodium_calcium_exchanger.p_E2Na+sodium_calcium_exchanger.k4*sodium_calcium_exchanger.p_E2Ca); sodium_calcium_exchanger_y_gate.beta_y=(sodium_calcium_exchanger.k1*sodium_calcium_exchanger.p_E1Na+sodium_calcium_exchanger.k3*sodium_calcium_exchanger.p_E1Ca); sodium_calcium_exchanger.y:time=(sodium_calcium_exchanger_y_gate.alpha_y*(1-sodium_calcium_exchanger.y)-sodium_calcium_exchanger_y_gate.beta_y*sodium_calcium_exchanger.y); // i_NaK=(P_NaK*Cm*(1 millisecond)*(sodium_potassium_pump.k1*sodium_potassium_pump.p_E1Na*sodium_potassium_pump.y-sodium_potassium_pump.k2*sodium_potassium_pump.p_E2Na*(1-sodium_potassium_pump.y))); sodium_potassium_pump.p_E1Na=(1/(1+(sodium_potassium_pump.Km_Nai/Nai)^1.06*(1+(Ki/Km_Ki)^1.12))); sodium_potassium_pump.p_E2Na=(1/(1+(sodium_potassium_pump.Km_Nao/Nao_Eff)^1.06*(1+(Ko/Km_Ko)^1.12))); p_E1K=(1/(1+(Km_Ki/Ki)^1.12*(1+(Nai/sodium_potassium_pump.Km_Nai)^1.06))); p_E2K=(1/(1+(Km_Ko/Ko)^1.12*(1+(Nao_Eff/sodium_potassium_pump.Km_Nao)^1.06))); sodium_potassium_pump.k1=((.37 per_millisecond)/(1+sodium_potassium_pump.Km_ATP/ATPi)); Nao_Eff=(Nao*exp((-1)*.82*F*Vm/(R*T))); // sodium_potassium_pump_y_gate.alpha_y=(sodium_potassium_pump.k2*sodium_potassium_pump.p_E2Na+sodium_potassium_pump.k4*p_E2K); sodium_potassium_pump_y_gate.beta_y=(sodium_potassium_pump.k1*sodium_potassium_pump.p_E1Na+sodium_potassium_pump.k3*p_E1K); sodium_potassium_pump.y:time=(sodium_potassium_pump_y_gate.alpha_y*(1-sodium_potassium_pump.y)-sodium_potassium_pump_y_gate.beta_y*sodium_potassium_pump.y); // i_SR_U=(i_max*(1 millisecond)*(SR_calcium_pump.k1*SR_calcium_pump.p_E1Ca*SR_calcium_pump.y-SR_calcium_pump.k2*SR_calcium_pump.p_E2Ca*(1-SR_calcium_pump.y))); SR_calcium_pump.p_E1Ca=(1/(1+Km_CaSR/Caup)); SR_calcium_pump.p_E2Ca=(1/(1+Km_CaCyto/Cai)); p_E1=(1-SR_calcium_pump.p_E1Ca); p_E2=(1-SR_calcium_pump.p_E2Ca); SR_calcium_pump.k2=((1 per_millisecond)/(1+SR_calcium_pump.Km_ATP/ATPi)); // SR_calcium_pump_y_gate.alpha_y=(SR_calcium_pump.k2*SR_calcium_pump.p_E2Ca+SR_calcium_pump.k4*p_E2); SR_calcium_pump_y_gate.beta_y=(SR_calcium_pump.k1*SR_calcium_pump.p_E1Ca+SR_calcium_pump.k3*p_E1); SR_calcium_pump.y:time=(SR_calcium_pump_y_gate.alpha_y*(1-SR_calcium_pump.y)-SR_calcium_pump_y_gate.beta_y*SR_calcium_pump.y); // i_RyR=(P_RyR*(Carel-Cai)*p_open_RyR); p_open_RyR:time=(p_close_RyR*RyR_channel.k1-p_open_RyR*RyR_channel.k2); p_close_RyR:time=(RyR_channel.k3*(1-(p_open_RyR+p_close_RyR))-(RyR_channel.k1+RyR_channel.k4)*p_close_RyR); RyR_channel.k1=((2.8E5 per_millisecond)*(Cai/(1 millimolar))^2+Diadid_Factor*CaDiadic); RyR_channel.k2=((.08 per_millisecond)/(1+(.36 millimolar)/Carel)); RyR_channel.k3=((3.77E-4 per_millisecond)*(Carel/(1 millimolar))^2); // i_SR_T=(P_SR_T*(Caup-Carel)); // i_SR_L=(P_SR_L*(Caup-Cai)); // Ca_concentrations_in_SR.b1=(CSQN_max-Ca_concentrations_in_SR.Ca_Total+K_mCSQN); Ca_concentrations_in_SR.c1=(K_mCSQN*Ca_concentrations_in_SR.Ca_Total); Carel=((sqrt(Ca_concentrations_in_SR.b1^2+4*Ca_concentrations_in_SR.c1)-Ca_concentrations_in_SR.b1)/2); Ca_concentrations_in_SR.Ca_Total:time=((i_SR_T-i_RyR)/(2*F*V_rel)); Caup:time=(((-1)*i_SR_U-i_SR_T-i_SR_L)/(2*F*V_up)); // h=(L-X); p=(1-pCa-pCaCB-pCB); Q_b=(Y_1*Cai*p-Z_1*pCa); EffFraction=exp((-1)*(20 per_micrometre2)*(L-L_a)^2); Q_a=(Y_2*pCa*EffFraction-Z_2*pCaCB); Q_r=(Y_3*pCaCB-Z_3*pCB*Cai); Q_d=(Y_4*pCB); Q_d1=(Y_d*X:time^2*pCB); Q_d2=(Y_d*X:time^2*pCaCB); pCa:time=(Q_b-Q_a); pCaCB:time=(Q_a-Q_r-Q_d2); pCB:time=(Q_r-Q_d-Q_d1); dCaidt_NL=(T_t*(Q_d2+Q_r-Q_b)); dATPdt_NL=((-1)*(.4 per_millisecond)*pCaCB*T_t); CBBound=(T_t*(pCaCB+pCB)); NewCBF=(ForceFactor*CBBound); ForceEcomp=(KForceEC*(ZeroForceEL-L)^5+KForceLinearEc*(ZeroForceEL-L)); ForceCB=(NewCBF*h); ForceExt=((-1)*ForceEcomp+ForceCB); X:time=(B*(h-h_c)); // // // }