Generated Code
The following is c code generated by the CellML API from this CellML file. (Back to language selection)
The raw code is available.
/*
There are a total of 3 entries in the algebraic variable array.
There are a total of 1 entries in each of the rate and state variable arrays.
There are a total of 43 entries in the constant variable array.
*/
/*
* VOI is t in component GLUT2_BG (second).
* CONSTANTS[0] is K_Ai in component params_BG (per_fmol).
* CONSTANTS[1] is K_Ao in component params_BG (per_fmol).
* CONSTANTS[2] is K_1 in component params_BG (per_fmol).
* CONSTANTS[3] is K_2 in component params_BG (per_fmol).
* CONSTANTS[4] is K_3 in component params_BG (per_fmol).
* CONSTANTS[5] is K_4 in component params_BG (per_fmol).
* CONSTANTS[6] is kappa_r1 in component params_BG (fmol_per_s).
* CONSTANTS[7] is kappa_r2 in component params_BG (fmol_per_s).
* CONSTANTS[8] is kappa_r3 in component params_BG (fmol_per_s).
* CONSTANTS[9] is kappa_r4 in component params_BG (fmol_per_s).
* ALGEBRAIC[0] is q_Ai in component GLUT2_BG (fmol).
* CONSTANTS[30] is q_Ao in component GLUT2_BG (fmol).
* CONSTANTS[37] is lambda in component GLUT2_BG (dimensionless).
* CONSTANTS[33] is q_tot in component GLUT2_BG (fmol).
* CONSTANTS[38] is v_max in component GLUT2_BG (fmol_per_s).
* CONSTANTS[39] is k_m_1 in component GLUT2_BG (dimensionless).
* CONSTANTS[40] is k_m_2 in component GLUT2_BG (dimensionless).
* CONSTANTS[41] is k_m_3 in component GLUT2_BG (dimensionless).
* ALGEBRAIC[1] is v in component GLUT2_BG (fmol_per_s).
* CONSTANTS[35] is v_max_free in component GLUT2_BG (fmol_per_s).
* ALGEBRAIC[2] is v_free in component GLUT2_BG (fmol_per_s).
* CONSTANTS[34] is k_m_1_free in component GLUT2_BG (dimensionless).
* CONSTANTS[36] is k_m_2_free in component GLUT2_BG (dimensionless).
* CONSTANTS[10] is k_m_3_free in component GLUT2_BG (dimensionless).
* CONSTANTS[11] is k_oi_math in component GLUT2_BG (mM).
* CONSTANTS[12] is k_io_math in component GLUT2_BG (mM).
* CONSTANTS[13] is v_oi_max in component GLUT2_BG (mM_per_s).
* CONSTANTS[14] is v_io_max in component GLUT2_BG (mM_per_s).
* CONSTANTS[15] is V_E in component GLUT2_BG (pL).
* CONSTANTS[16] is GC in component GLUT2_BG (uM).
* STATES[0] is g_i in component GLUT2_BG (mM).
* CONSTANTS[17] is g_o in component GLUT2_BG (mM).
* CONSTANTS[18] is V_i in component GLUT2_BG (pL).
* CONSTANTS[19] is V_o in component GLUT2_BG (pL).
* CONSTANTS[20] is R in component params_BG (J_per_K_mol).
* CONSTANTS[21] is T in component params_BG (kelvin).
* CONSTANTS[31] is q_init_Ai in component params_BG (fmol).
* CONSTANTS[32] is q_init_Ao in component params_BG (fmol).
* CONSTANTS[22] is q_init_1 in component params_BG (fmol).
* CONSTANTS[23] is q_init_2 in component params_BG (fmol).
* CONSTANTS[24] is q_init_3 in component params_BG (fmol).
* CONSTANTS[25] is q_init_4 in component params_BG (fmol).
* CONSTANTS[26] is V_i in component params_BG (pL).
* CONSTANTS[27] is g_i in component params_BG (mM).
* CONSTANTS[28] is g_o in component params_BG (mM).
* CONSTANTS[29] is V_o in component params_BG (pL).
* RATES[0] is d/dt g_i in component GLUT2_BG (mM).
*/
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 149.65;
CONSTANTS[1] = 149.65;
CONSTANTS[2] = 33.20;
CONSTANTS[3] = 4.25e+03;
CONSTANTS[4] = 344.59;
CONSTANTS[5] = 1.99;
CONSTANTS[6] = 0.36;
CONSTANTS[7] = 0.26;
CONSTANTS[8] = 1.01e+05;
CONSTANTS[9] = 1.01e+04;
CONSTANTS[10] = 218.96;
CONSTANTS[11] = 0.1094;
CONSTANTS[12] = 1.609;
CONSTANTS[13] = 0.004839;
CONSTANTS[14] = 0.07117;
CONSTANTS[15] = 1;
CONSTANTS[16] = 6.67;
STATES[0] = 1e-8;
CONSTANTS[17] = 1e-8;
CONSTANTS[18] = 0.09;
CONSTANTS[19] = 0.09;
CONSTANTS[20] = 8.31;
CONSTANTS[21] = 273.15;
CONSTANTS[22] = 0.0017;
CONSTANTS[23] = 0.0017;
CONSTANTS[24] = 0.0017;
CONSTANTS[25] = 0.0017;
CONSTANTS[26] = 0.09;
CONSTANTS[27] = 10;
CONSTANTS[28] = 1e-5;
CONSTANTS[29] = 0.09;
CONSTANTS[30] = CONSTANTS[17]*CONSTANTS[19];
CONSTANTS[31] = CONSTANTS[27]*CONSTANTS[26];
CONSTANTS[32] = CONSTANTS[28]*CONSTANTS[29];
CONSTANTS[42] = 1.00000;
CONSTANTS[33] = ( CONSTANTS[16]*CONSTANTS[15]*1.00000)/1000.00;
CONSTANTS[34] = CONSTANTS[11]*CONSTANTS[18]*CONSTANTS[0];
CONSTANTS[35] = ( CONSTANTS[13]*CONSTANTS[15])/CONSTANTS[34];
CONSTANTS[36] = ( CONSTANTS[14]*CONSTANTS[15])/CONSTANTS[35];
CONSTANTS[37] = CONSTANTS[7]/CONSTANTS[6];
CONSTANTS[38] = ( CONSTANTS[33]*CONSTANTS[7]*CONSTANTS[4])/(CONSTANTS[4]/CONSTANTS[2]+CONSTANTS[4]/CONSTANTS[5]);
CONSTANTS[39] = (CONSTANTS[4]/CONSTANTS[2]+CONSTANTS[4]/CONSTANTS[5])/(CONSTANTS[4]/CONSTANTS[3]+( CONSTANTS[37]*CONSTANTS[4])/CONSTANTS[5]);
CONSTANTS[40] = (CONSTANTS[4]/CONSTANTS[2]+CONSTANTS[4]/CONSTANTS[5])/(1.00000+( CONSTANTS[37]*CONSTANTS[4])/CONSTANTS[2]);
CONSTANTS[41] = (CONSTANTS[4]/CONSTANTS[2]+CONSTANTS[4]/CONSTANTS[5])/( CONSTANTS[37]*(1.00000+CONSTANTS[4]/CONSTANTS[3]));
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
RATES[0] = CONSTANTS[42];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = STATES[0]*CONSTANTS[18];
ALGEBRAIC[1] = ( CONSTANTS[38]*( CONSTANTS[1]*CONSTANTS[30] - CONSTANTS[0]*ALGEBRAIC[0]))/(1.00000+( CONSTANTS[1]*CONSTANTS[30])/CONSTANTS[39]+( CONSTANTS[0]*ALGEBRAIC[0])/CONSTANTS[40]+( CONSTANTS[1]*CONSTANTS[30]*CONSTANTS[0]*ALGEBRAIC[0])/CONSTANTS[41]);
ALGEBRAIC[2] = ( CONSTANTS[35]*( CONSTANTS[1]*CONSTANTS[30] - CONSTANTS[0]*ALGEBRAIC[0]))/(1.00000+( CONSTANTS[1]*CONSTANTS[30])/CONSTANTS[34]+( CONSTANTS[0]*ALGEBRAIC[0])/CONSTANTS[36]+( CONSTANTS[1]*CONSTANTS[30]*CONSTANTS[0]*ALGEBRAIC[0])/CONSTANTS[10]);
}
