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