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 6 entries in the algebraic variable array.
   There are a total of 9 entries in each of the rate and state variable arrays.
   There are a total of 47 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (minute).
 * STATES[0] is Cdc13T in component Cdc13T (dimensionless).
 * CONSTANTS[0] is k1 in component Cdc13T (first_order_rate_constant).
 * CONSTANTS[1] is k2_ in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[2] is k2__ in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[3] is k2___ in component kinetic_parameters (first_order_rate_constant).
 * STATES[1] is M in component M (dimensionless).
 * STATES[2] is Ste9 in component Ste9 (dimensionless).
 * STATES[3] is Slp1 in component Slp1 (dimensionless).
 * STATES[4] is preMPF in component preMPF (dimensionless).
 * ALGEBRAIC[3] is kwee in component preMPF (first_order_rate_constant).
 * CONSTANTS[4] is kwee_ in component preMPF (first_order_rate_constant).
 * CONSTANTS[5] is kwee__ in component preMPF (first_order_rate_constant).
 * CONSTANTS[6] is Vawee in component preMPF (first_order_rate_constant).
 * CONSTANTS[7] is Viwee in component preMPF (first_order_rate_constant).
 * CONSTANTS[8] is Jawee in component preMPF (dimensionless).
 * CONSTANTS[9] is Jiwee in component preMPF (dimensionless).
 * ALGEBRAIC[5] is k25 in component preMPF (first_order_rate_constant).
 * CONSTANTS[10] is k25_ in component preMPF (first_order_rate_constant).
 * CONSTANTS[11] is k25__ in component preMPF (first_order_rate_constant).
 * CONSTANTS[12] is Va25 in component preMPF (first_order_rate_constant).
 * CONSTANTS[13] is Vi25 in component preMPF (first_order_rate_constant).
 * CONSTANTS[14] is Ja25 in component preMPF (dimensionless).
 * CONSTANTS[15] is Ji25 in component preMPF (dimensionless).
 * ALGEBRAIC[2] is MPF in component MPF (dimensionless).
 * CONSTANTS[16] is k3_ in component Ste9 (first_order_rate_constant).
 * CONSTANTS[17] is k3__ in component Ste9 (first_order_rate_constant).
 * CONSTANTS[18] is k4 in component Ste9 (first_order_rate_constant).
 * CONSTANTS[19] is k4_ in component Ste9 (first_order_rate_constant).
 * CONSTANTS[20] is J3 in component Ste9 (dimensionless).
 * CONSTANTS[21] is J4 in component Ste9 (dimensionless).
 * STATES[5] is SK in component SK (dimensionless).
 * STATES[6] is Slp1T in component Slp1T (dimensionless).
 * CONSTANTS[22] is k5_ in component Slp1T (first_order_rate_constant).
 * CONSTANTS[23] is k5__ in component Slp1T (first_order_rate_constant).
 * CONSTANTS[24] is J5 in component Slp1T (dimensionless).
 * CONSTANTS[25] is k6 in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[26] is k7 in component Slp1 (first_order_rate_constant).
 * CONSTANTS[27] is k8 in component Slp1 (first_order_rate_constant).
 * CONSTANTS[28] is J7 in component Slp1 (dimensionless).
 * CONSTANTS[29] is J8 in component Slp1 (dimensionless).
 * STATES[7] is IEP in component IEP (dimensionless).
 * CONSTANTS[30] is k9 in component IEP (first_order_rate_constant).
 * CONSTANTS[31] is k10 in component IEP (first_order_rate_constant).
 * CONSTANTS[32] is J9 in component IEP (dimensionless).
 * CONSTANTS[33] is J10 in component IEP (dimensionless).
 * STATES[8] is Rum1T in component Rum1T (dimensionless).
 * CONSTANTS[34] is k11 in component Rum1T (first_order_rate_constant).
 * CONSTANTS[35] is k12 in component Rum1T (first_order_rate_constant).
 * CONSTANTS[36] is k12_ in component Rum1T (first_order_rate_constant).
 * CONSTANTS[37] is k12__ in component Rum1T (first_order_rate_constant).
 * CONSTANTS[38] is k13 in component SK (first_order_rate_constant).
 * CONSTANTS[39] is k14 in component SK (first_order_rate_constant).
 * ALGEBRAIC[4] is TF in component TF (dimensionless).
 * CONSTANTS[40] is mu in component M (first_order_rate_constant).
 * ALGEBRAIC[1] is Trimer in component Trimer (dimensionless).
 * ALGEBRAIC[0] is sum in component Trimer (dimensionless).
 * CONSTANTS[41] is Kdiss in component Trimer (dimensionless).
 * CONSTANTS[42] is k15 in component TF (first_order_rate_constant).
 * CONSTANTS[43] is k16_ in component TF (first_order_rate_constant).
 * CONSTANTS[44] is k16__ in component TF (first_order_rate_constant).
 * CONSTANTS[45] is J15 in component TF (dimensionless).
 * CONSTANTS[46] is J16 in component TF (dimensionless).
 * RATES[0] is d/dt Cdc13T in component Cdc13T (dimensionless).
 * RATES[4] is d/dt preMPF in component preMPF (dimensionless).
 * RATES[2] is d/dt Ste9 in component Ste9 (dimensionless).
 * RATES[6] is d/dt Slp1T in component Slp1T (dimensionless).
 * RATES[3] is d/dt Slp1 in component Slp1 (dimensionless).
 * RATES[7] is d/dt IEP in component IEP (dimensionless).
 * RATES[8] is d/dt Rum1T in component Rum1T (dimensionless).
 * RATES[5] is d/dt SK in component SK (dimensionless).
 * RATES[1] is d/dt M in component M (dimensionless).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
