Views
Calcium and Glycolysis Mediate Multiple Bursting Modes in Pancreatic Islets
Generated code
Download this code
- The required array sizes are:
- VARIABLES[78]
- CONSTANTS[45]
- BOUND[1]
- RATES[7]
- The following variables are defined:
- Variable time(BOUND[0])
- Variable V(RATES[0] and VARIABLES[0])
- Variable IK(VARIABLES[7]; recomputed after rate changes)
- Variable ICa(VARIABLES[8]; recomputed after rate changes)
- Variable IKCa(VARIABLES[9]; recomputed after rate changes)
- Variable Cm(CONSTANTS[0])
- Variable gK(CONSTANTS[1])
- Variable n(RATES[1] and VARIABLES[1])
- Variable gKCa(CONSTANTS[2])
- Variable kd(CONSTANTS[3])
- Variable gCa(CONSTANTS[4])
- Variable minf(VARIABLES[10]; recomputed after rate changes)
- Variable VCa(CONSTANTS[5])
- Variable taun(CONSTANTS[6])
- Variable ninf(VARIABLES[11]; recomputed after rate changes)
- Variable c(RATES[2] and VARIABLES[2])
- Variable cer(RATES[3] and VARIABLES[3])
- Variable fcyt(CONSTANTS[7])
- Variable Jmem(VARIABLES[12]; recomputed after rate changes)
- Variable Jer(VARIABLES[13]; recomputed after rate changes)
- Variable fer(CONSTANTS[8])
- Variable sigmaV(CONSTANTS[9])
- Variable pleak(CONSTANTS[10])
- Variable Kserca(CONSTANTS[11])
- Variable lambdaer(CONSTANTS[12])
- Variable weight8(VARIABLES[14]; recomputed after rate changes)
- Variable topa8(VARIABLES[15]; recomputed after rate changes)
- Variable bottom8(VARIABLES[16]; recomputed after rate changes)
- Variable weight9(VARIABLES[17]; recomputed after rate changes)
- Variable topa9(VARIABLES[18]; recomputed after rate changes)
- Variable bottom9(VARIABLES[19]; recomputed after rate changes)
- Variable weight10(VARIABLES[20]; recomputed after rate changes)
- Variable topa10(VARIABLES[21]; recomputed after rate changes)
- Variable bottom10(VARIABLES[22]; recomputed after rate changes)
- Variable weight11(VARIABLES[23]; recomputed after rate changes)
- Variable topa11(VARIABLES[24]; recomputed after rate changes)
- Variable bottom11(VARIABLES[25]; recomputed after rate changes)
- Variable weight12(VARIABLES[26]; recomputed after rate changes)
- Variable topa12(VARIABLES[27]; recomputed after rate changes)
- Variable bottom12(VARIABLES[28]; recomputed after rate changes)
- Variable weight13(VARIABLES[29]; recomputed after rate changes)
- Variable topa13(VARIABLES[30]; recomputed after rate changes)
- Variable bottom13(VARIABLES[31]; recomputed after rate changes)
- Variable weight14(VARIABLES[32]; recomputed after rate changes)
- Variable topa14(VARIABLES[33]; recomputed after rate changes)
- Variable bottom14(VARIABLES[34]; recomputed after rate changes)
- Variable weight15(VARIABLES[35]; recomputed after rate changes)
- Variable topa15(VARIABLES[36]; recomputed after rate changes)
- Variable bottom15(VARIABLES[37]; recomputed after rate changes)
- Variable weight16(VARIABLES[38]; recomputed after rate changes)
- Variable topa16(VARIABLES[39]; recomputed after rate changes)
- Variable bottom16(VARIABLES[40]; recomputed after rate changes)
- Variable topb(VARIABLES[41]; recomputed after rate changes)
- Variable mgadp(VARIABLES[42]; recomputed after rate changes)
- Variable adp3m(VARIABLES[43]; recomputed after rate changes)
- Variable atp4m(VARIABLES[44]; recomputed after rate changes)
- Variable topo(VARIABLES[45]; recomputed after rate changes)
- Variable bottomo(VARIABLES[46]; recomputed after rate changes)
- Variable katpo(VARIABLES[47]; recomputed after rate changes)
- Variable IKATP(VARIABLES[48]; recomputed after rate changes)
- Variable VK(CONSTANTS[13])
- Variable gkatpbar(CONSTANTS[14])
- Variable kdd(CONSTANTS[15])
- Variable ktd(CONSTANTS[16])
- Variable ktt(CONSTANTS[17])
- Variable atp(VARIABLES[49]; recomputed after rate changes)
- Variable adp(RATES[4] and VARIABLES[4])
- Variable fback(VARIABLES[50]; recomputed after rate changes)
- Variable taua(CONSTANTS[18])
- Variable r1(CONSTANTS[19])
- Variable r(CONSTANTS[20])
- Variable y(VARIABLES[51]; recomputed after rate changes)
- Variable vg(CONSTANTS[21])
- Variable kg(CONSTANTS[22])
- Variable amp(VARIABLES[52]; recomputed after rate changes)
- Variable rad(VARIABLES[53]; recomputed after rate changes)
- Variable ratio(VARIABLES[54]; recomputed after rate changes)
- Variable epser(CONSTANTS[23])
- Variable alpha(CONSTANTS[24])
- Variable kpmca(CONSTANTS[25])
- Variable Jserca(VARIABLES[55]; recomputed after rate changes)
- Variable Jleak(VARIABLES[56]; recomputed after rate changes)
- Variable rgpdh(VARIABLES[57]; recomputed after rate changes)
- Variable Rgk(CONSTANTS[26])
- Variable atot(CONSTANTS[27])
- Variable pfkbas(CONSTANTS[28])
- Variable Katpase(CONSTANTS[29])
- Variable kg(CONSTANTS[30])
- Variable f6p(VARIABLES[58]; recomputed after rate changes)
- Variable lambda(CONSTANTS[31])
- Variable g6p(RATES[5] and VARIABLES[5])
- Variable fbp(RATES[6] and VARIABLES[6])
- Variable pfk(VARIABLES[59]; recomputed after rate changes)
- Variable bottom1(CONSTANTS[32])
- Variable weight1(CONSTANTS[33])
- Variable topa1(CONSTANTS[34])
- Variable k1(CONSTANTS[35])
- Variable k2(CONSTANTS[36])
- Variable k3(CONSTANTS[37])
- Variable k4(CONSTANTS[38])
- Variable cat(CONSTANTS[39])
- Variable weight2(VARIABLES[60]; recomputed after rate changes)
- Variable topa2(VARIABLES[61]; computed once)
- Variable bottom2(VARIABLES[62]; recomputed after rate changes)
- Variable topa3(VARIABLES[63]; recomputed after rate changes)
- Variable weight3(VARIABLES[64]; recomputed after rate changes)
- Variable bottom3(VARIABLES[65]; recomputed after rate changes)
- Variable famp(CONSTANTS[40])
- Variable fatp(CONSTANTS[41])
- Variable ffbp(CONSTANTS[42])
- Variable fbt(CONSTANTS[43])
- Variable fmt(CONSTANTS[44])
- Variable weight4(VARIABLES[66]; recomputed after rate changes)
- Variable topa4(VARIABLES[67]; recomputed after rate changes)
- Variable bottom4(VARIABLES[68]; recomputed after rate changes)
- Variable weight5(VARIABLES[69]; recomputed after rate changes)
- Variable topa5(VARIABLES[70]; recomputed after rate changes)
- Variable bottom5(VARIABLES[71]; recomputed after rate changes)
- Variable weight6(VARIABLES[72]; recomputed after rate changes)
- Variable topa6(VARIABLES[73]; recomputed after rate changes)
- Variable bottom6(VARIABLES[74]; recomputed after rate changes)
- Variable weight7(VARIABLES[75]; recomputed after rate changes)
- Variable topa7(VARIABLES[76]; recomputed after rate changes)
- Variable bottom7(VARIABLES[77]; recomputed after rate changes)
- No equation needed for Newton-Raphson evaluation.
void SetupFixedConstants(double* CONSTANTS)
{
CONSTANTS[0] = 5300;
CONSTANTS[1] = 2700;
CONSTANTS[2] = 600;
CONSTANTS[3] = 0.5;
CONSTANTS[4] = 1000;
CONSTANTS[5] = 25;
CONSTANTS[6] = 20;
CONSTANTS[7] = 0.01;
CONSTANTS[8] = 0.01;
CONSTANTS[9] = 31;
CONSTANTS[10] = 0.0002;
CONSTANTS[11] = 0.4;
CONSTANTS[12] = 1;
CONSTANTS[13] = -75;
CONSTANTS[14] = 25000;
CONSTANTS[15] = 17;
CONSTANTS[16] = 26;
CONSTANTS[17] = 1;
CONSTANTS[18] = 300000;
CONSTANTS[19] = 0.35;
CONSTANTS[20] = 1;
CONSTANTS[21] = 2.2;
CONSTANTS[22] = 10;
CONSTANTS[23] = 1;
CONSTANTS[24] = 4.5e-06;
CONSTANTS[25] = 0.2;
CONSTANTS[26] = 0.2;
CONSTANTS[27] = 3000;
CONSTANTS[28] = 0.06;
CONSTANTS[29] = 0.0003;
CONSTANTS[30] = 10;
CONSTANTS[31] = 0.005;
CONSTANTS[32] = 1;
CONSTANTS[33] = 1;
CONSTANTS[34] = 0;
CONSTANTS[35] = 30;
CONSTANTS[36] = 1;
CONSTANTS[37] = 50000;
CONSTANTS[38] = 1000;
CONSTANTS[39] = 2;
CONSTANTS[40] = 0.02;
CONSTANTS[41] = 20;
CONSTANTS[42] = 0.2;
CONSTANTS[43] = 20;
CONSTANTS[44] = 20;
}
void SetupComputedConstants(double* CONSTANTS, double* VARIABLES)
{
VARIABLES[61] = CONSTANTS[34];
VARIABLES[0] = -60;
VARIABLES[1] = 0;
VARIABLES[2] = 0.1;
VARIABLES[3] = 185;
VARIABLES[4] = 780;
VARIABLES[5] = 200;
VARIABLES[6] = 40;
}
void ComputeRates(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
RATES[0] = ((-(VARIABLES[7]+VARIABLES[8]+VARIABLES[9]+VARIABLES[48]))/CONSTANTS[0]);
RATES[1] = ((VARIABLES[11]-VARIABLES[1])/CONSTANTS[6]);
RATES[2] = (CONSTANTS[7]*(VARIABLES[12]+VARIABLES[13]));
RATES[3] = ((-CONSTANTS[8])*CONSTANTS[9]*VARIABLES[13]);
RATES[6] = (CONSTANTS[31]*((VARIABLES[59]) * 1.00000e-06-(0.500000*VARIABLES[57])));
RATES[5] = (CONSTANTS[31]*(CONSTANTS[26]-(VARIABLES[59]) * 1.00000e-06));
RATES[4] = ((VARIABLES[49]-(VARIABLES[4]*exp((VARIABLES[50]*(1.00000-(VARIABLES[2]/CONSTANTS[19]))))))/CONSTANTS[18]);
}
void ComputeVariables(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
VARIABLES[53] = pow((pow((VARIABLES[4]-CONSTANTS[27]),2.00000)-(4.00000*pow(VARIABLES[4],2.00000))), 1.0 / (2.0));
VARIABLES[55] = (CONSTANTS[11]*VARIABLES[2]);
VARIABLES[56] = (CONSTANTS[10]*(VARIABLES[3]-VARIABLES[2]));
VARIABLES[57] = (0.200000*pow(VARIABLES[6], 1.0 / (2.0)));
VARIABLES[58] = (0.300000*VARIABLES[5]);
VARIABLES[49] = (0.500000*((CONSTANTS[27]-VARIABLES[4])+VARIABLES[53]));
VARIABLES[52] = ((VARIABLES[4]*VARIABLES[4])/VARIABLES[49]);
VARIABLES[35] = ((VARIABLES[52]*VARIABLES[6]*pow(VARIABLES[58],2.00000))/(CONSTANTS[35]*CONSTANTS[36]*CONSTANTS[37]*CONSTANTS[42]*CONSTANTS[40]));
VARIABLES[41] = VARIABLES[35];
VARIABLES[38] = ((VARIABLES[52]*VARIABLES[6]*pow(VARIABLES[58],2.00000)*pow(VARIABLES[49],2.00000))/(CONSTANTS[35]*CONSTANTS[36]*CONSTANTS[37]*CONSTANTS[38]*CONSTANTS[42]*CONSTANTS[40]*CONSTANTS[43]*CONSTANTS[44]*CONSTANTS[41]));
VARIABLES[14] = ((VARIABLES[6]*pow(VARIABLES[58],2.00000)*pow(VARIABLES[49],2.00000))/(CONSTANTS[36]*CONSTANTS[37]*CONSTANTS[38]*CONSTANTS[42]*CONSTANTS[43]*CONSTANTS[41]));
VARIABLES[66] = (pow((VARIABLES[58]*VARIABLES[49]),2.00000)/(CONSTANTS[41]*CONSTANTS[37]*CONSTANTS[38]));
VARIABLES[64] = (pow(VARIABLES[58],2.00000)/CONSTANTS[37]);
VARIABLES[63] = (VARIABLES[61]+VARIABLES[64]);
VARIABLES[67] = (VARIABLES[63]+VARIABLES[66]);
VARIABLES[70] = VARIABLES[67];
VARIABLES[73] = VARIABLES[70];
VARIABLES[75] = ((VARIABLES[6]*pow(VARIABLES[58],2.00000))/(CONSTANTS[36]*CONSTANTS[37]*CONSTANTS[42]));
VARIABLES[76] = (VARIABLES[73]+VARIABLES[75]);
VARIABLES[15] = (VARIABLES[76]+VARIABLES[14]);
VARIABLES[18] = VARIABLES[15];
VARIABLES[21] = VARIABLES[18];
VARIABLES[23] = ((VARIABLES[52]*pow(VARIABLES[58],2.00000))/(CONSTANTS[35]*CONSTANTS[37]*CONSTANTS[40]));
VARIABLES[24] = (VARIABLES[21]+VARIABLES[23]);
VARIABLES[26] = ((VARIABLES[52]*pow(VARIABLES[58],2.00000)*pow(VARIABLES[49],2.00000))/(CONSTANTS[35]*CONSTANTS[37]*CONSTANTS[38]*CONSTANTS[40]*CONSTANTS[44]*CONSTANTS[41]));
VARIABLES[27] = (VARIABLES[24]+VARIABLES[26]);
VARIABLES[30] = VARIABLES[27];
VARIABLES[33] = VARIABLES[30];
VARIABLES[36] = VARIABLES[33];
VARIABLES[39] = (VARIABLES[36]+VARIABLES[38]);
VARIABLES[69] = (VARIABLES[6]/CONSTANTS[36]);
VARIABLES[60] = (pow(VARIABLES[49],2.00000)/CONSTANTS[38]);
VARIABLES[62] = (CONSTANTS[32]+VARIABLES[60]);
VARIABLES[65] = (VARIABLES[62]+VARIABLES[64]);
VARIABLES[68] = (VARIABLES[65]+VARIABLES[66]);
VARIABLES[71] = (VARIABLES[68]+VARIABLES[69]);
VARIABLES[72] = ((VARIABLES[6]*pow(VARIABLES[49],2.00000))/(CONSTANTS[36]*CONSTANTS[38]*CONSTANTS[43]));
VARIABLES[74] = (VARIABLES[71]+VARIABLES[72]);
VARIABLES[77] = (VARIABLES[74]+VARIABLES[75]);
VARIABLES[16] = (VARIABLES[77]+VARIABLES[14]);
VARIABLES[17] = (VARIABLES[52]/CONSTANTS[35]);
VARIABLES[19] = (VARIABLES[16]+VARIABLES[17]);
VARIABLES[20] = ((VARIABLES[52]*pow(VARIABLES[49],2.00000))/(CONSTANTS[35]*CONSTANTS[38]*CONSTANTS[44]));
VARIABLES[22] = (VARIABLES[19]+VARIABLES[20]);
VARIABLES[25] = (VARIABLES[22]+VARIABLES[23]);
VARIABLES[28] = (VARIABLES[25]+VARIABLES[26]);
VARIABLES[29] = ((VARIABLES[52]*VARIABLES[6])/(CONSTANTS[35]*CONSTANTS[36]));
VARIABLES[31] = (VARIABLES[28]+VARIABLES[29]);
VARIABLES[32] = ((VARIABLES[52]*VARIABLES[6]*pow(VARIABLES[49],2.00000))/(CONSTANTS[35]*CONSTANTS[36]*CONSTANTS[38]*CONSTANTS[43]*CONSTANTS[44]));
VARIABLES[34] = (VARIABLES[31]+VARIABLES[32]);
VARIABLES[37] = (VARIABLES[34]+VARIABLES[35]);
VARIABLES[40] = (VARIABLES[37]+VARIABLES[38]);
VARIABLES[59] = (((CONSTANTS[28]*CONSTANTS[39]*VARIABLES[39])+(CONSTANTS[39]*VARIABLES[41]))/VARIABLES[40]);
VARIABLES[7] = (CONSTANTS[1]*VARIABLES[1]*(VARIABLES[0]-CONSTANTS[13]));
VARIABLES[10] = (1.00000/(1.00000+exp(((-(20.0000+VARIABLES[0]))/12.0000))));
VARIABLES[8] = (CONSTANTS[4]*VARIABLES[10]*(VARIABLES[0]-CONSTANTS[5]));
VARIABLES[9] = ((CONSTANTS[2]/(1.00000+pow((CONSTANTS[3]/VARIABLES[2]),2.00000)))*(VARIABLES[0]-CONSTANTS[13]));
VARIABLES[11] = (1.00000/(1.00000+exp(((-(16.0000+VARIABLES[0]))/5.00000))));
VARIABLES[12] = (-((CONSTANTS[24]*VARIABLES[8])+(CONSTANTS[25]*VARIABLES[2])));
VARIABLES[13] = ((CONSTANTS[23]*(VARIABLES[56]-VARIABLES[55]))/CONSTANTS[12]);
VARIABLES[42] = (0.165000*VARIABLES[4]);
VARIABLES[43] = (0.135000*VARIABLES[4]);
VARIABLES[44] = (0.0500000*VARIABLES[49]);
VARIABLES[45] = ((0.0800000*(1.00000+((2.00000*VARIABLES[42])/CONSTANTS[15])))+(0.890000*pow((VARIABLES[42]/CONSTANTS[15]),2.00000)));
VARIABLES[46] = (pow((1.00000+(VARIABLES[42]/CONSTANTS[15])),2.00000)*(1.00000+(VARIABLES[43]/CONSTANTS[16])+(VARIABLES[44]/CONSTANTS[17])));
VARIABLES[47] = (VARIABLES[45]/VARIABLES[46]);
VARIABLES[48] = (CONSTANTS[14]*VARIABLES[47]*(VARIABLES[0]-CONSTANTS[13]));
VARIABLES[51] = (CONSTANTS[21]*(VARIABLES[57]/(CONSTANTS[22]+VARIABLES[57])));
VARIABLES[50] = (CONSTANTS[20]+VARIABLES[51]);
#ifndef VARIABLES_FOR_RATES_ONLY
VARIABLES[54] = (VARIABLES[49]/VARIABLES[4]);
#endif
}
