/* There are a total of 68 entries in the algebraic variable array. There are a total of 27 entries in each of the rate and state variable arrays. There are a total of 67 entries in the constant variable array. */ /* * VOI is time in component environment (second). * STATES[0] is q_Ca_i in component environment (fmol). * STATES[1] is q_Ca_SR in component environment (fmol). * STATES[2] is q_IP3 in component environment (fmol). * STATES[3] is q_Sa_000_IPR in component environment (fmol). * STATES[4] is q_Sa_001_IPR in component environment (fmol). * STATES[5] is q_Sa_010_IPR in component environment (fmol). * STATES[6] is q_Sa_011_IPR in component environment (fmol). * STATES[7] is q_Sa_100_IPR in component environment (fmol). * STATES[8] is q_Sa_101_IPR in component environment (fmol). * STATES[9] is q_Sa_110_IPR in component environment (fmol). * STATES[10] is q_Sa_111_IPR in component environment (fmol). * STATES[11] is q_Sb_000_IPR in component environment (fmol). * STATES[12] is q_Sb_001_IPR in component environment (fmol). * STATES[13] is q_Sb_010_IPR in component environment (fmol). * STATES[14] is q_Sb_011_IPR in component environment (fmol). * STATES[15] is q_Sb_100_IPR in component environment (fmol). * STATES[16] is q_Sb_101_IPR in component environment (fmol). * STATES[17] is q_Sb_110_IPR in component environment (fmol). * STATES[18] is q_Sb_111_IPR in component environment (fmol). * STATES[19] is q_Sc_000_IPR in component environment (fmol). * STATES[20] is q_Sc_001_IPR in component environment (fmol). * STATES[21] is q_Sc_010_IPR in component environment (fmol). * STATES[22] is q_Sc_011_IPR in component environment (fmol). * STATES[23] is q_Sc_100_IPR in component environment (fmol). * STATES[24] is q_Sc_101_IPR in component environment (fmol). * STATES[25] is q_Sc_110_IPR in component environment (fmol). * STATES[26] is q_Sc_111_IPR in component environment (fmol). * ALGEBRAIC[0] is IP3_stim in component environment (fmol_per_sec). * ALGEBRAIC[31] is v_R_IPR_main in component IPR (fmol_per_sec). * ALGEBRAIC[32] is v_R1_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[33] is v_R2_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[34] is v_R3_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[35] is v_R4_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[36] is v_R5_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[37] is v_R6_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[38] is v_R7_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[39] is v_R8_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[40] is v_R9_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[41] is v_R10_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[42] is v_R11_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[43] is v_R12_a_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[44] is v_R1_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[45] is v_R2_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[46] is v_R3_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[47] is v_R4_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[48] is v_R5_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[49] is v_R6_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[50] is v_R7_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[51] is v_R8_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[52] is v_R9_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[53] is v_R10_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[54] is v_R11_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[55] is v_R12_b_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[56] is v_R1_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[57] is v_R2_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[58] is v_R3_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[59] is v_R4_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[60] is v_R5_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[61] is v_R6_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[62] is v_R7_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[63] is v_R8_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[64] is v_R9_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[65] is v_R10_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[66] is v_R11_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[67] is v_R12_c_IPR in component IPR (fmol_per_sec). * ALGEBRAIC[2] is Ca_tot in component environment (fmol). * ALGEBRAIC[1] is Ca_gate in component environment (fmol). * CONSTANTS[0] is kappa_R_IPR_main in component IPR_parameters (fmol_per_sec). * CONSTANTS[1] is kappa_R1_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[2] is kappa_R2_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[3] is kappa_R3_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[4] is kappa_R4_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[5] is kappa_R5_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[6] is kappa_R6_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[7] is kappa_R7_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[8] is kappa_R8_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[9] is kappa_R9_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[10] is kappa_R10_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[11] is kappa_R11_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[12] is kappa_R12_a_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[13] is kappa_R1_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[14] is kappa_R2_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[15] is kappa_R3_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[16] is kappa_R4_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[17] is kappa_R5_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[18] is kappa_R6_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[19] is kappa_R7_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[20] is kappa_R8_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[21] is kappa_R9_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[22] is kappa_R10_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[23] is kappa_R11_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[24] is kappa_R12_b_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[25] is kappa_R1_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[26] is kappa_R2_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[27] is kappa_R3_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[28] is kappa_R4_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[29] is kappa_R5_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[30] is kappa_R6_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[31] is kappa_R7_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[32] is kappa_R8_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[33] is kappa_R9_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[34] is kappa_R10_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[35] is kappa_R11_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[36] is kappa_R12_c_IPR in component IPR_parameters (fmol_per_sec). * CONSTANTS[37] is K_Ca_i in component IPR_parameters (per_fmol). * CONSTANTS[38] is K_Ca_SR in component IPR_parameters (per_fmol). * CONSTANTS[39] is K_IP3 in component IPR_parameters (per_fmol). * CONSTANTS[40] is K_Sa_000_IPR in component IPR_parameters (per_fmol). * CONSTANTS[41] is K_Sa_001_IPR in component IPR_parameters (per_fmol). * CONSTANTS[42] is K_Sa_010_IPR in component IPR_parameters (per_fmol). * CONSTANTS[43] is K_Sa_011_IPR in component IPR_parameters (per_fmol). * CONSTANTS[44] is K_Sa_100_IPR in component IPR_parameters (per_fmol). * CONSTANTS[45] is K_Sa_101_IPR in component IPR_parameters (per_fmol). * CONSTANTS[46] is K_Sa_110_IPR in component IPR_parameters (per_fmol). * CONSTANTS[47] is K_Sa_111_IPR in component IPR_parameters (per_fmol). * CONSTANTS[48] is K_Sb_000_IPR in component IPR_parameters (per_fmol). * CONSTANTS[49] is K_Sb_001_IPR in component IPR_parameters (per_fmol). * CONSTANTS[50] is K_Sb_010_IPR in component IPR_parameters (per_fmol). * CONSTANTS[51] is K_Sb_011_IPR in component IPR_parameters (per_fmol). * CONSTANTS[52] is K_Sb_100_IPR in component IPR_parameters (per_fmol). * CONSTANTS[53] is K_Sb_101_IPR in component IPR_parameters (per_fmol). * CONSTANTS[54] is K_Sb_110_IPR in component IPR_parameters (per_fmol). * CONSTANTS[55] is K_Sb_111_IPR in component IPR_parameters (per_fmol). * CONSTANTS[56] is K_Sc_000_IPR in component IPR_parameters (per_fmol). * CONSTANTS[57] is K_Sc_001_IPR in component IPR_parameters (per_fmol). * CONSTANTS[58] is K_Sc_010_IPR in component IPR_parameters (per_fmol). * CONSTANTS[59] is K_Sc_011_IPR in component IPR_parameters (per_fmol). * CONSTANTS[60] is K_Sc_100_IPR in component IPR_parameters (per_fmol). * CONSTANTS[61] is K_Sc_101_IPR in component IPR_parameters (per_fmol). * CONSTANTS[62] is K_Sc_110_IPR in component IPR_parameters (per_fmol). * CONSTANTS[63] is K_Sc_111_IPR in component IPR_parameters (per_fmol). * CONSTANTS[64] is R in component constants (J_per_K_per_mol). * CONSTANTS[65] is T in component constants (kelvin). * ALGEBRAIC[3] is mu_Ca_i in component IPR (J_per_mol). * ALGEBRAIC[4] is mu_Ca_SR in component IPR (J_per_mol). * ALGEBRAIC[5] is mu_IP3 in component IPR (J_per_mol). * ALGEBRAIC[6] is mu_Sa_000_IPR in component IPR (J_per_mol). * ALGEBRAIC[7] is mu_Sa_001_IPR in component IPR (J_per_mol). * ALGEBRAIC[8] is mu_Sa_010_IPR in component IPR (J_per_mol). * ALGEBRAIC[9] is mu_Sa_011_IPR in component IPR (J_per_mol). * ALGEBRAIC[10] is mu_Sa_100_IPR in component IPR (J_per_mol). * ALGEBRAIC[11] is mu_Sa_101_IPR in component IPR (J_per_mol). * ALGEBRAIC[12] is mu_Sa_110_IPR in component IPR (J_per_mol). * ALGEBRAIC[13] is mu_Sa_111_IPR in component IPR (J_per_mol). * ALGEBRAIC[14] is mu_Sb_000_IPR in component IPR (J_per_mol). * ALGEBRAIC[15] is mu_Sb_001_IPR in component IPR (J_per_mol). * ALGEBRAIC[16] is mu_Sb_010_IPR in component IPR (J_per_mol). * ALGEBRAIC[17] is mu_Sb_011_IPR in component IPR (J_per_mol). * ALGEBRAIC[18] is mu_Sb_100_IPR in component IPR (J_per_mol). * ALGEBRAIC[19] is mu_Sb_101_IPR in component IPR (J_per_mol). * ALGEBRAIC[20] is mu_Sb_110_IPR in component IPR (J_per_mol). * ALGEBRAIC[21] is mu_Sb_111_IPR in component IPR (J_per_mol). * ALGEBRAIC[22] is mu_Sc_000_IPR in component IPR (J_per_mol). * ALGEBRAIC[23] is mu_Sc_001_IPR in component IPR (J_per_mol). * ALGEBRAIC[24] is mu_Sc_010_IPR in component IPR (J_per_mol). * ALGEBRAIC[25] is mu_Sc_011_IPR in component IPR (J_per_mol). * ALGEBRAIC[26] is mu_Sc_100_IPR in component IPR (J_per_mol). * ALGEBRAIC[27] is mu_Sc_101_IPR in component IPR (J_per_mol). * ALGEBRAIC[28] is mu_Sc_110_IPR in component IPR (J_per_mol). * ALGEBRAIC[29] is mu_Sc_111_IPR in component IPR (J_per_mol). * ALGEBRAIC[30] is v_R_IPR_main_nogate in component IPR (fmol_per_sec). * CONSTANTS[66] is F in component constants (C_per_mol). * RATES[0] is d/dt q_Ca_i in component environment (fmol). * RATES[1] is d/dt q_Ca_SR in component environment (fmol). * RATES[2] is d/dt q_IP3 in component environment (fmol). * RATES[3] is d/dt q_Sa_000_IPR in component environment (fmol). * RATES[4] is d/dt q_Sa_001_IPR in component environment (fmol). * RATES[5] is d/dt q_Sa_010_IPR in component environment (fmol). * RATES[6] is d/dt q_Sa_011_IPR in component environment (fmol). * RATES[7] is d/dt q_Sa_100_IPR in component environment (fmol). * RATES[8] is d/dt q_Sa_101_IPR in component environment (fmol). * RATES[9] is d/dt q_Sa_110_IPR in component environment (fmol). * RATES[10] is d/dt q_Sa_111_IPR in component environment (fmol). * RATES[11] is d/dt q_Sb_000_IPR in component environment (fmol). * RATES[12] is d/dt q_Sb_001_IPR in component environment (fmol). * RATES[13] is d/dt q_Sb_010_IPR in component environment (fmol). * RATES[14] is d/dt q_Sb_011_IPR in component environment (fmol). * RATES[15] is d/dt q_Sb_100_IPR in component environment (fmol). * RATES[16] is d/dt q_Sb_101_IPR in component environment (fmol). * RATES[17] is d/dt q_Sb_110_IPR in component environment (fmol). * RATES[18] is d/dt q_Sb_111_IPR in component environment (fmol). * RATES[19] is d/dt q_Sc_000_IPR in component environment (fmol). * RATES[20] is d/dt q_Sc_001_IPR in component environment (fmol). * RATES[21] is d/dt q_Sc_010_IPR in component environment (fmol). * RATES[22] is d/dt q_Sc_011_IPR in component environment (fmol). * RATES[23] is d/dt q_Sc_100_IPR in component environment (fmol). * RATES[24] is d/dt q_Sc_101_IPR in component environment (fmol). * RATES[25] is d/dt q_Sc_110_IPR in component environment (fmol). * RATES[26] is d/dt q_Sc_111_IPR in component environment (fmol). * There are a total of 4 condition variables. */ void initConsts(double* CONSTANTS, double* RATES, double *STATES) { STATES[0] = 0.007540192; STATES[1] = 0.763997897; STATES[2] = 5e-3; STATES[3] = 5e-6; STATES[4] = 5e-6; STATES[5] = 5e-6; STATES[6] = 5e-6; STATES[7] = 5e-6; STATES[8] = 5e-6; STATES[9] = 5e-6; STATES[10] = 5e-6; STATES[11] = 5e-6; STATES[12] = 5e-6; STATES[13] = 5e-6; STATES[14] = 5e-6; STATES[15] = 5e-6; STATES[16] = 5e-6; STATES[17] = 5e-6; STATES[18] = 5e-6; STATES[19] = 5e-6; STATES[20] = 5e-6; STATES[21] = 5e-6; STATES[22] = 5e-6; STATES[23] = 5e-6; STATES[24] = 5e-6; STATES[25] = 5e-6; STATES[26] = 5e-6; CONSTANTS[0] = 1.61481e+08; CONSTANTS[1] = 0.0180631; CONSTANTS[2] = 5.45765; CONSTANTS[3] = 0.0957773; CONSTANTS[4] = 1.80631; CONSTANTS[5] = 7.15849e-05; CONSTANTS[6] = 0.00297939; CONSTANTS[7] = 0.36184; CONSTANTS[8] = 6505.35; CONSTANTS[9] = 0.128757; CONSTANTS[10] = 0.0426298; CONSTANTS[11] = 0.68272; CONSTANTS[12] = 205415; CONSTANTS[13] = 0.0180631; CONSTANTS[14] = 5.45765; CONSTANTS[15] = 0.0957773; CONSTANTS[16] = 1.80631; CONSTANTS[17] = 7.15849e-05; CONSTANTS[18] = 0.00297939; CONSTANTS[19] = 0.36184; CONSTANTS[20] = 6505.35; CONSTANTS[21] = 0.128757; CONSTANTS[22] = 0.0426298; CONSTANTS[23] = 0.68272; CONSTANTS[24] = 205415; CONSTANTS[25] = 0.0180631; CONSTANTS[26] = 5.45765; CONSTANTS[27] = 0.0957773; CONSTANTS[28] = 1.80631; CONSTANTS[29] = 7.15849e-05; CONSTANTS[30] = 0.00297939; CONSTANTS[31] = 0.36184; CONSTANTS[32] = 6505.35; CONSTANTS[33] = 0.128757; CONSTANTS[34] = 0.0426298; CONSTANTS[35] = 0.68272; CONSTANTS[36] = 205415; CONSTANTS[37] = 617.368; CONSTANTS[38] = 1004.58; CONSTANTS[39] = 523369; CONSTANTS[40] = 4.83415; CONSTANTS[41] = 1.59995; CONSTANTS[42] = 0.911695; CONSTANTS[43] = 0.301742; CONSTANTS[44] = 1219.81; CONSTANTS[45] = 2930.79; CONSTANTS[46] = 0.000253146; CONSTANTS[47] = 552.73; CONSTANTS[48] = 4.83415; CONSTANTS[49] = 1.59995; CONSTANTS[50] = 0.911695; CONSTANTS[51] = 0.301742; CONSTANTS[52] = 1219.81; CONSTANTS[53] = 2930.79; CONSTANTS[54] = 0.000253146; CONSTANTS[55] = 552.73; CONSTANTS[56] = 4.83415; CONSTANTS[57] = 1.59995; CONSTANTS[58] = 0.911695; CONSTANTS[59] = 0.301742; CONSTANTS[60] = 1219.81; CONSTANTS[61] = 2930.79; CONSTANTS[62] = 0.000253146; CONSTANTS[63] = 552.73; CONSTANTS[64] = 8.31; CONSTANTS[65] = 310; CONSTANTS[66] = 96485; RATES[0] = 0.1001; RATES[1] = 0.1001; RATES[2] = 0.1001; RATES[3] = 0.1001; RATES[4] = 0.1001; RATES[5] = 0.1001; RATES[6] = 0.1001; RATES[7] = 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[17] = 0.1001; RATES[18] = 0.1001; RATES[19] = 0.1001; RATES[20] = 0.1001; RATES[21] = 0.1001; RATES[22] = 0.1001; RATES[23] = 0.1001; RATES[24] = 0.1001; RATES[25] = 0.1001; RATES[26] = 0.1001; } void computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES, double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS) { resid[0] = RATES[0] - (((((((((((((((((ALGEBRAIC[31] - ALGEBRAIC[32]) - ALGEBRAIC[33])+ALGEBRAIC[34]+ALGEBRAIC[35]) - ALGEBRAIC[36]) - ALGEBRAIC[37])+ALGEBRAIC[38]+ALGEBRAIC[39]) - ALGEBRAIC[44]) - ALGEBRAIC[45])+ALGEBRAIC[46]+ALGEBRAIC[47]) - ALGEBRAIC[48]) - ALGEBRAIC[49])+ALGEBRAIC[50]+ALGEBRAIC[51]) - ALGEBRAIC[56]) - ALGEBRAIC[57])+ALGEBRAIC[58]+ALGEBRAIC[59]) - ALGEBRAIC[60]) - ALGEBRAIC[61])+ALGEBRAIC[62]+ALGEBRAIC[63]; resid[1] = RATES[1] - - ALGEBRAIC[31]; resid[2] = RATES[2] - ((((((((((- ALGEBRAIC[40]+ALGEBRAIC[41]) - ALGEBRAIC[42])+ALGEBRAIC[43]) - ALGEBRAIC[52])+ALGEBRAIC[53]) - ALGEBRAIC[54])+ALGEBRAIC[55]) - ALGEBRAIC[64])+ALGEBRAIC[65]) - ALGEBRAIC[66])+ALGEBRAIC[67]+ALGEBRAIC[0]; resid[3] = RATES[3] - - ALGEBRAIC[32]+ALGEBRAIC[35]+ALGEBRAIC[41]; resid[4] = RATES[4] - (ALGEBRAIC[32] - ALGEBRAIC[33]) - ALGEBRAIC[40]; resid[5] = RATES[5] - (ALGEBRAIC[34] - ALGEBRAIC[35])+ALGEBRAIC[43]; resid[6] = RATES[6] - (ALGEBRAIC[33] - ALGEBRAIC[34]) - ALGEBRAIC[42]; resid[7] = RATES[7] - (- ALGEBRAIC[36]+ALGEBRAIC[39]) - ALGEBRAIC[41]; resid[8] = RATES[8] - (ALGEBRAIC[36] - ALGEBRAIC[37])+ALGEBRAIC[40]; resid[9] = RATES[9] - (ALGEBRAIC[38] - ALGEBRAIC[39]) - ALGEBRAIC[43]; resid[10] = RATES[10] - (ALGEBRAIC[37] - ALGEBRAIC[38])+ALGEBRAIC[42]; resid[11] = RATES[11] - - ALGEBRAIC[44]+ALGEBRAIC[47]+ALGEBRAIC[53]; resid[12] = RATES[12] - (ALGEBRAIC[44] - ALGEBRAIC[45]) - ALGEBRAIC[52]; resid[13] = RATES[13] - (ALGEBRAIC[46] - ALGEBRAIC[47])+ALGEBRAIC[55]; resid[14] = RATES[14] - (ALGEBRAIC[45] - ALGEBRAIC[46]) - ALGEBRAIC[54]; resid[15] = RATES[15] - (- ALGEBRAIC[48]+ALGEBRAIC[51]) - ALGEBRAIC[53]; resid[16] = RATES[16] - (ALGEBRAIC[48] - ALGEBRAIC[49])+ALGEBRAIC[52]; resid[17] = RATES[17] - (ALGEBRAIC[50] - ALGEBRAIC[51]) - ALGEBRAIC[55]; resid[18] = RATES[18] - (ALGEBRAIC[49] - ALGEBRAIC[50])+ALGEBRAIC[54]; resid[19] = RATES[19] - - ALGEBRAIC[56]+ALGEBRAIC[59]+ALGEBRAIC[65]; resid[20] = RATES[20] - (ALGEBRAIC[56] - ALGEBRAIC[57]) - ALGEBRAIC[64]; resid[21] = RATES[21] - (ALGEBRAIC[58] - ALGEBRAIC[59])+ALGEBRAIC[67]; resid[22] = RATES[22] - (ALGEBRAIC[57] - ALGEBRAIC[58]) - ALGEBRAIC[66]; resid[23] = RATES[23] - (- ALGEBRAIC[60]+ALGEBRAIC[63]) - ALGEBRAIC[65]; resid[24] = RATES[24] - (ALGEBRAIC[60] - ALGEBRAIC[61])+ALGEBRAIC[64]; resid[25] = RATES[25] - (ALGEBRAIC[62] - ALGEBRAIC[63]) - ALGEBRAIC[67]; resid[26] = RATES[26] - (ALGEBRAIC[61] - ALGEBRAIC[62])+ALGEBRAIC[66]; } void computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[1] = STATES[4]+STATES[8]+STATES[6]+STATES[10]+STATES[5]+STATES[6]+STATES[9]+STATES[10]+STATES[12]+STATES[16]+STATES[14]+STATES[18]+STATES[13]+STATES[14]+STATES[17]+STATES[18]+STATES[20]+STATES[24]+STATES[22]+STATES[26]+STATES[21]+STATES[22]+STATES[25]+STATES[26]; ALGEBRAIC[2] = STATES[0]+STATES[1]+ALGEBRAIC[1]; ALGEBRAIC[30] = CONSTANTS[0]*(exp(ALGEBRAIC[4]/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[3]/( CONSTANTS[64]*CONSTANTS[65]))); } void computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[0] = (CONDVAR[0]>0.00000&&CONDVAR[1]<0.00000 ? 100.000 : CONDVAR[2]>0.00000&&CONDVAR[3]<0.00000 ? - 100.000 : 0.00000); ALGEBRAIC[3] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[37]*STATES[0]); ALGEBRAIC[4] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[38]*STATES[1]); ALGEBRAIC[12] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[46]*STATES[9]); ALGEBRAIC[20] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[54]*STATES[17]); ALGEBRAIC[28] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[62]*STATES[25]); ALGEBRAIC[31] = CONSTANTS[0]*(exp((ALGEBRAIC[4]+ALGEBRAIC[12]+ALGEBRAIC[20]+ALGEBRAIC[28])/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[3]+ALGEBRAIC[12]+ALGEBRAIC[20]+ALGEBRAIC[28])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[6] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[40]*STATES[3]); ALGEBRAIC[7] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[41]*STATES[4]); ALGEBRAIC[32] = CONSTANTS[1]*(exp((ALGEBRAIC[6]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[7]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[9] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[43]*STATES[6]); ALGEBRAIC[33] = CONSTANTS[2]*(exp((ALGEBRAIC[7]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[9]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[8] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[42]*STATES[5]); ALGEBRAIC[34] = CONSTANTS[3]*(exp(ALGEBRAIC[9]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[8]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[35] = CONSTANTS[4]*(exp(ALGEBRAIC[8]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[6]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[10] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[44]*STATES[7]); ALGEBRAIC[11] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[45]*STATES[8]); ALGEBRAIC[36] = CONSTANTS[5]*(exp((ALGEBRAIC[10]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[11]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[13] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[47]*STATES[10]); ALGEBRAIC[37] = CONSTANTS[6]*(exp((ALGEBRAIC[11]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[13]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[38] = CONSTANTS[7]*(exp(ALGEBRAIC[13]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[12]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[39] = CONSTANTS[8]*(exp(ALGEBRAIC[12]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[10]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[5] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[39]*STATES[2]); ALGEBRAIC[40] = CONSTANTS[9]*(exp((ALGEBRAIC[7]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[11]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[41] = CONSTANTS[10]*(exp(ALGEBRAIC[10]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[6]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[42] = CONSTANTS[11]*(exp((ALGEBRAIC[9]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[13]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[43] = CONSTANTS[12]*(exp(ALGEBRAIC[12]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[8]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[14] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[48]*STATES[11]); ALGEBRAIC[15] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[49]*STATES[12]); ALGEBRAIC[44] = CONSTANTS[13]*(exp((ALGEBRAIC[14]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[15]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[17] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[51]*STATES[14]); ALGEBRAIC[45] = CONSTANTS[14]*(exp((ALGEBRAIC[15]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[17]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[16] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[50]*STATES[13]); ALGEBRAIC[46] = CONSTANTS[15]*(exp(ALGEBRAIC[17]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[16]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[47] = CONSTANTS[16]*(exp(ALGEBRAIC[16]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[14]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[18] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[52]*STATES[15]); ALGEBRAIC[19] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[53]*STATES[16]); ALGEBRAIC[48] = CONSTANTS[17]*(exp((ALGEBRAIC[18]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[19]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[21] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[55]*STATES[18]); ALGEBRAIC[49] = CONSTANTS[18]*(exp((ALGEBRAIC[19]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[21]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[50] = CONSTANTS[19]*(exp(ALGEBRAIC[21]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[20]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[51] = CONSTANTS[20]*(exp(ALGEBRAIC[20]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[18]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[52] = CONSTANTS[21]*(exp((ALGEBRAIC[15]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[19]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[53] = CONSTANTS[22]*(exp(ALGEBRAIC[18]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[14]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[54] = CONSTANTS[23]*(exp((ALGEBRAIC[17]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[21]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[55] = CONSTANTS[24]*(exp(ALGEBRAIC[20]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[16]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[22] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[56]*STATES[19]); ALGEBRAIC[23] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[57]*STATES[20]); ALGEBRAIC[56] = CONSTANTS[25]*(exp((ALGEBRAIC[22]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[23]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[25] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[59]*STATES[22]); ALGEBRAIC[57] = CONSTANTS[26]*(exp((ALGEBRAIC[23]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[25]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[24] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[58]*STATES[21]); ALGEBRAIC[58] = CONSTANTS[27]*(exp(ALGEBRAIC[25]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[24]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[59] = CONSTANTS[28]*(exp(ALGEBRAIC[24]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[22]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[26] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[60]*STATES[23]); ALGEBRAIC[27] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[61]*STATES[24]); ALGEBRAIC[60] = CONSTANTS[29]*(exp((ALGEBRAIC[26]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[27]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[29] = CONSTANTS[64]*CONSTANTS[65]*log( CONSTANTS[63]*STATES[26]); ALGEBRAIC[61] = CONSTANTS[30]*(exp((ALGEBRAIC[27]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[29]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[62] = CONSTANTS[31]*(exp(ALGEBRAIC[29]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[28]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[63] = CONSTANTS[32]*(exp(ALGEBRAIC[28]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[26]+ALGEBRAIC[3])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[64] = CONSTANTS[33]*(exp((ALGEBRAIC[23]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[27]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[65] = CONSTANTS[34]*(exp(ALGEBRAIC[26]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[22]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[66] = CONSTANTS[35]*(exp((ALGEBRAIC[25]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65])) - exp(ALGEBRAIC[29]/( CONSTANTS[64]*CONSTANTS[65]))); ALGEBRAIC[67] = CONSTANTS[36]*(exp(ALGEBRAIC[28]/( CONSTANTS[64]*CONSTANTS[65])) - exp((ALGEBRAIC[24]+ALGEBRAIC[5])/( CONSTANTS[64]*CONSTANTS[65]))); } 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; } void computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES, double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS) { CONDVAR[0] = VOI - 0.0600000; CONDVAR[1] = VOI - 0.0700000; CONDVAR[2] = VOI - 0.0900000; CONDVAR[3] = VOI - 0.100000; }