Views
A Biophysical Model of the Mitochondrial Respiratory System and Oxidative Phosphorylation
Generated code
Download this code
- The required array sizes are:
- VARIABLES[62]
- CONSTANTS[48]
- BOUND[1]
- RATES[19]
- The following variables are defined:
- Variable t(BOUND[0])
- Variable Mg_tot(CONSTANTS[0])
- Variable Pi_e(CONSTANTS[1])
- Variable ADP_e(CONSTANTS[2])
- Variable RT(CONSTANTS[3])
- Variable F(CONSTANTS[4])
- Variable n_A(CONSTANTS[5])
- Variable dG_C1o(CONSTANTS[6])
- Variable dG_C3o(CONSTANTS[7])
- Variable dG_C4o(CONSTANTS[8])
- Variable dG_F1o(CONSTANTS[9])
- Variable pH_e(CONSTANTS[10])
- Variable H_e(VARIABLES[19]; computed once)
- Variable K_e(CONSTANTS[11])
- Variable ATP_e(CONSTANTS[12])
- Variable AMP_e(CONSTANTS[13])
- Variable k_dHPi(CONSTANTS[14])
- Variable k_dHatp(CONSTANTS[15])
- Variable k_dHadp(CONSTANTS[16])
- Variable K_DT(CONSTANTS[17])
- Variable K_DD(CONSTANTS[18])
- Variable K_AK(CONSTANTS[19])
- Variable W_m(CONSTANTS[20])
- Variable W_x(VARIABLES[20]; computed once)
- Variable W_i(VARIABLES[21]; computed once)
- Variable gamma(CONSTANTS[21])
- Variable Ctot(CONSTANTS[22])
- Variable Qtot(CONSTANTS[23])
- Variable NADtot(CONSTANTS[24])
- Variable H_i(VARIABLES[22]; computed once)
- Variable K_i(VARIABLES[23]; computed once)
- Variable k_Pi1(CONSTANTS[25])
- Variable k_Pi2(CONSTANTS[26])
- Variable k_Pi3(CONSTANTS[27])
- Variable k_Pi4(CONSTANTS[28])
- Variable k_PiH(CONSTANTS[29])
- Variable r(CONSTANTS[30])
- Variable x_DH(CONSTANTS[31])
- Variable x_C1(CONSTANTS[32])
- Variable x_C3(CONSTANTS[33])
- Variable x_C4(CONSTANTS[34])
- Variable x_F1(CONSTANTS[35])
- Variable x_ANT(CONSTANTS[36])
- Variable x_Pi1(CONSTANTS[37])
- Variable x_KH(CONSTANTS[38])
- Variable x_Hle(CONSTANTS[39])
- Variable x_K(CONSTANTS[40])
- Variable k_mADP(CONSTANTS[41])
- Variable x_AK(CONSTANTS[42])
- Variable x_A(CONSTANTS[43])
- Variable k_O2(CONSTANTS[44])
- Variable x_buff(CONSTANTS[45])
- Variable x_MgA(CONSTANTS[46])
- Variable x_Pi2(CONSTANTS[47])
- Variable J_DH(VARIABLES[24]; recomputed after rate changes)
- Variable H_x(RATES[0] and VARIABLES[0])
- Variable K_x(RATES[1] and VARIABLES[1])
- Variable Mg_x(RATES[2] and VARIABLES[2])
- Variable NADH_x(RATES[3] and VARIABLES[3])
- Variable QH2(RATES[4] and VARIABLES[4])
- Variable Cred(RATES[5] and VARIABLES[5])
- Variable ATP_x(RATES[6] and VARIABLES[6])
- Variable ADP_x(RATES[7] and VARIABLES[7])
- Variable ATP_mx(RATES[8] and VARIABLES[8])
- Variable ADP_mx(RATES[9] and VARIABLES[9])
- Variable Pi_x(RATES[10] and VARIABLES[10])
- Variable ATP_i(RATES[11] and VARIABLES[11])
- Variable ADP_i(RATES[12] and VARIABLES[12])
- Variable AMP_i(RATES[13] and VARIABLES[13])
- Variable ATP_mi(RATES[14] and VARIABLES[14])
- Variable ADP_mi(RATES[15] and VARIABLES[15])
- Variable Pi_i(RATES[16] and VARIABLES[16])
- Variable dPsi(RATES[17] and VARIABLES[17])
- Variable O2(RATES[18] and VARIABLES[18])
- Variable J_C1(VARIABLES[25]; recomputed after rate changes)
- Variable dG_C1op(VARIABLES[26]; recomputed after rate changes)
- Variable dG_H(VARIABLES[27]; recomputed after rate changes)
- Variable J_C3(VARIABLES[28]; recomputed after rate changes)
- Variable dG_C3op(VARIABLES[29]; recomputed after rate changes)
- Variable J_C4(VARIABLES[30]; recomputed after rate changes)
- Variable dG_C4op(VARIABLES[31]; recomputed after rate changes)
- Variable J_F1(VARIABLES[32]; recomputed after rate changes)
- Variable J_MgATPx(VARIABLES[33]; recomputed after rate changes)
- Variable ATP_fx(VARIABLES[34]; recomputed after rate changes)
- Variable J_MgADPx(VARIABLES[35]; recomputed after rate changes)
- Variable ADP_fx(VARIABLES[36]; recomputed after rate changes)
- Variable J_MgATPi(VARIABLES[37]; recomputed after rate changes)
- Variable ATP_fi(VARIABLES[38]; recomputed after rate changes)
- Variable J_MgADPi(VARIABLES[39]; recomputed after rate changes)
- Variable ADP_fi(VARIABLES[40]; recomputed after rate changes)
- Variable J_ATP(VARIABLES[41]; recomputed after rate changes)
- Variable J_ADP(VARIABLES[42]; recomputed after rate changes)
- Variable J_AMP(VARIABLES[43]; recomputed after rate changes)
- Variable J_Pi2(VARIABLES[44]; recomputed after rate changes)
- Variable J_ANT(VARIABLES[45]; recomputed after rate changes)
- Variable Psi_x(VARIABLES[46]; recomputed after rate changes)
- Variable Psi_i(VARIABLES[47]; recomputed after rate changes)
- Variable J_Pi1(VARIABLES[48]; recomputed after rate changes)
- Variable H2PIi(VARIABLES[49]; recomputed after rate changes)
- Variable H2PIx(VARIABLES[50]; recomputed after rate changes)
- Variable J_AKi(VARIABLES[51]; recomputed after rate changes)
- Variable J_Hle(VARIABLES[52]; recomputed after rate changes)
- Variable J_K(VARIABLES[53]; recomputed after rate changes)
- Variable J_KH(VARIABLES[54]; recomputed after rate changes)
- Variable NAD_x(VARIABLES[55]; recomputed after rate changes)
- Variable Q(VARIABLES[56]; recomputed after rate changes)
- Variable Cox(VARIABLES[57]; recomputed after rate changes)
- Variable ADP_me(VARIABLES[58]; computed once)
- Variable ADP_fe(VARIABLES[59]; computed once)
- Variable Mg_e(VARIABLES[60]; computed once)
- Variable Mg_i(VARIABLES[61]; computed once)
- No equation needed for Newton-Raphson evaluation.
void SetupFixedConstants(double* CONSTANTS)
{
CONSTANTS[0] = 0.005;
CONSTANTS[1] = 0.001;
CONSTANTS[2] = 0.0013;
CONSTANTS[3] = 2.4734;
CONSTANTS[4] = 0.096484;
CONSTANTS[5] = 3;
CONSTANTS[6] = -69.37;
CONSTANTS[7] = -32.53;
CONSTANTS[8] = -122.94;
CONSTANTS[9] = 36.03;
CONSTANTS[10] = 7.1;
CONSTANTS[11] = 0.15;
CONSTANTS[12] = 0;
CONSTANTS[13] = 0;
CONSTANTS[14] = 1.77828e-07;
CONSTANTS[15] = 3.31131e-07;
CONSTANTS[16] = 5.12861e-07;
CONSTANTS[17] = 2.4e-05;
CONSTANTS[18] = 0.000347;
CONSTANTS[19] = 0.4331;
CONSTANTS[20] = 0.72376;
CONSTANTS[21] = 5.99;
CONSTANTS[22] = 0.0027;
CONSTANTS[23] = 0.00135;
CONSTANTS[24] = 0.00297;
CONSTANTS[25] = 0.00013413;
CONSTANTS[26] = 0.00067668;
CONSTANTS[27] = 0.00019172;
CONSTANTS[28] = 0.02531;
CONSTANTS[29] = 0.00045082;
CONSTANTS[30] = 4.5807;
CONSTANTS[31] = 0.09183;
CONSTANTS[32] = 0.36923;
CONSTANTS[33] = 0.091737;
CONSTANTS[34] = 3.2562e-05;
CONSTANTS[35] = 150.93;
CONSTANTS[36] = 0.0079204;
CONSTANTS[37] = 339430;
CONSTANTS[38] = 2.9802e+07;
CONSTANTS[39] = 250;
CONSTANTS[40] = 0;
CONSTANTS[41] = 3.5e-06;
CONSTANTS[42] = 0;
CONSTANTS[43] = 85;
CONSTANTS[44] = 0.00012;
CONSTANTS[45] = 100;
CONSTANTS[46] = 1e+06;
CONSTANTS[47] = 327;
}
void SetupComputedConstants(double* CONSTANTS, double* VARIABLES)
{
VARIABLES[19] = pow(10.0000,(-CONSTANTS[10]));
VARIABLES[20] = (0.900000*CONSTANTS[20]);
VARIABLES[21] = (0.100000*CONSTANTS[20]);
VARIABLES[22] = VARIABLES[19];
VARIABLES[23] = CONSTANTS[11];
VARIABLES[58] = ((((CONSTANTS[18]+CONSTANTS[2])+CONSTANTS[0])-pow((pow(((CONSTANTS[18]+CONSTANTS[2])+CONSTANTS[0]),2.00000)-(4.00000*(CONSTANTS[0]*CONSTANTS[2]))),0.500000))/2.00000);
VARIABLES[59] = (CONSTANTS[2]-VARIABLES[58]);
VARIABLES[60] = (CONSTANTS[0]-VARIABLES[58]);
VARIABLES[61] = VARIABLES[60];
VARIABLES[0] = 6.30957e-08;
VARIABLES[1] = 0.140000;
VARIABLES[2] = 0.00500000;
VARIABLES[3] = 0.00150000;
VARIABLES[4] = 0.000800000;
VARIABLES[5] = 0.00100000;
VARIABLES[6] = 0.00000;
VARIABLES[7] = 0.0100000;
VARIABLES[8] = 0.00000;
VARIABLES[9] = 0.00000;
VARIABLES[10] = 0.00100000;
VARIABLES[11] = 0.00000;
VARIABLES[12] = 0.00000;
VARIABLES[13] = 0.00000;
VARIABLES[14] = 0.00000;
VARIABLES[15] = 0.00000;
VARIABLES[16] = 0.00100000;
VARIABLES[17] = 160.000;
VARIABLES[18] = 2.60000e-05;
}
void ComputeRates(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
RATES[0] = ((CONSTANTS[45]*VARIABLES[0])*((((((((VARIABLES[24]-(5.00000*VARIABLES[25]))-(2.00000*VARIABLES[28]))-(4.00000*VARIABLES[30]))+((CONSTANTS[5]-1.00000)*VARIABLES[32]))+(2.00000*VARIABLES[48]))+VARIABLES[52])-VARIABLES[54])/VARIABLES[20]));
RATES[1] = ((VARIABLES[54]+VARIABLES[53])/VARIABLES[20]);
RATES[2] = (((-VARIABLES[33])-VARIABLES[35])/VARIABLES[20]);
RATES[3] = ((VARIABLES[24]-VARIABLES[25])/VARIABLES[20]);
RATES[4] = ((VARIABLES[25]-VARIABLES[28])/VARIABLES[20]);
RATES[5] = (((2.00000*VARIABLES[28])-(2.00000*VARIABLES[30]))/VARIABLES[21]);
RATES[6] = ((VARIABLES[32]-VARIABLES[45])/VARIABLES[20]);
RATES[7] = (((-VARIABLES[32])+VARIABLES[45])/VARIABLES[20]);
RATES[8] = (VARIABLES[33]/VARIABLES[20]);
RATES[9] = (VARIABLES[35]/VARIABLES[20]);
RATES[10] = (((-VARIABLES[32])+VARIABLES[48])/VARIABLES[20]);
RATES[11] = (((VARIABLES[41]+VARIABLES[45])+VARIABLES[51])/VARIABLES[21]);
RATES[12] = (((VARIABLES[42]-VARIABLES[45])-(2.00000*VARIABLES[51]))/VARIABLES[21]);
RATES[13] = ((VARIABLES[43]+VARIABLES[51])/VARIABLES[21]);
RATES[14] = (VARIABLES[37]/VARIABLES[21]);
RATES[15] = (VARIABLES[39]/VARIABLES[21]);
RATES[16] = (((-VARIABLES[48])+VARIABLES[44])/VARIABLES[21]);
RATES[17] = (148000.*(((((((4.00000*VARIABLES[25])+(2.00000*VARIABLES[28]))+(4.00000*VARIABLES[30]))-(CONSTANTS[5]*VARIABLES[32]))-VARIABLES[45])-VARIABLES[52])-VARIABLES[53]));
RATES[18] = 0.00000;
}
void ComputeVariables(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
VARIABLES[55] = (CONSTANTS[24]-VARIABLES[3]);
VARIABLES[24] = ((CONSTANTS[31]*((CONSTANTS[30]*VARIABLES[55])-VARIABLES[3]))*((1.00000+(VARIABLES[10]/CONSTANTS[25]))/(1.00000+(VARIABLES[10]/CONSTANTS[26]))));
VARIABLES[27] = ((CONSTANTS[4]*VARIABLES[17])+(CONSTANTS[3]*log((VARIABLES[22]/VARIABLES[0]))));
VARIABLES[56] = (CONSTANTS[23]-VARIABLES[4]);
VARIABLES[26] = ((CONSTANTS[6]-((1.00000*CONSTANTS[3])*log((VARIABLES[0]/1.00000e-07))))-(CONSTANTS[3]*log((VARIABLES[56]/VARIABLES[4]))));
VARIABLES[25] = (CONSTANTS[32]*((exp((-((VARIABLES[26]+(4.00000*VARIABLES[27]))/CONSTANTS[3])))*VARIABLES[3])-VARIABLES[55]));
VARIABLES[57] = (CONSTANTS[22]-VARIABLES[5]);
VARIABLES[29] = ((CONSTANTS[7]+((2.00000*CONSTANTS[3])*log((VARIABLES[0]/1.00000e-07))))-(CONSTANTS[3]*log((VARIABLES[4]/VARIABLES[56]))));
VARIABLES[28] = ((CONSTANTS[33]*((1.00000+(VARIABLES[10]/CONSTANTS[27]))/(1.00000+(VARIABLES[10]/CONSTANTS[28]))))*((exp((-(((VARIABLES[29]+(4.00000*VARIABLES[27]))-((2.00000*CONSTANTS[4])*VARIABLES[17]))/(2.00000*CONSTANTS[3]))))*VARIABLES[57])-VARIABLES[5]));
VARIABLES[31] = ((CONSTANTS[8]-((2.00000*CONSTANTS[3])*log((VARIABLES[0]/1.00000e-07))))-((CONSTANTS[3]/2.00000)*log(VARIABLES[18])));
VARIABLES[30] = (((CONSTANTS[34]*(1.00000/(1.00000+(CONSTANTS[44]/VARIABLES[18]))))*(VARIABLES[5]/CONSTANTS[22]))*((exp((-((VARIABLES[31]+(2.00000*VARIABLES[27]))/(2.00000*CONSTANTS[3]))))*VARIABLES[5])-(VARIABLES[57]*exp((CONSTANTS[4]*(VARIABLES[17]/CONSTANTS[3]))))));
VARIABLES[32] = (CONSTANTS[35]*((((exp((-((CONSTANTS[9]-(CONSTANTS[5]*VARIABLES[27]))/CONSTANTS[3])))*(CONSTANTS[18]/CONSTANTS[17]))*VARIABLES[9])*VARIABLES[10])-VARIABLES[8]));
VARIABLES[34] = (VARIABLES[6]-VARIABLES[8]);
VARIABLES[33] = (CONSTANTS[46]*((VARIABLES[34]*VARIABLES[2])-(CONSTANTS[17]*VARIABLES[8])));
VARIABLES[36] = (VARIABLES[7]-VARIABLES[9]);
VARIABLES[35] = (CONSTANTS[46]*((VARIABLES[36]*VARIABLES[2])-(CONSTANTS[18]*VARIABLES[9])));
VARIABLES[38] = (VARIABLES[11]-VARIABLES[14]);
VARIABLES[37] = (CONSTANTS[46]*((VARIABLES[38]*VARIABLES[61])-(CONSTANTS[17]*VARIABLES[14])));
VARIABLES[40] = (VARIABLES[12]-VARIABLES[15]);
VARIABLES[39] = (CONSTANTS[46]*((VARIABLES[40]*VARIABLES[61])-(CONSTANTS[18]*VARIABLES[15])));
VARIABLES[41] = ((CONSTANTS[21]*CONSTANTS[43])*(CONSTANTS[12]-VARIABLES[11]));
VARIABLES[42] = ((CONSTANTS[21]*CONSTANTS[43])*(CONSTANTS[2]-VARIABLES[12]));
VARIABLES[43] = ((CONSTANTS[21]*CONSTANTS[43])*(CONSTANTS[13]-VARIABLES[13]));
VARIABLES[44] = ((CONSTANTS[21]*CONSTANTS[47])*(CONSTANTS[1]-VARIABLES[16]));
VARIABLES[46] = ((-0.650000)*VARIABLES[17]);
VARIABLES[47] = (0.350000*VARIABLES[17]);
VARIABLES[45] = ((((VARIABLES[40]>1.00000e-12))||((VARIABLES[38]>1.00000e-12)))) ? (((CONSTANTS[36]*((VARIABLES[40]/(VARIABLES[40]+(VARIABLES[38]*exp(((-CONSTANTS[4])*(VARIABLES[47]/CONSTANTS[3]))))))-(VARIABLES[36]/(VARIABLES[36]+(VARIABLES[34]*exp(((-CONSTANTS[4])*(VARIABLES[46]/CONSTANTS[3]))))))))*(VARIABLES[40]/(VARIABLES[40]+CONSTANTS[41])))) : (0.00000);
VARIABLES[49] = (VARIABLES[16]*(VARIABLES[22]/(VARIABLES[22]+CONSTANTS[14])));
VARIABLES[50] = (VARIABLES[10]*(VARIABLES[0]/(VARIABLES[0]+CONSTANTS[14])));
VARIABLES[48] = (CONSTANTS[37]*(((VARIABLES[0]*VARIABLES[49])-(VARIABLES[22]*VARIABLES[50]))/(VARIABLES[49]+CONSTANTS[29])));
VARIABLES[51] = (CONSTANTS[42]*(((CONSTANTS[19]*VARIABLES[12])*VARIABLES[12])-(VARIABLES[13]*VARIABLES[11])));
VARIABLES[52] = ((CONSTANTS[39]*VARIABLES[17])*(((VARIABLES[22]*exp((CONSTANTS[4]*(VARIABLES[17]/CONSTANTS[3]))))-VARIABLES[0])/(exp((CONSTANTS[4]*(VARIABLES[17]/CONSTANTS[3])))-1.00000)));
VARIABLES[53] = ((CONSTANTS[40]*VARIABLES[17])*(((VARIABLES[23]*exp((CONSTANTS[4]*(VARIABLES[17]/CONSTANTS[3]))))-VARIABLES[1])/(exp((CONSTANTS[4]*(VARIABLES[17]/CONSTANTS[3])))-1.00000)));
VARIABLES[54] = (CONSTANTS[38]*((VARIABLES[23]*VARIABLES[0])-(VARIABLES[1]*VARIABLES[22])));
#ifndef VARIABLES_FOR_RATES_ONLY
#endif
}