STATES[0] = 0.2;
CONSTANTS[0] = 0.03;
CONSTANTS[1] = 0.03;
CONSTANTS[2] = 1;
CONSTANTS[3] = 0.1;
STATES[1] = 1;
STATES[2] = 1;
STATES[3] = 2.2;
STATES[4] = 0;
CONSTANTS[4] = 0.15;
CONSTANTS[5] = 1.3;
CONSTANTS[6] = 0.25;
CONSTANTS[7] = 1;
CONSTANTS[8] = 0.01;
CONSTANTS[9] = 0.01;
CONSTANTS[10] = 0.05;
CONSTANTS[11] = 5;
CONSTANTS[12] = 1;
CONSTANTS[13] = 0.25;
CONSTANTS[14] = 0.01;
CONSTANTS[15] = 0.01;
CONSTANTS[16] = 1;
CONSTANTS[17] = 10;
CONSTANTS[18] = 35;
CONSTANTS[19] = 2;
CONSTANTS[20] = 0.01;
CONSTANTS[21] = 0.01;
STATES[5] = 0;
STATES[6] = 0;
CONSTANTS[22] = 0.005;
CONSTANTS[23] = 0.3;
CONSTANTS[24] = 0.3;
CONSTANTS[25] = 0.1;
CONSTANTS[26] = 1;
CONSTANTS[27] = 0.25;
CONSTANTS[28] = 0.001;
CONSTANTS[29] = 0.001;
STATES[7] = 0;
CONSTANTS[30] = 0.1;
CONSTANTS[31] = 0.04;
CONSTANTS[32] = 0.01;
CONSTANTS[33] = 0.01;
STATES[8] = 0;
CONSTANTS[34] = 0.1;
CONSTANTS[35] = 0.01;
CONSTANTS[36] = 1;
CONSTANTS[37] = 3;
CONSTANTS[38] = 0.1;
CONSTANTS[39] = 0.1;
CONSTANTS[40] = 0.005;
CONSTANTS[41] = 0.001;
CONSTANTS[42] = 1.5;
CONSTANTS[43] = 1;
CONSTANTS[44] = 2;
CONSTANTS[45] = 0.01;
CONSTANTS[46] = 0.01;
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
RATES[0] =  CONSTANTS[0]*STATES[1] -  (CONSTANTS[1]+ CONSTANTS[2]*STATES[2]+ CONSTANTS[3]*STATES[3])*STATES[0];
RATES[3] = ( CONSTANTS[26]*STATES[7]*(STATES[6] - STATES[3]))/((CONSTANTS[28]+STATES[6]) - STATES[3]) - (( CONSTANTS[27]*STATES[3])/(CONSTANTS[29]+STATES[3])+ CONSTANTS[25]*STATES[3]);
RATES[1] =  CONSTANTS[40]*STATES[1];
ALGEBRAIC[0] = STATES[0]+STATES[8]+CONSTANTS[41];
ALGEBRAIC[1] = ( 2.00000*STATES[0]*STATES[8])/(ALGEBRAIC[0]+ pow((pow(ALGEBRAIC[0], 2.00000) -  4.00000*STATES[0]*STATES[8]), 1.0 / 2));
ALGEBRAIC[2] = ( (STATES[0] - STATES[4])*(STATES[0] - ALGEBRAIC[1]))/STATES[0];
RATES[2] = ( (CONSTANTS[16]+ CONSTANTS[17]*STATES[3])*(1.00000 - STATES[2]))/((CONSTANTS[20]+1.00000) - STATES[2]) - ( ( CONSTANTS[19]*STATES[5]+ CONSTANTS[18]*ALGEBRAIC[2])*STATES[2])/(CONSTANTS[21]+STATES[2]);
RATES[6] = (CONSTANTS[22]+( CONSTANTS[23]*pow(ALGEBRAIC[2], 4.00000))/(pow(CONSTANTS[24], 4.00000)+pow(ALGEBRAIC[2], 4.00000))) -  CONSTANTS[25]*STATES[6];
RATES[7] = ( CONSTANTS[30]*ALGEBRAIC[2]*(1.00000 - STATES[7]))/((CONSTANTS[32]+1.00000) - STATES[7]) - ( CONSTANTS[31]*STATES[7])/(CONSTANTS[33]+STATES[7]);
RATES[8] = CONSTANTS[34] -  (CONSTANTS[35]+ CONSTANTS[36]*STATES[5]+ CONSTANTS[37]*ALGEBRAIC[2])*STATES[8];
ALGEBRAIC[4] = ( 2.00000*CONSTANTS[42]*STATES[1]*CONSTANTS[46])/(((CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2]) -  CONSTANTS[42]*STATES[1])+ (CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2])*CONSTANTS[45]+ CONSTANTS[42]*STATES[1]*CONSTANTS[46]+ pow((pow(((CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2]) -  CONSTANTS[42]*STATES[1])+ (CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2])*CONSTANTS[45]+ CONSTANTS[42]*STATES[1]*CONSTANTS[46], 2.00000) -  4.00000*CONSTANTS[42]*STATES[1]*CONSTANTS[46]*((CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2]) -  CONSTANTS[42]*STATES[1])), 1.0 / 2));
RATES[5] =  CONSTANTS[38]*ALGEBRAIC[4] -  CONSTANTS[39]*STATES[5];
ALGEBRAIC[3] = CONSTANTS[4]+( (CONSTANTS[5] - CONSTANTS[4])*2.00000*CONSTANTS[6]*CONSTANTS[9])/(( CONSTANTS[7]*ALGEBRAIC[2] - CONSTANTS[6])+ CONSTANTS[7]*ALGEBRAIC[2]*CONSTANTS[8]+ CONSTANTS[6]*CONSTANTS[9]+ pow((pow(( CONSTANTS[7]*ALGEBRAIC[2] - CONSTANTS[6])+ CONSTANTS[7]*ALGEBRAIC[2]*CONSTANTS[8]+ CONSTANTS[6]*CONSTANTS[9], 2.00000) -  4.00000*CONSTANTS[6]*CONSTANTS[9]*( CONSTANTS[7]*ALGEBRAIC[2] - CONSTANTS[6])), 1.0 / 2));
ALGEBRAIC[5] = CONSTANTS[10]+( (CONSTANTS[11] - CONSTANTS[10])*2.00000*CONSTANTS[12]*ALGEBRAIC[2]*CONSTANTS[15])/((CONSTANTS[13] -  CONSTANTS[12]*ALGEBRAIC[2])+ CONSTANTS[13]*CONSTANTS[14]+ CONSTANTS[12]*ALGEBRAIC[2]*CONSTANTS[15]+ pow((pow((CONSTANTS[13] -  CONSTANTS[12]*ALGEBRAIC[2])+ CONSTANTS[13]*CONSTANTS[14]+ CONSTANTS[12]*ALGEBRAIC[2]*CONSTANTS[15], 2.00000) -  4.00000*CONSTANTS[12]*ALGEBRAIC[2]*CONSTANTS[15]*(CONSTANTS[13] -  CONSTANTS[12]*ALGEBRAIC[2])), 1.0 / 2));
RATES[4] = ( ALGEBRAIC[3]*(STATES[0] - STATES[4]) -  ALGEBRAIC[5]*STATES[4]) -  (CONSTANTS[1]+ CONSTANTS[2]*STATES[2]+ CONSTANTS[3]*STATES[3])*STATES[4];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = STATES[0]+STATES[8]+CONSTANTS[41];
ALGEBRAIC[1] = ( 2.00000*STATES[0]*STATES[8])/(ALGEBRAIC[0]+ pow((pow(ALGEBRAIC[0], 2.00000) -  4.00000*STATES[0]*STATES[8]), 1.0 / 2));
ALGEBRAIC[2] = ( (STATES[0] - STATES[4])*(STATES[0] - ALGEBRAIC[1]))/STATES[0];
ALGEBRAIC[4] = ( 2.00000*CONSTANTS[42]*STATES[1]*CONSTANTS[46])/(((CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2]) -  CONSTANTS[42]*STATES[1])+ (CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2])*CONSTANTS[45]+ CONSTANTS[42]*STATES[1]*CONSTANTS[46]+ pow((pow(((CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2]) -  CONSTANTS[42]*STATES[1])+ (CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2])*CONSTANTS[45]+ CONSTANTS[42]*STATES[1]*CONSTANTS[46], 2.00000) -  4.00000*CONSTANTS[42]*STATES[1]*CONSTANTS[46]*((CONSTANTS[43]+ CONSTANTS[44]*ALGEBRAIC[2]) -  CONSTANTS[42]*STATES[1])), 1.0 / 2));
ALGEBRAIC[3] = CONSTANTS[4]+( (CONSTANTS[5] - CONSTANTS[4])*2.00000*CONSTANTS[6]*CONSTANTS[9])/(( CONSTANTS[7]*ALGEBRAIC[2] - CONSTANTS[6])+ CONSTANTS[7]*ALGEBRAIC[2]*CONSTANTS[8]+ CONSTANTS[6]*CONSTANTS[9]+ pow((pow(( CONSTANTS[7]*ALGEBRAIC[2] - CONSTANTS[6])+ CONSTANTS[7]*ALGEBRAIC[2]*CONSTANTS[8]+ CONSTANTS[6]*CONSTANTS[9], 2.00000) -  4.00000*CONSTANTS[6]*CONSTANTS[9]*( CONSTANTS[7]*ALGEBRAIC[2] - CONSTANTS[6])), 1.0 / 2));
ALGEBRAIC[5] = CONSTANTS[10]+( (CONSTANTS[11] - CONSTANTS[10])*2.00000*CONSTANTS[12]*ALGEBRAIC[2]*CONSTANTS[15])/((CONSTANTS[13] -  CONSTANTS[12]*ALGEBRAIC[2])+ CONSTANTS[13]*CONSTANTS[14]+ CONSTANTS[12]*ALGEBRAIC[2]*CONSTANTS[15]+ pow((pow((CONSTANTS[13] -  CONSTANTS[12]*ALGEBRAIC[2])+ CONSTANTS[13]*CONSTANTS[14]+ CONSTANTS[12]*ALGEBRAIC[2]*CONSTANTS[15], 2.00000) -  4.00000*CONSTANTS[12]*ALGEBRAIC[2]*CONSTANTS[15]*(CONSTANTS[13] -  CONSTANTS[12]*ALGEBRAIC[2])), 1.0 / 2));
}