/* There are a total of 5 entries in the algebraic variable array. There are a total of 48 entries in each of the rate and state variable arrays. There are a total of 101 entries in the constant variable array. */ /* * VOI is time in component environment (day). * ALGEBRAIC[0] is FAt in component FAt (litre_per_day). * CONSTANTS[0] is FA1 in component FAt (litre_per_day). * CONSTANTS[1] is tA in component FAt (day). * CONSTANTS[2] is FA2 in component FAt (litre_per_day). * ALGEBRAIC[1] is FBt in component FBt (litre_per_day). * CONSTANTS[3] is FB1 in component FBt (litre_per_day). * CONSTANTS[4] is tB in component FBt (day). * CONSTANTS[5] is FB2 in component FBt (litre_per_day). * ALGEBRAIC[2] is F0t in component F0t (litre_per_day). * STATES[0] is c15 in component c15 (micromole_per_litre). * CONSTANTS[6] is p0 in component model_parameters (litre_per_day). * CONSTANTS[7] is V2 in component model_parameters (litre). * STATES[1] is c015 in component c015 (micromole_per_litre). * CONSTANTS[8] is p16 in component model_parameters (per_day). * STATES[2] is c16 in component c16 (micromole_per_litre). * CONSTANTS[9] is p18 in component model_parameters (per_day). * STATES[3] is c17 in component c17 (micromole_per_litre). * CONSTANTS[10] is p15 in component model_parameters (per_day_per_micromole_litre). * STATES[4] is c19 in component c19 (micromole_per_litre). * CONSTANTS[11] is p17 in component model_parameters (per_day). * CONSTANTS[12] is p19 in component model_parameters (per_day_per_micromole_litre). * CONSTANTS[13] is p20 in component model_parameters (micromole_per_litre). * CONSTANTS[14] is p29 in component model_parameters (per_day). * CONSTANTS[15] is pAA15 in component model_parameters (dimensionless). * ALGEBRAIC[3] is pp in component pp (dimensionless). * STATES[5] is c016 in component c016 (micromole_per_litre). * CONSTANTS[16] is pAA16 in component model_parameters (dimensionless). * STATES[6] is c017 in component c017 (micromole_per_litre). * CONSTANTS[17] is p22 in component model_parameters (per_day). * STATES[7] is c18 in component c18 (micromole_per_litre). * CONSTANTS[18] is p21 in component model_parameters (per_day). * CONSTANTS[19] is p23 in component model_parameters (per_day). * CONSTANTS[20] is p1 in component model_parameters (per_day). * CONSTANTS[21] is s1 in component c17 (dimensionless). * STATES[8] is c1 in component c1 (micromole_per_litre). * CONSTANTS[22] is p2 in component model_parameters (per_day). * CONSTANTS[23] is s2 in component c17 (dimensionless). * STATES[9] is c2 in component c2 (micromole_per_litre). * CONSTANTS[24] is p3 in component model_parameters (per_day). * CONSTANTS[25] is s3 in component c17 (dimensionless). * STATES[10] is c3 in component c3 (micromole_per_litre). * CONSTANTS[26] is p4 in component model_parameters (per_day). * CONSTANTS[27] is s4 in component c17 (dimensionless). * STATES[11] is c4 in component c4 (micromole_per_litre). * CONSTANTS[28] is p5 in component model_parameters (per_day). * CONSTANTS[29] is s5 in component c17 (dimensionless). * STATES[12] is c5 in component c5 (micromole_per_litre). * CONSTANTS[30] is p6 in component model_parameters (per_day). * CONSTANTS[31] is s6 in component c17 (dimensionless). * STATES[13] is c6 in component c6 (micromole_per_litre). * CONSTANTS[32] is p7 in component model_parameters (per_day). * CONSTANTS[33] is s7 in component c17 (dimensionless). * STATES[14] is c7 in component c7 (micromole_per_litre). * CONSTANTS[34] is p8 in component model_parameters (per_day). * CONSTANTS[35] is s8 in component c17 (dimensionless). * STATES[15] is c8 in component c8 (micromole_per_litre). * CONSTANTS[36] is p9 in component model_parameters (per_day). * CONSTANTS[37] is s9 in component c17 (dimensionless). * STATES[16] is c9 in component c9 (micromole_per_litre). * CONSTANTS[38] is p14 in component model_parameters (per_day). * CONSTANTS[39] is s14 in component c17 (dimensionless). * STATES[17] is c14 in component c14 (micromole_per_litre). * CONSTANTS[40] is p25 in component model_parameters (per_day_per_micromole_litre). * CONSTANTS[41] is p26 in component model_parameters (per_day). * CONSTANTS[42] is p28 in component model_parameters (per_day). * CONSTANTS[43] is pAA17 in component model_parameters (dimensionless). * STATES[18] is c018 in component c018 (micromole_per_litre). * CONSTANTS[44] is pAA18 in component model_parameters (dimensionless). * STATES[19] is c019 in component c019 (micromole_per_litre). * ALGEBRAIC[4] is gt in component gt (dimensionless). * CONSTANTS[45] is p11 in component model_parameters (per_day). * CONSTANTS[46] is s11 in component c19 (dimensionless). * STATES[20] is c11 in component c11 (micromole_per_litre). * CONSTANTS[47] is p12 in component model_parameters (per_day). * CONSTANTS[48] is s12 in component c19 (dimensionless). * STATES[21] is c12 in component c12 (micromole_per_litre). * CONSTANTS[49] is p13 in component model_parameters (per_day). * CONSTANTS[50] is s13 in component c19 (dimensionless). * STATES[22] is c13 in component c13 (micromole_per_litre). * CONSTANTS[51] is p10 in component model_parameters (per_day). * CONSTANTS[52] is s10 in component c19 (dimensionless). * STATES[23] is c10 in component c10 (micromole_per_litre). * STATES[24] is c20 in component c20 (micromole_per_litre). * STATES[25] is c020 in component c020 (micromole_per_litre). * STATES[26] is c21 in component c21 (micromole_per_litre). * STATES[27] is c021 in component c021 (micromole_per_litre). * STATES[28] is c22 in component c22 (micromole_per_litre). * STATES[29] is c022 in component c022 (micromole_per_litre). * STATES[30] is c23 in component c23 (micromole_per_litre). * STATES[31] is c023 in component c023 (micromole_per_litre). * CONSTANTS[53] is p31 in component model_parameters (per_day). * STATES[32] is c24 in component c24 (micromole_per_litre). * STATES[33] is c024 in component c024 (micromole_per_litre). * CONSTANTS[54] is p30 in component model_parameters (dimensionless). * CONSTANTS[55] is p32 in component model_parameters (per_day). * CONSTANTS[56] is p24 in component model_parameters (per_day). * CONSTANTS[57] is p33 in component pp (micromole_per_litre_per_day). * CONSTANTS[58] is t1 in component pp (day). * CONSTANTS[59] is p27 in component model_parameters (dimensionless). * STATES[34] is c01 in component c01 (micromole_per_litre). * CONSTANTS[60] is pAA1 in component model_parameters (dimensionless). * STATES[35] is c02 in component c02 (micromole_per_litre). * CONSTANTS[61] is pAA2 in component model_parameters (dimensionless). * STATES[36] is c03 in component c03 (micromole_per_litre). * CONSTANTS[62] is pAA3 in component model_parameters (dimensionless). * STATES[37] is c04 in component c04 (micromole_per_litre). * CONSTANTS[63] is pAA4 in component model_parameters (dimensionless). * STATES[38] is c05 in component c05 (micromole_per_litre). * CONSTANTS[64] is pAA5 in component model_parameters (dimensionless). * STATES[39] is c06 in component c06 (micromole_per_litre). * CONSTANTS[65] is pAA6 in component model_parameters (dimensionless). * STATES[40] is c07 in component c07 (micromole_per_litre). * CONSTANTS[66] is pAA7 in component model_parameters (dimensionless). * STATES[41] is c08 in component c08 (micromole_per_litre). * CONSTANTS[67] is pAA8 in component model_parameters (dimensionless). * STATES[42] is c09 in component c09 (micromole_per_litre). * CONSTANTS[68] is pAA9 in component model_parameters (dimensionless). * STATES[43] is c010 in component c010 (micromole_per_litre). * CONSTANTS[69] is pAA10 in component model_parameters (dimensionless). * STATES[44] is c011 in component c011 (micromole_per_litre). * CONSTANTS[70] is pAA11 in component model_parameters (dimensionless). * STATES[45] is c012 in component c012 (micromole_per_litre). * CONSTANTS[71] is pAA12 in component model_parameters (dimensionless). * STATES[46] is c013 in component c013 (micromole_per_litre). * CONSTANTS[72] is pAA13 in component model_parameters (dimensionless). * STATES[47] is c014 in component c014 (micromole_per_litre). * CONSTANTS[73] is pAA14 in component model_parameters (dimensionless). * CONSTANTS[74] is V1 in component model_parameters (litre). * CONSTANTS[75] is CA1 in component c01 (micromole_per_litre). * CONSTANTS[76] is CB1 in component model_parameters (micromole_per_litre). * CONSTANTS[77] is CA2 in component c02 (micromole_per_litre). * CONSTANTS[78] is CA3 in component c03 (micromole_per_litre). * CONSTANTS[79] is CA4 in component c04 (micromole_per_litre). * CONSTANTS[80] is CA5 in component c05 (micromole_per_litre). * CONSTANTS[81] is CA6 in component c06 (micromole_per_litre). * CONSTANTS[82] is CA7 in component c07 (micromole_per_litre). * CONSTANTS[83] is CA8 in component c08 (micromole_per_litre). * CONSTANTS[84] is CA9 in component c09 (micromole_per_litre). * CONSTANTS[85] is CA10 in component c010 (micromole_per_litre). * CONSTANTS[86] is CA11 in component c011 (micromole_per_litre). * CONSTANTS[87] is CA12 in component c012 (micromole_per_litre). * CONSTANTS[88] is CA13 in component c013 (micromole_per_litre). * CONSTANTS[89] is CA14 in component c014 (micromole_per_litre). * CONSTANTS[90] is CA15 in component c015 (micromole_per_litre). * CONSTANTS[91] is CB15 in component model_parameters (micromole_per_litre). * CONSTANTS[92] is CA16 in component c016 (micromole_per_litre). * CONSTANTS[93] is CA17 in component c017 (micromole_per_litre). * CONSTANTS[94] is CA18 in component c018 (micromole_per_litre). * CONSTANTS[95] is CA19 in component c019 (micromole_per_litre). * CONSTANTS[96] is CA20 in component c020 (micromole_per_litre). * CONSTANTS[97] is CA21 in component c021 (micromole_per_litre). * CONSTANTS[98] is CA22 in component c022 (micromole_per_litre). * CONSTANTS[99] is CA23 in component c023 (micromole_per_litre). * CONSTANTS[100] is CA24 in component c024 (micromole_per_litre). * RATES[0] is d/dt c15 in component c15 (micromole_per_litre). * RATES[2] is d/dt c16 in component c16 (micromole_per_litre). * RATES[3] is d/dt c17 in component c17 (micromole_per_litre). * RATES[7] is d/dt c18 in component c18 (micromole_per_litre). * RATES[4] is d/dt c19 in component c19 (micromole_per_litre). * RATES[24] is d/dt c20 in component c20 (micromole_per_litre). * RATES[26] is d/dt c21 in component c21 (micromole_per_litre). * RATES[28] is d/dt c22 in component c22 (micromole_per_litre). * RATES[30] is d/dt c23 in component c23 (micromole_per_litre). * RATES[32] is d/dt c24 in component c24 (micromole_per_litre). * RATES[8] is d/dt c1 in component c1 (micromole_per_litre). * RATES[9] is d/dt c2 in component c2 (micromole_per_litre). * RATES[10] is d/dt c3 in component c3 (micromole_per_litre). * RATES[11] is d/dt c4 in component c4 (micromole_per_litre). * RATES[12] is d/dt c5 in component c5 (micromole_per_litre). * RATES[13] is d/dt c6 in component c6 (micromole_per_litre). * RATES[14] is d/dt c7 in component c7 (micromole_per_litre). * RATES[15] is d/dt c8 in component c8 (micromole_per_litre). * RATES[16] is d/dt c9 in component c9 (micromole_per_litre). * RATES[23] is d/dt c10 in component c10 (micromole_per_litre). * RATES[20] is d/dt c11 in component c11 (micromole_per_litre). * RATES[21] is d/dt c12 in component c12 (micromole_per_litre). * RATES[22] is d/dt c13 in component c13 (micromole_per_litre). * RATES[17] is d/dt c14 in component c14 (micromole_per_litre). * RATES[34] is d/dt c01 in component c01 (micromole_per_litre). * RATES[35] is d/dt c02 in component c02 (micromole_per_litre). * RATES[36] is d/dt c03 in component c03 (micromole_per_litre). * RATES[37] is d/dt c04 in component c04 (micromole_per_litre). * RATES[38] is d/dt c05 in component c05 (micromole_per_litre). * RATES[39] is d/dt c06 in component c06 (micromole_per_litre). * RATES[40] is d/dt c07 in component c07 (micromole_per_litre). * RATES[41] is d/dt c08 in component c08 (micromole_per_litre). * RATES[42] is d/dt c09 in component c09 (micromole_per_litre). * RATES[43] is d/dt c010 in component c010 (micromole_per_litre). * RATES[44] is d/dt c011 in component c011 (micromole_per_litre). * RATES[45] is d/dt c012 in component c012 (micromole_per_litre). * RATES[46] is d/dt c013 in component c013 (micromole_per_litre). * RATES[47] is d/dt c014 in component c014 (micromole_per_litre). * RATES[1] is d/dt c015 in component c015 (micromole_per_litre). * RATES[5] is d/dt c016 in component c016 (micromole_per_litre). * RATES[6] is d/dt c017 in component c017 (micromole_per_litre). * RATES[18] is d/dt c018 in component c018 (micromole_per_litre). * RATES[19] is d/dt c019 in component c019 (micromole_per_litre). * RATES[25] is d/dt c020 in component c020 (micromole_per_litre). * RATES[27] is d/dt c021 in component c021 (micromole_per_litre). * RATES[29] is d/dt c022 in component c022 (micromole_per_litre). * RATES[31] is d/dt c023 in component c023 (micromole_per_litre). * RATES[33] is d/dt c024 in component c024 (micromole_per_litre). * There are a total of 4 condition variables. */ void initConsts(double* CONSTANTS, double* RATES, double *STATES) { CONSTANTS[0] = 3.6; CONSTANTS[1] = 1; CONSTANTS[2] = 1.2; CONSTANTS[3] = 0; CONSTANTS[4] = 3; CONSTANTS[5] = 0.024; STATES[0] = 284; CONSTANTS[6] = 1191.072; CONSTANTS[7] = 0.9; STATES[1] = 284; CONSTANTS[8] = 3.593; STATES[2] = 168; CONSTANTS[9] = 56.73; STATES[3] = 265; CONSTANTS[10] = 0.0009; STATES[4] = 41; CONSTANTS[11] = 50.08; CONSTANTS[12] = 225.76; CONSTANTS[13] = 5; CONSTANTS[14] = 2.8119; CONSTANTS[15] = 0.31; STATES[5] = 168; CONSTANTS[16] = 0.25; STATES[6] = 265; CONSTANTS[17] = 0.0205; STATES[7] = 687; CONSTANTS[18] = 0.0033; CONSTANTS[19] = 40.68; CONSTANTS[20] = 1.816; CONSTANTS[21] = 1; STATES[8] = 2258; CONSTANTS[22] = 16.29; CONSTANTS[23] = 3; STATES[9] = 940; CONSTANTS[24] = 100; CONSTANTS[25] = 4; STATES[10] = 2604; CONSTANTS[26] = 1.147; CONSTANTS[27] = 1; STATES[11] = 987; CONSTANTS[28] = 15.99; CONSTANTS[29] = 2; STATES[12] = 464; CONSTANTS[30] = 4.148; CONSTANTS[31] = 1; STATES[13] = 1300; CONSTANTS[32] = 3.723; CONSTANTS[33] = 1; STATES[14] = 500; CONSTANTS[34] = 1.573; CONSTANTS[35] = 1; STATES[15] = 1825; CONSTANTS[36] = 1.135; CONSTANTS[37] = 1; STATES[16] = 2215; CONSTANTS[38] = 9.326; CONSTANTS[39] = 1; STATES[17] = 859; CONSTANTS[40] = 0; CONSTANTS[41] = 0; CONSTANTS[42] = 38.05; CONSTANTS[43] = 1.27; STATES[18] = 687; CONSTANTS[44] = 0.06; STATES[19] = 41; CONSTANTS[45] = 34.53; CONSTANTS[46] = 1; STATES[20] = 259; CONSTANTS[47] = 10.8; CONSTANTS[48] = 1; STATES[21] = 861; CONSTANTS[49] = 10.76; CONSTANTS[50] = 1; STATES[22] = 1957; CONSTANTS[51] = 0.192; CONSTANTS[52] = 1; STATES[23] = 327; STATES[24] = 0; STATES[25] = 0; STATES[26] = 0; STATES[27] = 0; STATES[28] = 0; STATES[29] = 0; STATES[30] = 8159; STATES[31] = 0; CONSTANTS[53] = 1.31; STATES[32] = 8159; STATES[33] = 0; CONSTANTS[54] = 0; CONSTANTS[55] = 478.7; CONSTANTS[56] = 0.5474; CONSTANTS[57] = 0; CONSTANTS[58] = 1; CONSTANTS[59] = 0.6804; STATES[34] = 2258; CONSTANTS[60] = 1.4; STATES[35] = 940; CONSTANTS[61] = 0.18; STATES[36] = 2604; CONSTANTS[62] = 0; STATES[37] = 987; CONSTANTS[63] = 1.19; STATES[38] = 464; CONSTANTS[64] = 0.45; STATES[39] = 1300; CONSTANTS[65] = 1.05; STATES[40] = 500; CONSTANTS[66] = 0.62; STATES[41] = 1825; CONSTANTS[67] = 1.15; STATES[42] = 2215; CONSTANTS[68] = 1; STATES[43] = 327; CONSTANTS[69] = 0.15; STATES[44] = 259; CONSTANTS[70] = 0.77; STATES[45] = 861; CONSTANTS[71] = 1.55; STATES[46] = 1957; CONSTANTS[72] = 0.78; STATES[47] = 859; CONSTANTS[73] = 1.81; CONSTANTS[74] = 0.6; CONSTANTS[75] = 2258; CONSTANTS[76] = 0; CONSTANTS[77] = 940; CONSTANTS[78] = 2604; CONSTANTS[79] = 987; CONSTANTS[80] = 464; CONSTANTS[81] = 1300; CONSTANTS[82] = 500; CONSTANTS[83] = 1825; CONSTANTS[84] = 2215; CONSTANTS[85] = 327; CONSTANTS[86] = 259; CONSTANTS[87] = 861; CONSTANTS[88] = 1957; CONSTANTS[89] = 859; CONSTANTS[90] = 284; CONSTANTS[91] = 1500; CONSTANTS[92] = 168; CONSTANTS[93] = 265; CONSTANTS[94] = 687; CONSTANTS[95] = 41; CONSTANTS[96] = 0; CONSTANTS[97] = 0; CONSTANTS[98] = 0; CONSTANTS[99] = 0; CONSTANTS[100] = 0; RATES[0] = 0.1001; RATES[2] = 0.1001; RATES[3] = 0.1001; RATES[7] = 0.1001; RATES[4] = 0.1001; RATES[24] = 0.1001; RATES[26] = 0.1001; RATES[28] = 0.1001; RATES[30] = 0.1001; RATES[32] = 0.1001; RATES[8] = 0.1001; RATES[9] = 0.1001; RATES[10] = 0.1001; RATES[11] = 0.1001; RATES[12] = 0.1001; RATES[13] = 0.1001; RATES[14] = 0.1001; RATES[15] = 0.1001; RATES[16] = 0.1001; RATES[23] = 0.1001; RATES[20] = 0.1001; RATES[21] = 0.1001; RATES[22] = 0.1001; RATES[17] = 0.1001; RATES[34] = 0.1001; RATES[35] = 0.1001; RATES[36] = 0.1001; RATES[37] = 0.1001; RATES[38] = 0.1001; RATES[39] = 0.1001; RATES[40] = 0.1001; RATES[41] = 0.1001; RATES[42] = 0.1001; RATES[43] = 0.1001; RATES[44] = 0.1001; RATES[45] = 0.1001; RATES[46] = 0.1001; RATES[47] = 0.1001; RATES[1] = 0.1001; RATES[5] = 0.1001; RATES[6] = 0.1001; RATES[18] = 0.1001; RATES[19] = 0.1001; RATES[25] = 0.1001; RATES[27] = 0.1001; RATES[29] = 0.1001; RATES[31] = 0.1001; RATES[33] = 0.1001; } void computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES, double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS) { resid[0] = RATES[0] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[1] - STATES[0])+ CONSTANTS[8]*STATES[2]+ CONSTANTS[11]*STATES[3]+ CONSTANTS[15]*ALGEBRAIC[3]) - ( CONSTANTS[10]*STATES[4]+CONSTANTS[9]+( CONSTANTS[12]*STATES[4])/(CONSTANTS[13]+STATES[0])+CONSTANTS[14])*STATES[0]; resid[1] = RATES[2] - (( (CONSTANTS[6]/CONSTANTS[7])*(STATES[5] - STATES[2])+ CONSTANTS[10]*STATES[0]*STATES[4]) - CONSTANTS[8]*STATES[2])+ CONSTANTS[16]*ALGEBRAIC[3]; resid[2] = RATES[3] - (( (CONSTANTS[6]/CONSTANTS[7])*(STATES[6] - STATES[3])+ CONSTANTS[20]*CONSTANTS[21]*STATES[8]+ CONSTANTS[22]*CONSTANTS[23]*STATES[9]+ CONSTANTS[24]*CONSTANTS[25]*STATES[10]+ CONSTANTS[26]*CONSTANTS[27]*STATES[11]+ CONSTANTS[28]*CONSTANTS[29]*STATES[12]+ CONSTANTS[30]*CONSTANTS[31]*STATES[13]+ CONSTANTS[32]*CONSTANTS[33]*STATES[14]+ CONSTANTS[34]*CONSTANTS[35]*STATES[15]+ CONSTANTS[36]*CONSTANTS[37]*STATES[16]+ CONSTANTS[38]*CONSTANTS[39]*STATES[17]+ CONSTANTS[9]*STATES[0]+ CONSTANTS[41]*STATES[7]) - (CONSTANTS[11]+ CONSTANTS[40]*STATES[4]+CONSTANTS[42])*STATES[3])+ CONSTANTS[43]*ALGEBRAIC[3]; resid[3] = RATES[7] - (( (CONSTANTS[6]/CONSTANTS[7])*(STATES[18] - STATES[7])+ CONSTANTS[40]*STATES[3]*STATES[4]) - CONSTANTS[41]*STATES[7])+ CONSTANTS[44]*ALGEBRAIC[3]; resid[4] = RATES[4] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[19] - STATES[4])+ CONSTANTS[45]*CONSTANTS[46]*STATES[20]+ CONSTANTS[47]*CONSTANTS[48]*STATES[21]+ CONSTANTS[49]*STATES[22]*CONSTANTS[50]+ CONSTANTS[51]*STATES[23]*CONSTANTS[52]+ CONSTANTS[19]*(1.00000 - ALGEBRAIC[4])*STATES[3]+ CONSTANTS[8]*STATES[2]+ CONSTANTS[41]*STATES[7]) - (( CONSTANTS[12]*STATES[0])/(CONSTANTS[13]+STATES[0])+ CONSTANTS[10]*STATES[0]+ CONSTANTS[40]*STATES[3])*STATES[4]; resid[5] = RATES[24] - (CONSTANTS[6]/CONSTANTS[7])*(STATES[25] - STATES[24])+ (( CONSTANTS[12]*STATES[0])/(CONSTANTS[13]+STATES[0]))*STATES[4]; resid[6] = RATES[26] - (CONSTANTS[6]/CONSTANTS[7])*(STATES[27] - STATES[26]) - CONSTANTS[18]*STATES[26]; resid[7] = RATES[28] - (CONSTANTS[6]/CONSTANTS[7])*(STATES[29] - STATES[28]) - CONSTANTS[17]*STATES[28]; resid[8] = RATES[30] - (( (CONSTANTS[6]/CONSTANTS[7])*(STATES[31] - STATES[30])+ CONSTANTS[18]*STATES[26]+ CONSTANTS[17]*STATES[28]) - CONSTANTS[19]*STATES[30])+ (( CONSTANTS[53]*STATES[0])/(CONSTANTS[13]+STATES[0]))*STATES[4]; resid[9] = RATES[32] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[33] - STATES[32])+ 2.00000*CONSTANTS[54]*CONSTANTS[19]*STATES[30]+ (( CONSTANTS[55]*STATES[0])/(CONSTANTS[13]+STATES[0]))*STATES[4]) - CONSTANTS[56]*STATES[32]; resid[10] = RATES[8] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[34] - STATES[8]) - CONSTANTS[20]*STATES[8])+ CONSTANTS[60]*ALGEBRAIC[3]; resid[11] = RATES[9] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[35] - STATES[9]) - CONSTANTS[22]*STATES[9])+ CONSTANTS[61]*ALGEBRAIC[3]; resid[12] = RATES[10] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[36] - STATES[10]) - CONSTANTS[24]*STATES[10])+ CONSTANTS[62]*ALGEBRAIC[3]; resid[13] = RATES[11] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[37] - STATES[11]) - CONSTANTS[26]*STATES[11])+ CONSTANTS[63]*ALGEBRAIC[3]; resid[14] = RATES[12] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[38] - STATES[12]) - CONSTANTS[28]*STATES[12])+ CONSTANTS[64]*ALGEBRAIC[3]; resid[15] = RATES[13] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[39] - STATES[13]) - CONSTANTS[30]*STATES[13])+ CONSTANTS[65]*ALGEBRAIC[3]; resid[16] = RATES[14] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[40] - STATES[14]) - CONSTANTS[32]*STATES[14])+ CONSTANTS[66]*ALGEBRAIC[3]; resid[17] = RATES[15] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[41] - STATES[15]) - CONSTANTS[34]*STATES[15])+ CONSTANTS[67]*ALGEBRAIC[3]; resid[18] = RATES[16] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[42] - STATES[16]) - CONSTANTS[36]*STATES[16])+ CONSTANTS[68]*ALGEBRAIC[3]; resid[19] = RATES[23] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[43] - STATES[23]) - CONSTANTS[51]*STATES[23])+ CONSTANTS[69]*ALGEBRAIC[3]; resid[20] = RATES[20] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[44] - STATES[20]) - CONSTANTS[45]*STATES[20])+ CONSTANTS[70]*ALGEBRAIC[3]; resid[21] = RATES[21] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[45] - STATES[21]) - CONSTANTS[47]*STATES[21])+ CONSTANTS[71]*ALGEBRAIC[3]; resid[22] = RATES[22] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[46] - STATES[22]) - CONSTANTS[49]*STATES[22])+ CONSTANTS[72]*ALGEBRAIC[3]; resid[23] = RATES[17] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[47] - STATES[17]) - CONSTANTS[38]*STATES[17])+ CONSTANTS[73]*ALGEBRAIC[3]; resid[24] = RATES[34] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[75]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[34]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[34] - STATES[8]); resid[25] = RATES[35] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[77]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[35]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[35] - STATES[9]); resid[26] = RATES[36] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[78]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[36]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[36] - STATES[10]); resid[27] = RATES[37] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[79]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[37]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[37] - STATES[11]); resid[28] = RATES[38] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[80]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[38]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[38] - STATES[12]); resid[29] = RATES[39] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[81]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[39]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[39] - STATES[13]); resid[30] = RATES[40] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[82]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[40]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[40] - STATES[14]); resid[31] = RATES[41] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[83]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[41]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[41] - STATES[15]); resid[32] = RATES[42] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[84]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[42]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[42] - STATES[16]); resid[33] = RATES[43] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[85]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[43]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[43] - STATES[23]); resid[34] = RATES[44] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[86]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[44]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[44] - STATES[20]); resid[35] = RATES[45] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[87]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[45]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[45] - STATES[21]); resid[36] = RATES[46] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[88]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[46]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[46] - STATES[22]); resid[37] = RATES[47] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[89]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[47]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[47] - STATES[17]); resid[38] = RATES[1] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[90]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[91]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[1]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[1] - STATES[0]); resid[39] = RATES[5] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[92]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[5]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[5] - STATES[2]); resid[40] = RATES[6] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[93]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[6]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[6] - STATES[3]); resid[41] = RATES[18] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[94]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[18]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[18] - STATES[7]); resid[42] = RATES[19] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[95]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[19]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[19] - STATES[4]); resid[43] = RATES[25] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[96]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[25]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[25] - STATES[24]); resid[44] = RATES[27] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[97]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[27]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[27] - STATES[26]); resid[45] = RATES[29] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[98]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[29]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[29] - STATES[28]); resid[46] = RATES[31] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[99]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[31]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[31] - STATES[30]); resid[47] = RATES[33] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[100]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) - (ALGEBRAIC[2]/CONSTANTS[74])*STATES[33]) - (CONSTANTS[6]/CONSTANTS[74])*(STATES[33] - STATES[32]); } 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] = (CONDVAR[0]>=0.00000 ? CONSTANTS[2] : CONSTANTS[0]); ALGEBRAIC[1] = (CONDVAR[1]>=0.00000 ? CONSTANTS[5] : CONSTANTS[3]); ALGEBRAIC[2] = ALGEBRAIC[0]+ALGEBRAIC[1]; ALGEBRAIC[3] = (CONDVAR[2]<0.00000 ? CONSTANTS[57] : 0.00000); ALGEBRAIC[4] = (CONDVAR[3]<0.00000 ? 0.00000 : CONSTANTS[59]); } 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; SI[13] = 1.0; SI[14] = 1.0; SI[15] = 1.0; SI[16] = 1.0; SI[17] = 1.0; SI[18] = 1.0; SI[19] = 1.0; SI[20] = 1.0; SI[21] = 1.0; SI[22] = 1.0; SI[23] = 1.0; SI[24] = 1.0; SI[25] = 1.0; SI[26] = 1.0; SI[27] = 1.0; SI[28] = 1.0; SI[29] = 1.0; SI[30] = 1.0; SI[31] = 1.0; SI[32] = 1.0; SI[33] = 1.0; SI[34] = 1.0; SI[35] = 1.0; SI[36] = 1.0; SI[37] = 1.0; SI[38] = 1.0; SI[39] = 1.0; SI[40] = 1.0; SI[41] = 1.0; SI[42] = 1.0; SI[43] = 1.0; SI[44] = 1.0; SI[45] = 1.0; SI[46] = 1.0; SI[47] = 1.0; } void computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES, double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS) { CONDVAR[0] = VOI - CONSTANTS[1]; CONDVAR[1] = VOI - CONSTANTS[4]; CONDVAR[2] = VOI - CONSTANTS[58]; CONDVAR[3] = VOI - 3.00000; }