Shannon2004.hpp

Go to the documentation of this file.
00001 #ifndef _CELLSHANNON2004FROMCELLML_
00002 #define _CELLSHANNON2004FROMCELLML_
00003 
00015 
00016 #include "ChasteSerialization.hpp"
00017 #include <boost/serialization/base_object.hpp>
00018 #include <cmath>
00019 #include <cassert>
00020 #include "AbstractCardiacCell.hpp"
00021 #include "Exception.hpp"
00022 #include "OdeSystemInformation.hpp"
00023 #include "AbstractStimulusFunction.hpp"
00024 
00025 class CellShannon2004FromCellML : public AbstractCardiacCell
00026 {
00027 private:
00028     friend class boost::serialization::access;
00029     template<class Archive>
00030     void serialize(Archive & archive, const unsigned int version)
00031     {
00032         archive & boost::serialization::base_object<AbstractCardiacCell>(*this);
00033     }
00034 
00035     //
00036     // Settable parameters and readable variables
00037     //
00038 public:
00039     CellShannon2004FromCellML(boost::shared_ptr<AbstractIvpOdeSolver> pSolver,
00040                               boost::shared_ptr<AbstractStimulusFunction> pIntracellularStimulus)
00041         : AbstractCardiacCell(pSolver, 45, 0, pIntracellularStimulus)
00042     {
00043         // Time units: millisecond
00044         //
00045         mpSystemInfo = OdeSystemInformation<CellShannon2004FromCellML>::Instance();
00046         Init();
00047     }
00048 
00049     ~CellShannon2004FromCellML(void)
00050     {
00051     }
00052 
00053 
00054     void VerifyGatingVariables()
00055     {}
00056 
00057     double GetIIonic()
00058     {
00059         std::vector<double>& rY = rGetStateVariables();
00060         double var_cell__V = rY[0];
00061         // Units: millivolt; Initial value: -85.719687955637
00062         double var_INa_h_gate__h = rY[1];
00063         // Units: dimensionless; Initial value: 0.987140350343
00064         double var_INa_j_gate__j = rY[2];
00065         // Units: dimensionless; Initial value: 0.991822731369
00066         double var_INa_m_gate__m = rY[3];
00067         // Units: dimensionless; Initial value: 0.001370685156
00068         double var_IKr_Xr_gate__Xr = rY[4];
00069         // Units: dimensionless; Initial value: 0.008471550841
00070         double var_IKs_Xs_gate__Xs = rY[5];
00071         // Units: dimensionless; Initial value: 0.00687399199
00072         double var_Itos_X_gate__X_tos = rY[6];
00073         // Units: dimensionless; Initial value: 0.004011272375
00074         double var_Itos_Y_gate__Y_tos = rY[7];
00075         // Units: dimensionless; Initial value: 0.293519921626
00076         double var_Itos_R_gate__R_tos = rY[8];
00077         // Units: dimensionless; Initial value: 0.383430556383
00078         double var_Itof_X_gate__X_tof = rY[9];
00079         // Units: dimensionless; Initial value: 0.00401120993
00080         double var_Itof_Y_gate__Y_tof = rY[10];
00081         // Units: dimensionless; Initial value: 0.9946314893
00082         double var_ICaL_d_gate__d = rY[11];
00083         // Units: dimensionless; Initial value: 0.000006997531
00084         double var_ICaL_f_gate__f = rY[12];
00085         // Units: dimensionless; Initial value: 1.000675515962
00086         double var_ICaL_fCa_gate__fCaB_SL = rY[13];
00087         // Units: dimensionless; Initial value: 0.015352888928
00088         double var_ICaL_fCa_gate__fCaB_jct = rY[14];
00089         // Units: dimensionless; Initial value: 0.024609183734
00090         double var_Na_buffer__Na_SL = rY[18];
00091         // Units: millimolar; Initial value: 8.874077316753
00092         double var_Na_buffer__Na_jct = rY[19];
00093         // Units: millimolar; Initial value: 8.872823559072
00094         double var_Na_buffer__Nai = rY[22];
00095         // Units: millimolar; Initial value: 8.874461106492
00096         double var_Ca_buffer__Ca_SL = rY[24];
00097         // Units: millimolar; Initial value: 0.000106395937
00098         double var_Ca_buffer__Ca_jct = rY[25];
00099         // Units: millimolar; Initial value: 0.000174843061
00100 
00101         const double var_INa__V = var_cell__V;
00102         const double var_reversal_potentials__Na_jct = var_Na_buffer__Na_jct;
00103         const double var_model_parameters__R = 8314.3;
00104         const double var_reversal_potentials__R = var_model_parameters__R;
00105         const double var_model_parameters__Nao = 140.0;
00106         const double var_reversal_potentials__Nao = var_model_parameters__Nao;
00107         const double var_model_parameters__F = 96486.7;
00108         const double var_reversal_potentials__F = var_model_parameters__F;
00109         const double var_model_parameters__T = 310.0;
00110         const double var_reversal_potentials__T = var_model_parameters__T;
00111         const double var_reversal_potentials__E_Na_jct = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Nao / var_reversal_potentials__Na_jct);
00112         const double var_INa__E_Na_jct = var_reversal_potentials__E_Na_jct;
00113         double var_INa__G_INa = 16.0;
00114         const double var_INa__m = var_INa_m_gate__m;
00115         const double var_INa__j = var_INa_j_gate__j;
00116         const double var_INa__h = var_INa_h_gate__h;
00117         const double var_INa__openProb = pow(var_INa__m, 3.0) * var_INa__h * var_INa__j;
00118         const double var_INa__Fx_Na_jct = 0.11;
00119         const double var_INa__i_Na_jct = var_INa__Fx_Na_jct * var_INa__G_INa * var_INa__openProb * (var_INa__V - var_INa__E_Na_jct);
00120         const double var_reversal_potentials__Na_SL = var_Na_buffer__Na_SL;
00121         const double var_reversal_potentials__E_Na_SL = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Nao / var_reversal_potentials__Na_SL);
00122         const double var_INa__E_Na_SL = var_reversal_potentials__E_Na_SL;
00123         const double var_INa__Fx_Na_SL = 0.89;
00124         const double var_INa__i_Na_SL = var_INa__Fx_Na_SL * var_INa__G_INa * var_INa__openProb * (var_INa__V - var_INa__E_Na_SL);
00125         const double var_INa__i_Na = var_INa__i_Na_jct + var_INa__i_Na_SL;
00126         const double var_cell__i_Na = var_INa__i_Na;
00127         const double var_INab__Fx_NaBk_jct = 0.11;
00128         const double var_INab__E_Na_jct = var_reversal_potentials__E_Na_jct;
00129         const double var_INab__G_NaBk = 0.000297;
00130         const double var_INab__V = var_cell__V;
00131         const double var_INab__i_Nab_jct = var_INab__Fx_NaBk_jct * var_INab__G_NaBk * (var_INab__V - var_INab__E_Na_jct);
00132         const double var_INab__E_Na_SL = var_reversal_potentials__E_Na_SL;
00133         const double var_INab__Fx_NaBk_SL = 0.89;
00134         const double var_INab__i_Nab_SL = var_INab__Fx_NaBk_SL * var_INab__G_NaBk * (var_INab__V - var_INab__E_Na_SL);
00135         const double var_INab__i_Nab = var_INab__i_Nab_jct + var_INab__i_Nab_SL;
00136         const double var_cell__i_Nab = var_INab__i_Nab;
00137         const double var_INaK__V = var_cell__V;
00138         const double var_INaK__F = var_model_parameters__F;
00139         const double var_INaK__T = var_model_parameters__T;
00140         const double var_INaK__Nao = var_model_parameters__Nao;
00141         const double var_INaK__sigma = (exp(var_INaK__Nao / 67.3) - 1.0) / 7.0;
00142         const double var_INaK__R = var_model_parameters__R;
00143         const double var_INaK__f_NaK = 1.0 / (1.0 + (0.1245 * exp(((-0.1) * var_INaK__V * var_INaK__F) / (var_INaK__R * var_INaK__T))) + (0.0365 * var_INaK__sigma * exp(((-var_INaK__V) * var_INaK__F) / (var_INaK__R * var_INaK__T))));
00144         const double var_INaK__H_NaK = 4.0;
00145         const double var_INaK__Q10_NaK = 1.63;
00146         const double var_INaK__Q_NaK = pow(var_INaK__Q10_NaK, (var_INaK__T - 310.0) / 10.0);
00147         const double var_model_parameters__Ko = 5.4;
00148         const double var_INaK__Ko = var_model_parameters__Ko;
00149         const double var_INaK__Km_Nai = 11.0;
00150         const double var_INaK__Fx_NaK_SL = 0.89;
00151         const double var_INaK__Na_SL = var_Na_buffer__Na_SL;
00152         const double var_INaK__I_NaK_max = 1.91;
00153         const double var_INaK__Q10_Km_Nai = 1.49;
00154         const double var_INaK__Q_Km_Nai = pow(var_INaK__Q10_Km_Nai, (var_INaK__T - 310.0) / 10.0);
00155         const double var_INaK__Km_Ko = 1.5;
00156         const double var_INaK__i_NaK_SL = (((var_INaK__Fx_NaK_SL * var_INaK__Q_NaK * var_INaK__I_NaK_max * var_INaK__f_NaK) / (1.0 + pow((var_INaK__Q_Km_Nai * var_INaK__Km_Nai) / var_INaK__Na_SL, var_INaK__H_NaK))) * var_INaK__Ko) / (var_INaK__Ko + var_INaK__Km_Ko);
00157         const double var_INaK__Fx_NaK_jct = 0.11;
00158         const double var_INaK__Na_jct = var_Na_buffer__Na_jct;
00159         const double var_INaK__i_NaK_jct = (((var_INaK__Fx_NaK_jct * var_INaK__Q_NaK * var_INaK__I_NaK_max * var_INaK__f_NaK) / (1.0 + pow((var_INaK__Q_Km_Nai * var_INaK__Km_Nai) / var_INaK__Na_jct, var_INaK__H_NaK))) * var_INaK__Ko) / (var_INaK__Ko + var_INaK__Km_Ko);
00160         const double var_INaK__i_NaK = var_INaK__i_NaK_jct + var_INaK__i_NaK_SL;
00161         const double var_cell__i_NaK = var_INaK__i_NaK;
00162         const double var_IKr__Xr = var_IKr_Xr_gate__Xr;
00163         const double var_IKr__V = var_cell__V;
00164         const double var_IKr_Rr_gate__V = var_IKr__V;
00165         const double var_IKr_Rr_gate__Rr = 1.0 / (1.0 + exp((33.0 + var_IKr_Rr_gate__V) / 22.4));
00166         const double var_IKr__Rr = var_IKr_Rr_gate__Rr;
00167         double var_IKr__G_IKr_const = 0.03;
00168         const double var_IKr__Ko = var_model_parameters__Ko;
00169         const double var_IKr__G_IKr = var_IKr__G_IKr_const * sqrt(var_IKr__Ko / 5.4);
00170         const double var_model_parameters__Ki = 135.0;
00171         const double var_reversal_potentials__Ki = var_model_parameters__Ki;
00172         const double var_reversal_potentials__Ko = var_model_parameters__Ko;
00173         const double var_reversal_potentials__E_K = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Ko / var_reversal_potentials__Ki);
00174         const double var_IKr__E_K = var_reversal_potentials__E_K;
00175         const double var_IKr__i_Kr = var_IKr__G_IKr * var_IKr__Xr * var_IKr__Rr * (var_IKr__V - var_IKr__E_K);
00176         const double var_cell__i_Kr = var_IKr__i_Kr;
00177         const double var_IKs__Fx_Ks_jct = 0.11;
00178         const double var_IKs__Xs = var_IKs_Xs_gate__Xs;
00179         const double var_IKs__Ca_jct = var_Ca_buffer__Ca_jct;
00180         const double var_IKs__pCa_jct = (-log10(var_IKs__Ca_jct / 1.0)) + 3.0;
00181         const double var_IKs__G_Ks_jct = 0.07 * (0.057 + (0.19 / (1.0 + exp(((-7.2) + var_IKs__pCa_jct) / 0.6))));
00182         const double var_IKs__R = var_model_parameters__R;
00183         const double var_IKs__T = var_model_parameters__T;
00184         const double var_IKs__pKNa = 0.01833;
00185         const double var_IKs__F = var_model_parameters__F;
00186         const double var_IKs__Nao = var_model_parameters__Nao;
00187         const double var_IKs__Ki = var_model_parameters__Ki;
00188         const double var_IKs__Ko = var_model_parameters__Ko;
00189         const double var_IKs__Nai = var_Na_buffer__Nai;
00190         const double var_IKs__E_Ks = ((var_IKs__R * var_IKs__T) / var_IKs__F) * log((var_IKs__Ko + (var_IKs__pKNa * var_IKs__Nao)) / (var_IKs__Ki + (var_IKs__pKNa * var_IKs__Nai)));
00191         const double var_IKs__V = var_cell__V;
00192         const double var_IKs__i_Ks_jct = var_IKs__Fx_Ks_jct * var_IKs__G_Ks_jct * pow(var_IKs__Xs, 2.0) * (var_IKs__V - var_IKs__E_Ks);
00193         const double var_IKs__Fx_Ks_SL = 0.89;
00194         const double var_IKs__Ca_SL = var_Ca_buffer__Ca_SL;
00195         const double var_IKs__pCa_SL = (-log10(var_IKs__Ca_SL / 1.0)) + 3.0;
00196         const double var_IKs__G_Ks_SL = 0.07 * (0.057 + (0.19 / (1.0 + exp(((-7.2) + var_IKs__pCa_SL) / 0.6))));
00197         const double var_IKs__i_Ks_SL = var_IKs__Fx_Ks_SL * var_IKs__G_Ks_SL * pow(var_IKs__Xs, 2.0) * (var_IKs__V - var_IKs__E_Ks);
00198         const double var_IKs__i_Ks = var_IKs__i_Ks_jct + var_IKs__i_Ks_SL;
00199         const double var_cell__i_Ks = var_IKs__i_Ks;
00200         const double var_Itos__Y_tos = var_Itos_Y_gate__Y_tos;
00201         const double var_Itos__X_tos = var_Itos_X_gate__X_tos;
00202         const double var_Itos__R_tos = var_Itos_R_gate__R_tos;
00203         const double var_Itos__G_tos = 0.06;
00204         const double var_Itos__E_K = var_reversal_potentials__E_K;
00205         const double var_Itos__V = var_cell__V;
00206         const double var_Itos__i_tos = var_Itos__G_tos * var_Itos__X_tos * (var_Itos__Y_tos + (0.5 * var_Itos__R_tos)) * (var_Itos__V - var_Itos__E_K);
00207         const double var_cell__i_tos = var_Itos__i_tos;
00208         const double var_Itof__G_tof = 0.02;
00209         const double var_Itof__E_K = var_reversal_potentials__E_K;
00210         const double var_Itof__X_tof = var_Itof_X_gate__X_tof;
00211         const double var_Itof__Y_tof = var_Itof_Y_gate__Y_tof;
00212         const double var_Itof__V = var_cell__V;
00213         const double var_Itof__i_tof = var_Itof__G_tof * var_Itof__X_tof * var_Itof__Y_tof * (var_Itof__V - var_Itof__E_K);
00214         const double var_cell__i_tof = var_Itof__i_tof;
00215         const double var_IK1__V = var_cell__V;
00216         const double var_IK1_K1_gate__V = var_IK1__V;
00217         const double var_IK1__E_K = var_reversal_potentials__E_K;
00218         const double var_IK1_K1_gate__E_K = var_IK1__E_K;
00219         const double var_IK1_K1_gate__beta_K1 = ((0.49124 * exp(0.08032 * ((var_IK1_K1_gate__V - var_IK1_K1_gate__E_K) + 5.476))) + (1.0 * exp(0.06175 * (var_IK1_K1_gate__V - (var_IK1_K1_gate__E_K + 594.31))))) / (1.0 + exp((-0.5143) * ((var_IK1_K1_gate__V - var_IK1_K1_gate__E_K) + 4.753)));
00220         const double var_IK1_K1_gate__alpha_K1 = 1.02 / (1.0 + exp(0.2385 * (var_IK1_K1_gate__V - (var_IK1_K1_gate__E_K + 59.215))));
00221         const double var_IK1_K1_gate__K1_infinity = var_IK1_K1_gate__alpha_K1 / (var_IK1_K1_gate__alpha_K1 + var_IK1_K1_gate__beta_K1);
00222         const double var_IK1__K1_infinity = var_IK1_K1_gate__K1_infinity;
00223         const double var_IK1__Ko = var_model_parameters__Ko;
00224         const double var_IK1__G_K1 = 0.9 * sqrt(var_IK1__Ko / 5.4);
00225         const double var_IK1__i_K1 = var_IK1__G_K1 * var_IK1__K1_infinity * (var_IK1__V - var_IK1__E_K);
00226         const double var_cell__i_K1 = var_IK1__i_K1;
00227         const double var_INaCa__K_mNai = 12.29;
00228         const double var_INaCa__HNa = 3.0;
00229         const double var_INaCa__K_mNao = 87.5;
00230         const double var_INaCa__T = var_model_parameters__T;
00231         const double var_model_parameters__Cao = 1.8;
00232         const double var_INaCa__Cao = var_model_parameters__Cao;
00233         const double var_INaCa__V = var_cell__V;
00234         const double var_INaCa__R = var_model_parameters__R;
00235         const double var_INaCa__Nao = var_model_parameters__Nao;
00236         const double var_INaCa__eta = 0.35;
00237         const double var_INaCa__Ca_jct = var_Ca_buffer__Ca_jct;
00238         const double var_INaCa__F = var_model_parameters__F;
00239         const double var_INaCa__Na_jct = var_Na_buffer__Na_jct;
00240         const double var_INaCa__ksat = 0.27;
00241         const double var_INaCa__temp_jct = ((exp((var_INaCa__eta * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T)) * pow(var_INaCa__Na_jct, var_INaCa__HNa) * var_INaCa__Cao) - (exp(((var_INaCa__eta - 1.0) * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T)) * pow(var_INaCa__Nao, var_INaCa__HNa) * var_INaCa__Ca_jct)) / (1.0 + (var_INaCa__ksat * exp(((var_INaCa__eta - 1.0) * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T))));
00242         const double var_INaCa__K_mCao = 1.3;
00243         const double var_INaCa__V_max = 9.0;
00244         const double var_INaCa__K_mCai = 0.00359;
00245         const double var_INaCa__Fx_NCX_jct = 0.11;
00246         const double var_INaCa__Kd_act = 0.000256;
00247         const double var_INaCa__Ka_jct = 1.0 / (1.0 + pow(var_INaCa__Kd_act / var_INaCa__Ca_jct, 3.0));
00248         const double var_INaCa__Q10_NCX = 1.57;
00249         const double var_INaCa__Q_NCX = pow(var_INaCa__Q10_NCX, (var_INaCa__T - 310.0) / 10.0);
00250         const double var_INaCa__i_NaCa_jct = (var_INaCa__Fx_NCX_jct * var_INaCa__V_max * var_INaCa__Ka_jct * var_INaCa__Q_NCX * var_INaCa__temp_jct) / ((var_INaCa__K_mCai * pow(var_INaCa__Nao, var_INaCa__HNa) * (1.0 + pow(var_INaCa__Na_jct / var_INaCa__K_mNai, var_INaCa__HNa))) + (pow(var_INaCa__K_mNao, var_INaCa__HNa) * var_INaCa__Ca_jct * (1.0 + (var_INaCa__Ca_jct / var_INaCa__K_mCai))) + (var_INaCa__K_mCao * pow(var_INaCa__Na_jct, var_INaCa__HNa)) + (pow(var_INaCa__Na_jct, var_INaCa__HNa) * var_INaCa__Cao) + (pow(var_INaCa__Nao, var_INaCa__HNa) * var_INaCa__Ca_jct));
00251         const double var_INaCa__Fx_NCX_SL = 0.89;
00252         const double var_INaCa__Na_SL = var_Na_buffer__Na_SL;
00253         const double var_INaCa__Ca_SL = var_Ca_buffer__Ca_SL;
00254         const double var_INaCa__temp_SL = ((exp((var_INaCa__eta * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T)) * pow(var_INaCa__Na_SL, var_INaCa__HNa) * var_INaCa__Cao) - (exp(((var_INaCa__eta - 1.0) * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T)) * pow(var_INaCa__Nao, var_INaCa__HNa) * var_INaCa__Ca_SL)) / (1.0 + (var_INaCa__ksat * exp(((var_INaCa__eta - 1.0) * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T))));
00255         const double var_INaCa__Ka_SL = 1.0 / (1.0 + pow(var_INaCa__Kd_act / var_INaCa__Ca_SL, 3.0));
00256         const double var_INaCa__i_NaCa_SL = (var_INaCa__Fx_NCX_SL * var_INaCa__V_max * var_INaCa__Ka_SL * var_INaCa__Q_NCX * var_INaCa__temp_SL) / ((var_INaCa__K_mCai * pow(var_INaCa__Nao, var_INaCa__HNa) * (1.0 + pow(var_INaCa__Na_SL / var_INaCa__K_mNai, var_INaCa__HNa))) + (pow(var_INaCa__K_mNao, var_INaCa__HNa) * var_INaCa__Ca_SL * (1.0 + (var_INaCa__Ca_SL / var_INaCa__K_mCai))) + (var_INaCa__K_mCao * pow(var_INaCa__Na_SL, var_INaCa__HNa)) + (pow(var_INaCa__Na_SL, var_INaCa__HNa) * var_INaCa__Cao) + (pow(var_INaCa__Nao, var_INaCa__HNa) * var_INaCa__Ca_SL));
00257         const double var_INaCa__i_NaCa = var_INaCa__i_NaCa_jct + var_INaCa__i_NaCa_SL;
00258         const double var_cell__i_NaCa = var_INaCa__i_NaCa;
00259         const double var_ICl_Ca__V = var_cell__V;
00260         const double var_ICl_Ca__G_Cl = 0.109625;
00261         const double var_ICl_Ca__Ca_jct = var_Ca_buffer__Ca_jct;
00262         const double var_ICl_Ca__Kd_ClCa = 0.1;
00263         const double var_ICl_Ca__Fx_Cl_jct = 0.11;
00264         const double var_model_parameters__Cli = 15.0;
00265         const double var_reversal_potentials__Cli = var_model_parameters__Cli;
00266         const double var_model_parameters__Clo = 150.0;
00267         const double var_reversal_potentials__Clo = var_model_parameters__Clo;
00268         const double var_reversal_potentials__E_Cl = (((-var_reversal_potentials__R) * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Clo / var_reversal_potentials__Cli);
00269         const double var_ICl_Ca__E_Cl = var_reversal_potentials__E_Cl;
00270         const double var_ICl_Ca__Ca_SL = var_Ca_buffer__Ca_SL;
00271         const double var_ICl_Ca__Fx_Cl_SL = 0.89;
00272         const double var_ICl_Ca__i_Cl_Ca = var_ICl_Ca__G_Cl * (var_ICl_Ca__V - var_ICl_Ca__E_Cl) * ((var_ICl_Ca__Fx_Cl_jct / (1.0 + (var_ICl_Ca__Kd_ClCa / var_ICl_Ca__Ca_jct))) + (var_ICl_Ca__Fx_Cl_SL / (1.0 + (var_ICl_Ca__Kd_ClCa / var_ICl_Ca__Ca_SL))));
00273         const double var_cell__i_Cl_Ca = var_ICl_Ca__i_Cl_Ca;
00274         const double var_IClb__V = var_cell__V;
00275         const double var_IClb__G_ClBk = 0.009;
00276         const double var_IClb__E_Cl = var_reversal_potentials__E_Cl;
00277         const double var_IClb__i_Clb = var_IClb__G_ClBk * (var_IClb__V - var_IClb__E_Cl);
00278         const double var_cell__i_Clb = var_IClb__i_Clb;
00279         const double var_ICaL__T = var_model_parameters__T;
00280         const double var_ICaL__V = var_cell__V;
00281         const double var_ICaL__Nao = var_model_parameters__Nao;
00282         const double var_ICaL__Fx_ICaL_SL = 0.1;
00283         const double var_ICaL__R = var_model_parameters__R;
00284         const double var_ICaL__Na_SL = var_Na_buffer__Na_SL;
00285         const double var_ICaL__d = var_ICaL_d_gate__d;
00286         const double var_ICaL__f = var_ICaL_f_gate__f;
00287         const double var_ICaL__Q10_CaL = 1.8;
00288         const double var_ICaL__Q_CaL = pow(var_ICaL__Q10_CaL, (var_ICaL__T - 310.0) / 10.0);
00289         const double var_ICaL__F = var_model_parameters__F;
00290         const double var_ICaL__temp = (0.45 * var_ICaL__d * var_ICaL__f * var_ICaL__Q_CaL * var_ICaL__V * pow(var_ICaL__F, 2.0)) / (var_ICaL__R * var_ICaL__T);
00291         const double var_ICaL__gamma_Nao = 0.75;
00292         const double var_ICaL__gamma_Nai = 0.75;
00293         const double var_ICaL_fCa_gate__fCa_SL = 1.0 - var_ICaL_fCa_gate__fCaB_SL;
00294         const double var_ICaL__fCa_SL = var_ICaL_fCa_gate__fCa_SL;
00295         const double var_ICaL__PNa = 1.5e-08;
00296         const double var_ICaL__i_CaL_Na_SL = (var_ICaL__temp * var_ICaL__fCa_SL * var_ICaL__Fx_ICaL_SL * var_ICaL__PNa * ((var_ICaL__gamma_Nai * var_ICaL__Na_SL * exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Nao * var_ICaL__Nao))) / (exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00297         const double var_ICaL__Ki = var_model_parameters__Ki;
00298         const double var_ICaL__PK = 2.7e-07;
00299         const double var_ICaL_fCa_gate__fCa_jct = 1.0 - var_ICaL_fCa_gate__fCaB_jct;
00300         const double var_ICaL__fCa_jct = var_ICaL_fCa_gate__fCa_jct;
00301         const double var_ICaL__Ko = var_model_parameters__Ko;
00302         const double var_ICaL__Fx_ICaL_jct = 0.9;
00303         const double var_ICaL__gamma_Ko = 0.75;
00304         const double var_ICaL__gamma_Ki = 0.75;
00305         const double var_ICaL__i_CaL_K = (var_ICaL__temp * ((var_ICaL__fCa_SL * var_ICaL__Fx_ICaL_SL) + (var_ICaL__fCa_jct * var_ICaL__Fx_ICaL_jct)) * var_ICaL__PK * ((var_ICaL__gamma_Ki * var_ICaL__Ki * exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Ko * var_ICaL__Ko))) / (exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00306         const double var_ICaL__Ca_jct = var_Ca_buffer__Ca_jct;
00307         const double var_ICaL__gamma_Cao = 0.341;
00308         const double var_ICaL__gamma_Cai = 0.341;
00309         const double var_ICaL__Cao = var_model_parameters__Cao;
00310         const double var_ICaL__PCa = 0.00054;
00311         const double var_ICaL__i_CaL_Ca_jct = (var_ICaL__temp * var_ICaL__fCa_jct * var_ICaL__Fx_ICaL_jct * var_ICaL__PCa * 4.0 * ((var_ICaL__gamma_Cai * var_ICaL__Ca_jct * exp((2.0 * var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Cao * var_ICaL__Cao))) / (exp((2.0 * var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00312         const double var_ICaL__Na_jct = var_Na_buffer__Na_jct;
00313         const double var_ICaL__i_CaL_Na_jct = (var_ICaL__temp * var_ICaL__fCa_jct * var_ICaL__Fx_ICaL_jct * var_ICaL__PNa * ((var_ICaL__gamma_Nai * var_ICaL__Na_jct * exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Nao * var_ICaL__Nao))) / (exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00314         double var_ICaL__G_CaL_mult = 1.0;
00315         const double var_ICaL__Ca_SL = var_Ca_buffer__Ca_SL;
00316         const double var_ICaL__i_CaL_Ca_SL = (var_ICaL__temp * var_ICaL__fCa_SL * var_ICaL__Fx_ICaL_SL * var_ICaL__PCa * 4.0 * ((var_ICaL__gamma_Cai * var_ICaL__Ca_SL * exp((2.0 * var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Cao * var_ICaL__Cao))) / (exp((2.0 * var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00317         const double var_ICaL__i_CaL = var_ICaL__G_CaL_mult * (var_ICaL__i_CaL_Ca_SL + var_ICaL__i_CaL_Ca_jct + var_ICaL__i_CaL_Na_SL + var_ICaL__i_CaL_Na_jct + var_ICaL__i_CaL_K);
00318         const double var_cell__i_CaL = var_ICaL__i_CaL;
00319         const double var_ICab__G_CaBk = 0.0002513;
00320         const double var_ICab__V = var_cell__V;
00321         const double var_ICab__Fx_CaBk_SL = 0.89;
00322         const double var_reversal_potentials__Ca_SL = var_Ca_buffer__Ca_SL;
00323         const double var_reversal_potentials__Cao = var_model_parameters__Cao;
00324         const double var_reversal_potentials__E_Ca_SL = ((var_reversal_potentials__R * var_reversal_potentials__T) / (2.0 * var_reversal_potentials__F)) * log(var_reversal_potentials__Cao / var_reversal_potentials__Ca_SL);
00325         const double var_ICab__E_Ca_SL = var_reversal_potentials__E_Ca_SL;
00326         const double var_ICab__i_Cab_SL = var_ICab__G_CaBk * var_ICab__Fx_CaBk_SL * (var_ICab__V - var_ICab__E_Ca_SL);
00327         const double var_ICab__Fx_CaBk_jct = 0.11;
00328         const double var_reversal_potentials__Ca_jct = var_Ca_buffer__Ca_jct;
00329         const double var_reversal_potentials__E_Ca_jct = ((var_reversal_potentials__R * var_reversal_potentials__T) / (2.0 * var_reversal_potentials__F)) * log(var_reversal_potentials__Cao / var_reversal_potentials__Ca_jct);
00330         const double var_ICab__E_Ca_jct = var_reversal_potentials__E_Ca_jct;
00331         const double var_ICab__i_Cab_jct = var_ICab__G_CaBk * var_ICab__Fx_CaBk_jct * (var_ICab__V - var_ICab__E_Ca_jct);
00332         const double var_ICab__i_Cab = var_ICab__i_Cab_SL + var_ICab__i_Cab_jct;
00333         const double var_cell__i_Cab = var_ICab__i_Cab;
00334         const double var_ICap__H = 1.6;
00335         const double var_ICap__Fx_SLCaP_SL = 0.89;
00336         const double var_ICap__Km = 0.0005;
00337         const double var_ICap__V_maxAF = 0.0673;
00338         const double var_ICap__Q10_SLCaP = 2.35;
00339         const double var_ICap__T = var_model_parameters__T;
00340         const double var_ICap__Q_SLCaP = pow(var_ICap__Q10_SLCaP, (var_ICap__T - 310.0) / 10.0);
00341         const double var_ICap__Ca_SL = var_Ca_buffer__Ca_SL;
00342         const double var_ICap__i_Cap_SL = (var_ICap__Q_SLCaP * var_ICap__V_maxAF * var_ICap__Fx_SLCaP_SL) / (1.0 + pow(var_ICap__Km / var_ICap__Ca_SL, var_ICap__H));
00343         const double var_ICap__Fx_SLCaP_jct = 0.11;
00344         const double var_ICap__Ca_jct = var_Ca_buffer__Ca_jct;
00345         const double var_ICap__i_Cap_jct = (var_ICap__Q_SLCaP * var_ICap__V_maxAF * var_ICap__Fx_SLCaP_jct) / (1.0 + pow(var_ICap__Km / var_ICap__Ca_jct, var_ICap__H));
00346         const double var_ICap__i_Cap = var_ICap__i_Cap_jct + var_ICap__i_Cap_SL;
00347         const double var_cell__i_Cap = var_ICap__i_Cap;
00348 
00349         return var_cell__i_Na+var_cell__i_Nab+var_cell__i_NaK+var_cell__i_Kr+var_cell__i_Ks+var_cell__i_tos+var_cell__i_tof+var_cell__i_K1+var_cell__i_NaCa+var_cell__i_Cl_Ca+var_cell__i_Clb+var_cell__i_CaL+var_cell__i_Cab+var_cell__i_Cap;
00350     }
00351 
00352     void EvaluateYDerivatives(
00353             double var_environment__time,
00354             const std::vector<double> &rY,
00355             std::vector<double> &rDY)
00356     {
00357         // Inputs:
00358         // Time units: millisecond
00359         var_environment__time *= 1.0;
00360         double var_cell__V = rY[0];
00361         // Units: millivolt; Initial value: -85.719687955637
00362         double var_INa_h_gate__h = rY[1];
00363         // Units: dimensionless; Initial value: 0.987140350343
00364         double var_INa_j_gate__j = rY[2];
00365         // Units: dimensionless; Initial value: 0.991822731369
00366         double var_INa_m_gate__m = rY[3];
00367         // Units: dimensionless; Initial value: 0.001370685156
00368         double var_IKr_Xr_gate__Xr = rY[4];
00369         // Units: dimensionless; Initial value: 0.008471550841
00370         double var_IKs_Xs_gate__Xs = rY[5];
00371         // Units: dimensionless; Initial value: 0.00687399199
00372         double var_Itos_X_gate__X_tos = rY[6];
00373         // Units: dimensionless; Initial value: 0.004011272375
00374         double var_Itos_Y_gate__Y_tos = rY[7];
00375         // Units: dimensionless; Initial value: 0.293519921626
00376         double var_Itos_R_gate__R_tos = rY[8];
00377         // Units: dimensionless; Initial value: 0.383430556383
00378         double var_Itof_X_gate__X_tof = rY[9];
00379         // Units: dimensionless; Initial value: 0.00401120993
00380         double var_Itof_Y_gate__Y_tof = rY[10];
00381         // Units: dimensionless; Initial value: 0.9946314893
00382         double var_ICaL_d_gate__d = rY[11];
00383         // Units: dimensionless; Initial value: 0.000006997531
00384         double var_ICaL_f_gate__f = rY[12];
00385         // Units: dimensionless; Initial value: 1.000675515962
00386         double var_ICaL_fCa_gate__fCaB_SL = rY[13];
00387         // Units: dimensionless; Initial value: 0.015352888928
00388         double var_ICaL_fCa_gate__fCaB_jct = rY[14];
00389         // Units: dimensionless; Initial value: 0.024609183734
00390         double var_Jrel_SR__R = rY[15];
00391         // Units: dimensionless; Initial value: 0.884673513138
00392         double var_Jrel_SR__I = rY[16];
00393         // Units: dimensionless; Initial value: 0.00000009272
00394         double var_Jrel_SR__O = rY[17];
00395         // Units: dimensionless; Initial value: 0.000000711264
00396         double var_Na_buffer__Na_SL = rY[18];
00397         // Units: millimolar; Initial value: 8.874077316753
00398         double var_Na_buffer__Na_jct = rY[19];
00399         // Units: millimolar; Initial value: 8.872823559072
00400         double var_Na_buffer__Na_SL_buf = rY[20];
00401         // Units: millimolar; Initial value: 0.776121392467
00402         double var_Na_buffer__Na_jct_buf = rY[21];
00403         // Units: millimolar; Initial value: 3.557055389701
00404         double var_Na_buffer__Nai = rY[22];
00405         // Units: millimolar; Initial value: 8.874461106492
00406         double var_Ca_buffer__Ca_SR = rY[23];
00407         // Units: millimolar; Initial value: 0.545611267699
00408         double var_Ca_buffer__Ca_SL = rY[24];
00409         // Units: millimolar; Initial value: 0.000106395937
00410         double var_Ca_buffer__Ca_jct = rY[25];
00411         // Units: millimolar; Initial value: 0.000174843061
00412         double var_Ca_buffer__Cai = rY[26];
00413         // Units: millimolar; Initial value: 0.000087350002
00414         double var_Ca_buffer__Ca_SLB_SL = rY[27];
00415         // Units: millimolar; Initial value: 0.009868629147
00416         double var_Ca_buffer__Ca_SLB_jct = rY[28];
00417         // Units: millimolar; Initial value: 0.007780801995
00418         double var_Ca_buffer__Ca_SLHigh_SL = rY[29];
00419         // Units: millimolar; Initial value: 0.114438990328
00420         double var_Ca_buffer__Ca_SLHigh_jct = rY[30];
00421         // Units: millimolar; Initial value: 0.077503874257
00422         double var_Ca_buffer__Ca_Calsequestrin = rY[31];
00423         // Units: millimolar; Initial value: 1.186496899338
00424         double var_cytosolic_Ca_buffer__Ca_TroponinC = rY[32];
00425         // Units: millimolar; Initial value: 0.008963736337
00426         double var_cytosolic_Ca_buffer__Ca_TroponinC_Ca_Mg = rY[33];
00427         // Units: millimolar; Initial value: 0.117995194438
00428         double var_cytosolic_Ca_buffer__Mg_TroponinC_Ca_Mg = rY[34];
00429         // Units: millimolar; Initial value: 0.010337654274
00430         double var_cytosolic_Ca_buffer__Ca_Calmodulin = rY[35];
00431         // Units: millimolar; Initial value: 0.000295961245
00432         double var_cytosolic_Ca_buffer__Ca_Myosin = rY[36];
00433         // Units: millimolar; Initial value: 0.001984672275
00434         double var_cytosolic_Ca_buffer__Mg_Myosin = rY[37];
00435         // Units: millimolar; Initial value: 0.137497736234
00436         double var_cytosolic_Ca_buffer__Ca_SRB = rY[38];
00437         // Units: millimolar; Initial value: 0.002177112381
00438         double var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_Cytosol = rY[39];
00439         // Units: millimolar; Initial value: 0
00440         double var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_SL = rY[40];
00441         // Units: millimolar; Initial value: 0
00442         double var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_jct = rY[41];
00443         // Units: millimolar; Initial value: 0
00444         double var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_Cytosol = rY[42];
00445         // Units: millimolar; Initial value: 0
00446         double var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_SL = rY[43];
00447         // Units: millimolar; Initial value: 0
00448         double var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_jct = rY[44];
00449         // Units: millimolar; Initial value: 0
00450 
00451 
00452         // Mathematics
00453         const double var_INa__V = var_cell__V;
00454         const double var_reversal_potentials__Na_jct = var_Na_buffer__Na_jct;
00455         const double var_model_parameters__R = 8314.3;
00456         const double var_reversal_potentials__R = var_model_parameters__R;
00457         const double var_model_parameters__Nao = 140.0;
00458         const double var_reversal_potentials__Nao = var_model_parameters__Nao;
00459         const double var_model_parameters__F = 96486.7;
00460         const double var_reversal_potentials__F = var_model_parameters__F;
00461         const double var_model_parameters__T = 310.0;
00462         const double var_reversal_potentials__T = var_model_parameters__T;
00463         const double var_reversal_potentials__E_Na_jct = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Nao / var_reversal_potentials__Na_jct);
00464         const double var_INa__E_Na_jct = var_reversal_potentials__E_Na_jct;
00465         double var_INa__G_INa = 16.0;
00466         const double var_INa__m = var_INa_m_gate__m;
00467         const double var_INa__j = var_INa_j_gate__j;
00468         const double var_INa__h = var_INa_h_gate__h;
00469         const double var_INa__openProb = pow(var_INa__m, 3.0) * var_INa__h * var_INa__j;
00470         const double var_INa__Fx_Na_jct = 0.11;
00471         const double var_INa__i_Na_jct = var_INa__Fx_Na_jct * var_INa__G_INa * var_INa__openProb * (var_INa__V - var_INa__E_Na_jct);
00472         const double var_reversal_potentials__Na_SL = var_Na_buffer__Na_SL;
00473         const double var_reversal_potentials__E_Na_SL = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Nao / var_reversal_potentials__Na_SL);
00474         const double var_INa__E_Na_SL = var_reversal_potentials__E_Na_SL;
00475         const double var_INa__Fx_Na_SL = 0.89;
00476         const double var_INa__i_Na_SL = var_INa__Fx_Na_SL * var_INa__G_INa * var_INa__openProb * (var_INa__V - var_INa__E_Na_SL);
00477         const double var_INa__i_Na = var_INa__i_Na_jct + var_INa__i_Na_SL;
00478         const double var_cell__i_Na = var_INa__i_Na;
00479         const double var_INab__Fx_NaBk_jct = 0.11;
00480         const double var_INab__E_Na_jct = var_reversal_potentials__E_Na_jct;
00481         const double var_INab__G_NaBk = 0.000297;
00482         const double var_INab__V = var_cell__V;
00483         const double var_INab__i_Nab_jct = var_INab__Fx_NaBk_jct * var_INab__G_NaBk * (var_INab__V - var_INab__E_Na_jct);
00484         const double var_INab__E_Na_SL = var_reversal_potentials__E_Na_SL;
00485         const double var_INab__Fx_NaBk_SL = 0.89;
00486         const double var_INab__i_Nab_SL = var_INab__Fx_NaBk_SL * var_INab__G_NaBk * (var_INab__V - var_INab__E_Na_SL);
00487         const double var_INab__i_Nab = var_INab__i_Nab_jct + var_INab__i_Nab_SL;
00488         const double var_cell__i_Nab = var_INab__i_Nab;
00489         const double var_INaK__V = var_cell__V;
00490         const double var_INaK__F = var_model_parameters__F;
00491         const double var_INaK__T = var_model_parameters__T;
00492         const double var_INaK__Nao = var_model_parameters__Nao;
00493         const double var_INaK__sigma = (exp(var_INaK__Nao / 67.3) - 1.0) / 7.0;
00494         const double var_INaK__R = var_model_parameters__R;
00495         const double var_INaK__f_NaK = 1.0 / (1.0 + (0.1245 * exp(((-0.1) * var_INaK__V * var_INaK__F) / (var_INaK__R * var_INaK__T))) + (0.0365 * var_INaK__sigma * exp(((-var_INaK__V) * var_INaK__F) / (var_INaK__R * var_INaK__T))));
00496         const double var_INaK__H_NaK = 4.0;
00497         const double var_INaK__Q10_NaK = 1.63;
00498         const double var_INaK__Q_NaK = pow(var_INaK__Q10_NaK, (var_INaK__T - 310.0) / 10.0);
00499         const double var_model_parameters__Ko = 5.4;
00500         const double var_INaK__Ko = var_model_parameters__Ko;
00501         const double var_INaK__Km_Nai = 11.0;
00502         const double var_INaK__Fx_NaK_SL = 0.89;
00503         const double var_INaK__Na_SL = var_Na_buffer__Na_SL;
00504         const double var_INaK__I_NaK_max = 1.91;
00505         const double var_INaK__Q10_Km_Nai = 1.49;
00506         const double var_INaK__Q_Km_Nai = pow(var_INaK__Q10_Km_Nai, (var_INaK__T - 310.0) / 10.0);
00507         const double var_INaK__Km_Ko = 1.5;
00508         const double var_INaK__i_NaK_SL = (((var_INaK__Fx_NaK_SL * var_INaK__Q_NaK * var_INaK__I_NaK_max * var_INaK__f_NaK) / (1.0 + pow((var_INaK__Q_Km_Nai * var_INaK__Km_Nai) / var_INaK__Na_SL, var_INaK__H_NaK))) * var_INaK__Ko) / (var_INaK__Ko + var_INaK__Km_Ko);
00509         const double var_INaK__Fx_NaK_jct = 0.11;
00510         const double var_INaK__Na_jct = var_Na_buffer__Na_jct;
00511         const double var_INaK__i_NaK_jct = (((var_INaK__Fx_NaK_jct * var_INaK__Q_NaK * var_INaK__I_NaK_max * var_INaK__f_NaK) / (1.0 + pow((var_INaK__Q_Km_Nai * var_INaK__Km_Nai) / var_INaK__Na_jct, var_INaK__H_NaK))) * var_INaK__Ko) / (var_INaK__Ko + var_INaK__Km_Ko);
00512         const double var_INaK__i_NaK = var_INaK__i_NaK_jct + var_INaK__i_NaK_SL;
00513         const double var_cell__i_NaK = var_INaK__i_NaK;
00514         const double var_IKr__Xr = var_IKr_Xr_gate__Xr;
00515         const double var_IKr__V = var_cell__V;
00516         const double var_IKr_Rr_gate__V = var_IKr__V;
00517         const double var_IKr_Rr_gate__Rr = 1.0 / (1.0 + exp((33.0 + var_IKr_Rr_gate__V) / 22.4));
00518         const double var_IKr__Rr = var_IKr_Rr_gate__Rr;
00519         double var_IKr__G_IKr_const = 0.03;
00520         const double var_IKr__Ko = var_model_parameters__Ko;
00521         const double var_IKr__G_IKr = var_IKr__G_IKr_const * sqrt(var_IKr__Ko / 5.4);
00522         const double var_model_parameters__Ki = 135.0;
00523         const double var_reversal_potentials__Ki = var_model_parameters__Ki;
00524         const double var_reversal_potentials__Ko = var_model_parameters__Ko;
00525         const double var_reversal_potentials__E_K = ((var_reversal_potentials__R * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Ko / var_reversal_potentials__Ki);
00526         const double var_IKr__E_K = var_reversal_potentials__E_K;
00527         const double var_IKr__i_Kr = var_IKr__G_IKr * var_IKr__Xr * var_IKr__Rr * (var_IKr__V - var_IKr__E_K);
00528         const double var_cell__i_Kr = var_IKr__i_Kr;
00529         const double var_IKs__Fx_Ks_jct = 0.11;
00530         const double var_IKs__Xs = var_IKs_Xs_gate__Xs;
00531         const double var_IKs__Ca_jct = var_Ca_buffer__Ca_jct;
00532         const double var_IKs__pCa_jct = (-log10(var_IKs__Ca_jct / 1.0)) + 3.0;
00533         const double var_IKs__G_Ks_jct = 0.07 * (0.057 + (0.19 / (1.0 + exp(((-7.2) + var_IKs__pCa_jct) / 0.6))));
00534         const double var_IKs__R = var_model_parameters__R;
00535         const double var_IKs__T = var_model_parameters__T;
00536         const double var_IKs__pKNa = 0.01833;
00537         const double var_IKs__F = var_model_parameters__F;
00538         const double var_IKs__Nao = var_model_parameters__Nao;
00539         const double var_IKs__Ki = var_model_parameters__Ki;
00540         const double var_IKs__Ko = var_model_parameters__Ko;
00541         const double var_IKs__Nai = var_Na_buffer__Nai;
00542         const double var_IKs__E_Ks = ((var_IKs__R * var_IKs__T) / var_IKs__F) * log((var_IKs__Ko + (var_IKs__pKNa * var_IKs__Nao)) / (var_IKs__Ki + (var_IKs__pKNa * var_IKs__Nai)));
00543         const double var_IKs__V = var_cell__V;
00544         const double var_IKs__i_Ks_jct = var_IKs__Fx_Ks_jct * var_IKs__G_Ks_jct * pow(var_IKs__Xs, 2.0) * (var_IKs__V - var_IKs__E_Ks);
00545         const double var_IKs__Fx_Ks_SL = 0.89;
00546         const double var_IKs__Ca_SL = var_Ca_buffer__Ca_SL;
00547         const double var_IKs__pCa_SL = (-log10(var_IKs__Ca_SL / 1.0)) + 3.0;
00548         const double var_IKs__G_Ks_SL = 0.07 * (0.057 + (0.19 / (1.0 + exp(((-7.2) + var_IKs__pCa_SL) / 0.6))));
00549         const double var_IKs__i_Ks_SL = var_IKs__Fx_Ks_SL * var_IKs__G_Ks_SL * pow(var_IKs__Xs, 2.0) * (var_IKs__V - var_IKs__E_Ks);
00550         const double var_IKs__i_Ks = var_IKs__i_Ks_jct + var_IKs__i_Ks_SL;
00551         const double var_cell__i_Ks = var_IKs__i_Ks;
00552         const double var_Itos__Y_tos = var_Itos_Y_gate__Y_tos;
00553         const double var_Itos__X_tos = var_Itos_X_gate__X_tos;
00554         const double var_Itos__R_tos = var_Itos_R_gate__R_tos;
00555         const double var_Itos__G_tos = 0.06;
00556         const double var_Itos__E_K = var_reversal_potentials__E_K;
00557         const double var_Itos__V = var_cell__V;
00558         const double var_Itos__i_tos = var_Itos__G_tos * var_Itos__X_tos * (var_Itos__Y_tos + (0.5 * var_Itos__R_tos)) * (var_Itos__V - var_Itos__E_K);
00559         const double var_cell__i_tos = var_Itos__i_tos;
00560         const double var_Itof__G_tof = 0.02;
00561         const double var_Itof__E_K = var_reversal_potentials__E_K;
00562         const double var_Itof__X_tof = var_Itof_X_gate__X_tof;
00563         const double var_Itof__Y_tof = var_Itof_Y_gate__Y_tof;
00564         const double var_Itof__V = var_cell__V;
00565         const double var_Itof__i_tof = var_Itof__G_tof * var_Itof__X_tof * var_Itof__Y_tof * (var_Itof__V - var_Itof__E_K);
00566         const double var_cell__i_tof = var_Itof__i_tof;
00567         const double var_IK1__V = var_cell__V;
00568         const double var_IK1_K1_gate__V = var_IK1__V;
00569         const double var_IK1__E_K = var_reversal_potentials__E_K;
00570         const double var_IK1_K1_gate__E_K = var_IK1__E_K;
00571         const double var_IK1_K1_gate__beta_K1 = ((0.49124 * exp(0.08032 * ((var_IK1_K1_gate__V - var_IK1_K1_gate__E_K) + 5.476))) + (1.0 * exp(0.06175 * (var_IK1_K1_gate__V - (var_IK1_K1_gate__E_K + 594.31))))) / (1.0 + exp((-0.5143) * ((var_IK1_K1_gate__V - var_IK1_K1_gate__E_K) + 4.753)));
00572         const double var_IK1_K1_gate__alpha_K1 = 1.02 / (1.0 + exp(0.2385 * (var_IK1_K1_gate__V - (var_IK1_K1_gate__E_K + 59.215))));
00573         const double var_IK1_K1_gate__K1_infinity = var_IK1_K1_gate__alpha_K1 / (var_IK1_K1_gate__alpha_K1 + var_IK1_K1_gate__beta_K1);
00574         const double var_IK1__K1_infinity = var_IK1_K1_gate__K1_infinity;
00575         const double var_IK1__Ko = var_model_parameters__Ko;
00576         const double var_IK1__G_K1 = 0.9 * sqrt(var_IK1__Ko / 5.4);
00577         const double var_IK1__i_K1 = var_IK1__G_K1 * var_IK1__K1_infinity * (var_IK1__V - var_IK1__E_K);
00578         const double var_cell__i_K1 = var_IK1__i_K1;
00579         const double var_INaCa__K_mNai = 12.29;
00580         const double var_INaCa__HNa = 3.0;
00581         const double var_INaCa__K_mNao = 87.5;
00582         const double var_INaCa__T = var_model_parameters__T;
00583         const double var_model_parameters__Cao = 1.8;
00584         const double var_INaCa__Cao = var_model_parameters__Cao;
00585         const double var_INaCa__V = var_cell__V;
00586         const double var_INaCa__R = var_model_parameters__R;
00587         const double var_INaCa__Nao = var_model_parameters__Nao;
00588         const double var_INaCa__eta = 0.35;
00589         const double var_INaCa__Ca_jct = var_Ca_buffer__Ca_jct;
00590         const double var_INaCa__F = var_model_parameters__F;
00591         const double var_INaCa__Na_jct = var_Na_buffer__Na_jct;
00592         const double var_INaCa__ksat = 0.27;
00593         const double var_INaCa__temp_jct = ((exp((var_INaCa__eta * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T)) * pow(var_INaCa__Na_jct, var_INaCa__HNa) * var_INaCa__Cao) - (exp(((var_INaCa__eta - 1.0) * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T)) * pow(var_INaCa__Nao, var_INaCa__HNa) * var_INaCa__Ca_jct)) / (1.0 + (var_INaCa__ksat * exp(((var_INaCa__eta - 1.0) * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T))));
00594         const double var_INaCa__K_mCao = 1.3;
00595         const double var_INaCa__V_max = 9.0;
00596         const double var_INaCa__K_mCai = 0.00359;
00597         const double var_INaCa__Fx_NCX_jct = 0.11;
00598         const double var_INaCa__Kd_act = 0.000256;
00599         const double var_INaCa__Ka_jct = 1.0 / (1.0 + pow(var_INaCa__Kd_act / var_INaCa__Ca_jct, 3.0));
00600         const double var_INaCa__Q10_NCX = 1.57;
00601         const double var_INaCa__Q_NCX = pow(var_INaCa__Q10_NCX, (var_INaCa__T - 310.0) / 10.0);
00602         const double var_INaCa__i_NaCa_jct = (var_INaCa__Fx_NCX_jct * var_INaCa__V_max * var_INaCa__Ka_jct * var_INaCa__Q_NCX * var_INaCa__temp_jct) / ((var_INaCa__K_mCai * pow(var_INaCa__Nao, var_INaCa__HNa) * (1.0 + pow(var_INaCa__Na_jct / var_INaCa__K_mNai, var_INaCa__HNa))) + (pow(var_INaCa__K_mNao, var_INaCa__HNa) * var_INaCa__Ca_jct * (1.0 + (var_INaCa__Ca_jct / var_INaCa__K_mCai))) + (var_INaCa__K_mCao * pow(var_INaCa__Na_jct, var_INaCa__HNa)) + (pow(var_INaCa__Na_jct, var_INaCa__HNa) * var_INaCa__Cao) + (pow(var_INaCa__Nao, var_INaCa__HNa) * var_INaCa__Ca_jct));
00603         const double var_INaCa__Fx_NCX_SL = 0.89;
00604         const double var_INaCa__Na_SL = var_Na_buffer__Na_SL;
00605         const double var_INaCa__Ca_SL = var_Ca_buffer__Ca_SL;
00606         const double var_INaCa__temp_SL = ((exp((var_INaCa__eta * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T)) * pow(var_INaCa__Na_SL, var_INaCa__HNa) * var_INaCa__Cao) - (exp(((var_INaCa__eta - 1.0) * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T)) * pow(var_INaCa__Nao, var_INaCa__HNa) * var_INaCa__Ca_SL)) / (1.0 + (var_INaCa__ksat * exp(((var_INaCa__eta - 1.0) * var_INaCa__V * var_INaCa__F) / (var_INaCa__R * var_INaCa__T))));
00607         const double var_INaCa__Ka_SL = 1.0 / (1.0 + pow(var_INaCa__Kd_act / var_INaCa__Ca_SL, 3.0));
00608         const double var_INaCa__i_NaCa_SL = (var_INaCa__Fx_NCX_SL * var_INaCa__V_max * var_INaCa__Ka_SL * var_INaCa__Q_NCX * var_INaCa__temp_SL) / ((var_INaCa__K_mCai * pow(var_INaCa__Nao, var_INaCa__HNa) * (1.0 + pow(var_INaCa__Na_SL / var_INaCa__K_mNai, var_INaCa__HNa))) + (pow(var_INaCa__K_mNao, var_INaCa__HNa) * var_INaCa__Ca_SL * (1.0 + (var_INaCa__Ca_SL / var_INaCa__K_mCai))) + (var_INaCa__K_mCao * pow(var_INaCa__Na_SL, var_INaCa__HNa)) + (pow(var_INaCa__Na_SL, var_INaCa__HNa) * var_INaCa__Cao) + (pow(var_INaCa__Nao, var_INaCa__HNa) * var_INaCa__Ca_SL));
00609         const double var_INaCa__i_NaCa = var_INaCa__i_NaCa_jct + var_INaCa__i_NaCa_SL;
00610         const double var_cell__i_NaCa = var_INaCa__i_NaCa;
00611         const double var_ICl_Ca__V = var_cell__V;
00612         const double var_ICl_Ca__G_Cl = 0.109625;
00613         const double var_ICl_Ca__Ca_jct = var_Ca_buffer__Ca_jct;
00614         const double var_ICl_Ca__Kd_ClCa = 0.1;
00615         const double var_ICl_Ca__Fx_Cl_jct = 0.11;
00616         const double var_model_parameters__Cli = 15.0;
00617         const double var_reversal_potentials__Cli = var_model_parameters__Cli;
00618         const double var_model_parameters__Clo = 150.0;
00619         const double var_reversal_potentials__Clo = var_model_parameters__Clo;
00620         const double var_reversal_potentials__E_Cl = (((-var_reversal_potentials__R) * var_reversal_potentials__T) / var_reversal_potentials__F) * log(var_reversal_potentials__Clo / var_reversal_potentials__Cli);
00621         const double var_ICl_Ca__E_Cl = var_reversal_potentials__E_Cl;
00622         const double var_ICl_Ca__Ca_SL = var_Ca_buffer__Ca_SL;
00623         const double var_ICl_Ca__Fx_Cl_SL = 0.89;
00624         const double var_ICl_Ca__i_Cl_Ca = var_ICl_Ca__G_Cl * (var_ICl_Ca__V - var_ICl_Ca__E_Cl) * ((var_ICl_Ca__Fx_Cl_jct / (1.0 + (var_ICl_Ca__Kd_ClCa / var_ICl_Ca__Ca_jct))) + (var_ICl_Ca__Fx_Cl_SL / (1.0 + (var_ICl_Ca__Kd_ClCa / var_ICl_Ca__Ca_SL))));
00625         const double var_cell__i_Cl_Ca = var_ICl_Ca__i_Cl_Ca;
00626         const double var_IClb__V = var_cell__V;
00627         const double var_IClb__G_ClBk = 0.009;
00628         const double var_IClb__E_Cl = var_reversal_potentials__E_Cl;
00629         const double var_IClb__i_Clb = var_IClb__G_ClBk * (var_IClb__V - var_IClb__E_Cl);
00630         const double var_cell__i_Clb = var_IClb__i_Clb;
00631         const double var_ICaL__T = var_model_parameters__T;
00632         const double var_ICaL__V = var_cell__V;
00633         const double var_ICaL__Nao = var_model_parameters__Nao;
00634         const double var_ICaL__Fx_ICaL_SL = 0.1;
00635         const double var_ICaL__R = var_model_parameters__R;
00636         const double var_ICaL__Na_SL = var_Na_buffer__Na_SL;
00637         const double var_ICaL__d = var_ICaL_d_gate__d;
00638         const double var_ICaL__f = var_ICaL_f_gate__f;
00639         const double var_ICaL__Q10_CaL = 1.8;
00640         const double var_ICaL__Q_CaL = pow(var_ICaL__Q10_CaL, (var_ICaL__T - 310.0) / 10.0);
00641         const double var_ICaL__F = var_model_parameters__F;
00642         const double var_ICaL__temp = (0.45 * var_ICaL__d * var_ICaL__f * var_ICaL__Q_CaL * var_ICaL__V * pow(var_ICaL__F, 2.0)) / (var_ICaL__R * var_ICaL__T);
00643         const double var_ICaL__gamma_Nao = 0.75;
00644         const double var_ICaL__gamma_Nai = 0.75;
00645         const double var_ICaL_fCa_gate__fCa_SL = 1.0 - var_ICaL_fCa_gate__fCaB_SL;
00646         const double var_ICaL__fCa_SL = var_ICaL_fCa_gate__fCa_SL;
00647         const double var_ICaL__PNa = 1.5e-08;
00648         const double var_ICaL__i_CaL_Na_SL = (var_ICaL__temp * var_ICaL__fCa_SL * var_ICaL__Fx_ICaL_SL * var_ICaL__PNa * ((var_ICaL__gamma_Nai * var_ICaL__Na_SL * exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Nao * var_ICaL__Nao))) / (exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00649         const double var_ICaL__Ki = var_model_parameters__Ki;
00650         const double var_ICaL__PK = 2.7e-07;
00651         const double var_ICaL_fCa_gate__fCa_jct = 1.0 - var_ICaL_fCa_gate__fCaB_jct;
00652         const double var_ICaL__fCa_jct = var_ICaL_fCa_gate__fCa_jct;
00653         const double var_ICaL__Ko = var_model_parameters__Ko;
00654         const double var_ICaL__Fx_ICaL_jct = 0.9;
00655         const double var_ICaL__gamma_Ko = 0.75;
00656         const double var_ICaL__gamma_Ki = 0.75;
00657         const double var_ICaL__i_CaL_K = (var_ICaL__temp * ((var_ICaL__fCa_SL * var_ICaL__Fx_ICaL_SL) + (var_ICaL__fCa_jct * var_ICaL__Fx_ICaL_jct)) * var_ICaL__PK * ((var_ICaL__gamma_Ki * var_ICaL__Ki * exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Ko * var_ICaL__Ko))) / (exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00658         const double var_ICaL__Ca_jct = var_Ca_buffer__Ca_jct;
00659         const double var_ICaL__gamma_Cao = 0.341;
00660         const double var_ICaL__gamma_Cai = 0.341;
00661         const double var_ICaL__Cao = var_model_parameters__Cao;
00662         const double var_ICaL__PCa = 0.00054;
00663         const double var_ICaL__i_CaL_Ca_jct = (var_ICaL__temp * var_ICaL__fCa_jct * var_ICaL__Fx_ICaL_jct * var_ICaL__PCa * 4.0 * ((var_ICaL__gamma_Cai * var_ICaL__Ca_jct * exp((2.0 * var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Cao * var_ICaL__Cao))) / (exp((2.0 * var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00664         const double var_ICaL__Na_jct = var_Na_buffer__Na_jct;
00665         const double var_ICaL__i_CaL_Na_jct = (var_ICaL__temp * var_ICaL__fCa_jct * var_ICaL__Fx_ICaL_jct * var_ICaL__PNa * ((var_ICaL__gamma_Nai * var_ICaL__Na_jct * exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Nao * var_ICaL__Nao))) / (exp((var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00666         double var_ICaL__G_CaL_mult = 1.0;
00667         const double var_ICaL__Ca_SL = var_Ca_buffer__Ca_SL;
00668         const double var_ICaL__i_CaL_Ca_SL = (var_ICaL__temp * var_ICaL__fCa_SL * var_ICaL__Fx_ICaL_SL * var_ICaL__PCa * 4.0 * ((var_ICaL__gamma_Cai * var_ICaL__Ca_SL * exp((2.0 * var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T))) - (var_ICaL__gamma_Cao * var_ICaL__Cao))) / (exp((2.0 * var_ICaL__V * var_ICaL__F) / (var_ICaL__R * var_ICaL__T)) - 1.0);
00669         const double var_ICaL__i_CaL = var_ICaL__G_CaL_mult * (var_ICaL__i_CaL_Ca_SL + var_ICaL__i_CaL_Ca_jct + var_ICaL__i_CaL_Na_SL + var_ICaL__i_CaL_Na_jct + var_ICaL__i_CaL_K);
00670         const double var_cell__i_CaL = var_ICaL__i_CaL;
00671         const double var_ICab__G_CaBk = 0.0002513;
00672         const double var_ICab__V = var_cell__V;
00673         const double var_ICab__Fx_CaBk_SL = 0.89;
00674         const double var_reversal_potentials__Ca_SL = var_Ca_buffer__Ca_SL;
00675         const double var_reversal_potentials__Cao = var_model_parameters__Cao;
00676         const double var_reversal_potentials__E_Ca_SL = ((var_reversal_potentials__R * var_reversal_potentials__T) / (2.0 * var_reversal_potentials__F)) * log(var_reversal_potentials__Cao / var_reversal_potentials__Ca_SL);
00677         const double var_ICab__E_Ca_SL = var_reversal_potentials__E_Ca_SL;
00678         const double var_ICab__i_Cab_SL = var_ICab__G_CaBk * var_ICab__Fx_CaBk_SL * (var_ICab__V - var_ICab__E_Ca_SL);
00679         const double var_ICab__Fx_CaBk_jct = 0.11;
00680         const double var_reversal_potentials__Ca_jct = var_Ca_buffer__Ca_jct;
00681         const double var_reversal_potentials__E_Ca_jct = ((var_reversal_potentials__R * var_reversal_potentials__T) / (2.0 * var_reversal_potentials__F)) * log(var_reversal_potentials__Cao / var_reversal_potentials__Ca_jct);
00682         const double var_ICab__E_Ca_jct = var_reversal_potentials__E_Ca_jct;
00683         const double var_ICab__i_Cab_jct = var_ICab__G_CaBk * var_ICab__Fx_CaBk_jct * (var_ICab__V - var_ICab__E_Ca_jct);
00684         const double var_ICab__i_Cab = var_ICab__i_Cab_SL + var_ICab__i_Cab_jct;
00685         const double var_cell__i_Cab = var_ICab__i_Cab;
00686         const double var_ICap__H = 1.6;
00687         const double var_ICap__Fx_SLCaP_SL = 0.89;
00688         const double var_ICap__Km = 0.0005;
00689         const double var_ICap__V_maxAF = 0.0673;
00690         const double var_ICap__Q10_SLCaP = 2.35;
00691         const double var_ICap__T = var_model_parameters__T;
00692         const double var_ICap__Q_SLCaP = pow(var_ICap__Q10_SLCaP, (var_ICap__T - 310.0) / 10.0);
00693         const double var_ICap__Ca_SL = var_Ca_buffer__Ca_SL;
00694         const double var_ICap__i_Cap_SL = (var_ICap__Q_SLCaP * var_ICap__V_maxAF * var_ICap__Fx_SLCaP_SL) / (1.0 + pow(var_ICap__Km / var_ICap__Ca_SL, var_ICap__H));
00695         const double var_ICap__Fx_SLCaP_jct = 0.11;
00696         const double var_ICap__Ca_jct = var_Ca_buffer__Ca_jct;
00697         const double var_ICap__i_Cap_jct = (var_ICap__Q_SLCaP * var_ICap__V_maxAF * var_ICap__Fx_SLCaP_jct) / (1.0 + pow(var_ICap__Km / var_ICap__Ca_jct, var_ICap__H));
00698         const double var_ICap__i_Cap = var_ICap__i_Cap_jct + var_ICap__i_Cap_SL;
00699         const double var_cell__i_Cap = var_ICap__i_Cap;
00700         double var_cell__i_Stim = GetStimulus((1.0/1)*var_environment__time);
00701         const double var_model_parameters__Mgi = 1.0;
00702         const double var_model_parameters__cell_length = 100.0;
00703         const double var_model_parameters__cell_radius = 10.25;
00704         const double var_model_parameters__Cm_per_area = 2e-06;
00705         const double var_model_parameters__Cm = (((var_model_parameters__Cm_per_area * 2.0 * var_model_parameters__cell_radius) / 10000.0) * M_PI * var_model_parameters__cell_length) / 10000.0;
00706         const double var_model_parameters__Vol_Cell = (3.141592654 * pow(var_model_parameters__cell_radius / 1000.0, 2.0) * var_model_parameters__cell_length) / pow(1000.0, 3.0);
00707         const double var_model_parameters__Vol_SR = 0.035 * var_model_parameters__Vol_Cell;
00708         const double var_model_parameters__Vol_SL = 0.02 * var_model_parameters__Vol_Cell;
00709         const double var_model_parameters__Vol_jct = 0.00051 * var_model_parameters__Vol_Cell;
00710         const double var_model_parameters__Vol_cytosol = 0.65 * var_model_parameters__Vol_Cell;
00711         const double var_INa_h_gate__V = var_INa__V;
00712         const double var_INa_h_gate__alpha_h = (var_INa_h_gate__V < (-40.0)) ? (0.135 * exp((80.0 + var_INa_h_gate__V) / (-6.8))) : 0.0;
00713         const double var_INa_h_gate__beta_h = (var_INa_h_gate__V < (-40.0)) ? ((3.56 * exp(0.079 * var_INa_h_gate__V)) + (310000.0 * exp(0.35 * var_INa_h_gate__V))) : (1.0 / (0.13 * (1.0 + exp((var_INa_h_gate__V + 10.66) / (-11.1)))));
00714         const double var_INa_h_gate__tau_h = 1.0 / (var_INa_h_gate__alpha_h + var_INa_h_gate__beta_h);
00715         const double var_INa_h_gate__h_infinity = var_INa_h_gate__alpha_h / (var_INa_h_gate__alpha_h + var_INa_h_gate__beta_h);
00716         const double var_INa_j_gate__V = var_INa__V;
00717         const double var_INa_j_gate__alpha_j = (var_INa_j_gate__V < (-40.0)) ? ((((((-127140.0) * exp(0.2444 * var_INa_j_gate__V)) - (3.474e-05 * exp((-0.04391) * var_INa_j_gate__V))) * (var_INa_j_gate__V + 37.78)) / 1.0) / (1.0 + exp(0.311 * (var_INa_j_gate__V + 79.23)))) : 0.0;
00718         const double var_INa_j_gate__beta_j = (var_INa_j_gate__V < (-40.0)) ? ((0.1212 * exp((-0.01052) * var_INa_j_gate__V)) / (1.0 + exp((-0.1378) * (var_INa_j_gate__V + 40.14)))) : ((0.3 * exp((-2.535e-07) * var_INa_j_gate__V)) / (1.0 + exp((-0.1) * (var_INa_j_gate__V + 32.0))));
00719         const double var_INa_j_gate__tau_j = 1.0 / (var_INa_j_gate__alpha_j + var_INa_j_gate__beta_j);
00720         const double var_INa_j_gate__j_infinity = var_INa_j_gate__alpha_j / (var_INa_j_gate__alpha_j + var_INa_j_gate__beta_j);
00721         const double var_INa_m_gate__V = var_INa__V;
00722         const double var_INa_m_gate__alpha_m = ((0.32 * (var_INa_m_gate__V + 47.13)) / 1.0) / (1.0 - exp((-0.1) * (var_INa_m_gate__V + 47.13)));
00723         const double var_INa_m_gate__beta_m = 0.08 * exp((-var_INa_m_gate__V) / 11.0);
00724         const double var_INa_m_gate__tau_m = 1.0 / (var_INa_m_gate__alpha_m + var_INa_m_gate__beta_m);
00725         const double var_INa_m_gate__m_infinity = var_INa_m_gate__alpha_m / (var_INa_m_gate__alpha_m + var_INa_m_gate__beta_m);
00726         const double var_IKr_Xr_gate__V = var_IKr__V;
00727         const double var_IKr_Xr_gate__Xr_infinity = 1.0 / (1.0 + exp((-(50.0 + var_IKr_Xr_gate__V)) / 7.5));
00728         const double var_IKr_Xr_gate__tau_Xr = 1.0 / (((0.00138 * (var_IKr_Xr_gate__V + 7.0)) / (1.0 - exp((-0.123) * (var_IKr_Xr_gate__V + 7.0)))) + ((0.00061 * (var_IKr_Xr_gate__V + 10.0)) / (exp(0.145 * (var_IKr_Xr_gate__V + 10.0)) - 1.0)));
00729         const double var_IKs_Xs_gate__V = var_IKs__V;
00730         const double var_IKs_Xs_gate__Xs_infinity = 1.0 / (1.0 + exp((-(var_IKs_Xs_gate__V - 1.5)) / 16.7));
00731         const double var_IKs_Xs_gate__tau_Xs = 1.0 / (((7.19e-05 * (var_IKs_Xs_gate__V + 30.0)) / (1.0 - exp((-0.148) * (var_IKs_Xs_gate__V + 30.0)))) + ((0.000131 * (var_IKs_Xs_gate__V + 30.0)) / ((-1.0) + exp(0.0687 * (var_IKs_Xs_gate__V + 30.0)))));
00732         const double var_Itos_X_gate__V = var_Itos__V;
00733         const double var_Itos_X_gate__X_tos_infinity = 1.0 / (1.0 + exp((-(var_Itos_X_gate__V + 3.0)) / 15.0));
00734         const double var_Itos_X_gate__tau_X_tos = (9.0 / (1.0 + exp((var_Itos_X_gate__V + 3.0) / 15.0))) + 0.5;
00735         const double var_Itos_Y_gate__V = var_Itos__V;
00736         const double var_Itos_Y_gate__Y_tos_infinity = 1.0 / (1.0 + exp((var_Itos_Y_gate__V + 33.5) / 10.0));
00737         const double var_Itos_Y_gate__tau_Y_tos = (3000.0 / (1.0 + exp((var_Itos_Y_gate__V + 60.0) / 10.0))) + 30.0;
00738         const double var_Itos_R_gate__V = var_Itos__V;
00739         const double var_Itos_R_gate__R_tos_infinity = 1.0 / (1.0 + exp((var_Itos_R_gate__V + 33.5) / 10.0));
00740         const double var_Itos_R_gate__tau_R_tos = (2800.0 / (1.0 + exp((var_Itos_R_gate__V + 60.0) / 10.0))) + 220.0;
00741         const double var_Itof_X_gate__V = var_Itof__V;
00742         const double var_Itof_X_gate__X_tof_infinity = 1.0 / (1.0 + exp((-(var_Itof_X_gate__V + 3.0)) / 15.0));
00743         const double var_Itof_X_gate__tau_X_tof = (3.5 * exp(-pow(var_Itof_X_gate__V / 30.0, 2.0))) + 1.5;
00744         const double var_Itof_Y_gate__V = var_Itof__V;
00745         const double var_Itof_Y_gate__Y_tof_infinity = 1.0 / (1.0 + exp((var_Itof_Y_gate__V + 33.5) / 10.0));
00746         const double var_Itof_Y_gate__tau_Y_tof = (20.0 / (1.0 + exp((var_Itof_Y_gate__V + 33.5) / 10.0))) + 20.0;
00747         const double var_ICaL_d_gate__V = var_ICaL__V;
00748         const double var_ICaL_d_gate__d_infinity = 1.0 / (1.0 + exp((-(var_ICaL_d_gate__V + 14.5)) / 6.0));
00749         const double var_ICaL_d_gate__tau_d = (1.0 * var_ICaL_d_gate__d_infinity * (1.0 - exp((-(var_ICaL_d_gate__V + 14.5)) / 6.0))) / (0.035 * (var_ICaL_d_gate__V + 14.5));
00750         const double var_ICaL_f_gate__V = var_ICaL__V;
00751         const double var_ICaL_f_gate__f_infinity = (1.0 / (1.0 + exp((var_ICaL_f_gate__V + 35.06) / 3.6))) + (0.6 / (1.0 + exp((50.0 - var_ICaL_f_gate__V) / 20.0)));
00752         const double var_ICaL_f_gate__tau_f = 1.0 / ((0.0197 * exp(-pow(0.0337 * (var_ICaL_f_gate__V + 14.5), 2.0))) + 0.02);
00753         const double var_ICaL_fCa_gate__Ca_SL = var_ICaL__Ca_SL;
00754         const double var_ICaL_fCa_gate__Ca_jct = var_ICaL__Ca_jct;
00755         const double var_Jrel_SR__ks = 25.0;
00756         const double var_Jrel_SR__Ca_jct = var_Ca_buffer__Ca_jct;
00757         const double var_Jrel_SR__Ca_SR = var_Ca_buffer__Ca_SR;
00758         const double var_Jrel_SR__j_rel_SR = var_Jrel_SR__ks * var_Jrel_SR__O * (var_Jrel_SR__Ca_SR - var_Jrel_SR__Ca_jct);
00759         const double var_Jrel_SR__Max_SR = 15.0;
00760         const double var_Jrel_SR__Min_SR = 1.0;
00761         const double var_Jrel_SR__EC50_SR = 0.45;
00762         const double var_Jrel_SR__RI = ((1.0 - var_Jrel_SR__R) - var_Jrel_SR__O) - var_Jrel_SR__I;
00763         const double var_Jrel_SR__koCa = 10.0;
00764         const double var_Jrel_SR__kom = 0.06;
00765         const double var_Jrel_SR__kiCa = 0.5;
00766         const double var_Jrel_SR__kim = 0.005;
00767         const double var_Jrel_SR__HSR = 2.5;
00768         const double var_Jrel_SR__kCaSR = var_Jrel_SR__Max_SR - ((var_Jrel_SR__Max_SR - var_Jrel_SR__Min_SR) / (1.0 + pow(var_Jrel_SR__EC50_SR / var_Jrel_SR__Ca_SR, var_Jrel_SR__HSR)));
00769         const double var_Jrel_SR__koSRCa = var_Jrel_SR__koCa / var_Jrel_SR__kCaSR;
00770         const double var_Jrel_SR__kiSRCa = var_Jrel_SR__kiCa * var_Jrel_SR__kCaSR;
00771         const double var_Jleak_SR__Ca_jct = var_Ca_buffer__Ca_jct;
00772         const double var_Jleak_SR__Ca_SR = var_Ca_buffer__Ca_SR;
00773         const double var_Jleak_SR__KSRleak = 5.348e-06;
00774         const double var_Jleak_SR__j_leak_SR = var_Jleak_SR__KSRleak * (var_Jleak_SR__Ca_SR - var_Jleak_SR__Ca_jct);
00775         const double var_Jpump_SR__Ca_SR = var_Ca_buffer__Ca_SR;
00776         const double var_Jpump_SR__T = var_model_parameters__T;
00777         const double var_Jpump_SR__Q10_SRCaP = 2.6;
00778         const double var_Jpump_SR__Q_SRCaP = pow(var_Jpump_SR__Q10_SRCaP, (var_Jpump_SR__T - 310.0) / 10.0);
00779         const double var_Jpump_SR__Kmf = 0.000246;
00780         const double var_Jpump_SR__Vol_cytosol = var_model_parameters__Vol_cytosol;
00781         const double var_Jpump_SR__Vol_SR = var_model_parameters__Vol_SR;
00782         const double var_Jpump_SR__H = 1.787;
00783         const double var_Jpump_SR__Cai = var_Ca_buffer__Cai;
00784         const double var_Jpump_SR__Kmr = 1.7;
00785         const double var_Jpump_SR__V_max = 0.000286;
00786         const double var_Jpump_SR__j_pump_SR = (((var_Jpump_SR__Q_SRCaP * var_Jpump_SR__V_max * var_Jpump_SR__Vol_cytosol) / var_Jpump_SR__Vol_SR) * (pow(var_Jpump_SR__Cai / var_Jpump_SR__Kmf, var_Jpump_SR__H) - pow(var_Jpump_SR__Ca_SR / var_Jpump_SR__Kmr, var_Jpump_SR__H))) / (1.0 + pow(var_Jpump_SR__Cai / var_Jpump_SR__Kmf, var_Jpump_SR__H) + pow(var_Jpump_SR__Ca_SR / var_Jpump_SR__Kmr, var_Jpump_SR__H));
00787         const double var_ion_diffusion__Na_jct = var_Na_buffer__Na_jct;
00788         const double var_ion_diffusion__Na_SL = var_Na_buffer__Na_SL;
00789         const double var_ion_diffusion__J_Na_jct_SL = (var_ion_diffusion__Na_jct - var_ion_diffusion__Na_SL) * 1.8313e-14;
00790         const double var_ion_diffusion__Nai = var_Na_buffer__Nai;
00791         const double var_ion_diffusion__J_Na_SL_cytosol = (var_ion_diffusion__Na_SL - var_ion_diffusion__Nai) * 1.6386e-12;
00792         const double var_ion_diffusion__Ca_SL = var_Ca_buffer__Ca_SL;
00793         const double var_ion_diffusion__Ca_jct = var_Ca_buffer__Ca_jct;
00794         const double var_ion_diffusion__J_Ca_jct_SL = (var_ion_diffusion__Ca_jct - var_ion_diffusion__Ca_SL) * 8.2413e-13;
00795         const double var_ion_diffusion__Cai = var_Ca_buffer__Cai;
00796         const double var_ion_diffusion__J_Ca_SL_cytosol = (var_ion_diffusion__Ca_SL - var_ion_diffusion__Cai) * 3.7243e-12;
00797         const double var_Na_buffer__Bmax_SL = 1.65;
00798         const double var_Na_buffer__Bmax_jct = 7.561;
00799         const double var_Na_buffer__kon = 0.0001;
00800         const double var_Na_buffer__koff = 0.001;
00801         const double var_Na_buffer__J_Na_jct_SL = var_ion_diffusion__J_Na_jct_SL;
00802         const double var_Na_buffer__J_Na_SL_cytosol = var_ion_diffusion__J_Na_SL_cytosol;
00803         const double var_Na_buffer__i_Na_jct = var_INa__i_Na_jct;
00804         const double var_Na_buffer__i_NaCa_jct = var_INaCa__i_NaCa_jct;
00805         const double var_Na_buffer__i_Nab_jct = var_INab__i_Nab_jct;
00806         const double var_Na_buffer__i_NaK_jct = var_INaK__i_NaK_jct;
00807         const double var_Na_buffer__i_CaL_Na_jct = var_ICaL__i_CaL_Na_jct;
00808         const double var_Na_buffer__i_Na_SL = var_INa__i_Na_SL;
00809         const double var_Na_buffer__i_NaCa_SL = var_INaCa__i_NaCa_SL;
00810         const double var_Na_buffer__i_Nab_SL = var_INab__i_Nab_SL;
00811         const double var_Na_buffer__i_NaK_SL = var_INaK__i_NaK_SL;
00812         const double var_Na_buffer__i_CaL_Na_SL = var_ICaL__i_CaL_Na_SL;
00813         const double var_Na_buffer__Vol_SL = var_model_parameters__Vol_SL;
00814         const double var_Na_buffer__Vol_jct = var_model_parameters__Vol_jct;
00815         const double var_Na_buffer__Vol_cytosol = var_model_parameters__Vol_cytosol;
00816         const double var_Na_buffer__F = var_model_parameters__F;
00817         const double var_Na_buffer__Cm = var_model_parameters__Cm;
00818         const double var_Na_buffer__dNa_jct_buf = (var_Na_buffer__kon * var_Na_buffer__Na_jct * (var_Na_buffer__Bmax_jct - var_Na_buffer__Na_jct_buf)) - (var_Na_buffer__koff * var_Na_buffer__Na_jct_buf);
00819         const double var_Na_buffer__dNa_SL_buf = (var_Na_buffer__kon * var_Na_buffer__Na_SL * (var_Na_buffer__Bmax_SL - var_Na_buffer__Na_SL_buf)) - (var_Na_buffer__koff * var_Na_buffer__Na_SL_buf);
00820         const double var_Ca_buffer__Mgi = var_model_parameters__Mgi;
00821         const double var_Ca_buffer__Bmax_SLB_SL = 0.0374;
00822         const double var_Ca_buffer__Bmax_SLB_jct = 0.0046;
00823         const double var_Ca_buffer__Bmax_SLHigh_SL = 0.0134;
00824         const double var_Ca_buffer__Bmax_SLHigh_jct = 0.00165;
00825         const double var_Ca_buffer__Bmax_Calsequestrin = 0.14;
00826         const double var_Ca_buffer__kon_SL = 100.0;
00827         const double var_Ca_buffer__kon_Calsequestrin = 100.0;
00828         const double var_Ca_buffer__koff_SLB = 1.3;
00829         const double var_Ca_buffer__koff_SLHigh = 0.03;
00830         const double var_Ca_buffer__koff_Calsequestrin = 65.0;
00831         const double var_Ca_buffer__i_CaL_Ca_jct = var_ICaL__i_CaL_Ca_jct;
00832         const double var_Ca_buffer__i_NaCa_jct = var_INaCa__i_NaCa_jct;
00833         const double var_Ca_buffer__i_Cab_jct = var_ICab__i_Cab_jct;
00834         const double var_Ca_buffer__i_Cap_jct = var_ICap__i_Cap_jct;
00835         const double var_Ca_buffer__i_CaL_Ca_SL = var_ICaL__i_CaL_Ca_SL;
00836         const double var_Ca_buffer__i_NaCa_SL = var_INaCa__i_NaCa_SL;
00837         const double var_Ca_buffer__i_Cab_SL = var_ICab__i_Cab_SL;
00838         const double var_Ca_buffer__i_Cap_SL = var_ICap__i_Cap_SL;
00839         const double var_Ca_buffer__j_pump_SR = var_Jpump_SR__j_pump_SR;
00840         const double var_Ca_buffer__j_rel_SR = var_Jrel_SR__j_rel_SR;
00841         const double var_Ca_buffer__j_leak_SR = var_Jleak_SR__j_leak_SR;
00842         const double var_Ca_buffer__J_Ca_jct_SL = var_ion_diffusion__J_Ca_jct_SL;
00843         const double var_Ca_buffer__J_Ca_SL_cytosol = var_ion_diffusion__J_Ca_SL_cytosol;
00844         const double var_Ca_buffer__Vol_SR = var_model_parameters__Vol_SR;
00845         const double var_Ca_buffer__Vol_SL = var_model_parameters__Vol_SL;
00846         const double var_Ca_buffer__Vol_jct = var_model_parameters__Vol_jct;
00847         const double var_Ca_buffer__Vol_cytosol = var_model_parameters__Vol_cytosol;
00848         const double var_Ca_buffer__F = var_model_parameters__F;
00849         const double var_Ca_buffer__Cm = var_model_parameters__Cm;
00850         const double var_Ca_buffer__dCalsequestrin = (var_Ca_buffer__kon_Calsequestrin * var_Ca_buffer__Ca_SR * (((var_Ca_buffer__Bmax_Calsequestrin * var_Ca_buffer__Vol_cytosol) / var_Ca_buffer__Vol_SR) - var_Ca_buffer__Ca_Calsequestrin)) - (var_Ca_buffer__koff_Calsequestrin * var_Ca_buffer__Ca_Calsequestrin);
00851         const double var_cytosolic_Ca_buffer__Bmax_Myosin_Mg = 0.14;
00852         const double var_cytosolic_Ca_buffer__koff_Myosin_Mg = 5.7e-05;
00853         const double var_cytosolic_Ca_buffer__Mgi = var_Ca_buffer__Mgi;
00854         const double var_cytosolic_Ca_buffer__kon_Myosin_Mg = 0.0157;
00855         const double var_cytosolic_Ca_buffer__dMg_Myosin = (var_cytosolic_Ca_buffer__kon_Myosin_Mg * var_cytosolic_Ca_buffer__Mgi * (var_cytosolic_Ca_buffer__Bmax_Myosin_Mg - (var_cytosolic_Ca_buffer__Ca_Myosin + var_cytosolic_Ca_buffer__Mg_Myosin))) - (var_cytosolic_Ca_buffer__koff_Myosin_Mg * var_cytosolic_Ca_buffer__Mg_Myosin);
00856         const double var_cytosolic_Ca_buffer__Bmax_TroponinC_Ca_Mg_Mg = 0.14;
00857         const double var_cytosolic_Ca_buffer__kon_TroponinC_Ca_Mg_Mg = 0.003;
00858         const double var_cytosolic_Ca_buffer__koff_TroponinC_Ca_Mg_Mg = 0.00333;
00859         const double var_cytosolic_Ca_buffer__dMg_TroponinC_Ca_Mg = (var_cytosolic_Ca_buffer__kon_TroponinC_Ca_Mg_Mg * var_cytosolic_Ca_buffer__Mgi * (var_cytosolic_Ca_buffer__Bmax_TroponinC_Ca_Mg_Mg - (var_cytosolic_Ca_buffer__Ca_TroponinC_Ca_Mg + var_cytosolic_Ca_buffer__Mg_TroponinC_Ca_Mg))) - (var_cytosolic_Ca_buffer__koff_TroponinC_Ca_Mg_Mg * var_cytosolic_Ca_buffer__Mg_TroponinC_Ca_Mg);
00860         const double var_cytosolic_Ca_buffer__Cai = var_Ca_buffer__Cai;
00861         const double var_cytosolic_Ca_buffer__kon_TroponinC_Ca_Mg_Ca = 2.37;
00862         const double var_cytosolic_Ca_buffer__koff_TroponinC_Ca_Mg_Ca = 3.2e-05;
00863         const double var_cytosolic_Ca_buffer__Bmax_TroponinC_Ca_Mg_Ca = 0.14;
00864         const double var_cytosolic_Ca_buffer__dCa_TroponinC_Ca_Mg = (var_cytosolic_Ca_buffer__kon_TroponinC_Ca_Mg_Ca * var_cytosolic_Ca_buffer__Cai * (var_cytosolic_Ca_buffer__Bmax_TroponinC_Ca_Mg_Ca - (var_cytosolic_Ca_buffer__Ca_TroponinC_Ca_Mg + var_cytosolic_Ca_buffer__Mg_TroponinC_Ca_Mg))) - (var_cytosolic_Ca_buffer__koff_TroponinC_Ca_Mg_Ca * var_cytosolic_Ca_buffer__Ca_TroponinC_Ca_Mg);
00865         const double var_cytosolic_Ca_buffer__kon_Myosin_Ca = 13.8;
00866         const double var_cytosolic_Ca_buffer__Bmax_Myosin_Ca = 0.14;
00867         const double var_cytosolic_Ca_buffer__koff_Myosin_Ca = 0.00046;
00868         const double var_cytosolic_Ca_buffer__dCa_Myosin = (var_cytosolic_Ca_buffer__kon_Myosin_Ca * var_cytosolic_Ca_buffer__Cai * (var_cytosolic_Ca_buffer__Bmax_Myosin_Ca - (var_cytosolic_Ca_buffer__Ca_Myosin + var_cytosolic_Ca_buffer__Mg_Myosin))) - (var_cytosolic_Ca_buffer__koff_Myosin_Ca * var_cytosolic_Ca_buffer__Ca_Myosin);
00869         const double var_cytosolic_Ca_buffer__koff_Calmodulin = 0.238;
00870         const double var_cytosolic_Ca_buffer__kon_Calmodulin = 34.0;
00871         const double var_cytosolic_Ca_buffer__Bmax_Calmodulin = 0.024;
00872         const double var_cytosolic_Ca_buffer__dCa_Calmodulin = (var_cytosolic_Ca_buffer__kon_Calmodulin * var_cytosolic_Ca_buffer__Cai * (var_cytosolic_Ca_buffer__Bmax_Calmodulin - var_cytosolic_Ca_buffer__Ca_Calmodulin)) - (var_cytosolic_Ca_buffer__koff_Calmodulin * var_cytosolic_Ca_buffer__Ca_Calmodulin);
00873         const double var_cytosolic_Ca_buffer__Bmax_TroponinC = 0.07;
00874         const double var_cytosolic_Ca_buffer__kon_TroponinC = 32.7;
00875         const double var_cytosolic_Ca_buffer__koff_TroponinC = 0.0196;
00876         const double var_cytosolic_Ca_buffer__dCa_TroponinC = (var_cytosolic_Ca_buffer__kon_TroponinC * var_cytosolic_Ca_buffer__Cai * (var_cytosolic_Ca_buffer__Bmax_TroponinC - var_cytosolic_Ca_buffer__Ca_TroponinC)) - (var_cytosolic_Ca_buffer__koff_TroponinC * var_cytosolic_Ca_buffer__Ca_TroponinC);
00877         const double var_cytosolic_Ca_buffer__koff_SRB = 0.06;
00878         const double var_cytosolic_Ca_buffer__Bmax_SRB = 0.0171;
00879         const double var_cytosolic_Ca_buffer__kon_SRB = 100.0;
00880         const double var_cytosolic_Ca_buffer__dCa_SRB = (var_cytosolic_Ca_buffer__kon_SRB * var_cytosolic_Ca_buffer__Cai * (var_cytosolic_Ca_buffer__Bmax_SRB - var_cytosolic_Ca_buffer__Ca_SRB)) - (var_cytosolic_Ca_buffer__koff_SRB * var_cytosolic_Ca_buffer__Ca_SRB);
00881         const double var_cytosolic_Ca_buffer__dCa_cytosol_tot_bound = var_cytosolic_Ca_buffer__dCa_TroponinC + var_cytosolic_Ca_buffer__dCa_TroponinC_Ca_Mg + var_cytosolic_Ca_buffer__dMg_TroponinC_Ca_Mg + var_cytosolic_Ca_buffer__dCa_Calmodulin + var_cytosolic_Ca_buffer__dCa_Myosin + var_cytosolic_Ca_buffer__dMg_Myosin + var_cytosolic_Ca_buffer__dCa_SRB;
00882         const double var_Ca_buffer__dCa_cytosol_tot_bound = var_cytosolic_Ca_buffer__dCa_cytosol_tot_bound;
00883         const double var_Ca_buffer__dCa_SLB_SL = (var_Ca_buffer__kon_SL * var_Ca_buffer__Ca_SL * (((var_Ca_buffer__Bmax_SLB_SL * var_Ca_buffer__Vol_cytosol) / var_Ca_buffer__Vol_SL) - var_Ca_buffer__Ca_SLB_SL)) - (var_Ca_buffer__koff_SLB * var_Ca_buffer__Ca_SLB_SL);
00884         const double var_Ca_buffer__dCa_SLB_jct = (var_Ca_buffer__kon_SL * var_Ca_buffer__Ca_jct * (((var_Ca_buffer__Bmax_SLB_jct * 0.1 * var_Ca_buffer__Vol_cytosol) / var_Ca_buffer__Vol_jct) - var_Ca_buffer__Ca_SLB_jct)) - (var_Ca_buffer__koff_SLB * var_Ca_buffer__Ca_SLB_jct);
00885         const double var_Ca_buffer__dCa_SLHigh_SL = (var_Ca_buffer__kon_SL * var_Ca_buffer__Ca_SL * (((var_Ca_buffer__Bmax_SLHigh_SL * var_Ca_buffer__Vol_cytosol) / var_Ca_buffer__Vol_SL) - var_Ca_buffer__Ca_SLHigh_SL)) - (var_Ca_buffer__koff_SLHigh * var_Ca_buffer__Ca_SLHigh_SL);
00886         const double var_Ca_buffer__dCa_SLHigh_jct = (var_Ca_buffer__kon_SL * var_Ca_buffer__Ca_jct * (((var_Ca_buffer__Bmax_SLHigh_jct * 0.1 * var_Ca_buffer__Vol_cytosol) / var_Ca_buffer__Vol_jct) - var_Ca_buffer__Ca_SLHigh_jct)) - (var_Ca_buffer__koff_SLHigh * var_Ca_buffer__Ca_SLHigh_jct);
00887         const double var_Ca_buffer__dCa_jct_tot_bound = var_Ca_buffer__dCa_SLB_jct + var_Ca_buffer__dCa_SLHigh_jct;
00888         const double var_Ca_buffer__dCa_SL_tot_bound = var_Ca_buffer__dCa_SLB_SL + var_Ca_buffer__dCa_SLHigh_SL;
00889         const double var_Ca_buffer__i_Ca_jct_tot = (var_Ca_buffer__i_CaL_Ca_jct - (2.0 * var_Ca_buffer__i_NaCa_jct)) + var_Ca_buffer__i_Cab_jct + var_Ca_buffer__i_Cap_jct;
00890         const double var_Ca_buffer__i_Ca_SL_tot = (var_Ca_buffer__i_CaL_Ca_SL - (2.0 * var_Ca_buffer__i_NaCa_SL)) + var_Ca_buffer__i_Cab_SL + var_Ca_buffer__i_Cap_SL;
00891         const double var_indo_fluo_Ca_buffer_not_connected__Cai = var_Ca_buffer__Cai;
00892         const double var_indo_fluo_Ca_buffer_not_connected__Ca_SL = var_Ca_buffer__Ca_SL;
00893         const double var_indo_fluo_Ca_buffer_not_connected__Ca_jct = var_Ca_buffer__Ca_jct;
00894         const double var_indo_fluo_Ca_buffer_not_connected__Vol_SL = var_Ca_buffer__Vol_SL;
00895         const double var_indo_fluo_Ca_buffer_not_connected__Vol_jct = var_Ca_buffer__Vol_jct;
00896         const double var_indo_fluo_Ca_buffer_not_connected__Vol_cytosol = var_Ca_buffer__Vol_cytosol;
00897         const double var_indo_fluo_Ca_buffer_not_connected__Indo1 = 0.0;
00898         const double var_indo_fluo_Ca_buffer_not_connected__Fluo3 = 0.0;
00899         const double var_indo_fluo_Ca_buffer_not_connected__Bmax_Indo1_Cytosol = 0.025;
00900         const double var_indo_fluo_Ca_buffer_not_connected__Bmax_Indo1_SL = 0.00077;
00901         const double var_indo_fluo_Ca_buffer_not_connected__Bmax_Indo1_jct = 2e-05;
00902         const double var_indo_fluo_Ca_buffer_not_connected__Bmax_Fluo3_Cytosol = 0.025;
00903         const double var_indo_fluo_Ca_buffer_not_connected__Bmax_Fluo3_SL = 0.00077;
00904         const double var_indo_fluo_Ca_buffer_not_connected__Bmax_Fluo3_jct = 2e-05;
00905         const double var_indo_fluo_Ca_buffer_not_connected__kon_Indo1 = 100.0;
00906         const double var_indo_fluo_Ca_buffer_not_connected__kon_Fluo3 = 100.0;
00907         const double var_indo_fluo_Ca_buffer_not_connected__koff_Indo1 = 0.06;
00908         const double var_indo_fluo_Ca_buffer_not_connected__koff_Fluo3 = 0.11;
00909         const double var_indo_fluo_Ca_buffer_not_connected__Indo1Bound = var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_Cytosol + ((var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_jct * var_indo_fluo_Ca_buffer_not_connected__Vol_jct) / var_indo_fluo_Ca_buffer_not_connected__Vol_cytosol) + ((var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_SL * var_indo_fluo_Ca_buffer_not_connected__Vol_SL) / var_indo_fluo_Ca_buffer_not_connected__Vol_cytosol);
00910         const double var_indo_fluo_Ca_buffer_not_connected__Fluo3Bound = var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_Cytosol + ((var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_jct * var_indo_fluo_Ca_buffer_not_connected__Vol_jct) / var_indo_fluo_Ca_buffer_not_connected__Vol_cytosol) + ((var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_SL * var_indo_fluo_Ca_buffer_not_connected__Vol_SL) / var_indo_fluo_Ca_buffer_not_connected__Vol_cytosol);
00911         const double var_indo_fluo_Ca_buffer_not_connected__dCa_Indo1_Cytosol = (var_indo_fluo_Ca_buffer_not_connected__kon_Indo1 * (var_indo_fluo_Ca_buffer_not_connected__Indo1 - var_indo_fluo_Ca_buffer_not_connected__Indo1Bound) * var_indo_fluo_Ca_buffer_not_connected__Cai * (var_indo_fluo_Ca_buffer_not_connected__Bmax_Indo1_Cytosol - var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_Cytosol)) - (var_indo_fluo_Ca_buffer_not_connected__koff_Indo1 * var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_Cytosol);
00912         const double var_indo_fluo_Ca_buffer_not_connected__dCa_Indo1_jct = (var_indo_fluo_Ca_buffer_not_connected__kon_Indo1 * (var_indo_fluo_Ca_buffer_not_connected__Indo1 - var_indo_fluo_Ca_buffer_not_connected__Indo1Bound) * var_indo_fluo_Ca_buffer_not_connected__Ca_jct * (((var_indo_fluo_Ca_buffer_not_connected__Bmax_Indo1_jct * var_indo_fluo_Ca_buffer_not_connected__Vol_cytosol) / var_indo_fluo_Ca_buffer_not_connected__Vol_jct) - var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_jct)) - (var_indo_fluo_Ca_buffer_not_connected__koff_Indo1 * var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_jct);
00913         const double var_indo_fluo_Ca_buffer_not_connected__dCa_Indo1_SL = (var_indo_fluo_Ca_buffer_not_connected__kon_Indo1 * (var_indo_fluo_Ca_buffer_not_connected__Indo1 - var_indo_fluo_Ca_buffer_not_connected__Indo1Bound) * var_indo_fluo_Ca_buffer_not_connected__Ca_SL * (((var_indo_fluo_Ca_buffer_not_connected__Bmax_Indo1_SL * var_indo_fluo_Ca_buffer_not_connected__Vol_cytosol) / var_indo_fluo_Ca_buffer_not_connected__Vol_SL) - var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_SL)) - (var_indo_fluo_Ca_buffer_not_connected__koff_Indo1 * var_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_SL);
00914         const double var_indo_fluo_Ca_buffer_not_connected__dCa_Fluo3_Cytosol = (var_indo_fluo_Ca_buffer_not_connected__kon_Fluo3 * (var_indo_fluo_Ca_buffer_not_connected__Fluo3 - var_indo_fluo_Ca_buffer_not_connected__Fluo3Bound) * var_indo_fluo_Ca_buffer_not_connected__Cai * (var_indo_fluo_Ca_buffer_not_connected__Bmax_Fluo3_Cytosol - var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_Cytosol)) - (var_indo_fluo_Ca_buffer_not_connected__koff_Fluo3 * var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_Cytosol);
00915         const double var_indo_fluo_Ca_buffer_not_connected__dCa_Fluo3_jct = (var_indo_fluo_Ca_buffer_not_connected__kon_Fluo3 * (var_indo_fluo_Ca_buffer_not_connected__Fluo3 - var_indo_fluo_Ca_buffer_not_connected__Fluo3Bound) * var_indo_fluo_Ca_buffer_not_connected__Ca_jct * (((var_indo_fluo_Ca_buffer_not_connected__Bmax_Fluo3_jct * var_indo_fluo_Ca_buffer_not_connected__Vol_cytosol) / var_indo_fluo_Ca_buffer_not_connected__Vol_jct) - var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_jct)) - (var_indo_fluo_Ca_buffer_not_connected__koff_Fluo3 * var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_jct);
00916         const double var_indo_fluo_Ca_buffer_not_connected__dCa_Fluo3_SL = (var_indo_fluo_Ca_buffer_not_connected__kon_Fluo3 * (var_indo_fluo_Ca_buffer_not_connected__Fluo3 - var_indo_fluo_Ca_buffer_not_connected__Fluo3Bound) * var_indo_fluo_Ca_buffer_not_connected__Ca_SL * (((var_indo_fluo_Ca_buffer_not_connected__Bmax_Fluo3_SL * var_indo_fluo_Ca_buffer_not_connected__Vol_cytosol) / var_indo_fluo_Ca_buffer_not_connected__Vol_SL) - var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_SL)) - (var_indo_fluo_Ca_buffer_not_connected__koff_Fluo3 * var_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_SL);
00917 
00918         double d_dt_cell__V;
00919         if (mSetVoltageDerivativeToZero)
00920         {
00921             d_dt_cell__V = 0.0;
00922         }
00923         else
00924         {
00925             d_dt_cell__V = -(var_cell__i_Na + var_cell__i_Nab + var_cell__i_NaK + var_cell__i_Kr + var_cell__i_Ks + var_cell__i_tos + var_cell__i_tof + var_cell__i_K1 + var_cell__i_NaCa + var_cell__i_Cl_Ca + var_cell__i_Clb + var_cell__i_CaL + var_cell__i_Cab + var_cell__i_Cap + var_cell__i_Stim);
00926         }
00927 
00928         const double d_dt_INa_h_gate__h = (var_INa_h_gate__h_infinity - var_INa_h_gate__h) / var_INa_h_gate__tau_h;
00929         const double d_dt_INa_j_gate__j = (var_INa_j_gate__j_infinity - var_INa_j_gate__j) / var_INa_j_gate__tau_j;
00930         const double d_dt_INa_m_gate__m = (var_INa_m_gate__m_infinity - var_INa_m_gate__m) / var_INa_m_gate__tau_m;
00931         const double d_dt_IKr_Xr_gate__Xr = (var_IKr_Xr_gate__Xr_infinity - var_IKr_Xr_gate__Xr) / var_IKr_Xr_gate__tau_Xr;
00932         const double d_dt_IKs_Xs_gate__Xs = (var_IKs_Xs_gate__Xs_infinity - var_IKs_Xs_gate__Xs) / var_IKs_Xs_gate__tau_Xs;
00933         const double d_dt_Itos_X_gate__X_tos = (var_Itos_X_gate__X_tos_infinity - var_Itos_X_gate__X_tos) / var_Itos_X_gate__tau_X_tos;
00934         const double d_dt_Itos_Y_gate__Y_tos = (var_Itos_Y_gate__Y_tos_infinity - var_Itos_Y_gate__Y_tos) / var_Itos_Y_gate__tau_Y_tos;
00935         const double d_dt_Itos_R_gate__R_tos = (var_Itos_R_gate__R_tos_infinity - var_Itos_R_gate__R_tos) / var_Itos_R_gate__tau_R_tos;
00936         const double d_dt_Itof_X_gate__X_tof = (var_Itof_X_gate__X_tof_infinity - var_Itof_X_gate__X_tof) / var_Itof_X_gate__tau_X_tof;
00937         const double d_dt_Itof_Y_gate__Y_tof = (var_Itof_Y_gate__Y_tof_infinity - var_Itof_Y_gate__Y_tof) / var_Itof_Y_gate__tau_Y_tof;
00938         const double d_dt_ICaL_d_gate__d = (var_ICaL_d_gate__d_infinity - var_ICaL_d_gate__d) / var_ICaL_d_gate__tau_d;
00939         const double d_dt_ICaL_f_gate__f = (var_ICaL_f_gate__f_infinity - var_ICaL_f_gate__f) / var_ICaL_f_gate__tau_f;
00940         const double d_dt_ICaL_fCa_gate__fCaB_SL = (1.7 * var_ICaL_fCa_gate__Ca_SL * (1.0 - var_ICaL_fCa_gate__fCaB_SL)) - (0.0119 * var_ICaL_fCa_gate__fCaB_SL);
00941         const double d_dt_ICaL_fCa_gate__fCaB_jct = (1.7 * var_ICaL_fCa_gate__Ca_jct * (1.0 - var_ICaL_fCa_gate__fCaB_jct)) - (0.0119 * var_ICaL_fCa_gate__fCaB_jct);
00942         const double d_dt_Jrel_SR__R = ((var_Jrel_SR__kim * var_Jrel_SR__RI) - (var_Jrel_SR__kiSRCa * var_Jrel_SR__Ca_jct * var_Jrel_SR__R)) - ((var_Jrel_SR__koSRCa * pow(var_Jrel_SR__Ca_jct, 2.0) * var_Jrel_SR__R) - (var_Jrel_SR__kom * var_Jrel_SR__O));
00943         const double d_dt_Jrel_SR__O = ((var_Jrel_SR__koSRCa * pow(var_Jrel_SR__Ca_jct, 2.0) * var_Jrel_SR__R) - (var_Jrel_SR__kom * var_Jrel_SR__O)) - ((var_Jrel_SR__kiSRCa * var_Jrel_SR__Ca_jct * var_Jrel_SR__O) - (var_Jrel_SR__kim * var_Jrel_SR__I));
00944         const double d_dt_Jrel_SR__I = ((var_Jrel_SR__kiSRCa * var_Jrel_SR__Ca_jct * var_Jrel_SR__O) - (var_Jrel_SR__kim * var_Jrel_SR__I)) - ((var_Jrel_SR__kom * var_Jrel_SR__I) - (var_Jrel_SR__koSRCa * pow(var_Jrel_SR__Ca_jct, 2.0) * var_Jrel_SR__RI));
00945         const double d_dt_Na_buffer__Na_jct_buf = var_Na_buffer__dNa_jct_buf;
00946         const double d_dt_Na_buffer__Na_SL_buf = var_Na_buffer__dNa_SL_buf;
00947         const double d_dt_Na_buffer__Na_jct = ((((-var_Na_buffer__Cm) * (var_Na_buffer__i_Na_jct + (3.0 * var_Na_buffer__i_NaCa_jct) + var_Na_buffer__i_Nab_jct + (3.0 * var_Na_buffer__i_NaK_jct) + var_Na_buffer__i_CaL_Na_jct)) / (var_Na_buffer__Vol_jct * var_Na_buffer__F)) - (var_Na_buffer__J_Na_jct_SL / var_Na_buffer__Vol_jct)) - var_Na_buffer__dNa_jct_buf;
00948         const double d_dt_Na_buffer__Na_SL = ((((-var_Na_buffer__Cm) * (var_Na_buffer__i_Na_SL + (3.0 * var_Na_buffer__i_NaCa_SL) + var_Na_buffer__i_Nab_SL + (3.0 * var_Na_buffer__i_NaK_SL) + var_Na_buffer__i_CaL_Na_SL)) / (var_Na_buffer__Vol_SL * var_Na_buffer__F)) + ((var_Na_buffer__J_Na_jct_SL - var_Na_buffer__J_Na_SL_cytosol) / var_Na_buffer__Vol_SL)) - var_Na_buffer__dNa_SL_buf;
00949         const double d_dt_Na_buffer__Nai = var_Na_buffer__J_Na_SL_cytosol / var_Na_buffer__Vol_cytosol;
00950         const double d_dt_Ca_buffer__Ca_Calsequestrin = var_Ca_buffer__dCalsequestrin;
00951         const double d_dt_Ca_buffer__Ca_SLB_SL = var_Ca_buffer__dCa_SLB_SL;
00952         const double d_dt_Ca_buffer__Ca_SLB_jct = var_Ca_buffer__dCa_SLB_jct;
00953         const double d_dt_Ca_buffer__Ca_SLHigh_SL = var_Ca_buffer__dCa_SLHigh_SL;
00954         const double d_dt_Ca_buffer__Ca_SLHigh_jct = var_Ca_buffer__dCa_SLHigh_jct;
00955         const double d_dt_Ca_buffer__Ca_SR = (var_Ca_buffer__j_pump_SR - (((var_Ca_buffer__j_leak_SR * var_Ca_buffer__Vol_cytosol) / var_Ca_buffer__Vol_SR) + var_Ca_buffer__j_rel_SR)) - var_Ca_buffer__dCalsequestrin;
00956         const double d_dt_Ca_buffer__Ca_jct = (((((-var_Ca_buffer__i_Ca_jct_tot) * var_Ca_buffer__Cm) / (var_Ca_buffer__Vol_jct * 2.0 * var_Ca_buffer__F)) - (var_Ca_buffer__J_Ca_jct_SL / var_Ca_buffer__Vol_jct)) + ((var_Ca_buffer__j_rel_SR * var_Ca_buffer__Vol_SR) / var_Ca_buffer__Vol_jct) + ((var_Ca_buffer__j_leak_SR * var_Ca_buffer__Vol_cytosol) / var_Ca_buffer__Vol_jct)) - (1.0 * var_Ca_buffer__dCa_jct_tot_bound);
00957         const double d_dt_Ca_buffer__Ca_SL = ((((-var_Ca_buffer__i_Ca_SL_tot) * var_Ca_buffer__Cm) / (var_Ca_buffer__Vol_SL * 2.0 * var_Ca_buffer__F)) + ((var_Ca_buffer__J_Ca_jct_SL - var_Ca_buffer__J_Ca_SL_cytosol) / var_Ca_buffer__Vol_SL)) - (1.0 * var_Ca_buffer__dCa_SL_tot_bound);
00958         const double d_dt_Ca_buffer__Cai = ((((-var_Ca_buffer__j_pump_SR) * var_Ca_buffer__Vol_SR) / var_Ca_buffer__Vol_cytosol) + (var_Ca_buffer__J_Ca_SL_cytosol / var_Ca_buffer__Vol_cytosol)) - (1.0 * var_Ca_buffer__dCa_cytosol_tot_bound);
00959         const double d_dt_cytosolic_Ca_buffer__Ca_TroponinC = var_cytosolic_Ca_buffer__dCa_TroponinC;
00960         const double d_dt_cytosolic_Ca_buffer__Ca_TroponinC_Ca_Mg = var_cytosolic_Ca_buffer__dCa_TroponinC_Ca_Mg;
00961         const double d_dt_cytosolic_Ca_buffer__Mg_TroponinC_Ca_Mg = var_cytosolic_Ca_buffer__dMg_TroponinC_Ca_Mg;
00962         const double d_dt_cytosolic_Ca_buffer__Ca_Calmodulin = var_cytosolic_Ca_buffer__dCa_Calmodulin;
00963         const double d_dt_cytosolic_Ca_buffer__Ca_Myosin = var_cytosolic_Ca_buffer__dCa_Myosin;
00964         const double d_dt_cytosolic_Ca_buffer__Mg_Myosin = var_cytosolic_Ca_buffer__dMg_Myosin;
00965         const double d_dt_cytosolic_Ca_buffer__Ca_SRB = var_cytosolic_Ca_buffer__dCa_SRB;
00966         const double d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_Cytosol = var_indo_fluo_Ca_buffer_not_connected__dCa_Indo1_Cytosol;
00967         const double d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_SL = var_indo_fluo_Ca_buffer_not_connected__dCa_Indo1_SL;
00968         const double d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_jct = var_indo_fluo_Ca_buffer_not_connected__dCa_Indo1_jct;
00969         const double d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_Cytosol = var_indo_fluo_Ca_buffer_not_connected__dCa_Fluo3_Cytosol;
00970         const double d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_SL = var_indo_fluo_Ca_buffer_not_connected__dCa_Fluo3_SL;
00971         const double d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_jct = var_indo_fluo_Ca_buffer_not_connected__dCa_Fluo3_jct;
00972 
00973         rDY[0] = 1.0*d_dt_cell__V;
00974         rDY[1] = 1.0*d_dt_INa_h_gate__h;
00975         rDY[2] = 1.0*d_dt_INa_j_gate__j;
00976         rDY[3] = 1.0*d_dt_INa_m_gate__m;
00977         rDY[4] = 1.0*d_dt_IKr_Xr_gate__Xr;
00978         rDY[5] = 1.0*d_dt_IKs_Xs_gate__Xs;
00979         rDY[6] = 1.0*d_dt_Itos_X_gate__X_tos;
00980         rDY[7] = 1.0*d_dt_Itos_Y_gate__Y_tos;
00981         rDY[8] = 1.0*d_dt_Itos_R_gate__R_tos;
00982         rDY[9] = 1.0*d_dt_Itof_X_gate__X_tof;
00983         rDY[10] = 1.0*d_dt_Itof_Y_gate__Y_tof;
00984         rDY[11] = 1.0*d_dt_ICaL_d_gate__d;
00985         rDY[12] = 1.0*d_dt_ICaL_f_gate__f;
00986         rDY[13] = 1.0*d_dt_ICaL_fCa_gate__fCaB_SL;
00987         rDY[14] = 1.0*d_dt_ICaL_fCa_gate__fCaB_jct;
00988         rDY[15] = 1.0*d_dt_Jrel_SR__R;
00989         rDY[16] = 1.0*d_dt_Jrel_SR__I;
00990         rDY[17] = 1.0*d_dt_Jrel_SR__O;
00991         rDY[18] = 1.0*d_dt_Na_buffer__Na_SL;
00992         rDY[19] = 1.0*d_dt_Na_buffer__Na_jct;
00993         rDY[20] = 1.0*d_dt_Na_buffer__Na_SL_buf;
00994         rDY[21] = 1.0*d_dt_Na_buffer__Na_jct_buf;
00995         rDY[22] = 1.0*d_dt_Na_buffer__Nai;
00996         rDY[23] = 1.0*d_dt_Ca_buffer__Ca_SR;
00997         rDY[24] = 1.0*d_dt_Ca_buffer__Ca_SL;
00998         rDY[25] = 1.0*d_dt_Ca_buffer__Ca_jct;
00999         rDY[26] = 1.0*d_dt_Ca_buffer__Cai;
01000         rDY[27] = 1.0*d_dt_Ca_buffer__Ca_SLB_SL;
01001         rDY[28] = 1.0*d_dt_Ca_buffer__Ca_SLB_jct;
01002         rDY[29] = 1.0*d_dt_Ca_buffer__Ca_SLHigh_SL;
01003         rDY[30] = 1.0*d_dt_Ca_buffer__Ca_SLHigh_jct;
01004         rDY[31] = 1.0*d_dt_Ca_buffer__Ca_Calsequestrin;
01005         rDY[32] = 1.0*d_dt_cytosolic_Ca_buffer__Ca_TroponinC;
01006         rDY[33] = 1.0*d_dt_cytosolic_Ca_buffer__Ca_TroponinC_Ca_Mg;
01007         rDY[34] = 1.0*d_dt_cytosolic_Ca_buffer__Mg_TroponinC_Ca_Mg;
01008         rDY[35] = 1.0*d_dt_cytosolic_Ca_buffer__Ca_Calmodulin;
01009         rDY[36] = 1.0*d_dt_cytosolic_Ca_buffer__Ca_Myosin;
01010         rDY[37] = 1.0*d_dt_cytosolic_Ca_buffer__Mg_Myosin;
01011         rDY[38] = 1.0*d_dt_cytosolic_Ca_buffer__Ca_SRB;
01012         rDY[39] = 1.0*d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_Cytosol;
01013         rDY[40] = 1.0*d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_SL;
01014         rDY[41] = 1.0*d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Indo1_jct;
01015         rDY[42] = 1.0*d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_Cytosol;
01016         rDY[43] = 1.0*d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_SL;
01017         rDY[44] = 1.0*d_dt_indo_fluo_Ca_buffer_not_connected__Ca_Fluo3_jct;
01018     }
01019 
01020 };
01021 
01022 
01023 template<>
01024 void OdeSystemInformation<CellShannon2004FromCellML>::Initialise(void)
01025 {
01026     // Time units: millisecond
01027     //
01028     this->mVariableNames.push_back("membrane_voltage");
01029     this->mVariableUnits.push_back("millivolt");
01030     this->mInitialConditions.push_back(-85.719687955637);
01031 
01032     this->mVariableNames.push_back("h");
01033     this->mVariableUnits.push_back("dimensionless");
01034     this->mInitialConditions.push_back(0.987140350343);
01035 
01036     this->mVariableNames.push_back("j");
01037     this->mVariableUnits.push_back("dimensionless");
01038     this->mInitialConditions.push_back(0.991822731369);
01039 
01040     this->mVariableNames.push_back("m");
01041     this->mVariableUnits.push_back("dimensionless");
01042     this->mInitialConditions.push_back(0.001370685156);
01043 
01044     this->mVariableNames.push_back("Xr");
01045     this->mVariableUnits.push_back("dimensionless");
01046     this->mInitialConditions.push_back(0.008471550841);
01047 
01048     this->mVariableNames.push_back("Xs");
01049     this->mVariableUnits.push_back("dimensionless");
01050     this->mInitialConditions.push_back(0.00687399199);
01051 
01052     this->mVariableNames.push_back("X_tos");
01053     this->mVariableUnits.push_back("dimensionless");
01054     this->mInitialConditions.push_back(0.004011272375);
01055 
01056     this->mVariableNames.push_back("Y_tos");
01057     this->mVariableUnits.push_back("dimensionless");
01058     this->mInitialConditions.push_back(0.293519921626);
01059 
01060     this->mVariableNames.push_back("R_tos");
01061     this->mVariableUnits.push_back("dimensionless");
01062     this->mInitialConditions.push_back(0.383430556383);
01063 
01064     this->mVariableNames.push_back("X_tof");
01065     this->mVariableUnits.push_back("dimensionless");
01066     this->mInitialConditions.push_back(0.00401120993);
01067 
01068     this->mVariableNames.push_back("Y_tof");
01069     this->mVariableUnits.push_back("dimensionless");
01070     this->mInitialConditions.push_back(0.9946314893);
01071 
01072     this->mVariableNames.push_back("d");
01073     this->mVariableUnits.push_back("dimensionless");
01074     this->mInitialConditions.push_back(0.000006997531);
01075 
01076     this->mVariableNames.push_back("f");
01077     this->mVariableUnits.push_back("dimensionless");
01078     this->mInitialConditions.push_back(1.000675515962);
01079 
01080     this->mVariableNames.push_back("fCaB_SL");
01081     this->mVariableUnits.push_back("dimensionless");
01082     this->mInitialConditions.push_back(0.015352888928);
01083 
01084     this->mVariableNames.push_back("fCaB_jct");
01085     this->mVariableUnits.push_back("dimensionless");
01086     this->mInitialConditions.push_back(0.024609183734);
01087 
01088     this->mVariableNames.push_back("R");
01089     this->mVariableUnits.push_back("dimensionless");
01090     this->mInitialConditions.push_back(0.884673513138);
01091 
01092     this->mVariableNames.push_back("I");
01093     this->mVariableUnits.push_back("dimensionless");
01094     this->mInitialConditions.push_back(0.00000009272);
01095 
01096     this->mVariableNames.push_back("O");
01097     this->mVariableUnits.push_back("dimensionless");
01098     this->mInitialConditions.push_back(0.000000711264);
01099 
01100     this->mVariableNames.push_back("Na_SL");
01101     this->mVariableUnits.push_back("millimolar");
01102     this->mInitialConditions.push_back(8.874077316753);
01103 
01104     this->mVariableNames.push_back("Na_jct");
01105     this->mVariableUnits.push_back("millimolar");
01106     this->mInitialConditions.push_back(8.872823559072);
01107 
01108     this->mVariableNames.push_back("Na_SL_buf");
01109     this->mVariableUnits.push_back("millimolar");
01110     this->mInitialConditions.push_back(0.776121392467);
01111 
01112     this->mVariableNames.push_back("Na_jct_buf");
01113     this->mVariableUnits.push_back("millimolar");
01114     this->mInitialConditions.push_back(3.557055389701);
01115 
01116     this->mVariableNames.push_back("Nai");
01117     this->mVariableUnits.push_back("millimolar");
01118     this->mInitialConditions.push_back(8.874461106492);
01119 
01120     this->mVariableNames.push_back("Ca_SR");
01121     this->mVariableUnits.push_back("millimolar");
01122     this->mInitialConditions.push_back(0.545611267699);
01123 
01124     this->mVariableNames.push_back("Ca_SL");
01125     this->mVariableUnits.push_back("millimolar");
01126     this->mInitialConditions.push_back(0.000106395937);
01127 
01128     this->mVariableNames.push_back("Ca_jct");
01129     this->mVariableUnits.push_back("millimolar");
01130     this->mInitialConditions.push_back(0.000174843061);
01131 
01132     this->mVariableNames.push_back("Cai");
01133     this->mVariableUnits.push_back("millimolar");
01134     this->mInitialConditions.push_back(0.000087350002);
01135 
01136     this->mVariableNames.push_back("Ca_SLB_SL");
01137     this->mVariableUnits.push_back("millimolar");
01138     this->mInitialConditions.push_back(0.009868629147);
01139 
01140     this->mVariableNames.push_back("Ca_SLB_jct");
01141     this->mVariableUnits.push_back("millimolar");
01142     this->mInitialConditions.push_back(0.007780801995);
01143 
01144     this->mVariableNames.push_back("Ca_SLHigh_SL");
01145     this->mVariableUnits.push_back("millimolar");
01146     this->mInitialConditions.push_back(0.114438990328);
01147 
01148     this->mVariableNames.push_back("Ca_SLHigh_jct");
01149     this->mVariableUnits.push_back("millimolar");
01150     this->mInitialConditions.push_back(0.077503874257);
01151 
01152     this->mVariableNames.push_back("Ca_Calsequestrin");
01153     this->mVariableUnits.push_back("millimolar");
01154     this->mInitialConditions.push_back(1.186496899338);
01155 
01156     this->mVariableNames.push_back("Ca_TroponinC");
01157     this->mVariableUnits.push_back("millimolar");
01158     this->mInitialConditions.push_back(0.008963736337);
01159 
01160     this->mVariableNames.push_back("Ca_TroponinC_Ca_Mg");
01161     this->mVariableUnits.push_back("millimolar");
01162     this->mInitialConditions.push_back(0.117995194438);
01163 
01164     this->mVariableNames.push_back("Mg_TroponinC_Ca_Mg");
01165     this->mVariableUnits.push_back("millimolar");
01166     this->mInitialConditions.push_back(0.010337654274);
01167 
01168     this->mVariableNames.push_back("Ca_Calmodulin");
01169     this->mVariableUnits.push_back("millimolar");
01170     this->mInitialConditions.push_back(0.000295961245);
01171 
01172     this->mVariableNames.push_back("Ca_Myosin");
01173     this->mVariableUnits.push_back("millimolar");
01174     this->mInitialConditions.push_back(0.001984672275);
01175 
01176     this->mVariableNames.push_back("Mg_Myosin");
01177     this->mVariableUnits.push_back("millimolar");
01178     this->mInitialConditions.push_back(0.137497736234);
01179 
01180     this->mVariableNames.push_back("Ca_SRB");
01181     this->mVariableUnits.push_back("millimolar");
01182     this->mInitialConditions.push_back(0.002177112381);
01183 
01184     this->mVariableNames.push_back("Ca_Indo1_Cytosol");
01185     this->mVariableUnits.push_back("millimolar");
01186     this->mInitialConditions.push_back(0);
01187 
01188     this->mVariableNames.push_back("Ca_Indo1_SL");
01189     this->mVariableUnits.push_back("millimolar");
01190     this->mInitialConditions.push_back(0);
01191 
01192     this->mVariableNames.push_back("Ca_Indo1_jct");
01193     this->mVariableUnits.push_back("millimolar");
01194     this->mInitialConditions.push_back(0);
01195 
01196     this->mVariableNames.push_back("Ca_Fluo3_Cytosol");
01197     this->mVariableUnits.push_back("millimolar");
01198     this->mInitialConditions.push_back(0);
01199 
01200     this->mVariableNames.push_back("Ca_Fluo3_SL");
01201     this->mVariableUnits.push_back("millimolar");
01202     this->mInitialConditions.push_back(0);
01203 
01204     this->mVariableNames.push_back("Ca_Fluo3_jct");
01205     this->mVariableUnits.push_back("millimolar");
01206     this->mInitialConditions.push_back(0);
01207 
01208     this->mInitialised = true;
01209 }
01210 
01211 
01212 // Export an identifier for this class for boost serialization.
01213 #include "SerializationExportWrapper.hpp"
01214 CHASTE_CLASS_EXPORT(CellShannon2004FromCellML);
01215 
01216 namespace boost
01217 {
01218     namespace serialization
01219     {
01220         template<class Archive>
01221         inline void save_construct_data(
01222             Archive & ar, const CellShannon2004FromCellML * t, const unsigned int fileVersion)
01223         {
01224             const boost::shared_ptr<AbstractIvpOdeSolver> p_solver = t->GetSolver();
01225             const boost::shared_ptr<AbstractStimulusFunction> p_stimulus = t->GetStimulusFunction();
01226             ar << p_solver;
01227             ar << p_stimulus;
01228         }
01229 
01230         template<class Archive>
01231         inline void load_construct_data(
01232             Archive & ar, CellShannon2004FromCellML * t, const unsigned int fileVersion)
01233         {
01234             boost::shared_ptr<AbstractIvpOdeSolver> p_solver;
01235             boost::shared_ptr<AbstractStimulusFunction> p_stimulus;
01236             ar >> p_solver;
01237             ar >> p_stimulus;
01238             ::new(t)CellShannon2004FromCellML(p_solver, p_stimulus);
01239         }
01240 
01241     }
01242 
01243 }
01244 
01245 #endif //_CELLSHANNON2004FROMCELLML_

Generated by  doxygen 1.6.2