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