FaberRudy2000Version3.cpp

Go to the documentation of this file.
00001 
00012 #include <cmath>
00013 #include <cassert>
00014 #include "FaberRudy2000Version3.hpp"
00015 #include "AbstractCardiacCell.hpp"
00016 #include "Exception.hpp"
00017 #include "AbstractStimulusFunction.hpp"
00018 #include "OdeSystemInformation.hpp"
00019 
00020 
00021 FaberRudy2000Version3::FaberRudy2000Version3(boost::shared_ptr<AbstractIvpOdeSolver> pSolver,
00022                       boost::shared_ptr<AbstractStimulusFunction> pIntracellularStimulus)
00023     : AbstractCardiacCell(pSolver, 25, 0, pIntracellularStimulus)
00024 {
00025     mpSystemInfo = OdeSystemInformation<FaberRudy2000Version3>::Instance();
00026 
00027     mScaleFactorGks=1.0;
00028     mScaleFactorIto=0.0;
00029     mScaleFactorGkr=1.0;
00030 
00031     Init();
00032 }
00033 
00034 FaberRudy2000Version3::~FaberRudy2000Version3(void)
00035 {
00036 }
00037 
00038 void FaberRudy2000Version3::SetScaleFactorGks(double sfgks)
00039 {
00040     assert(sfgks>=0.0);
00041     mScaleFactorGks=sfgks;
00042 }
00043 
00044 void FaberRudy2000Version3::SetScaleFactorIto(double sfito)
00045 {
00046     assert(sfito>=0.0);
00047     mScaleFactorIto=sfito;
00048 }
00049 
00050 void FaberRudy2000Version3::SetScaleFactorGkr(double sfgkr)
00051 {
00052     assert(sfgkr>=0.0);
00053     mScaleFactorGkr=sfgkr;
00054 }
00055 
00056 double FaberRudy2000Version3::GetIIonic()
00057 {
00058     std::vector<double>& rY = rGetStateVariables();
00059     double var_membrane__V = rY[0];
00060     // Units: millivolt; Initial value: -90
00061 double var_fast_sodium_current_m_gate__m = rY[1];
00062 // Units: dimensionless; Initial value: 0.0008
00063 double var_fast_sodium_current_h_gate__h = rY[2];
00064 // Units: dimensionless; Initial value: 0.993771
00065 double var_fast_sodium_current_j_gate__j = rY[3];
00066 // Units: dimensionless; Initial value: 0.995727
00067 double var_L_type_Ca_channel_d_gate__d = rY[4];
00068 // Units: dimensionless; Initial value: 3.210618e-6
00069 double var_L_type_Ca_channel_f_gate__f = rY[5];
00070 // Units: dimensionless; Initial value: 0.999837
00071 double var_T_type_Ca_channel_b_gate__b = rY[6];
00072 // Units: dimensionless; Initial value: 0.000970231
00073 double var_T_type_Ca_channel_g_gate__g = rY[7];
00074 // Units: dimensionless; Initial value: 0.994305
00075 double var_rapid_delayed_rectifier_potassium_current_xr_gate__xr = rY[8];
00076 // Units: dimensionless; Initial value: 0.000124042
00077 double var_slow_delayed_rectifier_potassium_current_xs1_gate__xs1 = rY[9];
00078 // Units: dimensionless; Initial value: 0.00445683
00079 double var_slow_delayed_rectifier_potassium_current_xs2_gate__xs2 = rY[10];
00080 // Units: dimensionless; Initial value: 0.00445683
00081 double var_transient_outward_current_zdv_gate__zdv = rY[11];
00082 // Units: dimensionless; Initial value: 0.5
00083 double var_transient_outward_current_ydv_gate__ydv = rY[12];
00084 // Units: dimensionless; Initial value: 0.5
00085 double var_calcium_dynamics__Cai = rY[13];
00086 // Units: millimolar; Initial value: 6e-5
00087 double var_ionic_concentrations__Nai = rY[23];
00088 // Units: millimolar; Initial value: 9
00089 double var_ionic_concentrations__Ki = rY[24];
00090 // Units: millimolar; Initial value: 141.2
00091 
00092     const double var_membrane__R = 8314.0;
00093     const double var_membrane__T = 310.0;
00094     const double var_membrane__F = 96485.0;
00095     double var_fast_sodium_current__j = var_fast_sodium_current_j_gate__j;
00096     double var_fast_sodium_current__h = var_fast_sodium_current_h_gate__h;
00097     const double var_fast_sodium_current__g_Na = 16.0;
00098     double var_fast_sodium_current__m = var_fast_sodium_current_m_gate__m;
00099     double var_fast_sodium_current__V = var_membrane__V;
00100     double var_fast_sodium_current__R = var_membrane__R;
00101     double var_fast_sodium_current__F = var_membrane__F;
00102     const double var_ionic_concentrations__Nao = 132.0;
00103     double var_fast_sodium_current__Nao = var_ionic_concentrations__Nao;
00104     double var_fast_sodium_current__Nai = var_ionic_concentrations__Nai;
00105     double var_fast_sodium_current__T = var_membrane__T;
00106     double var_fast_sodium_current__E_Na = ((var_fast_sodium_current__R * var_fast_sodium_current__T) / var_fast_sodium_current__F) * log(var_fast_sodium_current__Nao / var_fast_sodium_current__Nai);
00107     double var_fast_sodium_current__i_Na = var_fast_sodium_current__g_Na * pow(var_fast_sodium_current__m, 3.0) * var_fast_sodium_current__h * var_fast_sodium_current__j * (var_fast_sodium_current__V - var_fast_sodium_current__E_Na);
00108     double var_membrane__i_Na = var_fast_sodium_current__i_Na;
00109     double var_L_type_Ca_channel__d = var_L_type_Ca_channel_d_gate__d;
00110     double var_L_type_Ca_channel__f = var_L_type_Ca_channel_f_gate__f;
00111     const double var_L_type_Ca_channel_f_Ca_gate__Km_Ca = 0.0006;
00112     double var_L_type_Ca_channel__Cai = var_calcium_dynamics__Cai;
00113     double var_L_type_Ca_channel_f_Ca_gate__Cai = var_L_type_Ca_channel__Cai;
00114     double var_L_type_Ca_channel_f_Ca_gate__f_Ca = 1.0 / (1.0 + (var_L_type_Ca_channel_f_Ca_gate__Cai / var_L_type_Ca_channel_f_Ca_gate__Km_Ca));
00115     double var_L_type_Ca_channel__f_Ca = var_L_type_Ca_channel_f_Ca_gate__f_Ca;
00116     const double var_L_type_Ca_channel__gamma_Cai = 1.0;
00117     const double var_L_type_Ca_channel__gamma_Cao = 0.341;
00118     const double var_calcium_dynamics__Cao = 1.8;
00119     double var_L_type_Ca_channel__Cao = var_calcium_dynamics__Cao;
00120     double var_L_type_Ca_channel__F = var_membrane__F;
00121     const double var_L_type_Ca_channel__P_Ca = 0.00054;
00122     double var_L_type_Ca_channel__T = var_membrane__T;
00123     double var_L_type_Ca_channel__V = var_membrane__V;
00124     double var_L_type_Ca_channel__R = var_membrane__R;
00125     double var_L_type_Ca_channel__I_CaCa = (((var_L_type_Ca_channel__P_Ca * pow(2.0, 2.0) * var_L_type_Ca_channel__V * pow(var_L_type_Ca_channel__F, 2.0)) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) * ((var_L_type_Ca_channel__gamma_Cai * var_L_type_Ca_channel__Cai * exp((2.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__gamma_Cao * var_L_type_Ca_channel__Cao))) / (exp((2.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) - 1.0);
00126     double var_L_type_Ca_channel__i_CaCa = var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f_Ca * var_L_type_Ca_channel__I_CaCa;
00127     const double var_L_type_Ca_channel__P_Na = 6.75e-07;
00128     const double var_L_type_Ca_channel__gamma_Nao = 0.75;
00129     double var_L_type_Ca_channel__Nao = var_ionic_concentrations__Nao;
00130     double var_L_type_Ca_channel__Nai = var_ionic_concentrations__Nai;
00131     const double var_L_type_Ca_channel__gamma_Nai = 0.75;
00132     double var_L_type_Ca_channel__I_CaNa = (((var_L_type_Ca_channel__P_Na * pow(1.0, 2.0) * var_L_type_Ca_channel__V * pow(var_L_type_Ca_channel__F, 2.0)) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) * ((var_L_type_Ca_channel__gamma_Nai * var_L_type_Ca_channel__Nai * exp((1.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__gamma_Nao * var_L_type_Ca_channel__Nao))) / (exp((1.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) - 1.0);
00133     double var_L_type_Ca_channel__i_CaNa = var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f_Ca * var_L_type_Ca_channel__I_CaNa;
00134     const double var_ionic_concentrations__Ko = 4.5;
00135     double var_L_type_Ca_channel__Ko = var_ionic_concentrations__Ko;
00136     double var_L_type_Ca_channel__Ki = var_ionic_concentrations__Ki;
00137     const double var_L_type_Ca_channel__P_K = 1.93e-07;
00138     const double var_L_type_Ca_channel__gamma_Ki = 0.75;
00139     const double var_L_type_Ca_channel__gamma_Ko = 0.75;
00140     double var_L_type_Ca_channel__I_CaK = (((var_L_type_Ca_channel__P_K * pow(1.0, 2.0) * var_L_type_Ca_channel__V * pow(var_L_type_Ca_channel__F, 2.0)) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) * ((var_L_type_Ca_channel__gamma_Ki * var_L_type_Ca_channel__Ki * exp((1.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__gamma_Ko * var_L_type_Ca_channel__Ko))) / (exp((1.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) - 1.0);
00141     double var_L_type_Ca_channel__i_CaK = var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f_Ca * var_L_type_Ca_channel__I_CaK;
00142     double var_L_type_Ca_channel__i_Ca_L = var_L_type_Ca_channel__i_CaCa + var_L_type_Ca_channel__i_CaK + var_L_type_Ca_channel__i_CaNa;
00143     double var_membrane__i_Ca_L = var_L_type_Ca_channel__i_Ca_L;
00144     double var_T_type_Ca_channel__V = var_membrane__V;
00145     double var_T_type_Ca_channel__g = var_T_type_Ca_channel_g_gate__g;
00146     const double var_T_type_Ca_channel__g_CaT = 0.05;
00147     double var_T_type_Ca_channel__b = var_T_type_Ca_channel_b_gate__b;
00148     double var_calcium_background_current__R = var_membrane__R;
00149     double var_calcium_background_current__Cai = var_calcium_dynamics__Cai;
00150     double var_calcium_background_current__F = var_membrane__F;
00151     double var_calcium_background_current__T = var_membrane__T;
00152     double var_calcium_background_current__Cao = var_calcium_dynamics__Cao;
00153     double var_calcium_background_current__E_Ca = ((var_calcium_background_current__R * var_calcium_background_current__T) / (2.0 * var_calcium_background_current__F)) * log(var_calcium_background_current__Cao / var_calcium_background_current__Cai);
00154     double var_T_type_Ca_channel__E_Ca = var_calcium_background_current__E_Ca;
00155     double var_T_type_Ca_channel__i_Ca_T = var_T_type_Ca_channel__g_CaT * var_T_type_Ca_channel__b * var_T_type_Ca_channel__b * var_T_type_Ca_channel__g * (var_T_type_Ca_channel__V - var_T_type_Ca_channel__E_Ca);
00156     double var_membrane__i_Ca_T = var_T_type_Ca_channel__i_Ca_T;
00157     double var_rapid_delayed_rectifier_potassium_current__Ko = var_ionic_concentrations__Ko;
00158     double var_rapid_delayed_rectifier_potassium_current__g_Kr = 0.02614 * sqrt(var_rapid_delayed_rectifier_potassium_current__Ko / 5.4);
00159     double var_rapid_delayed_rectifier_potassium_current__V = var_membrane__V;
00160     double var_rapid_delayed_rectifier_potassium_current__xr = var_rapid_delayed_rectifier_potassium_current_xr_gate__xr;
00161     double var_rapid_delayed_rectifier_potassium_current__Rect = 1.0 / (1.0 + exp((var_rapid_delayed_rectifier_potassium_current__V + 9.0) / 22.4));
00162     double var_time_independent_potassium_current__Ki = var_ionic_concentrations__Ki;
00163     double var_time_independent_potassium_current__R = var_membrane__R;
00164     double var_time_independent_potassium_current__F = var_membrane__F;
00165     double var_time_independent_potassium_current__Ko = var_ionic_concentrations__Ko;
00166     double var_time_independent_potassium_current__T = var_membrane__T;
00167     double var_time_independent_potassium_current__E_K = ((var_time_independent_potassium_current__R * var_time_independent_potassium_current__T) / var_time_independent_potassium_current__F) * log(var_time_independent_potassium_current__Ko / var_time_independent_potassium_current__Ki);
00168     double var_rapid_delayed_rectifier_potassium_current__E_K = var_time_independent_potassium_current__E_K;
00169     double var_rapid_delayed_rectifier_potassium_current__i_Kr = mScaleFactorGkr*var_rapid_delayed_rectifier_potassium_current__g_Kr * var_rapid_delayed_rectifier_potassium_current__xr * var_rapid_delayed_rectifier_potassium_current__Rect * (var_rapid_delayed_rectifier_potassium_current__V - var_rapid_delayed_rectifier_potassium_current__E_K);
00170     double var_membrane__i_Kr = var_rapid_delayed_rectifier_potassium_current__i_Kr;
00171     double var_slow_delayed_rectifier_potassium_current__xs2 = var_slow_delayed_rectifier_potassium_current_xs2_gate__xs2;
00172     double var_slow_delayed_rectifier_potassium_current__Nai = var_ionic_concentrations__Nai;
00173     double var_slow_delayed_rectifier_potassium_current__Nao = var_ionic_concentrations__Nao;
00174     double var_slow_delayed_rectifier_potassium_current__F = var_membrane__F;
00175     const double var_slow_delayed_rectifier_potassium_current__PNaK = 0.01833;
00176     double var_slow_delayed_rectifier_potassium_current__Ko = var_ionic_concentrations__Ko;
00177     double var_slow_delayed_rectifier_potassium_current__R = var_membrane__R;
00178     double var_slow_delayed_rectifier_potassium_current__T = var_membrane__T;
00179     double var_slow_delayed_rectifier_potassium_current__Ki = var_ionic_concentrations__Ki;
00180     double var_slow_delayed_rectifier_potassium_current__E_Ks = ((var_slow_delayed_rectifier_potassium_current__R * var_slow_delayed_rectifier_potassium_current__T) / var_slow_delayed_rectifier_potassium_current__F) * log((var_slow_delayed_rectifier_potassium_current__Ko + (var_slow_delayed_rectifier_potassium_current__PNaK * var_slow_delayed_rectifier_potassium_current__Nao)) / (var_slow_delayed_rectifier_potassium_current__Ki + (var_slow_delayed_rectifier_potassium_current__PNaK * var_slow_delayed_rectifier_potassium_current__Nai)));
00181     double var_slow_delayed_rectifier_potassium_current__xs1 = var_slow_delayed_rectifier_potassium_current_xs1_gate__xs1;
00182     double var_slow_delayed_rectifier_potassium_current__Cai = var_calcium_dynamics__Cai;
00183     double var_slow_delayed_rectifier_potassium_current__g_Ks = 0.433 * (1.0 + (0.6 / (1.0 + pow(3.8e-05 / var_slow_delayed_rectifier_potassium_current__Cai, 1.4))));
00184     double var_slow_delayed_rectifier_potassium_current__V = var_membrane__V;
00185     double var_slow_delayed_rectifier_potassium_current__i_Ks = mScaleFactorGks*var_slow_delayed_rectifier_potassium_current__g_Ks * var_slow_delayed_rectifier_potassium_current__xs1 * var_slow_delayed_rectifier_potassium_current__xs2 * (var_slow_delayed_rectifier_potassium_current__V - var_slow_delayed_rectifier_potassium_current__E_Ks);
00186     double var_membrane__i_Ks = var_slow_delayed_rectifier_potassium_current__i_Ks;
00187     double var_sodium_activated_potassium_current__V = var_membrane__V;
00188     double var_sodium_activated_potassium_current__pov = 0.8 - (0.65 / (1.0 + exp((var_sodium_activated_potassium_current__V + 125.0) / 15.0)));
00189     double var_sodium_activated_potassium_current__g_K_Na = 0.0 * 0.12848;
00190     const double var_sodium_activated_potassium_current__nKNa = 2.8;
00191     double var_sodium_activated_potassium_current__Nai = var_ionic_concentrations__Nai;
00192     const double var_sodium_activated_potassium_current__kdKNa = 66.0;
00193     double var_sodium_activated_potassium_current__pona = 0.85 / (1.0 + pow(var_sodium_activated_potassium_current__kdKNa / var_sodium_activated_potassium_current__Nai, var_sodium_activated_potassium_current__nKNa));
00194     double var_sodium_activated_potassium_current__E_K = var_time_independent_potassium_current__E_K;
00195     double var_sodium_activated_potassium_current__i_K_Na = var_sodium_activated_potassium_current__g_K_Na * var_sodium_activated_potassium_current__pona * var_sodium_activated_potassium_current__pov * (var_sodium_activated_potassium_current__V - var_sodium_activated_potassium_current__E_K);
00196     double var_membrane__i_K_Na = var_sodium_activated_potassium_current__i_K_Na;
00197     double var_ATP_sensitive_potassium_current__V = var_membrane__V;
00198     const double var_ATP_sensitive_potassium_current__nATP = 0.24;
00199     const double var_ATP_sensitive_potassium_current__hATP = 2.0;
00200     const double var_ATP_sensitive_potassium_current__ATPi = 3.0;
00201     const double var_ATP_sensitive_potassium_current__kATP = 0.00025;
00202     double var_ATP_sensitive_potassium_current__pATP = 1.0 / (1.0 + pow(var_ATP_sensitive_potassium_current__ATPi / var_ATP_sensitive_potassium_current__kATP, var_ATP_sensitive_potassium_current__hATP));
00203     const double var_ATP_sensitive_potassium_current__i_K_ATP_on = 1.0;
00204     const double var_ATP_sensitive_potassium_current__nicholsarea = 5e-05;
00205     double var_ATP_sensitive_potassium_current__g_K_ATP = (var_ATP_sensitive_potassium_current__i_K_ATP_on * 0.000193) / var_ATP_sensitive_potassium_current__nicholsarea;
00206     double var_ATP_sensitive_potassium_current__Ko = var_ionic_concentrations__Ko;
00207     double var_ATP_sensitive_potassium_current__GKbaraATP = var_ATP_sensitive_potassium_current__g_K_ATP * var_ATP_sensitive_potassium_current__pATP * pow(var_ATP_sensitive_potassium_current__Ko / 4.0, var_ATP_sensitive_potassium_current__nATP);
00208     double var_ATP_sensitive_potassium_current__E_K = var_time_independent_potassium_current__E_K;
00209     double var_ATP_sensitive_potassium_current__i_K_ATP = var_ATP_sensitive_potassium_current__GKbaraATP * (var_ATP_sensitive_potassium_current__V - var_ATP_sensitive_potassium_current__E_K);
00210     double var_membrane__i_K_ATP = var_ATP_sensitive_potassium_current__i_K_ATP;
00211     double var_transient_outward_current__g_to = mScaleFactorIto* 0.5;
00212     double var_transient_outward_current__V = var_membrane__V;
00213     double var_transient_outward_current__E_K = var_time_independent_potassium_current__E_K;
00214     double var_transient_outward_current__zdv = var_transient_outward_current_zdv_gate__zdv;
00215     double var_transient_outward_current__ydv = var_transient_outward_current_ydv_gate__ydv;
00216     double var_transient_outward_current__rvdv = exp(var_transient_outward_current__V / 100.0);
00217     double var_transient_outward_current__i_to = var_transient_outward_current__g_to * pow(var_transient_outward_current__zdv, 3.0) * var_transient_outward_current__ydv * var_transient_outward_current__rvdv * (var_transient_outward_current__V - var_transient_outward_current__E_K);
00218     double var_membrane__i_to = var_transient_outward_current__i_to;
00219     double var_Na_Ca_exchanger__Nao = var_ionic_concentrations__Nao;
00220     double var_Na_Ca_exchanger__F = var_membrane__F;
00221     const double var_Na_Ca_exchanger__gamma = 0.15;
00222     double var_Na_Ca_exchanger__Nai = var_ionic_concentrations__Nai;
00223     const double var_Na_Ca_exchanger__c1 = 0.00025;
00224     const double var_Na_Ca_exchanger__c2 = 0.0001;
00225     double var_Na_Ca_exchanger__T = var_membrane__T;
00226     double var_Na_Ca_exchanger__Cao = var_calcium_dynamics__Cao;
00227     double var_Na_Ca_exchanger__V = var_membrane__V;
00228     double var_Na_Ca_exchanger__R = var_membrane__R;
00229     double var_Na_Ca_exchanger__Cai = var_calcium_dynamics__Cai;
00230     double var_Na_Ca_exchanger__i_NaCa = (var_Na_Ca_exchanger__c1 * exp(((var_Na_Ca_exchanger__gamma - 1.0) * var_Na_Ca_exchanger__V * var_Na_Ca_exchanger__F) / (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) * ((exp((var_Na_Ca_exchanger__V * var_Na_Ca_exchanger__F) / (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) * pow(var_Na_Ca_exchanger__Nai, 3.0) * var_Na_Ca_exchanger__Cao) - (pow(var_Na_Ca_exchanger__Nao, 3.0) * var_Na_Ca_exchanger__Cai))) / (1.0 + (var_Na_Ca_exchanger__c2 * exp(((var_Na_Ca_exchanger__gamma - 1.0) * var_Na_Ca_exchanger__V * var_Na_Ca_exchanger__F) / (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) * ((exp((var_Na_Ca_exchanger__V * var_Na_Ca_exchanger__F) / (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) * pow(var_Na_Ca_exchanger__Nai, 3.0) * var_Na_Ca_exchanger__Cao) + (pow(var_Na_Ca_exchanger__Nao, 3.0) * var_Na_Ca_exchanger__Cai))));
00231     double var_membrane__i_NaCa = var_Na_Ca_exchanger__i_NaCa;
00232     double var_time_independent_potassium_current__V = var_membrane__V;
00233     double var_time_independent_potassium_current_K1_gate__V = var_time_independent_potassium_current__V;
00234     double var_time_independent_potassium_current_K1_gate__E_K = var_time_independent_potassium_current__E_K;
00235     double var_time_independent_potassium_current_K1_gate__beta_K1 = (1000.0 * ((0.49124 * exp(0.08032 * ((var_time_independent_potassium_current_K1_gate__V - var_time_independent_potassium_current_K1_gate__E_K) + 5.476))) + exp(0.06175 * ((var_time_independent_potassium_current_K1_gate__V - var_time_independent_potassium_current_K1_gate__E_K) - 594.31)))) / (1.0 + exp((-0.5143) * ((var_time_independent_potassium_current_K1_gate__V - var_time_independent_potassium_current_K1_gate__E_K) + 4.753)));
00236     double var_time_independent_potassium_current_K1_gate__alpha_K1 = 1020.0 / (1.0 + exp(0.2385 * ((var_time_independent_potassium_current_K1_gate__V - var_time_independent_potassium_current_K1_gate__E_K) - 59.215)));
00237     double var_time_independent_potassium_current_K1_gate__K1_infinity = var_time_independent_potassium_current_K1_gate__alpha_K1 / (var_time_independent_potassium_current_K1_gate__alpha_K1 + var_time_independent_potassium_current_K1_gate__beta_K1);
00238     double var_time_independent_potassium_current__K1_infinity = var_time_independent_potassium_current_K1_gate__K1_infinity;
00239     double var_time_independent_potassium_current__g_K1 = 0.75 * sqrt(var_time_independent_potassium_current__Ko / 5.4);
00240     double var_time_independent_potassium_current__i_K1 = var_time_independent_potassium_current__g_K1 * var_time_independent_potassium_current__K1_infinity * (var_time_independent_potassium_current__V - var_time_independent_potassium_current__E_K);
00241     double var_membrane__i_K1 = var_time_independent_potassium_current__i_K1;
00242     const double var_plateau_potassium_current__g_Kp = 0.00552;
00243     double var_plateau_potassium_current__V = var_membrane__V;
00244     double var_plateau_potassium_current__Kp = 1.0 / (1.0 + exp((7.488 - var_plateau_potassium_current__V) / 5.98));
00245     double var_plateau_potassium_current__E_K = var_time_independent_potassium_current__E_K;
00246     double var_plateau_potassium_current__i_Kp = var_plateau_potassium_current__g_Kp * var_plateau_potassium_current__Kp * (var_plateau_potassium_current__V - var_plateau_potassium_current__E_K);
00247     double var_membrane__i_Kp = var_plateau_potassium_current__i_Kp;
00248     const double var_sarcolemmal_calcium_pump__I_pCa = 1.15;
00249     double var_sarcolemmal_calcium_pump__Cai = var_calcium_dynamics__Cai;
00250     const double var_sarcolemmal_calcium_pump__K_mpCa = 0.0005;
00251     double var_sarcolemmal_calcium_pump__i_p_Ca = (var_sarcolemmal_calcium_pump__I_pCa * var_sarcolemmal_calcium_pump__Cai) / (var_sarcolemmal_calcium_pump__K_mpCa + var_sarcolemmal_calcium_pump__Cai);
00252     double var_membrane__i_p_Ca = var_sarcolemmal_calcium_pump__i_p_Ca;
00253     const double var_sodium_background_current__g_Nab = 0.004;
00254     double var_sodium_background_current__V = var_membrane__V;
00255     double var_sodium_background_current__E_Na = var_fast_sodium_current__E_Na;
00256     double var_sodium_background_current__i_Na_b = var_sodium_background_current__g_Nab * (var_sodium_background_current__V - var_sodium_background_current__E_Na);
00257     double var_membrane__i_Na_b = var_sodium_background_current__i_Na_b;
00258     const double var_calcium_background_current__g_Cab = 0.003016;
00259     double var_calcium_background_current__V = var_membrane__V;
00260     double var_calcium_background_current__i_Ca_b = var_calcium_background_current__g_Cab * (var_calcium_background_current__V - var_calcium_background_current__E_Ca);
00261     double var_membrane__i_Ca_b = var_calcium_background_current__i_Ca_b;
00262     double var_sodium_potassium_pump__Ko = var_ionic_concentrations__Ko;
00263     const double var_sodium_potassium_pump__K_mNai = 10.0;
00264     double var_sodium_potassium_pump__Nai = var_ionic_concentrations__Nai;
00265     double var_sodium_potassium_pump__V = var_membrane__V;
00266     double var_sodium_potassium_pump__F = var_membrane__F;
00267     double var_sodium_potassium_pump__T = var_membrane__T;
00268     double var_sodium_potassium_pump__Nao = var_ionic_concentrations__Nao;
00269     double var_sodium_potassium_pump__sigma = (1.0 / 7.0) * (exp(var_sodium_potassium_pump__Nao / 67.3) - 1.0);
00270     double var_sodium_potassium_pump__R = var_membrane__R;
00271     double var_sodium_potassium_pump__f_NaK = 1.0 / (1.0 + (0.1245 * exp(((-0.1) * var_sodium_potassium_pump__V * var_sodium_potassium_pump__F) / (var_sodium_potassium_pump__R * var_sodium_potassium_pump__T))) + (0.0365 * var_sodium_potassium_pump__sigma * exp(((-var_sodium_potassium_pump__V) * var_sodium_potassium_pump__F) / (var_sodium_potassium_pump__R * var_sodium_potassium_pump__T))));
00272     const double var_sodium_potassium_pump__I_NaK = 2.25;
00273     const double var_sodium_potassium_pump__K_mKo = 1.5;
00274     double var_sodium_potassium_pump__i_NaK = (((var_sodium_potassium_pump__I_NaK * var_sodium_potassium_pump__f_NaK * 1.0) / (1.0 + pow(var_sodium_potassium_pump__K_mNai / var_sodium_potassium_pump__Nai, 2.0))) * var_sodium_potassium_pump__Ko) / (var_sodium_potassium_pump__Ko + var_sodium_potassium_pump__K_mKo);
00275     double var_membrane__i_NaK = var_sodium_potassium_pump__i_NaK;
00276     double var_non_specific_calcium_activated_current__F = var_membrane__F;
00277     double var_non_specific_calcium_activated_current__R = var_membrane__R;
00278     double var_non_specific_calcium_activated_current__T = var_membrane__T;
00279     double var_non_specific_calcium_activated_current__V = var_membrane__V;
00280     double var_non_specific_calcium_activated_current__P_ns_Ca = 0.0 * 1.75e-07;
00281     double var_non_specific_calcium_activated_current__Nao = var_ionic_concentrations__Nao;
00282     double var_non_specific_calcium_activated_current__gamma_Nai = var_L_type_Ca_channel__gamma_Nai;
00283     double var_non_specific_calcium_activated_current__gamma_Nao = var_L_type_Ca_channel__gamma_Nao;
00284     double var_non_specific_calcium_activated_current__Nai = var_ionic_concentrations__Nai;
00285     double var_non_specific_calcium_activated_current__I_ns_Na = (((var_non_specific_calcium_activated_current__P_ns_Ca * pow(1.0, 2.0) * var_non_specific_calcium_activated_current__V * pow(var_non_specific_calcium_activated_current__F, 2.0)) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T)) * ((var_non_specific_calcium_activated_current__gamma_Nai * var_non_specific_calcium_activated_current__Nai * exp((1.0 * var_non_specific_calcium_activated_current__V * var_non_specific_calcium_activated_current__F) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T))) - (var_non_specific_calcium_activated_current__gamma_Nao * var_non_specific_calcium_activated_current__Nao))) / (exp((1.0 * var_non_specific_calcium_activated_current__V * var_non_specific_calcium_activated_current__F) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T)) - 1.0);
00286     const double var_non_specific_calcium_activated_current__K_m_ns_Ca = 0.0012;
00287     double var_non_specific_calcium_activated_current__Cai = var_calcium_dynamics__Cai;
00288     double var_non_specific_calcium_activated_current__i_ns_Na = (var_non_specific_calcium_activated_current__I_ns_Na * 1.0) / (1.0 + pow(var_non_specific_calcium_activated_current__K_m_ns_Ca / var_non_specific_calcium_activated_current__Cai, 3.0));
00289     double var_non_specific_calcium_activated_current__Ko = var_ionic_concentrations__Ko;
00290     double var_non_specific_calcium_activated_current__Ki = var_ionic_concentrations__Ki;
00291     double var_non_specific_calcium_activated_current__gamma_Ko = var_L_type_Ca_channel__gamma_Ko;
00292     double var_non_specific_calcium_activated_current__gamma_Ki = var_L_type_Ca_channel__gamma_Ki;
00293     double var_non_specific_calcium_activated_current__I_ns_K = (((var_non_specific_calcium_activated_current__P_ns_Ca * pow(1.0, 2.0) * var_non_specific_calcium_activated_current__V * pow(var_non_specific_calcium_activated_current__F, 2.0)) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T)) * ((var_non_specific_calcium_activated_current__gamma_Ki * var_non_specific_calcium_activated_current__Ki * exp((1.0 * var_non_specific_calcium_activated_current__V * var_non_specific_calcium_activated_current__F) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T))) - (var_non_specific_calcium_activated_current__gamma_Ko * var_non_specific_calcium_activated_current__Ko))) / (exp((1.0 * var_non_specific_calcium_activated_current__V * var_non_specific_calcium_activated_current__F) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T)) - 1.0);
00294     double var_non_specific_calcium_activated_current__i_ns_K = (var_non_specific_calcium_activated_current__I_ns_K * 1.0) / (1.0 + pow(var_non_specific_calcium_activated_current__K_m_ns_Ca / var_non_specific_calcium_activated_current__Cai, 3.0));
00295     double var_non_specific_calcium_activated_current__i_ns_Ca = var_non_specific_calcium_activated_current__i_ns_Na + var_non_specific_calcium_activated_current__i_ns_K;
00296     double var_membrane__i_ns_Ca = var_non_specific_calcium_activated_current__i_ns_Ca;
00297 
00298     return var_membrane__i_Na+var_membrane__i_Ca_L+var_membrane__i_Ca_T+var_membrane__i_Kr+var_membrane__i_Ks+var_membrane__i_K_Na+var_membrane__i_K_ATP+var_membrane__i_to+var_membrane__i_NaCa+var_membrane__i_K1+var_membrane__i_Kp+var_membrane__i_p_Ca+var_membrane__i_Na_b+var_membrane__i_Ca_b+var_membrane__i_NaK+var_membrane__i_ns_Ca;
00299 }
00300 
00301 void FaberRudy2000Version3::EvaluateYDerivatives (
00302                                 double var_environment__time,
00303                                 const std::vector<double> &rY,
00304                                 std::vector<double> &rDY)
00305 {
00306     // Inputs:
00307 // Time units: second, but input in ms
00308 var_environment__time *= 1e-3;
00309 double var_membrane__V = rY[0];
00310 // Units: millivolt; Initial value: -90
00311 double var_fast_sodium_current_m_gate__m = rY[1];
00312 // Units: dimensionless; Initial value: 0.0008
00313 double var_fast_sodium_current_h_gate__h = rY[2];
00314 // Units: dimensionless; Initial value: 0.993771
00315 double var_fast_sodium_current_j_gate__j = rY[3];
00316 // Units: dimensionless; Initial value: 0.995727
00317 double var_L_type_Ca_channel_d_gate__d = rY[4];
00318 // Units: dimensionless; Initial value: 3.210618e-6
00319 double var_L_type_Ca_channel_f_gate__f = rY[5];
00320 // Units: dimensionless; Initial value: 0.999837
00321 double var_T_type_Ca_channel_b_gate__b = rY[6];
00322 // Units: dimensionless; Initial value: 0.000970231
00323 double var_T_type_Ca_channel_g_gate__g = rY[7];
00324 // Units: dimensionless; Initial value: 0.994305
00325 double var_rapid_delayed_rectifier_potassium_current_xr_gate__xr = rY[8];
00326 // Units: dimensionless; Initial value: 0.000124042
00327 double var_slow_delayed_rectifier_potassium_current_xs1_gate__xs1 = rY[9];
00328 // Units: dimensionless; Initial value: 0.00445683
00329 double var_slow_delayed_rectifier_potassium_current_xs2_gate__xs2 = rY[10];
00330 // Units: dimensionless; Initial value: 0.00445683
00331 double var_transient_outward_current_zdv_gate__zdv = rY[11];
00332 // Units: dimensionless; Initial value: 0.5
00333 double var_transient_outward_current_ydv_gate__ydv = rY[12];
00334 // Units: dimensionless; Initial value: 0.5
00335 double var_calcium_dynamics__Cai = rY[13];
00336 // Units: millimolar; Initial value: 6e-5
00337 double var_calcium_dynamics__Ca_JSR = rY[14];
00338 // Units: millimolar; Initial value: 1.8
00339 double var_calcium_dynamics__Ca_NSR = rY[15];
00340 // Units: millimolar; Initial value: 1.8
00341 double var_calcium_dynamics__APtrack = rY[16];
00342 // Units: dimensionless; Initial value: 0
00343 double var_calcium_dynamics__APtrack2 = rY[17];
00344 // Units: dimensionless; Initial value: 0
00345 double var_calcium_dynamics__APtrack3 = rY[18];
00346 // Units: dimensionless; Initial value: 0
00347 double var_calcium_dynamics__Cainfluxtrack = rY[19];
00348 // Units: dimensionless; Initial value: 0
00349 double var_calcium_dynamics__OVRLDtrack = rY[20];
00350 // Units: dimensionless; Initial value: 0
00351 double var_calcium_dynamics__OVRLDtrack2 = rY[21];
00352 // Units: dimensionless; Initial value: 0
00353 double var_calcium_dynamics__OVRLDtrack3 = rY[22];
00354 // Units: dimensionless; Initial value: 0
00355 double var_ionic_concentrations__Nai = rY[23];
00356 // Units: millimolar; Initial value: 9
00357 double var_ionic_concentrations__Ki = rY[24];
00358 // Units: millimolar; Initial value: 141.2
00359 
00360 
00361 // Mathematics
00362 const double var_membrane__R = 8314.0;
00363 const double var_membrane__T = 310.0;
00364 const double var_membrane__F = 96485.0;
00365 const double var_membrane__Cm = 0.001;
00366 //        const double var_membrane__stim_end = 100000.0;
00367 //        const double var_membrane__stim_amplitude =  -25.5;
00368 //        double var_membrane__time = var_environment__time;
00369 //        const double var_membrane__stim_duration = 0.002;
00370 //        const double var_membrane__stim_period = 1.0;
00371 //        const double var_membrane__stim_start = 0.1;
00372 //        double var_membrane__I_st = ((var_membrane__time >= var_membrane__stim_start) && (var_membrane__time <= var_membrane__stim_end) && (((var_membrane__time - var_membrane__stim_start) - (floor((var_membrane__time - var_membrane__stim_start) / var_membrane__stim_period) * var_membrane__stim_period)) <= var_membrane__stim_duration)) ? var_membrane__stim_amplitude : 0.0;
00373     double var_membrane__I_st = GetStimulus(var_environment__time*1000);
00374     double var_fast_sodium_current__j = var_fast_sodium_current_j_gate__j;
00375     double var_fast_sodium_current__h = var_fast_sodium_current_h_gate__h;
00376     const double var_fast_sodium_current__g_Na = 16.0;
00377     double var_fast_sodium_current__m = var_fast_sodium_current_m_gate__m;
00378     double var_fast_sodium_current__V = var_membrane__V;
00379     double var_fast_sodium_current__R = var_membrane__R;
00380     double var_fast_sodium_current__F = var_membrane__F;
00381     const double var_ionic_concentrations__Nao = 132.0;
00382     double var_fast_sodium_current__Nao = var_ionic_concentrations__Nao;
00383     double var_fast_sodium_current__Nai = var_ionic_concentrations__Nai;
00384     double var_fast_sodium_current__T = var_membrane__T;
00385     double var_fast_sodium_current__E_Na = ((var_fast_sodium_current__R * var_fast_sodium_current__T) / var_fast_sodium_current__F) * log(var_fast_sodium_current__Nao / var_fast_sodium_current__Nai);
00386     double var_fast_sodium_current__i_Na = var_fast_sodium_current__g_Na * pow(var_fast_sodium_current__m, 3.0) * var_fast_sodium_current__h * var_fast_sodium_current__j * (var_fast_sodium_current__V - var_fast_sodium_current__E_Na);
00387     double var_membrane__i_Na = var_fast_sodium_current__i_Na;
00388     double var_L_type_Ca_channel__d = var_L_type_Ca_channel_d_gate__d;
00389     double var_L_type_Ca_channel__f = var_L_type_Ca_channel_f_gate__f;
00390     const double var_L_type_Ca_channel_f_Ca_gate__Km_Ca = 0.0006;
00391     double var_L_type_Ca_channel__Cai = var_calcium_dynamics__Cai;
00392     double var_L_type_Ca_channel_f_Ca_gate__Cai = var_L_type_Ca_channel__Cai;
00393     double var_L_type_Ca_channel_f_Ca_gate__f_Ca = 1.0 / (1.0 + (var_L_type_Ca_channel_f_Ca_gate__Cai / var_L_type_Ca_channel_f_Ca_gate__Km_Ca));
00394     double var_L_type_Ca_channel__f_Ca = var_L_type_Ca_channel_f_Ca_gate__f_Ca;
00395     const double var_L_type_Ca_channel__gamma_Cai = 1.0;
00396     const double var_L_type_Ca_channel__gamma_Cao = 0.341;
00397     const double var_calcium_dynamics__Cao = 1.8;
00398     double var_L_type_Ca_channel__Cao = var_calcium_dynamics__Cao;
00399     double var_L_type_Ca_channel__F = var_membrane__F;
00400     const double var_L_type_Ca_channel__P_Ca = 0.00054;
00401     double var_L_type_Ca_channel__T = var_membrane__T;
00402     double var_L_type_Ca_channel__V = var_membrane__V;
00403     double var_L_type_Ca_channel__R = var_membrane__R;
00404     double var_L_type_Ca_channel__I_CaCa = (((var_L_type_Ca_channel__P_Ca * pow(2.0, 2.0) * var_L_type_Ca_channel__V * pow(var_L_type_Ca_channel__F, 2.0)) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) * ((var_L_type_Ca_channel__gamma_Cai * var_L_type_Ca_channel__Cai * exp((2.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__gamma_Cao * var_L_type_Ca_channel__Cao))) / (exp((2.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) - 1.0);
00405     double var_L_type_Ca_channel__i_CaCa = var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f_Ca * var_L_type_Ca_channel__I_CaCa;
00406     const double var_L_type_Ca_channel__P_Na = 6.75e-07;
00407     const double var_L_type_Ca_channel__gamma_Nao = 0.75;
00408     double var_L_type_Ca_channel__Nao = var_ionic_concentrations__Nao;
00409     double var_L_type_Ca_channel__Nai = var_ionic_concentrations__Nai;
00410     const double var_L_type_Ca_channel__gamma_Nai = 0.75;
00411     double var_L_type_Ca_channel__I_CaNa = (((var_L_type_Ca_channel__P_Na * pow(1.0, 2.0) * var_L_type_Ca_channel__V * pow(var_L_type_Ca_channel__F, 2.0)) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) * ((var_L_type_Ca_channel__gamma_Nai * var_L_type_Ca_channel__Nai * exp((1.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__gamma_Nao * var_L_type_Ca_channel__Nao))) / (exp((1.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) - 1.0);
00412     double var_L_type_Ca_channel__i_CaNa = var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f_Ca * var_L_type_Ca_channel__I_CaNa;
00413     const double var_ionic_concentrations__Ko = 4.5;
00414     double var_L_type_Ca_channel__Ko = var_ionic_concentrations__Ko;
00415     double var_L_type_Ca_channel__Ki = var_ionic_concentrations__Ki;
00416     const double var_L_type_Ca_channel__P_K = 1.93e-07;
00417     const double var_L_type_Ca_channel__gamma_Ki = 0.75;
00418     const double var_L_type_Ca_channel__gamma_Ko = 0.75;
00419     double var_L_type_Ca_channel__I_CaK = (((var_L_type_Ca_channel__P_K * pow(1.0, 2.0) * var_L_type_Ca_channel__V * pow(var_L_type_Ca_channel__F, 2.0)) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) * ((var_L_type_Ca_channel__gamma_Ki * var_L_type_Ca_channel__Ki * exp((1.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T))) - (var_L_type_Ca_channel__gamma_Ko * var_L_type_Ca_channel__Ko))) / (exp((1.0 * var_L_type_Ca_channel__V * var_L_type_Ca_channel__F) / (var_L_type_Ca_channel__R * var_L_type_Ca_channel__T)) - 1.0);
00420     double var_L_type_Ca_channel__i_CaK = var_L_type_Ca_channel__d * var_L_type_Ca_channel__f * var_L_type_Ca_channel__f_Ca * var_L_type_Ca_channel__I_CaK;
00421     double var_L_type_Ca_channel__i_Ca_L = var_L_type_Ca_channel__i_CaCa + var_L_type_Ca_channel__i_CaK + var_L_type_Ca_channel__i_CaNa;
00422     double var_membrane__i_Ca_L = var_L_type_Ca_channel__i_Ca_L;
00423     double var_T_type_Ca_channel__V = var_membrane__V;
00424     double var_T_type_Ca_channel__g = var_T_type_Ca_channel_g_gate__g;
00425     const double var_T_type_Ca_channel__g_CaT = 0.05;
00426     double var_T_type_Ca_channel__b = var_T_type_Ca_channel_b_gate__b;
00427     double var_calcium_background_current__R = var_membrane__R;
00428     double var_calcium_background_current__Cai = var_calcium_dynamics__Cai;
00429     double var_calcium_background_current__F = var_membrane__F;
00430     double var_calcium_background_current__T = var_membrane__T;
00431     double var_calcium_background_current__Cao = var_calcium_dynamics__Cao;
00432     double var_calcium_background_current__E_Ca = ((var_calcium_background_current__R * var_calcium_background_current__T) / (2.0 * var_calcium_background_current__F)) * log(var_calcium_background_current__Cao / var_calcium_background_current__Cai);
00433     double var_T_type_Ca_channel__E_Ca = var_calcium_background_current__E_Ca;
00434     double var_T_type_Ca_channel__i_Ca_T = var_T_type_Ca_channel__g_CaT * var_T_type_Ca_channel__b * var_T_type_Ca_channel__b * var_T_type_Ca_channel__g * (var_T_type_Ca_channel__V - var_T_type_Ca_channel__E_Ca);
00435     double var_membrane__i_Ca_T = var_T_type_Ca_channel__i_Ca_T;
00436     double var_rapid_delayed_rectifier_potassium_current__Ko = var_ionic_concentrations__Ko;
00437     double var_rapid_delayed_rectifier_potassium_current__g_Kr = 0.02614 * sqrt(var_rapid_delayed_rectifier_potassium_current__Ko / 5.4);
00438     double var_rapid_delayed_rectifier_potassium_current__V = var_membrane__V;
00439     double var_rapid_delayed_rectifier_potassium_current__xr = var_rapid_delayed_rectifier_potassium_current_xr_gate__xr;
00440     double var_rapid_delayed_rectifier_potassium_current__Rect = 1.0 / (1.0 + exp((var_rapid_delayed_rectifier_potassium_current__V + 9.0) / 22.4));
00441     double var_time_independent_potassium_current__Ki = var_ionic_concentrations__Ki;
00442     double var_time_independent_potassium_current__R = var_membrane__R;
00443     double var_time_independent_potassium_current__F = var_membrane__F;
00444     double var_time_independent_potassium_current__Ko = var_ionic_concentrations__Ko;
00445     double var_time_independent_potassium_current__T = var_membrane__T;
00446     double var_time_independent_potassium_current__E_K = ((var_time_independent_potassium_current__R * var_time_independent_potassium_current__T) / var_time_independent_potassium_current__F) * log(var_time_independent_potassium_current__Ko / var_time_independent_potassium_current__Ki);
00447     double var_rapid_delayed_rectifier_potassium_current__E_K = var_time_independent_potassium_current__E_K;
00448     double var_rapid_delayed_rectifier_potassium_current__i_Kr = mScaleFactorGkr*var_rapid_delayed_rectifier_potassium_current__g_Kr * var_rapid_delayed_rectifier_potassium_current__xr * var_rapid_delayed_rectifier_potassium_current__Rect * (var_rapid_delayed_rectifier_potassium_current__V - var_rapid_delayed_rectifier_potassium_current__E_K);
00449     double var_membrane__i_Kr = var_rapid_delayed_rectifier_potassium_current__i_Kr;
00450     double var_slow_delayed_rectifier_potassium_current__xs2 = var_slow_delayed_rectifier_potassium_current_xs2_gate__xs2;
00451     double var_slow_delayed_rectifier_potassium_current__Nai = var_ionic_concentrations__Nai;
00452     double var_slow_delayed_rectifier_potassium_current__Nao = var_ionic_concentrations__Nao;
00453     double var_slow_delayed_rectifier_potassium_current__F = var_membrane__F;
00454     const double var_slow_delayed_rectifier_potassium_current__PNaK = 0.01833;
00455     double var_slow_delayed_rectifier_potassium_current__Ko = var_ionic_concentrations__Ko;
00456     double var_slow_delayed_rectifier_potassium_current__R = var_membrane__R;
00457     double var_slow_delayed_rectifier_potassium_current__T = var_membrane__T;
00458     double var_slow_delayed_rectifier_potassium_current__Ki = var_ionic_concentrations__Ki;
00459     double var_slow_delayed_rectifier_potassium_current__E_Ks = ((var_slow_delayed_rectifier_potassium_current__R * var_slow_delayed_rectifier_potassium_current__T) / var_slow_delayed_rectifier_potassium_current__F) * log((var_slow_delayed_rectifier_potassium_current__Ko + (var_slow_delayed_rectifier_potassium_current__PNaK * var_slow_delayed_rectifier_potassium_current__Nao)) / (var_slow_delayed_rectifier_potassium_current__Ki + (var_slow_delayed_rectifier_potassium_current__PNaK * var_slow_delayed_rectifier_potassium_current__Nai)));
00460     double var_slow_delayed_rectifier_potassium_current__xs1 = var_slow_delayed_rectifier_potassium_current_xs1_gate__xs1;
00461     double var_slow_delayed_rectifier_potassium_current__Cai = var_calcium_dynamics__Cai;
00462     double var_slow_delayed_rectifier_potassium_current__g_Ks = 0.433 * (1.0 + (0.6 / (1.0 + pow(3.8e-05 / var_slow_delayed_rectifier_potassium_current__Cai, 1.4))));
00463     double var_slow_delayed_rectifier_potassium_current__V = var_membrane__V;
00464     double var_slow_delayed_rectifier_potassium_current__i_Ks = mScaleFactorGks*var_slow_delayed_rectifier_potassium_current__g_Ks * var_slow_delayed_rectifier_potassium_current__xs1 * var_slow_delayed_rectifier_potassium_current__xs2 * (var_slow_delayed_rectifier_potassium_current__V - var_slow_delayed_rectifier_potassium_current__E_Ks);
00465     double var_membrane__i_Ks = var_slow_delayed_rectifier_potassium_current__i_Ks;
00466     double var_sodium_activated_potassium_current__V = var_membrane__V;
00467     double var_sodium_activated_potassium_current__pov = 0.8 - (0.65 / (1.0 + exp((var_sodium_activated_potassium_current__V + 125.0) / 15.0)));
00468     double var_sodium_activated_potassium_current__g_K_Na = 0.0 * 0.12848;
00469     const double var_sodium_activated_potassium_current__nKNa = 2.8;
00470     double var_sodium_activated_potassium_current__Nai = var_ionic_concentrations__Nai;
00471     const double var_sodium_activated_potassium_current__kdKNa = 66.0;
00472     double var_sodium_activated_potassium_current__pona = 0.85 / (1.0 + pow(var_sodium_activated_potassium_current__kdKNa / var_sodium_activated_potassium_current__Nai, var_sodium_activated_potassium_current__nKNa));
00473     double var_sodium_activated_potassium_current__E_K = var_time_independent_potassium_current__E_K;
00474     double var_sodium_activated_potassium_current__i_K_Na = var_sodium_activated_potassium_current__g_K_Na * var_sodium_activated_potassium_current__pona * var_sodium_activated_potassium_current__pov * (var_sodium_activated_potassium_current__V - var_sodium_activated_potassium_current__E_K);
00475     double var_membrane__i_K_Na = var_sodium_activated_potassium_current__i_K_Na;
00476     double var_ATP_sensitive_potassium_current__V = var_membrane__V;
00477     const double var_ATP_sensitive_potassium_current__nATP = 0.24;
00478     const double var_ATP_sensitive_potassium_current__hATP = 2.0;
00479     const double var_ATP_sensitive_potassium_current__ATPi = 3.0;
00480     const double var_ATP_sensitive_potassium_current__kATP = 0.00025;
00481     double var_ATP_sensitive_potassium_current__pATP = 1.0 / (1.0 + pow(var_ATP_sensitive_potassium_current__ATPi / var_ATP_sensitive_potassium_current__kATP, var_ATP_sensitive_potassium_current__hATP));
00482     const double var_ATP_sensitive_potassium_current__i_K_ATP_on = 1.0;
00483     const double var_ATP_sensitive_potassium_current__nicholsarea = 5e-05;
00484     double var_ATP_sensitive_potassium_current__g_K_ATP = (var_ATP_sensitive_potassium_current__i_K_ATP_on * 0.000193) / var_ATP_sensitive_potassium_current__nicholsarea;
00485     double var_ATP_sensitive_potassium_current__Ko = var_ionic_concentrations__Ko;
00486     double var_ATP_sensitive_potassium_current__GKbaraATP = var_ATP_sensitive_potassium_current__g_K_ATP * var_ATP_sensitive_potassium_current__pATP * pow(var_ATP_sensitive_potassium_current__Ko / 4.0, var_ATP_sensitive_potassium_current__nATP);
00487     double var_ATP_sensitive_potassium_current__E_K = var_time_independent_potassium_current__E_K;
00488     double var_ATP_sensitive_potassium_current__i_K_ATP = var_ATP_sensitive_potassium_current__GKbaraATP * (var_ATP_sensitive_potassium_current__V - var_ATP_sensitive_potassium_current__E_K);
00489     double var_membrane__i_K_ATP = var_ATP_sensitive_potassium_current__i_K_ATP;
00490     double var_transient_outward_current__g_to = mScaleFactorIto* 0.5;
00491     double var_transient_outward_current__V = var_membrane__V;
00492     double var_transient_outward_current__E_K = var_time_independent_potassium_current__E_K;
00493     double var_transient_outward_current__zdv = var_transient_outward_current_zdv_gate__zdv;
00494     double var_transient_outward_current__ydv = var_transient_outward_current_ydv_gate__ydv;
00495     double var_transient_outward_current__rvdv = exp(var_transient_outward_current__V / 100.0);
00496     double var_transient_outward_current__i_to = var_transient_outward_current__g_to * pow(var_transient_outward_current__zdv, 3.0) * var_transient_outward_current__ydv * var_transient_outward_current__rvdv * (var_transient_outward_current__V - var_transient_outward_current__E_K);
00497     double var_membrane__i_to = var_transient_outward_current__i_to;
00498     double var_Na_Ca_exchanger__Nao = var_ionic_concentrations__Nao;
00499     double var_Na_Ca_exchanger__F = var_membrane__F;
00500     const double var_Na_Ca_exchanger__gamma = 0.15;
00501     double var_Na_Ca_exchanger__Nai = var_ionic_concentrations__Nai;
00502     const double var_Na_Ca_exchanger__c1 = 0.00025;
00503     const double var_Na_Ca_exchanger__c2 = 0.0001;
00504     double var_Na_Ca_exchanger__T = var_membrane__T;
00505     double var_Na_Ca_exchanger__Cao = var_calcium_dynamics__Cao;
00506     double var_Na_Ca_exchanger__V = var_membrane__V;
00507     double var_Na_Ca_exchanger__R = var_membrane__R;
00508     double var_Na_Ca_exchanger__Cai = var_calcium_dynamics__Cai;
00509     double var_Na_Ca_exchanger__i_NaCa = (var_Na_Ca_exchanger__c1 * exp(((var_Na_Ca_exchanger__gamma - 1.0) * var_Na_Ca_exchanger__V * var_Na_Ca_exchanger__F) / (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) * ((exp((var_Na_Ca_exchanger__V * var_Na_Ca_exchanger__F) / (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) * pow(var_Na_Ca_exchanger__Nai, 3.0) * var_Na_Ca_exchanger__Cao) - (pow(var_Na_Ca_exchanger__Nao, 3.0) * var_Na_Ca_exchanger__Cai))) / (1.0 + (var_Na_Ca_exchanger__c2 * exp(((var_Na_Ca_exchanger__gamma - 1.0) * var_Na_Ca_exchanger__V * var_Na_Ca_exchanger__F) / (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) * ((exp((var_Na_Ca_exchanger__V * var_Na_Ca_exchanger__F) / (var_Na_Ca_exchanger__R * var_Na_Ca_exchanger__T)) * pow(var_Na_Ca_exchanger__Nai, 3.0) * var_Na_Ca_exchanger__Cao) + (pow(var_Na_Ca_exchanger__Nao, 3.0) * var_Na_Ca_exchanger__Cai))));
00510     double var_membrane__i_NaCa = var_Na_Ca_exchanger__i_NaCa;
00511     double var_time_independent_potassium_current__V = var_membrane__V;
00512     double var_time_independent_potassium_current_K1_gate__V = var_time_independent_potassium_current__V;
00513     double var_time_independent_potassium_current_K1_gate__E_K = var_time_independent_potassium_current__E_K;
00514     double var_time_independent_potassium_current_K1_gate__beta_K1 = (1000.0 * ((0.49124 * exp(0.08032 * ((var_time_independent_potassium_current_K1_gate__V - var_time_independent_potassium_current_K1_gate__E_K) + 5.476))) + exp(0.06175 * ((var_time_independent_potassium_current_K1_gate__V - var_time_independent_potassium_current_K1_gate__E_K) - 594.31)))) / (1.0 + exp((-0.5143) * ((var_time_independent_potassium_current_K1_gate__V - var_time_independent_potassium_current_K1_gate__E_K) + 4.753)));
00515     double var_time_independent_potassium_current_K1_gate__alpha_K1 = 1020.0 / (1.0 + exp(0.2385 * ((var_time_independent_potassium_current_K1_gate__V - var_time_independent_potassium_current_K1_gate__E_K) - 59.215)));
00516     double var_time_independent_potassium_current_K1_gate__K1_infinity = var_time_independent_potassium_current_K1_gate__alpha_K1 / (var_time_independent_potassium_current_K1_gate__alpha_K1 + var_time_independent_potassium_current_K1_gate__beta_K1);
00517     double var_time_independent_potassium_current__K1_infinity = var_time_independent_potassium_current_K1_gate__K1_infinity;
00518     double var_time_independent_potassium_current__g_K1 = 0.75 * sqrt(var_time_independent_potassium_current__Ko / 5.4);
00519     double var_time_independent_potassium_current__i_K1 = var_time_independent_potassium_current__g_K1 * var_time_independent_potassium_current__K1_infinity * (var_time_independent_potassium_current__V - var_time_independent_potassium_current__E_K);
00520     double var_membrane__i_K1 = var_time_independent_potassium_current__i_K1;
00521     const double var_plateau_potassium_current__g_Kp = 0.00552;
00522     double var_plateau_potassium_current__V = var_membrane__V;
00523     double var_plateau_potassium_current__Kp = 1.0 / (1.0 + exp((7.488 - var_plateau_potassium_current__V) / 5.98));
00524     double var_plateau_potassium_current__E_K = var_time_independent_potassium_current__E_K;
00525     double var_plateau_potassium_current__i_Kp = var_plateau_potassium_current__g_Kp * var_plateau_potassium_current__Kp * (var_plateau_potassium_current__V - var_plateau_potassium_current__E_K);
00526     double var_membrane__i_Kp = var_plateau_potassium_current__i_Kp;
00527     const double var_sarcolemmal_calcium_pump__I_pCa = 1.15;
00528     double var_sarcolemmal_calcium_pump__Cai = var_calcium_dynamics__Cai;
00529     const double var_sarcolemmal_calcium_pump__K_mpCa = 0.0005;
00530     double var_sarcolemmal_calcium_pump__i_p_Ca = (var_sarcolemmal_calcium_pump__I_pCa * var_sarcolemmal_calcium_pump__Cai) / (var_sarcolemmal_calcium_pump__K_mpCa + var_sarcolemmal_calcium_pump__Cai);
00531     double var_membrane__i_p_Ca = var_sarcolemmal_calcium_pump__i_p_Ca;
00532     const double var_sodium_background_current__g_Nab = 0.004;
00533     double var_sodium_background_current__V = var_membrane__V;
00534     double var_sodium_background_current__E_Na = var_fast_sodium_current__E_Na;
00535     double var_sodium_background_current__i_Na_b = var_sodium_background_current__g_Nab * (var_sodium_background_current__V - var_sodium_background_current__E_Na);
00536     double var_membrane__i_Na_b = var_sodium_background_current__i_Na_b;
00537     const double var_calcium_background_current__g_Cab = 0.003016;
00538     double var_calcium_background_current__V = var_membrane__V;
00539     double var_calcium_background_current__i_Ca_b = var_calcium_background_current__g_Cab * (var_calcium_background_current__V - var_calcium_background_current__E_Ca);
00540     double var_membrane__i_Ca_b = var_calcium_background_current__i_Ca_b;
00541     double var_sodium_potassium_pump__Ko = var_ionic_concentrations__Ko;
00542     const double var_sodium_potassium_pump__K_mNai = 10.0;
00543     double var_sodium_potassium_pump__Nai = var_ionic_concentrations__Nai;
00544     double var_sodium_potassium_pump__V = var_membrane__V;
00545     double var_sodium_potassium_pump__F = var_membrane__F;
00546     double var_sodium_potassium_pump__T = var_membrane__T;
00547     double var_sodium_potassium_pump__Nao = var_ionic_concentrations__Nao;
00548     double var_sodium_potassium_pump__sigma = (1.0 / 7.0) * (exp(var_sodium_potassium_pump__Nao / 67.3) - 1.0);
00549     double var_sodium_potassium_pump__R = var_membrane__R;
00550     double var_sodium_potassium_pump__f_NaK = 1.0 / (1.0 + (0.1245 * exp(((-0.1) * var_sodium_potassium_pump__V * var_sodium_potassium_pump__F) / (var_sodium_potassium_pump__R * var_sodium_potassium_pump__T))) + (0.0365 * var_sodium_potassium_pump__sigma * exp(((-var_sodium_potassium_pump__V) * var_sodium_potassium_pump__F) / (var_sodium_potassium_pump__R * var_sodium_potassium_pump__T))));
00551     const double var_sodium_potassium_pump__I_NaK = 2.25;
00552     const double var_sodium_potassium_pump__K_mKo = 1.5;
00553     double var_sodium_potassium_pump__i_NaK = (((var_sodium_potassium_pump__I_NaK * var_sodium_potassium_pump__f_NaK * 1.0) / (1.0 + pow(var_sodium_potassium_pump__K_mNai / var_sodium_potassium_pump__Nai, 2.0))) * var_sodium_potassium_pump__Ko) / (var_sodium_potassium_pump__Ko + var_sodium_potassium_pump__K_mKo);
00554     double var_membrane__i_NaK = var_sodium_potassium_pump__i_NaK;
00555     double var_non_specific_calcium_activated_current__F = var_membrane__F;
00556     double var_non_specific_calcium_activated_current__R = var_membrane__R;
00557     double var_non_specific_calcium_activated_current__T = var_membrane__T;
00558     double var_non_specific_calcium_activated_current__V = var_membrane__V;
00559     double var_non_specific_calcium_activated_current__P_ns_Ca = 0.0 * 1.75e-07;
00560     double var_non_specific_calcium_activated_current__Nao = var_ionic_concentrations__Nao;
00561     double var_non_specific_calcium_activated_current__gamma_Nai = var_L_type_Ca_channel__gamma_Nai;
00562     double var_non_specific_calcium_activated_current__gamma_Nao = var_L_type_Ca_channel__gamma_Nao;
00563     double var_non_specific_calcium_activated_current__Nai = var_ionic_concentrations__Nai;
00564     double var_non_specific_calcium_activated_current__I_ns_Na = (((var_non_specific_calcium_activated_current__P_ns_Ca * pow(1.0, 2.0) * var_non_specific_calcium_activated_current__V * pow(var_non_specific_calcium_activated_current__F, 2.0)) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T)) * ((var_non_specific_calcium_activated_current__gamma_Nai * var_non_specific_calcium_activated_current__Nai * exp((1.0 * var_non_specific_calcium_activated_current__V * var_non_specific_calcium_activated_current__F) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T))) - (var_non_specific_calcium_activated_current__gamma_Nao * var_non_specific_calcium_activated_current__Nao))) / (exp((1.0 * var_non_specific_calcium_activated_current__V * var_non_specific_calcium_activated_current__F) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T)) - 1.0);
00565     const double var_non_specific_calcium_activated_current__K_m_ns_Ca = 0.0012;
00566     double var_non_specific_calcium_activated_current__Cai = var_calcium_dynamics__Cai;
00567     double var_non_specific_calcium_activated_current__i_ns_Na = (var_non_specific_calcium_activated_current__I_ns_Na * 1.0) / (1.0 + pow(var_non_specific_calcium_activated_current__K_m_ns_Ca / var_non_specific_calcium_activated_current__Cai, 3.0));
00568     double var_non_specific_calcium_activated_current__Ko = var_ionic_concentrations__Ko;
00569     double var_non_specific_calcium_activated_current__Ki = var_ionic_concentrations__Ki;
00570     double var_non_specific_calcium_activated_current__gamma_Ko = var_L_type_Ca_channel__gamma_Ko;
00571     double var_non_specific_calcium_activated_current__gamma_Ki = var_L_type_Ca_channel__gamma_Ki;
00572     double var_non_specific_calcium_activated_current__I_ns_K = (((var_non_specific_calcium_activated_current__P_ns_Ca * pow(1.0, 2.0) * var_non_specific_calcium_activated_current__V * pow(var_non_specific_calcium_activated_current__F, 2.0)) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T)) * ((var_non_specific_calcium_activated_current__gamma_Ki * var_non_specific_calcium_activated_current__Ki * exp((1.0 * var_non_specific_calcium_activated_current__V * var_non_specific_calcium_activated_current__F) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T))) - (var_non_specific_calcium_activated_current__gamma_Ko * var_non_specific_calcium_activated_current__Ko))) / (exp((1.0 * var_non_specific_calcium_activated_current__V * var_non_specific_calcium_activated_current__F) / (var_non_specific_calcium_activated_current__R * var_non_specific_calcium_activated_current__T)) - 1.0);
00573     double var_non_specific_calcium_activated_current__i_ns_K = (var_non_specific_calcium_activated_current__I_ns_K * 1.0) / (1.0 + pow(var_non_specific_calcium_activated_current__K_m_ns_Ca / var_non_specific_calcium_activated_current__Cai, 3.0));
00574     double var_non_specific_calcium_activated_current__i_ns_Ca = var_non_specific_calcium_activated_current__i_ns_Na + var_non_specific_calcium_activated_current__i_ns_K;
00575     double var_membrane__i_ns_Ca = var_non_specific_calcium_activated_current__i_ns_Ca;
00576     double var_membrane__dVdt = ((-1.0) / var_membrane__Cm) * (var_membrane__i_Na + var_membrane__i_Ca_L + var_membrane__i_Ca_T + var_membrane__i_Kr + var_membrane__i_Ks + var_membrane__i_K_Na + var_membrane__i_K_ATP + var_membrane__i_to + var_membrane__i_K1 + var_membrane__i_Kp + var_membrane__i_NaCa + var_membrane__i_p_Ca + var_membrane__i_Na_b + var_membrane__i_Ca_b + var_membrane__i_NaK + var_membrane__i_ns_Ca + var_membrane__I_st);
00577     double var_fast_sodium_current_m_gate__V = var_fast_sodium_current__V;
00578     double var_fast_sodium_current_m_gate__E0_m = var_fast_sodium_current_m_gate__V + 47.13;
00579     const double var_fast_sodium_current_m_gate__delta_m = 1e-05;
00580     double var_fast_sodium_current_m_gate__alpha_m = (fabs(var_fast_sodium_current_m_gate__E0_m) >= var_fast_sodium_current_m_gate__delta_m) ? ((320.0 * var_fast_sodium_current_m_gate__E0_m) / (1.0 - exp((-0.1) * var_fast_sodium_current_m_gate__E0_m))) : 3200.0;
00581     double var_fast_sodium_current_m_gate__beta_m = 80.0 * exp((-var_fast_sodium_current_m_gate__V) / 11.0);
00582     double var_fast_sodium_current_h_gate__V = var_fast_sodium_current__V;
00583     double var_fast_sodium_current_h_gate__alpha_h = (var_fast_sodium_current_h_gate__V < (-40.0)) ? (135.0 * exp((80.0 + var_fast_sodium_current_h_gate__V) / (-6.8))) : 0.0;
00584     double var_fast_sodium_current_h_gate__beta_h = (var_fast_sodium_current_h_gate__V < (-40.0)) ? ((3560.0 * exp(0.079 * var_fast_sodium_current_h_gate__V)) + (310000000.0 * exp(0.35 * var_fast_sodium_current_h_gate__V))) : (1000.0 / (0.13 * (1.0 + exp((var_fast_sodium_current_h_gate__V + 10.66) / (-11.1)))));
00585     double var_fast_sodium_current_j_gate__V = var_fast_sodium_current__V;
00586     double var_fast_sodium_current_j_gate__alpha_j = (var_fast_sodium_current_j_gate__V < (-40.0)) ? ((1000.0 * (-((127140.0 * exp(0.2444 * var_fast_sodium_current_j_gate__V)) + (3.474e-05 * exp((-0.04391) * var_fast_sodium_current_j_gate__V)))) * (var_fast_sodium_current_j_gate__V + 37.78)) / (1.0 + exp(0.311 * (var_fast_sodium_current_j_gate__V + 79.23)))) : 0.0;
00587     double var_fast_sodium_current_j_gate__beta_j = (var_fast_sodium_current_j_gate__V < (-40.0)) ? ((121.2 * exp((-0.01052) * var_fast_sodium_current_j_gate__V)) / (1.0 + exp((-0.1378) * (var_fast_sodium_current_j_gate__V + 40.14)))) : ((300.0 * exp((-2.535e-07) * var_fast_sodium_current_j_gate__V)) / (1.0 + exp((-0.1) * (var_fast_sodium_current_j_gate__V + 32.0))));
00588     double var_L_type_Ca_channel_d_gate__V = var_L_type_Ca_channel__V;
00589     double var_L_type_Ca_channel_d_gate__E0_d = var_L_type_Ca_channel_d_gate__V + 10.0;
00590     double var_L_type_Ca_channel_d_gate__d_infinity = 1.0 / (1.0 + exp((-var_L_type_Ca_channel_d_gate__E0_d) / 6.24));
00591     double var_L_type_Ca_channel_d_gate__tau_d = (fabs(var_L_type_Ca_channel_d_gate__E0_d) < 1e-05) ? (0.001 / (0.035 * 6.24)) : ((0.001 * var_L_type_Ca_channel_d_gate__d_infinity * (1.0 - exp((-var_L_type_Ca_channel_d_gate__E0_d) / 6.24))) / (0.035 * var_L_type_Ca_channel_d_gate__E0_d));
00592     double var_L_type_Ca_channel_d_gate__alpha_d = var_L_type_Ca_channel_d_gate__d_infinity / var_L_type_Ca_channel_d_gate__tau_d;
00593     double var_L_type_Ca_channel_d_gate__beta_d = (1.0 - var_L_type_Ca_channel_d_gate__d_infinity) / var_L_type_Ca_channel_d_gate__tau_d;
00594     double var_L_type_Ca_channel_f_gate__V = var_L_type_Ca_channel__V;
00595     double var_L_type_Ca_channel_f_gate__f_infinity = (1.0 / (1.0 + exp((var_L_type_Ca_channel_f_gate__V + 32.0) / 8.0))) + (0.6 / (1.0 + exp((50.0 - var_L_type_Ca_channel_f_gate__V) / 20.0)));
00596     double var_L_type_Ca_channel_f_gate__tau_f = 0.001 / ((0.0197 * exp(-pow(0.0337 * (var_L_type_Ca_channel_f_gate__V + 10.0), 2.0))) + 0.02);
00597     double var_L_type_Ca_channel_f_gate__alpha_f = var_L_type_Ca_channel_f_gate__f_infinity / var_L_type_Ca_channel_f_gate__tau_f;
00598     double var_L_type_Ca_channel_f_gate__beta_f = (1.0 - var_L_type_Ca_channel_f_gate__f_infinity) / var_L_type_Ca_channel_f_gate__tau_f;
00599     double var_T_type_Ca_channel_b_gate__V = var_T_type_Ca_channel__V;
00600     double var_T_type_Ca_channel_b_gate__b_inf = 1.0 / (1.0 + exp((-(var_T_type_Ca_channel_b_gate__V + 14.0)) / 10.8));
00601     double var_T_type_Ca_channel_b_gate__tau_b = 0.0037 + (0.0061 / (1.0 + exp((var_T_type_Ca_channel_b_gate__V + 25.0) / 4.5)));
00602     double var_T_type_Ca_channel_g_gate__V = var_T_type_Ca_channel__V;
00603     double var_T_type_Ca_channel_g_gate__g_inf = 1.0 / (1.0 + exp((var_T_type_Ca_channel_g_gate__V + 60.0) / 5.6));
00604     double var_T_type_Ca_channel_g_gate__tau_g = (var_T_type_Ca_channel_g_gate__V <= 0.0) ? (((-0.000875) * var_T_type_Ca_channel_g_gate__V) + 0.012) : 0.012;
00605     double var_rapid_delayed_rectifier_potassium_current_xr_gate__V = var_rapid_delayed_rectifier_potassium_current__V;
00606     double var_rapid_delayed_rectifier_potassium_current_xr_gate__xr_infinity = 1.0 / (1.0 + exp((-(var_rapid_delayed_rectifier_potassium_current_xr_gate__V + 21.5)) / 7.5));
00607     double var_rapid_delayed_rectifier_potassium_current_xr_gate__tau_xr = 0.001 / (((0.00138 * (var_rapid_delayed_rectifier_potassium_current_xr_gate__V + 14.2)) / (1.0 - exp((-0.123) * (var_rapid_delayed_rectifier_potassium_current_xr_gate__V + 14.2)))) + ((0.00061 * (var_rapid_delayed_rectifier_potassium_current_xr_gate__V + 38.9)) / (exp(0.145 * (var_rapid_delayed_rectifier_potassium_current_xr_gate__V + 38.9)) - 1.0)));
00608     double var_slow_delayed_rectifier_potassium_current_xs1_gate__V = var_slow_delayed_rectifier_potassium_current__V;
00609     double var_slow_delayed_rectifier_potassium_current_xs1_gate__xs1_infinity = 1.0 / (1.0 + exp((-(var_slow_delayed_rectifier_potassium_current_xs1_gate__V - 1.5)) / 16.7));
00610     double var_slow_delayed_rectifier_potassium_current_xs1_gate__tau_xs1 = 0.001 / (((7.19e-05 * (var_slow_delayed_rectifier_potassium_current_xs1_gate__V + 30.0)) / (1.0 - exp((-0.148) * (var_slow_delayed_rectifier_potassium_current_xs1_gate__V + 30.0)))) + ((0.000131 * (var_slow_delayed_rectifier_potassium_current_xs1_gate__V + 30.0)) / (exp(0.0687 * (var_slow_delayed_rectifier_potassium_current_xs1_gate__V + 30.0)) - 1.0)));
00611     double var_slow_delayed_rectifier_potassium_current_xs2_gate__V = var_slow_delayed_rectifier_potassium_current__V;
00612     double var_slow_delayed_rectifier_potassium_current_xs2_gate__xs2_infinity = 1.0 / (1.0 + exp((-(var_slow_delayed_rectifier_potassium_current_xs2_gate__V - 1.5)) / 16.7));
00613     double var_slow_delayed_rectifier_potassium_current_xs2_gate__tau_xs2 = (4.0 * 0.001) / (((7.19e-05 * (var_slow_delayed_rectifier_potassium_current_xs2_gate__V + 30.0)) / (1.0 - exp((-0.148) * (var_slow_delayed_rectifier_potassium_current_xs2_gate__V + 30.0)))) + ((0.000131 * (var_slow_delayed_rectifier_potassium_current_xs2_gate__V + 30.0)) / (exp(0.0687 * (var_slow_delayed_rectifier_potassium_current_xs2_gate__V + 30.0)) - 1.0)));
00614     double var_transient_outward_current_zdv_gate__V = var_transient_outward_current__V;
00615     double var_transient_outward_current_zdv_gate__alpha_zdv = (10000.0 * exp((var_transient_outward_current_zdv_gate__V - 40.0) / 25.0)) / (1.0 + exp((var_transient_outward_current_zdv_gate__V - 40.0) / 25.0));
00616     double var_transient_outward_current_zdv_gate__beta_zdv = (10000.0 * exp((-(var_transient_outward_current_zdv_gate__V + 90.0)) / 25.0)) / (1.0 + exp((-(var_transient_outward_current_zdv_gate__V + 90.0)) / 25.0));
00617     double var_transient_outward_current_zdv_gate__tau_zdv = 1.0 / (var_transient_outward_current_zdv_gate__alpha_zdv + var_transient_outward_current_zdv_gate__beta_zdv);
00618     double var_transient_outward_current_zdv_gate__zdv_ss = var_transient_outward_current_zdv_gate__alpha_zdv / (var_transient_outward_current_zdv_gate__alpha_zdv + var_transient_outward_current_zdv_gate__beta_zdv);
00619     double var_transient_outward_current_ydv_gate__V = var_transient_outward_current__V;
00620     double var_transient_outward_current_ydv_gate__alpha_ydv = 15.0 / (1.0 + exp((var_transient_outward_current_ydv_gate__V + 60.0) / 5.0));
00621     double var_transient_outward_current_ydv_gate__beta_ydv = (100.0 * exp((var_transient_outward_current_ydv_gate__V + 25.0) / 5.0)) / (1.0 + exp((var_transient_outward_current_ydv_gate__V + 25.0) / 5.0));
00622     double var_transient_outward_current_ydv_gate__tau_ydv = 1.0 / (var_transient_outward_current_ydv_gate__alpha_ydv + var_transient_outward_current_ydv_gate__beta_ydv);
00623     double var_transient_outward_current_ydv_gate__ydv_ss = var_transient_outward_current_ydv_gate__alpha_ydv / (var_transient_outward_current_ydv_gate__alpha_ydv + var_transient_outward_current_ydv_gate__beta_ydv);
00624     const double var_calcium_dynamics__delta_Ca_ith = 0.00018;
00625     const double var_calcium_dynamics__K_mrel = 0.0008;
00626     const double var_calcium_dynamics__G_rel_max = 60000.0;
00627     const double var_calcium_dynamics__G_rel_overload = 4000.0;
00628     double var_calcium_dynamics__G_rel = (var_calcium_dynamics__Cainfluxtrack > var_calcium_dynamics__delta_Ca_ith) ? (((var_calcium_dynamics__G_rel_max * (var_calcium_dynamics__Cainfluxtrack - var_calcium_dynamics__delta_Ca_ith)) / ((var_calcium_dynamics__K_mrel + var_calcium_dynamics__Cainfluxtrack) - var_calcium_dynamics__delta_Ca_ith)) * (1.0 - var_calcium_dynamics__APtrack2) * var_calcium_dynamics__APtrack2) : ((var_calcium_dynamics__Cainfluxtrack <= var_calcium_dynamics__delta_Ca_ith) && (var_calcium_dynamics__OVRLDtrack2 > 0.0)) ? (var_calcium_dynamics__G_rel_overload * (1.0 - var_calcium_dynamics__OVRLDtrack2) * var_calcium_dynamics__OVRLDtrack2) : 0.0;
00629     double var_calcium_dynamics__i_rel = var_calcium_dynamics__G_rel * (var_calcium_dynamics__Ca_JSR - var_calcium_dynamics__Cai);
00630     const double var_calcium_dynamics__K_mup = 0.00092;
00631     const double var_calcium_dynamics__I_up = 8.75;
00632     double var_calcium_dynamics__i_up = (var_calcium_dynamics__I_up * var_calcium_dynamics__Cai) / (var_calcium_dynamics__Cai + var_calcium_dynamics__K_mup);
00633     const double var_calcium_dynamics__Ca_NSR_max = 15.0;
00634     double var_calcium_dynamics__K_leak = var_calcium_dynamics__I_up / var_calcium_dynamics__Ca_NSR_max;
00635     double var_calcium_dynamics__i_leak = var_calcium_dynamics__K_leak * var_calcium_dynamics__Ca_NSR;
00636     const double var_calcium_dynamics__tau_tr = 0.18;
00637     double var_calcium_dynamics__i_tr = (var_calcium_dynamics__Ca_NSR - var_calcium_dynamics__Ca_JSR) / var_calcium_dynamics__tau_tr;
00638     const double var_calcium_dynamics__CSQN_max = 10.0;
00639     const double var_calcium_dynamics__K_mCSQN = 0.8;
00640     double var_calcium_dynamics__F = var_membrane__F;
00641     const double var_ionic_concentrations__preplength = 0.001;
00642     const double var_ionic_concentrations__radius = 0.00011;
00643     double var_ionic_concentrations__volume = M_PI * var_ionic_concentrations__preplength * pow(var_ionic_concentrations__radius, 2.0);
00644     double var_ionic_concentrations__V_myo = 0.68 * var_ionic_concentrations__volume;
00645     double var_calcium_dynamics__V_myo = var_ionic_concentrations__V_myo;
00646     const double var_ionic_concentrations__A_cap = 1.434e-07;
00647     double var_calcium_dynamics__A_cap = var_ionic_concentrations__A_cap;
00648     double var_calcium_dynamics__V_JSR = (0.0048 / 0.68) * var_calcium_dynamics__V_myo;
00649     double var_calcium_dynamics__V_NSR = (0.0552 / 0.68) * var_calcium_dynamics__V_myo;
00650     double var_calcium_dynamics__i_NaCa = var_Na_Ca_exchanger__i_NaCa;
00651     double var_calcium_dynamics__i_CaCa = var_L_type_Ca_channel__i_CaCa;
00652     double var_calcium_dynamics__i_p_Ca = var_sarcolemmal_calcium_pump__i_p_Ca;
00653     double var_calcium_dynamics__i_Ca_b = var_calcium_background_current__i_Ca_b;
00654     double var_calcium_dynamics__i_Ca_T = var_T_type_Ca_channel__i_Ca_T;
00655     const double var_calcium_dynamics__K_mTn = 0.0005;
00656     const double var_calcium_dynamics__K_mCMDN = 0.00238;
00657     const double var_calcium_dynamics__Tn_max = 0.07;
00658     const double var_calcium_dynamics__CMDN_max = 0.05;
00659     double var_calcium_dynamics__dVdt = var_membrane__dVdt;
00660     const double var_calcium_dynamics__CSQNthresh = 0.7;
00661     const double var_calcium_dynamics__Logicthresh = 0.98;
00662     double var_ionic_concentrations__F = var_membrane__F;
00663     double var_ionic_concentrations__i_Na = var_fast_sodium_current__i_Na;
00664     double var_ionic_concentrations__i_CaNa = var_L_type_Ca_channel__i_CaNa;
00665     double var_ionic_concentrations__i_Na_b = var_sodium_background_current__i_Na_b;
00666     double var_ionic_concentrations__i_ns_Na = var_non_specific_calcium_activated_current__i_ns_Na;
00667     double var_ionic_concentrations__i_NaCa = var_Na_Ca_exchanger__i_NaCa;
00668     double var_ionic_concentrations__i_NaK = var_sodium_potassium_pump__i_NaK;
00669     double var_ionic_concentrations__i_CaK = var_L_type_Ca_channel__i_CaK;
00670     double var_ionic_concentrations__i_Kr = var_rapid_delayed_rectifier_potassium_current__i_Kr;
00671     double var_ionic_concentrations__i_Ks = var_slow_delayed_rectifier_potassium_current__i_Ks;
00672     double var_ionic_concentrations__i_K1 = var_time_independent_potassium_current__i_K1;
00673     double var_ionic_concentrations__i_Kp = var_plateau_potassium_current__i_Kp;
00674     double var_ionic_concentrations__i_K_Na = var_sodium_activated_potassium_current__i_K_Na;
00675     double var_ionic_concentrations__i_K_ATP = var_ATP_sensitive_potassium_current__i_K_ATP;
00676     double var_ionic_concentrations__i_ns_K = var_non_specific_calcium_activated_current__i_ns_K;
00677     double var_ionic_concentrations__i_to = var_transient_outward_current__i_to;
00678     double d_dt_membrane__V;
00679     if (mSetVoltageDerivativeToZero)
00680     {
00681         d_dt_membrane__V = 0.0;
00682     }
00683     else
00684     {
00685         d_dt_membrane__V = ((-1.0) / var_membrane__Cm) * (var_membrane__i_Na + var_membrane__i_Ca_L + var_membrane__i_Ca_T + var_membrane__i_Kr + var_membrane__i_Ks + var_membrane__i_K_Na + var_membrane__i_K_ATP + var_membrane__i_to + var_membrane__i_K1 + var_membrane__i_Kp + var_membrane__i_NaCa + var_membrane__i_p_Ca + var_membrane__i_Na_b + var_membrane__i_Ca_b + var_membrane__i_NaK + var_membrane__i_ns_Ca + var_membrane__I_st);
00686     }
00687     double d_dt_fast_sodium_current_m_gate__m = (var_fast_sodium_current_m_gate__alpha_m * (1.0 - var_fast_sodium_current_m_gate__m)) - (var_fast_sodium_current_m_gate__beta_m * var_fast_sodium_current_m_gate__m);
00688     double d_dt_fast_sodium_current_h_gate__h = (var_fast_sodium_current_h_gate__alpha_h * (1.0 - var_fast_sodium_current_h_gate__h)) - (var_fast_sodium_current_h_gate__beta_h * var_fast_sodium_current_h_gate__h);
00689     double d_dt_fast_sodium_current_j_gate__j = (var_fast_sodium_current_j_gate__alpha_j * (1.0 - var_fast_sodium_current_j_gate__j)) - (var_fast_sodium_current_j_gate__beta_j * var_fast_sodium_current_j_gate__j);
00690     double d_dt_L_type_Ca_channel_d_gate__d = (var_L_type_Ca_channel_d_gate__alpha_d * (1.0 - var_L_type_Ca_channel_d_gate__d)) - (var_L_type_Ca_channel_d_gate__beta_d * var_L_type_Ca_channel_d_gate__d);
00691     double d_dt_L_type_Ca_channel_f_gate__f = (var_L_type_Ca_channel_f_gate__alpha_f * (1.0 - var_L_type_Ca_channel_f_gate__f)) - (var_L_type_Ca_channel_f_gate__beta_f * var_L_type_Ca_channel_f_gate__f);
00692     double d_dt_T_type_Ca_channel_b_gate__b = (var_T_type_Ca_channel_b_gate__b_inf - var_T_type_Ca_channel_b_gate__b) / var_T_type_Ca_channel_b_gate__tau_b;
00693     double d_dt_T_type_Ca_channel_g_gate__g = (var_T_type_Ca_channel_g_gate__g_inf - var_T_type_Ca_channel_g_gate__g) / var_T_type_Ca_channel_g_gate__tau_g;
00694     double d_dt_rapid_delayed_rectifier_potassium_current_xr_gate__xr = (var_rapid_delayed_rectifier_potassium_current_xr_gate__xr_infinity - var_rapid_delayed_rectifier_potassium_current_xr_gate__xr) / var_rapid_delayed_rectifier_potassium_current_xr_gate__tau_xr;
00695     double d_dt_slow_delayed_rectifier_potassium_current_xs1_gate__xs1 = (var_slow_delayed_rectifier_potassium_current_xs1_gate__xs1_infinity - var_slow_delayed_rectifier_potassium_current_xs1_gate__xs1) / var_slow_delayed_rectifier_potassium_current_xs1_gate__tau_xs1;
00696     double d_dt_slow_delayed_rectifier_potassium_current_xs2_gate__xs2 = (var_slow_delayed_rectifier_potassium_current_xs2_gate__xs2_infinity - var_slow_delayed_rectifier_potassium_current_xs2_gate__xs2) / var_slow_delayed_rectifier_potassium_current_xs2_gate__tau_xs2;
00697     double d_dt_transient_outward_current_zdv_gate__zdv = (var_transient_outward_current_zdv_gate__zdv_ss - var_transient_outward_current_zdv_gate__zdv) / var_transient_outward_current_zdv_gate__tau_zdv;
00698     double d_dt_transient_outward_current_ydv_gate__ydv = (var_transient_outward_current_ydv_gate__ydv_ss - var_transient_outward_current_ydv_gate__ydv) / var_transient_outward_current_ydv_gate__tau_ydv;
00699     double d_dt_calcium_dynamics__APtrack = (var_calcium_dynamics__dVdt > 150000.0) ? ((100000.0 * (1.0 - var_calcium_dynamics__APtrack)) - (500.0 * var_calcium_dynamics__APtrack)) : ((-500.0) * var_calcium_dynamics__APtrack);
00700     double d_dt_calcium_dynamics__APtrack2 = ((var_calcium_dynamics__APtrack < 0.2) && (var_calcium_dynamics__APtrack > 0.18)) ? ((100000.0 * (1.0 - var_calcium_dynamics__APtrack2)) - (500.0 * var_calcium_dynamics__APtrack2)) : ((-500.0) * var_calcium_dynamics__APtrack2);
00701     double d_dt_calcium_dynamics__APtrack3 = ((var_calcium_dynamics__APtrack < 0.2) && (var_calcium_dynamics__APtrack > 0.18)) ? ((100000.0 * (1.0 - var_calcium_dynamics__APtrack3)) - (500.0 * var_calcium_dynamics__APtrack3)) : ((-10.0) * var_calcium_dynamics__APtrack3);
00702     double d_dt_calcium_dynamics__Cainfluxtrack = (var_calcium_dynamics__APtrack > 0.2) ? (((-var_calcium_dynamics__A_cap) * (((var_calcium_dynamics__i_CaCa + var_calcium_dynamics__i_Ca_T) - var_calcium_dynamics__i_NaCa) + var_calcium_dynamics__i_p_Ca + var_calcium_dynamics__i_Ca_b)) / (2.0 * var_calcium_dynamics__V_myo * var_calcium_dynamics__F)) : ((var_calcium_dynamics__APtrack2 > 0.01) && (var_calcium_dynamics__APtrack <= 0.2)) ? 0.0 : ((-500.0) * var_calcium_dynamics__Cainfluxtrack);
00703     double d_dt_calcium_dynamics__OVRLDtrack = (((1.0 / (1.0 + (var_calcium_dynamics__K_mCSQN / var_calcium_dynamics__Ca_JSR))) > var_calcium_dynamics__CSQNthresh) && (var_calcium_dynamics__OVRLDtrack3 < 0.37) && (var_calcium_dynamics__APtrack3 < 0.37)) ? (50000.0 * (1.0 - var_calcium_dynamics__OVRLDtrack)) : ((-500.0) * var_calcium_dynamics__OVRLDtrack);
00704     double d_dt_calcium_dynamics__OVRLDtrack2 = ((var_calcium_dynamics__OVRLDtrack > var_calcium_dynamics__Logicthresh) && (var_calcium_dynamics__OVRLDtrack2 < var_calcium_dynamics__Logicthresh)) ? (50000.0 * (1.0 - var_calcium_dynamics__OVRLDtrack2)) : ((-500.0) * var_calcium_dynamics__OVRLDtrack2);
00705     double d_dt_calcium_dynamics__OVRLDtrack3 = ((var_calcium_dynamics__OVRLDtrack > var_calcium_dynamics__Logicthresh) && (var_calcium_dynamics__OVRLDtrack3 < var_calcium_dynamics__Logicthresh)) ? (50000.0 * (1.0 - var_calcium_dynamics__OVRLDtrack3)) : ((-10.0) * var_calcium_dynamics__OVRLDtrack3);
00706     double d_dt_calcium_dynamics__Ca_JSR = (1.0 / (1.0 + ((var_calcium_dynamics__CSQN_max * var_calcium_dynamics__K_mCSQN) / pow(var_calcium_dynamics__K_mCSQN + var_calcium_dynamics__Ca_JSR, 2.0)))) * (var_calcium_dynamics__i_tr - var_calcium_dynamics__i_rel);
00707     double d_dt_calcium_dynamics__Ca_NSR = ((((-var_calcium_dynamics__i_tr) * var_calcium_dynamics__V_JSR) / var_calcium_dynamics__V_NSR) - var_calcium_dynamics__i_leak) + var_calcium_dynamics__i_up;
00708     double d_dt_calcium_dynamics__Cai = (1.0 / (1.0 + ((var_calcium_dynamics__CMDN_max * var_calcium_dynamics__K_mCMDN) / pow(var_calcium_dynamics__K_mCMDN + var_calcium_dynamics__Cai, 2.0)) + ((var_calcium_dynamics__Tn_max * var_calcium_dynamics__K_mTn) / pow(var_calcium_dynamics__K_mTn + var_calcium_dynamics__Cai, 2.0)))) * ((((-var_calcium_dynamics__A_cap) * (((var_calcium_dynamics__i_CaCa + var_calcium_dynamics__i_Ca_T) - (2.0 * var_calcium_dynamics__i_NaCa)) + var_calcium_dynamics__i_p_Ca + var_calcium_dynamics__i_Ca_b)) / (2.0 * var_calcium_dynamics__V_myo * var_calcium_dynamics__F)) + ((var_calcium_dynamics__i_rel * var_calcium_dynamics__V_JSR) / var_calcium_dynamics__V_myo) + (((var_calcium_dynamics__i_leak - var_calcium_dynamics__i_up) * var_calcium_dynamics__V_NSR) / var_calcium_dynamics__V_myo));
00709     double d_dt_ionic_concentrations__Nai = ((-(var_ionic_concentrations__i_Na + var_ionic_concentrations__i_CaNa + var_ionic_concentrations__i_Na_b + var_ionic_concentrations__i_ns_Na + (var_ionic_concentrations__i_NaCa * 3.0) + (var_ionic_concentrations__i_NaK * 3.0))) * var_ionic_concentrations__A_cap) / (var_ionic_concentrations__V_myo * var_ionic_concentrations__F);
00710     double d_dt_ionic_concentrations__Ki = ((-(var_ionic_concentrations__i_CaK + var_ionic_concentrations__i_Kr + var_ionic_concentrations__i_Ks + var_ionic_concentrations__i_K1 + var_ionic_concentrations__i_Kp + var_ionic_concentrations__i_K_Na + var_ionic_concentrations__i_K_ATP + var_ionic_concentrations__i_to + var_ionic_concentrations__i_ns_K + ((-var_ionic_concentrations__i_NaK) * 2.0))) * var_ionic_concentrations__A_cap) / (var_ionic_concentrations__V_myo * var_ionic_concentrations__F);
00711 
00712     rDY[0] = d_dt_membrane__V*1e-3;
00713     rDY[1] = d_dt_fast_sodium_current_m_gate__m*1e-3;
00714     rDY[2] = d_dt_fast_sodium_current_h_gate__h*1e-3;
00715     rDY[3] = d_dt_fast_sodium_current_j_gate__j*1e-3;
00716     rDY[4] = d_dt_L_type_Ca_channel_d_gate__d*1e-3;
00717     rDY[5] = d_dt_L_type_Ca_channel_f_gate__f*1e-3;
00718     rDY[6] = d_dt_T_type_Ca_channel_b_gate__b*1e-3;
00719     rDY[7] = d_dt_T_type_Ca_channel_g_gate__g*1e-3;
00720     rDY[8] = d_dt_rapid_delayed_rectifier_potassium_current_xr_gate__xr*1e-3;
00721     rDY[9] = d_dt_slow_delayed_rectifier_potassium_current_xs1_gate__xs1*1e-3;
00722     rDY[10] = d_dt_slow_delayed_rectifier_potassium_current_xs2_gate__xs2*1e-3;
00723     rDY[11] = d_dt_transient_outward_current_zdv_gate__zdv*1e-3;
00724     rDY[12] = d_dt_transient_outward_current_ydv_gate__ydv*1e-3;
00725     rDY[13] = d_dt_calcium_dynamics__Cai*1e-3;
00726     rDY[14] = d_dt_calcium_dynamics__Ca_JSR*1e-3;
00727     rDY[15] = d_dt_calcium_dynamics__Ca_NSR*1e-3;
00728     rDY[16] = d_dt_calcium_dynamics__APtrack*1e-3;
00729     rDY[17] = d_dt_calcium_dynamics__APtrack2*1e-3;
00730     rDY[18] = d_dt_calcium_dynamics__APtrack3*1e-3;
00731     rDY[19] = d_dt_calcium_dynamics__Cainfluxtrack*1e-3;
00732     rDY[20] = d_dt_calcium_dynamics__OVRLDtrack*1e-3;
00733     rDY[21] = d_dt_calcium_dynamics__OVRLDtrack2*1e-3;
00734     rDY[22] = d_dt_calcium_dynamics__OVRLDtrack3*1e-3;
00735     rDY[23] = d_dt_ionic_concentrations__Nai*1e-3;
00736     rDY[24] = d_dt_ionic_concentrations__Ki*1e-3;
00737 }
00738 
00739 
00740 
00741 
00742 template<>
00743 void OdeSystemInformation<FaberRudy2000Version3>::Initialise(void)
00744 {
00745     // Time units: second
00746     this->mVariableNames.push_back("V");
00747     this->mVariableUnits.push_back("millivolt");
00748     this->mInitialConditions.push_back(-90);
00749 
00750     this->mVariableNames.push_back("m");
00751     this->mVariableUnits.push_back("dimensionless");
00752     this->mInitialConditions.push_back(0.0008);
00753 
00754     this->mVariableNames.push_back("h");
00755     this->mVariableUnits.push_back("dimensionless");
00756     this->mInitialConditions.push_back(0.993771);
00757 
00758     this->mVariableNames.push_back("j");
00759     this->mVariableUnits.push_back("dimensionless");
00760     this->mInitialConditions.push_back(0.995727);
00761 
00762     this->mVariableNames.push_back("d");
00763     this->mVariableUnits.push_back("dimensionless");
00764     this->mInitialConditions.push_back(3.210618e-6);
00765 
00766     this->mVariableNames.push_back("f");
00767     this->mVariableUnits.push_back("dimensionless");
00768     this->mInitialConditions.push_back(0.999837);
00769 
00770     this->mVariableNames.push_back("b");
00771     this->mVariableUnits.push_back("dimensionless");
00772     this->mInitialConditions.push_back(0.000970231);
00773 
00774     this->mVariableNames.push_back("g");
00775     this->mVariableUnits.push_back("dimensionless");
00776     this->mInitialConditions.push_back(0.994305);
00777 
00778     this->mVariableNames.push_back("xr");
00779     this->mVariableUnits.push_back("dimensionless");
00780     this->mInitialConditions.push_back(0.000124042);
00781 
00782     this->mVariableNames.push_back("xs1");
00783     this->mVariableUnits.push_back("dimensionless");
00784     this->mInitialConditions.push_back(0.00445683);
00785 
00786     this->mVariableNames.push_back("xs2");
00787     this->mVariableUnits.push_back("dimensionless");
00788     this->mInitialConditions.push_back(0.00445683);
00789 
00790     this->mVariableNames.push_back("zdv");
00791     this->mVariableUnits.push_back("dimensionless");
00792     this->mInitialConditions.push_back(0.5);
00793 
00794     this->mVariableNames.push_back("ydv");
00795     this->mVariableUnits.push_back("dimensionless");
00796     this->mInitialConditions.push_back(0.5);
00797 
00798     this->mVariableNames.push_back("CaI");
00799     this->mVariableUnits.push_back("millimolar");
00800     this->mInitialConditions.push_back(6e-5);
00801 
00802     this->mVariableNames.push_back("Ca_JSR");
00803     this->mVariableUnits.push_back("millimolar");
00804     this->mInitialConditions.push_back(1.8);
00805 
00806     this->mVariableNames.push_back("Ca_NSR");
00807     this->mVariableUnits.push_back("millimolar");
00808     this->mInitialConditions.push_back(1.8);
00809 
00810     this->mVariableNames.push_back("APtrack");
00811     this->mVariableUnits.push_back("dimensionless");
00812     this->mInitialConditions.push_back(0);
00813 
00814     this->mVariableNames.push_back("APtrack2");
00815     this->mVariableUnits.push_back("dimensionless");
00816     this->mInitialConditions.push_back(0);
00817 
00818     this->mVariableNames.push_back("APtrack3");
00819     this->mVariableUnits.push_back("dimensionless");
00820     this->mInitialConditions.push_back(0);
00821 
00822     this->mVariableNames.push_back("Cainfluxtrack");
00823     this->mVariableUnits.push_back("dimensionless");
00824     this->mInitialConditions.push_back(0);
00825 
00826     this->mVariableNames.push_back("OVRLDtrack");
00827     this->mVariableUnits.push_back("dimensionless");
00828     this->mInitialConditions.push_back(0);
00829 
00830     this->mVariableNames.push_back("OVRLDtrack2");
00831     this->mVariableUnits.push_back("dimensionless");
00832     this->mInitialConditions.push_back(0);
00833 
00834     this->mVariableNames.push_back("OVRLDtrack3");
00835     this->mVariableUnits.push_back("dimensionless");
00836     this->mInitialConditions.push_back(0);
00837 
00838     this->mVariableNames.push_back("Nai");
00839     this->mVariableUnits.push_back("millimolar");
00840     this->mInitialConditions.push_back(9);
00841 
00842     this->mVariableNames.push_back("Ki");
00843     this->mVariableUnits.push_back("millimolar");
00844     this->mInitialConditions.push_back(141.2);
00845 
00846     this->mInitialised = true;
00847 }
00848 
00849 
00850 // Serialization for Boost >= 1.36
00851 #include "SerializationExportWrapperForCpp.hpp"
00852 CHASTE_CLASS_EXPORT(FaberRudy2000Version3)

Generated by  doxygen 1.6.2