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]);
}