Generated Code

The following is c_ida code generated by the CellML API from this CellML file. (Back to language selection)

The raw code is available.

/*
   There are a total of 15 entries in the algebraic variable array.
   There are a total of 13 entries in each of the rate and state variable arrays.
   There are a total of 71 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (minute).
 * STATES[0] is Cln2 in component Cln2 (dimensionless).
 * CONSTANTS[0] is ks_n2 in component Cln2 (first_order_rate_constant).
 * CONSTANTS[1] is ks_n2_ in component Cln2 (first_order_rate_constant).
 * CONSTANTS[2] is kd_n2 in component Cln2 (first_order_rate_constant).
 * STATES[1] is mass in component mass (dimensionless).
 * ALGEBRAIC[13] is SBF in component SBF (dimensionless).
 * STATES[2] is Clb2_T in component Clb2_T (dimensionless).
 * CONSTANTS[3] is Hct1_T in component Clb2_T (dimensionless).
 * CONSTANTS[4] is ks_b2 in component Clb2_T (first_order_rate_constant).
 * CONSTANTS[5] is ks_b2_ in component Clb2_T (first_order_rate_constant).
 * CONSTANTS[6] is kd_b2 in component Clb2_T (first_order_rate_constant).
 * CONSTANTS[7] is kd_b2_ in component Clb2_T (first_order_rate_constant).
 * CONSTANTS[8] is kd_b2__ in component Clb2_T (first_order_rate_constant).
 * ALGEBRAIC[0] is Vd_b2 in component Clb2_T (first_order_rate_constant).
 * ALGEBRAIC[11] is Mcm1 in component Mcm1 (dimensionless).
 * STATES[3] is Hct1 in component Hct1 (dimensionless).
 * STATES[4] is Cdc20 in component Cdc20 (dimensionless).
 * ALGEBRAIC[1] is Clb2 in component Clb2 (dimensionless).
 * STATES[5] is Clb2_Sic1 in component Clb2_Sic1 (dimensionless).
 * ALGEBRAIC[2] is Clb5 in component Clb5 (dimensionless).
 * STATES[6] is Clb5_Sic1 in component Clb5_Sic1 (dimensionless).
 * STATES[7] is Clb5_T in component Clb5_T (dimensionless).
 * ALGEBRAIC[3] is Sic1 in component Sic1 (dimensionless).
 * STATES[8] is Sic1_T in component Sic1_T (dimensionless).
 * CONSTANTS[9] is ks_b5 in component Clb5_T (first_order_rate_constant).
 * CONSTANTS[10] is ks_b5_ in component Clb5_T (first_order_rate_constant).
 * CONSTANTS[11] is kd_b5 in component Clb5_T (first_order_rate_constant).
 * CONSTANTS[12] is kd_b5_ in component Clb5_T (first_order_rate_constant).
 * ALGEBRAIC[4] is Vd_b5 in component Clb5_T (first_order_rate_constant).
 * ALGEBRAIC[14] is MBF in component MBF (dimensionless).
 * ALGEBRAIC[5] is Bck2 in component Bck2 (dimensionless).
 * CONSTANTS[13] is Bck2_0 in component Bck2 (dimensionless).
 * ALGEBRAIC[6] is Cln3 in component Cln3 (dimensionless).
 * CONSTANTS[14] is Jn3 in component Cln3 (dimensionless).
 * CONSTANTS[15] is Dn3 in component Cln3 (dimensionless).
 * CONSTANTS[16] is Cln3_max in component Cln3 (dimensionless).
 * CONSTANTS[17] is ks_c1 in component Sic1_T (first_order_rate_constant).
 * CONSTANTS[18] is ks_c1_ in component Sic1_T (first_order_rate_constant).
 * CONSTANTS[19] is kd1_c1 in component parameters (first_order_rate_constant).
 * CONSTANTS[20] is Jd2_c1 in component parameters (dimensionless).
 * ALGEBRAIC[7] is Vd2_c1 in component Vd2_c1 (first_order_rate_constant).
 * ALGEBRAIC[12] is Swi5 in component Swi5 (dimensionless).
 * CONSTANTS[21] is kas_b2 in component Clb2_Sic1 (first_order_rate_constant).
 * CONSTANTS[22] is kdi_b2 in component Clb2_Sic1 (first_order_rate_constant).
 * CONSTANTS[23] is kas_b5 in component Clb5_Sic1 (first_order_rate_constant).
 * CONSTANTS[24] is kdi_b5 in component Clb5_Sic1 (first_order_rate_constant).
 * CONSTANTS[25] is kd2_c1 in component Vd2_c1 (first_order_rate_constant).
 * CONSTANTS[26] is epsilonc1_n3 in component Vd2_c1 (dimensionless).
 * CONSTANTS[27] is epsilonc1_k2 in component Vd2_c1 (dimensionless).
 * CONSTANTS[28] is epsilonc1_b5 in component Vd2_c1 (dimensionless).
 * CONSTANTS[29] is epsilonc1_b2 in component Vd2_c1 (dimensionless).
 * STATES[9] is Cdc20_T in component Cdc20_T (dimensionless).
 * CONSTANTS[30] is ks_20 in component Cdc20_T (first_order_rate_constant).
 * CONSTANTS[31] is ks_20_ in component Cdc20_T (first_order_rate_constant).
 * CONSTANTS[32] is kd_20 in component parameters (first_order_rate_constant).
 * CONSTANTS[33] is ka_20 in component Cdc20 (first_order_rate_constant).
 * CONSTANTS[34] is ki_20 in component Cdc20 (first_order_rate_constant).
 * CONSTANTS[35] is ki_20_ in component Cdc20 (first_order_rate_constant).
 * ALGEBRAIC[8] is Vi_20 in component Cdc20 (first_order_rate_constant).
 * STATES[10] is ORI in component ORI (dimensionless).
 * STATES[11] is SPN in component SPN (dimensionless).
 * CONSTANTS[36] is ka_t1 in component Hct1 (first_order_rate_constant).
 * CONSTANTS[37] is ka_t1_ in component Hct1 (first_order_rate_constant).
 * CONSTANTS[38] is ki_t1 in component Hct1 (first_order_rate_constant).
 * CONSTANTS[39] is ki_t1_ in component Hct1 (first_order_rate_constant).
 * ALGEBRAIC[9] is Vi_t1 in component Hct1 (first_order_rate_constant).
 * CONSTANTS[40] is Ji_t1 in component Hct1 (dimensionless).
 * CONSTANTS[41] is Ja_t1 in component Hct1 (dimensionless).
 * CONSTANTS[42] is epsiloni_t1_n2 in component Hct1 (dimensionless).
 * CONSTANTS[43] is epsiloni_t1_b5 in component Hct1 (dimensionless).
 * CONSTANTS[44] is epsiloni_t1_b2 in component Hct1 (dimensionless).
 * CONSTANTS[45] is mu in component mass (first_order_rate_constant).
 * CONSTANTS[46] is ks_ori in component ORI (first_order_rate_constant).
 * CONSTANTS[47] is kd_ori in component ORI (first_order_rate_constant).
 * CONSTANTS[48] is epsilonori_b2 in component ORI (dimensionless).
 * STATES[12] is BUD in component BUD (dimensionless).
 * CONSTANTS[49] is ks_bud in component BUD (first_order_rate_constant).
 * CONSTANTS[50] is kd_bud in component BUD (first_order_rate_constant).
 * CONSTANTS[51] is epsilonbud_b5 in component BUD (dimensionless).
 * CONSTANTS[52] is ks_spn in component SPN (first_order_rate_constant).
 * CONSTANTS[53] is kd_spn in component SPN (first_order_rate_constant).
 * CONSTANTS[54] is J_spn in component SPN (dimensionless).
 * CONSTANTS[55] is ka_sbf in component SBF (first_order_rate_constant).
 * CONSTANTS[56] is ki_sbf in component SBF (first_order_rate_constant).
 * CONSTANTS[57] is ki_sbf_ in component SBF (first_order_rate_constant).
 * ALGEBRAIC[10] is Va_sbf in component SBF (first_order_rate_constant).
 * CONSTANTS[58] is Ji_sbf in component SBF (dimensionless).
 * CONSTANTS[59] is Ja_sbf in component SBF (dimensionless).
 * CONSTANTS[60] is epsilonsbf_n3 in component SBF (dimensionless).
 * CONSTANTS[61] is epsilonsbf_b5 in component SBF (dimensionless).
 * CONSTANTS[62] is ka_mcm in component Mcm1 (first_order_rate_constant).
 * CONSTANTS[63] is ki_mcm in component Mcm1 (first_order_rate_constant).
 * CONSTANTS[64] is Ji_mcm in component Mcm1 (dimensionless).
 * CONSTANTS[65] is Ja_mcm in component Mcm1 (dimensionless).
 * CONSTANTS[66] is ka_swi in component Swi5 (first_order_rate_constant).
 * CONSTANTS[67] is ki_swi in component Swi5 (first_order_rate_constant).
 * CONSTANTS[68] is ki_swi_ in component Swi5 (first_order_rate_constant).
 * CONSTANTS[69] is Ji_swi in component Swi5 (dimensionless).
 * CONSTANTS[70] is Ja_swi in component Swi5 (dimensionless).
 * RATES[0] is d/dt Cln2 in component Cln2 (dimensionless).
 * RATES[2] is d/dt Clb2_T in component Clb2_T (dimensionless).
 * RATES[7] is d/dt Clb5_T in component Clb5_T (dimensionless).
 * RATES[8] is d/dt Sic1_T in component Sic1_T (dimensionless).
 * RATES[5] is d/dt Clb2_Sic1 in component Clb2_Sic1 (dimensionless).
 * RATES[6] is d/dt Clb5_Sic1 in component Clb5_Sic1 (dimensionless).
 * RATES[9] is d/dt Cdc20_T in component Cdc20_T (dimensionless).
 * RATES[4] is d/dt Cdc20 in component Cdc20 (dimensionless).
 * RATES[3] is d/dt Hct1 in component Hct1 (dimensionless).
 * RATES[1] is d/dt mass in component mass (dimensionless).
 * RATES[10] is d/dt ORI in component ORI (dimensionless).
 * RATES[12] is d/dt BUD in component BUD (dimensionless).
 * RATES[11] is d/dt SPN in component SPN (dimensionless).
 * There are a total of 2 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
STATES[0] = 0.0078;
CONSTANTS[0] = 0;
CONSTANTS[1] = 0.05;
CONSTANTS[2] = 0.1;
STATES[1] = 0.6608;
STATES[2] = 0.2342;
CONSTANTS[3] = 1;
CONSTANTS[4] = 0.002;
CONSTANTS[5] = 0.05;
CONSTANTS[6] = 0.01;
CONSTANTS[7] = 2;
CONSTANTS[8] = 0.05;
STATES[3] = 0.9946;
STATES[4] = 0.6848;
STATES[5] = 0.079;
STATES[6] = 0.0207;
STATES[7] = 0.0614;
STATES[8] = 0.1231;
CONSTANTS[9] = 0.006;
CONSTANTS[10] = 0.02;
CONSTANTS[11] = 0.1;
CONSTANTS[12] = 0.25;
CONSTANTS[13] = 0.0027;
CONSTANTS[14] = 6;
CONSTANTS[15] = 1;
CONSTANTS[16] = 0.02;
CONSTANTS[17] = 0.02;
CONSTANTS[18] = 0.1;
CONSTANTS[19] = 0.01;
CONSTANTS[20] = 0.05;
CONSTANTS[21] = 50;
CONSTANTS[22] = 0.05;
CONSTANTS[23] = 50;
CONSTANTS[24] = 0.05;
CONSTANTS[25] = 0.3;
CONSTANTS[26] = 20;
CONSTANTS[27] = 2;
CONSTANTS[28] = 1;
CONSTANTS[29] = 0.067;
STATES[9] = 0.8332;
CONSTANTS[30] = 0.005;
CONSTANTS[31] = 0.06;
CONSTANTS[32] = 0.08;
CONSTANTS[33] = 1;
CONSTANTS[34] = 0.1;
CONSTANTS[35] = 10;
STATES[10] = 0;
STATES[11] = 0;
CONSTANTS[36] = 0.04;
CONSTANTS[37] = 2;
CONSTANTS[38] = 0;
CONSTANTS[39] = 0.64;
CONSTANTS[40] = 0.05;
CONSTANTS[41] = 0.05;
CONSTANTS[42] = 1;
CONSTANTS[43] = 0.5;
CONSTANTS[44] = 1;
CONSTANTS[45] = 0.005776;
CONSTANTS[46] = 2;
CONSTANTS[47] = 0.06;
CONSTANTS[48] = 0.4;
STATES[12] = 0;
CONSTANTS[49] = 0.3;
CONSTANTS[50] = 0.06;
CONSTANTS[51] = 1;
CONSTANTS[52] = 0.08;
CONSTANTS[53] = 0.06;
CONSTANTS[54] = 0.2;
CONSTANTS[55] = 1;
CONSTANTS[56] = 0.5;
CONSTANTS[57] = 6;
CONSTANTS[58] = 0.01;
CONSTANTS[59] = 0.01;
CONSTANTS[60] = 75;
CONSTANTS[61] = 0.5;
CONSTANTS[62] = 1;
CONSTANTS[63] = 0.15;
CONSTANTS[64] = 1;
CONSTANTS[65] = 1;
CONSTANTS[66] = 1;
CONSTANTS[67] = 0.3;
CONSTANTS[68] = 0.2;
CONSTANTS[69] = 0.1;
CONSTANTS[70] = 0.1;
RATES[0] = 0.1001;
RATES[2] = 0.1001;
RATES[7] = 0.1001;
RATES[8] = 0.1001;
RATES[5] = 0.1001;
RATES[6] = 0.1001;
RATES[9] = 0.1001;
RATES[4] = 0.1001;
RATES[3] = 0.1001;
RATES[1] = 0.1001;
RATES[10] = 0.1001;
RATES[12] = 0.1001;
RATES[11] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[0] -  STATES[1]*(CONSTANTS[0]+ CONSTANTS[1]*ALGEBRAIC[13]) -  CONSTANTS[2]*STATES[0];
resid[1] = RATES[2] -  STATES[1]*(CONSTANTS[4]+ CONSTANTS[5]*ALGEBRAIC[11]) -  ALGEBRAIC[0]*STATES[2];
resid[2] = RATES[7] -  STATES[1]*(CONSTANTS[9]+ CONSTANTS[10]*ALGEBRAIC[14]) -  ALGEBRAIC[4]*STATES[7];
resid[3] = RATES[8] - (CONSTANTS[17]+ CONSTANTS[18]*ALGEBRAIC[12]) -  STATES[8]*(CONSTANTS[19]+ALGEBRAIC[7]/(CONSTANTS[20]+STATES[8]));
resid[4] = RATES[5] -  CONSTANTS[21]*ALGEBRAIC[1]*ALGEBRAIC[3] -  STATES[5]*(CONSTANTS[22]+ALGEBRAIC[0]+CONSTANTS[19]+ALGEBRAIC[7]/(CONSTANTS[20]+STATES[8]));
resid[5] = RATES[6] -  CONSTANTS[23]*ALGEBRAIC[2]*ALGEBRAIC[3] -  STATES[6]*(CONSTANTS[24]+ALGEBRAIC[4]+CONSTANTS[19]+ALGEBRAIC[7]/(CONSTANTS[20]+STATES[8]));
resid[6] = RATES[9] - (CONSTANTS[30]+ CONSTANTS[31]*ALGEBRAIC[1]) -  CONSTANTS[32]*STATES[9];
resid[7] = RATES[4] -  CONSTANTS[33]*(STATES[9] - STATES[4]) -  STATES[4]*(ALGEBRAIC[8]+CONSTANTS[32]);
resid[8] = RATES[3] - ( (CONSTANTS[36]+ CONSTANTS[37]*STATES[4])*(CONSTANTS[3] - STATES[3]))/((CONSTANTS[41]+CONSTANTS[3]) - STATES[3]) - ( ALGEBRAIC[9]*STATES[3])/(CONSTANTS[40]+STATES[3]);
resid[9] = RATES[1] -  CONSTANTS[45]*STATES[1];
resid[10] = RATES[10] -  CONSTANTS[46]*(ALGEBRAIC[2]+ CONSTANTS[48]*ALGEBRAIC[1]) -  CONSTANTS[47]*STATES[10];
resid[11] = RATES[12] -  CONSTANTS[49]*(STATES[0]+ALGEBRAIC[6]+ CONSTANTS[51]*ALGEBRAIC[2]) -  CONSTANTS[50]*STATES[12];
resid[12] = RATES[11] - ( CONSTANTS[52]*ALGEBRAIC[1])/(CONSTANTS[54]+ALGEBRAIC[1]) -  CONSTANTS[53]*STATES[11];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] =  CONSTANTS[6]*(CONSTANTS[3] - STATES[3])+ CONSTANTS[7]*STATES[3]+ CONSTANTS[8]*STATES[4];
ALGEBRAIC[1] = STATES[2] - STATES[5];
ALGEBRAIC[2] = STATES[7] - STATES[6];
ALGEBRAIC[3] = STATES[8] - (STATES[5]+STATES[6]);
ALGEBRAIC[4] = CONSTANTS[11]+ CONSTANTS[12]*STATES[4];
ALGEBRAIC[6] = ( CONSTANTS[16]*CONSTANTS[15]*STATES[1])/(CONSTANTS[14]+ CONSTANTS[15]*STATES[1]);
ALGEBRAIC[5] =  CONSTANTS[13]*STATES[1];
ALGEBRAIC[7] =  CONSTANTS[25]*( CONSTANTS[26]*ALGEBRAIC[6]+ CONSTANTS[27]*ALGEBRAIC[5]+STATES[0]+ CONSTANTS[28]*ALGEBRAIC[2]+ CONSTANTS[29]*ALGEBRAIC[1]);
ALGEBRAIC[8] = (CONDVAR[0]>=0.00000 ? CONSTANTS[35] : CONDVAR[1]>=0.00000 ? CONSTANTS[34] : 0.100000);
ALGEBRAIC[9] = CONSTANTS[38]+ CONSTANTS[39]*(ALGEBRAIC[6]+ CONSTANTS[42]*STATES[0]+ CONSTANTS[43]*ALGEBRAIC[2]+ CONSTANTS[44]*ALGEBRAIC[1]);
ALGEBRAIC[11] = ( 2.00000*CONSTANTS[62]*ALGEBRAIC[1]*CONSTANTS[64])/(((CONSTANTS[63]+ CONSTANTS[62]*ALGEBRAIC[1]*CONSTANTS[64]+ CONSTANTS[63]*CONSTANTS[65]) -  CONSTANTS[62]*ALGEBRAIC[1])+ pow((pow((CONSTANTS[63]+ CONSTANTS[62]*ALGEBRAIC[1]*CONSTANTS[64]+ CONSTANTS[63]*CONSTANTS[65]) -  CONSTANTS[62]*ALGEBRAIC[1], 2.00000) -  4.00000*(CONSTANTS[63] -  CONSTANTS[62]*ALGEBRAIC[1])*CONSTANTS[62]*ALGEBRAIC[1]*CONSTANTS[64]), 1.0 / 2));
ALGEBRAIC[12] = ( 2.00000*CONSTANTS[66]*STATES[4]*CONSTANTS[69])/(((CONSTANTS[67]+ CONSTANTS[68]*ALGEBRAIC[1]+ CONSTANTS[66]*STATES[4]*CONSTANTS[69]+ (CONSTANTS[67]+ CONSTANTS[68]*ALGEBRAIC[1])*CONSTANTS[70]) -  CONSTANTS[66]*STATES[4])+ pow((pow((CONSTANTS[67]+ CONSTANTS[68]*ALGEBRAIC[1]+ CONSTANTS[66]*STATES[4]*CONSTANTS[69]+ (CONSTANTS[67]+ CONSTANTS[68]*ALGEBRAIC[1])*CONSTANTS[70]) -  CONSTANTS[66]*STATES[4], 2.00000) -  4.00000*((CONSTANTS[67]+ CONSTANTS[68]*ALGEBRAIC[1]) -  CONSTANTS[66]*STATES[4])*CONSTANTS[66]*STATES[4]*CONSTANTS[69]), 1.0 / 2));
ALGEBRAIC[10] =  CONSTANTS[55]*(STATES[0]+ CONSTANTS[60]*(ALGEBRAIC[6]+ALGEBRAIC[5])+ CONSTANTS[61]*ALGEBRAIC[2]);
ALGEBRAIC[13] = ( 2.00000*ALGEBRAIC[10]*CONSTANTS[58])/(((CONSTANTS[56]+ CONSTANTS[57]*ALGEBRAIC[1]+ ALGEBRAIC[10]*CONSTANTS[58]+ (CONSTANTS[56]+ CONSTANTS[57]*ALGEBRAIC[1])*CONSTANTS[59]) - ALGEBRAIC[10])+ pow((pow((CONSTANTS[56]+ CONSTANTS[57]*ALGEBRAIC[1]+ ALGEBRAIC[10]*CONSTANTS[58]+ (CONSTANTS[56]+ CONSTANTS[57]*ALGEBRAIC[1])*CONSTANTS[59]) - ALGEBRAIC[10], 2.00000) -  4.00000*ALGEBRAIC[10]*CONSTANTS[58]*((CONSTANTS[56]+ CONSTANTS[57]*ALGEBRAIC[1]) - ALGEBRAIC[10])), 1.0 / 2));
ALGEBRAIC[14] = ALGEBRAIC[13];
}
void
getStateInformation(double* SI)
{
SI[0] = 1.0;
SI[1] = 1.0;
SI[2] = 1.0;
SI[3] = 1.0;
SI[4] = 1.0;
SI[5] = 1.0;
SI[6] = 1.0;
SI[7] = 1.0;
SI[8] = 1.0;
SI[9] = 1.0;
SI[10] = 1.0;
SI[11] = 1.0;
SI[12] = 1.0;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
CONDVAR[0] = STATES[10] - 1.00000;
CONDVAR[1] = STATES[11] - 1.00000;
}