/* There are a total of 106 entries in the algebraic variable array. There are a total of 22 entries in each of the rate and state variable arrays. There are a total of 93 entries in the constant variable array. */ /* * VOI is time in component environment (ms). * STATES[0] is V in component membrane (mV). * CONSTANTS[0] is R in component membrane (mJ_per_mole_K). * CONSTANTS[1] is T in component membrane (kelvin). * CONSTANTS[2] is F in component membrane (C_per_mole). * CONSTANTS[3] is Cm in component membrane (uF). * ALGEBRAIC[0] is I_Stim in component membrane (uA). * CONSTANTS[4] is stim_period in component membrane (ms). * CONSTANTS[5] is stim_duration in component membrane (ms). * CONSTANTS[6] is stim_amplitude in component membrane (uA). * ALGEBRAIC[6] is i_Na in component sodium_current (nanoA). * ALGEBRAIC[8] is i_t in component Ca_independent_transient_outward_K_current (nanoA). * ALGEBRAIC[9] is i_ss in component steady_state_outward_K_current (nanoA). * ALGEBRAIC[13] is i_f in component hyperpolarisation_activated_current (nanoA). * ALGEBRAIC[10] is i_K1 in component inward_rectifier (nanoA). * ALGEBRAIC[14] is i_B_Na in component background_currents (nanoA). * ALGEBRAIC[16] is i_B_K in component background_currents (nanoA). * ALGEBRAIC[3] is i_NaK in component sodium_potassium_pump (uA). * ALGEBRAIC[98] is I_LCC in component convert_hinch (uA). * ALGEBRAIC[75] is I_NaCa in component convert_hinch (uA). * ALGEBRAIC[76] is I_pCa in component convert_hinch (uA). * ALGEBRAIC[77] is I_CaB in component convert_hinch (uA). * ALGEBRAIC[1] is FVRT in component membrane (dimensionless). * ALGEBRAIC[2] is FVRT_Ca in component membrane (dimensionless). * CONSTANTS[7] is V_myo in component cell_geometry (um3). * CONSTANTS[8] is V_SR in component cell_geometry (um3). * CONSTANTS[9] is V_myo_uL in component cell_geometry (uL). * CONSTANTS[10] is V_SR_uL in component cell_geometry (uL). * ALGEBRAIC[97] is I_LCC in component LCC_current (mM_per_ms). * ALGEBRAIC[18] is I_NaCa in component Na_Ca_Exchanger (mM_per_ms). * ALGEBRAIC[20] is I_pCa in component Sarcolemmal_Ca_pump (mM_per_ms). * ALGEBRAIC[22] is I_CaB in component Background_Ca_current (mM_per_ms). * ALGEBRAIC[95] is I_RyR in component RyR_current (mM_per_ms). * ALGEBRAIC[99] is I_RyR in component convert_hinch (mM_per_ms). * CONSTANTS[11] is i_NaK_max in component sodium_potassium_pump (uA). * CONSTANTS[12] is K_m_K in component sodium_potassium_pump (mM). * CONSTANTS[13] is K_m_Na in component sodium_potassium_pump (mM). * CONSTANTS[82] is sigma in component sodium_potassium_pump (dimensionless). * CONSTANTS[14] is K_o in component standard_ionic_concentrations (millimolar). * CONSTANTS[15] is Na_o in component standard_ionic_concentrations (millimolar). * STATES[1] is Na_i in component intracellular_ion_concentrations (mM). * STATES[2] is Ca_i in component intracellular_ion_concentrations (mM). * STATES[3] is Ca_SR in component intracellular_ion_concentrations (mM). * STATES[4] is K_i in component intracellular_ion_concentrations (mM). * STATES[5] is TRPN in component intracellular_ion_concentrations (mM). * ALGEBRAIC[11] is i_f_Na in component hyperpolarisation_activated_current (nanoA). * ALGEBRAIC[12] is i_f_K in component hyperpolarisation_activated_current (nanoA). * ALGEBRAIC[19] is I_SERCA in component SERCA (mM_per_ms). * ALGEBRAIC[23] is I_SR in component SR_Ca_leak_current (mM_per_ms). * ALGEBRAIC[4] is Ca_b in component intracellular_ion_concentrations (mM). * CONSTANTS[16] is Ca_TRPN_Max in component troponin (mM). * ALGEBRAIC[105] is J_TRPN in component troponin (mM_per_ms). * ALGEBRAIC[24] is beta_CMDN in component calmodulin_Ca_buffer (dimensionless). * ALGEBRAIC[5] is E_Na in component sodium_current (millivolt). * CONSTANTS[17] is g_Na in component sodium_current (microS). * CONSTANTS[83] is g_Na_endo in component sodium_current (microS). * STATES[6] is m in component sodium_current_m_gate (dimensionless). * STATES[7] is h in component sodium_current_h_gate (dimensionless). * STATES[8] is j in component sodium_current_j_gate (dimensionless). * ALGEBRAIC[7] is E_K in component Ca_independent_transient_outward_K_current (millivolt). * CONSTANTS[18] is g_t in component Ca_independent_transient_outward_K_current (microS). * CONSTANTS[84] is g_t_endo in component Ca_independent_transient_outward_K_current (microS). * CONSTANTS[19] is a_endo in component Ca_independent_transient_outward_K_current (dimensionless). * CONSTANTS[20] is b_endo in component Ca_independent_transient_outward_K_current (dimensionless). * STATES[9] is r in component Ca_independent_transient_outward_K_current_r_gate (dimensionless). * STATES[10] is s in component Ca_independent_transient_outward_K_current_s_gate (dimensionless). * STATES[11] is s_slow in component Ca_independent_transient_outward_K_current_s_slow_gate (dimensionless). * CONSTANTS[21] is g_ss in component steady_state_outward_K_current (microS). * STATES[12] is r_ss in component steady_state_outward_K_current_r_ss_gate (dimensionless). * STATES[13] is s_ss in component steady_state_outward_K_current_s_ss_gate (dimensionless). * CONSTANTS[22] is g_K1 in component inward_rectifier (microS). * CONSTANTS[23] is g_f in component hyperpolarisation_activated_current (microS). * CONSTANTS[24] is f_Na in component hyperpolarisation_activated_current (dimensionless). * CONSTANTS[85] is f_K in component hyperpolarisation_activated_current (dimensionless). * STATES[14] is y in component hyperpolarisation_activated_current_y_gate (dimensionless). * ALGEBRAIC[17] is i_B in component background_currents (nanoA). * ALGEBRAIC[15] is i_B_Ca in component background_currents (nanoA). * CONSTANTS[25] is g_B_Na in component background_currents (microS). * CONSTANTS[26] is g_B_Ca in component background_currents (microS). * CONSTANTS[27] is g_B_K in component background_currents (microS). * CONSTANTS[28] is E_Ca in component background_currents (millivolt). * CONSTANTS[29] is Ca_o in component standard_ionic_concentrations (millimolar). * CONSTANTS[30] is g_D in component CaRU (um3_per_ms). * CONSTANTS[31] is J_R in component CaRU (um3_per_ms). * CONSTANTS[32] is J_L in component CaRU (um3_per_ms). * CONSTANTS[33] is N in component CaRU (dimensionless). * CONSTANTS[34] is K_mNa in component Na_Ca_Exchanger (mM). * CONSTANTS[35] is K_mCa in component Na_Ca_Exchanger (mM). * CONSTANTS[36] is eta in component Na_Ca_Exchanger (dimensionless). * CONSTANTS[37] is k_sat in component Na_Ca_Exchanger (dimensionless). * CONSTANTS[38] is g_NCX in component Na_Ca_Exchanger (mM_per_ms). * CONSTANTS[39] is g_SERCA in component SERCA (mM_per_ms). * CONSTANTS[40] is K_SERCA in component SERCA (mM). * CONSTANTS[41] is g_pCa in component Sarcolemmal_Ca_pump (mM_per_ms). * CONSTANTS[42] is K_mpCa in component Sarcolemmal_Ca_pump (mM). * ALGEBRAIC[21] is E_Ca in component Background_Ca_current (mV). * CONSTANTS[43] is g_CaB in component Background_Ca_current (mM_per_mV_ms). * CONSTANTS[44] is g_SRl in component SR_Ca_leak_current (per_ms). * CONSTANTS[45] is k_CMDN in component calmodulin_Ca_buffer (mM). * CONSTANTS[46] is B_CMDN in component calmodulin_Ca_buffer (mM). * STATES[15] is z in component tropomyosin (dimensionless). * ALGEBRAIC[100] is z_max in component tropomyosin (dimensionless). * CONSTANTS[47] is k_on in component troponin (per_mM_per_ms). * CONSTANTS[48] is k_Ref_off in component troponin (per_ms). * CONSTANTS[49] is gamma_trpn in component troponin (dimensionless). * CONSTANTS[50] is alpha_0 in component tropomyosin (per_ms). * CONSTANTS[51] is alpha_r1 in component tropomyosin (per_ms). * CONSTANTS[52] is alpha_r2 in component tropomyosin (per_ms). * CONSTANTS[53] is n_Rel in component tropomyosin (dimensionless). * CONSTANTS[54] is K_z in component tropomyosin (dimensionless). * CONSTANTS[55] is n_Hill in component tropomyosin (dimensionless). * CONSTANTS[56] is Ca_50ref in component tropomyosin (mM). * CONSTANTS[57] is z_p in component tropomyosin (dimensionless). * CONSTANTS[58] is beta_1 in component tropomyosin (dimensionless). * ALGEBRAIC[78] is Ca_50 in component tropomyosin (mM). * ALGEBRAIC[79] is Ca_TRPN_50 in component tropomyosin (mM). * CONSTANTS[86] is K_2 in component tropomyosin (per_ms). * CONSTANTS[90] is K_1 in component tropomyosin (per_ms). * ALGEBRAIC[80] is alpha_Tm in component tropomyosin (per_ms). * ALGEBRAIC[25] is beta_Tm in component tropomyosin (per_ms). * CONSTANTS[59] is beta_0 in component filament_overlap (dimensionless). * ALGEBRAIC[28] is lambda in component Myofilaments (dimensionless). * ALGEBRAIC[104] is k_off in component troponin (per_ms). * ALGEBRAIC[103] is Tension in component Cross_Bridges (N_per_mm2). * CONSTANTS[60] is T_ref in component length_independent_tension (N_per_mm2). * ALGEBRAIC[26] is ExtensionRatio in component Myofilaments (dimensionless). * CONSTANTS[87] is dExtensionRatiodt in component Myofilaments (per_ms). * ALGEBRAIC[27] is lambda_prev in component Myofilaments (dimensionless). * ALGEBRAIC[29] is overlap in component filament_overlap (dimensionless). * ALGEBRAIC[101] is T_Base in component length_independent_tension (N_per_mm2). * ALGEBRAIC[102] is T_0 in component isometric_tension (N_per_mm2). * ALGEBRAIC[30] is Q in component Cross_Bridges (dimensionless). * CONSTANTS[61] is a in component Cross_Bridges (dimensionless). * STATES[16] is Q_1 in component Cross_Bridges (dimensionless). * STATES[17] is Q_2 in component Cross_Bridges (dimensionless). * STATES[18] is Q_3 in component Cross_Bridges (dimensionless). * CONSTANTS[62] is A_1 in component Cross_Bridges (dimensionless). * CONSTANTS[63] is A_2 in component Cross_Bridges (dimensionless). * CONSTANTS[64] is A_3 in component Cross_Bridges (dimensionless). * CONSTANTS[65] is alpha_1 in component Cross_Bridges (per_ms). * CONSTANTS[66] is alpha_2 in component Cross_Bridges (per_ms). * CONSTANTS[67] is alpha_3 in component Cross_Bridges (per_ms). * ALGEBRAIC[31] is m_infinity in component sodium_current_m_gate (dimensionless). * ALGEBRAIC[32] is tau_m in component sodium_current_m_gate (second). * ALGEBRAIC[33] is h_infinity in component sodium_current_h_gate (dimensionless). * ALGEBRAIC[34] is tau_h in component sodium_current_h_gate (second). * ALGEBRAIC[35] is j_infinity in component sodium_current_j_gate (dimensionless). * ALGEBRAIC[36] is tau_j in component sodium_current_j_gate (second). * ALGEBRAIC[38] is tau_r in component Ca_independent_transient_outward_K_current_r_gate (second). * ALGEBRAIC[37] is r_infinity in component Ca_independent_transient_outward_K_current_r_gate (dimensionless). * ALGEBRAIC[40] is tau_s_endo in component Ca_independent_transient_outward_K_current_s_gate (second). * ALGEBRAIC[39] is s_infinity in component Ca_independent_transient_outward_K_current_s_gate (dimensionless). * ALGEBRAIC[42] is tau_s_slow_endo in component Ca_independent_transient_outward_K_current_s_slow_gate (second). * ALGEBRAIC[41] is s_slow_infinity in component Ca_independent_transient_outward_K_current_s_slow_gate (dimensionless). * ALGEBRAIC[44] is tau_r_ss in component steady_state_outward_K_current_r_ss_gate (second). * ALGEBRAIC[43] is r_ss_infinity in component steady_state_outward_K_current_r_ss_gate (dimensionless). * CONSTANTS[88] is tau_s_ss in component steady_state_outward_K_current_s_ss_gate (second). * ALGEBRAIC[45] is s_ss_infinity in component steady_state_outward_K_current_s_ss_gate (dimensionless). * ALGEBRAIC[47] is tau_y in component hyperpolarisation_activated_current_y_gate (second). * ALGEBRAIC[46] is y_infinity in component hyperpolarisation_activated_current_y_gate (dimensionless). * ALGEBRAIC[67] is C_oc in component DS_Calcium_Concentrations (mM). * ALGEBRAIC[66] is C_co in component DS_Calcium_Concentrations (mM). * CONSTANTS[68] is V_L in component CaRU_Transitions (mV). * CONSTANTS[69] is del_VL in component CaRU_Transitions (mV). * CONSTANTS[70] is phi_L in component CaRU_Transitions (dimensionless). * CONSTANTS[71] is t_L in component CaRU_Transitions (ms). * CONSTANTS[72] is tau_L in component CaRU_Transitions (ms). * CONSTANTS[89] is t_R in component CaRU_Transitions (ms). * CONSTANTS[73] is tau_R in component CaRU_Transitions (ms). * CONSTANTS[74] is phi_R in component CaRU_Transitions (dimensionless). * CONSTANTS[75] is theta_R in component CaRU_Transitions (dimensionless). * CONSTANTS[76] is K_RyR in component CaRU_Transitions (mM). * CONSTANTS[77] is K_L in component CaRU_Transitions (mM). * CONSTANTS[78] is a in component CaRU_Transitions (dimensionless). * CONSTANTS[79] is b in component CaRU_Transitions (dimensionless). * CONSTANTS[80] is c in component CaRU_Transitions (dimensionless). * CONSTANTS[81] is d in component CaRU_Transitions (dimensionless). * ALGEBRAIC[48] is expVL in component CaRU_Transitions (dimensionless). * ALGEBRAIC[49] is alpha_p in component CaRU_Transitions (per_ms). * CONSTANTS[91] is alpha_m in component CaRU_Transitions (per_ms). * ALGEBRAIC[81] is beta_poc in component CaRU_Transitions (per_ms). * ALGEBRAIC[50] is beta_pcc in component CaRU_Transitions (per_ms). * CONSTANTS[92] is beta_m in component CaRU_Transitions (per_ms). * ALGEBRAIC[82] is epsilon_pco in component CaRU_Transitions (per_ms). * ALGEBRAIC[51] is epsilon_pcc in component CaRU_Transitions (per_ms). * ALGEBRAIC[52] is epsilon_m in component CaRU_Transitions (per_ms). * ALGEBRAIC[83] is mu_poc in component CaRU_Transitions (per_ms). * ALGEBRAIC[53] is mu_pcc in component CaRU_Transitions (per_ms). * ALGEBRAIC[84] is mu_moc in component CaRU_Transitions (per_ms). * ALGEBRAIC[54] is mu_mcc in component CaRU_Transitions (per_ms). * ALGEBRAIC[85] is denom in component CaRU_states (per_ms3). * ALGEBRAIC[86] is y_oc in component CaRU_states (dimensionless). * ALGEBRAIC[87] is y_co in component CaRU_states (dimensionless). * ALGEBRAIC[88] is y_oo in component CaRU_states (dimensionless). * ALGEBRAIC[89] is y_cc in component CaRU_states (dimensionless). * ALGEBRAIC[55] is y_ci in component CaRU_states (dimensionless). * ALGEBRAIC[56] is y_oi in component CaRU_states (dimensionless). * ALGEBRAIC[57] is y_ic in component CaRU_states (dimensionless). * ALGEBRAIC[58] is y_io in component CaRU_states (dimensionless). * ALGEBRAIC[90] is y_ii in component CaRU_states (dimensionless). * ALGEBRAIC[91] is r_1 in component CaRU_reduced_states (per_ms). * ALGEBRAIC[92] is r_2 in component CaRU_reduced_states (per_ms). * ALGEBRAIC[59] is r_3 in component CaRU_reduced_states (per_ms). * ALGEBRAIC[60] is r_4 in component CaRU_reduced_states (per_ms). * ALGEBRAIC[93] is r_5 in component CaRU_reduced_states (per_ms). * ALGEBRAIC[61] is r_6 in component CaRU_reduced_states (per_ms). * ALGEBRAIC[62] is r_7 in component CaRU_reduced_states (per_ms). * ALGEBRAIC[63] is r_8 in component CaRU_reduced_states (per_ms). * STATES[19] is z_1 in component CaRU_reduced_states (dimensionless). * STATES[20] is z_2 in component CaRU_reduced_states (dimensionless). * STATES[21] is z_3 in component CaRU_reduced_states (dimensionless). * ALGEBRAIC[64] is z_4 in component CaRU_reduced_states (dimensionless). * ALGEBRAIC[65] is C_cc in component DS_Calcium_Concentrations (mM). * ALGEBRAIC[68] is C_oo in component DS_Calcium_Concentrations (mM). * ALGEBRAIC[72] is J_Loo in component LCC_and_RyR_fluxes (um3_mM_per_ms). * ALGEBRAIC[71] is J_Loc in component LCC_and_RyR_fluxes (um3_mM_per_ms). * ALGEBRAIC[69] is J_Rco in component LCC_and_RyR_fluxes (um3_mM_per_ms). * ALGEBRAIC[70] is J_Roo in component LCC_and_RyR_fluxes (um3_mM_per_ms). * ALGEBRAIC[94] is J_R1 in component RyR_current (um3_mM_per_ms). * ALGEBRAIC[73] is J_R3 in component RyR_current (um3_mM_per_ms). * ALGEBRAIC[96] is J_L1 in component LCC_current (um3_mM_per_ms). * ALGEBRAIC[74] is J_L2 in component LCC_current (um3_mM_per_ms). * RATES[0] is d/dt V in component membrane (mV). * RATES[1] is d/dt Na_i in component intracellular_ion_concentrations (mM). * RATES[4] is d/dt K_i in component intracellular_ion_concentrations (mM). * RATES[5] is d/dt TRPN in component intracellular_ion_concentrations (mM). * RATES[2] is d/dt Ca_i in component intracellular_ion_concentrations (mM). * RATES[3] is d/dt Ca_SR in component intracellular_ion_concentrations (mM). * RATES[15] is d/dt z in component tropomyosin (dimensionless). * RATES[16] is d/dt Q_1 in component Cross_Bridges (dimensionless). * RATES[17] is d/dt Q_2 in component Cross_Bridges (dimensionless). * RATES[18] is d/dt Q_3 in component Cross_Bridges (dimensionless). * RATES[6] is d/dt m in component sodium_current_m_gate (dimensionless). * RATES[7] is d/dt h in component sodium_current_h_gate (dimensionless). * RATES[8] is d/dt j in component sodium_current_j_gate (dimensionless). * RATES[9] is d/dt r in component Ca_independent_transient_outward_K_current_r_gate (dimensionless). * RATES[10] is d/dt s in component Ca_independent_transient_outward_K_current_s_gate (dimensionless). * RATES[11] is d/dt s_slow in component Ca_independent_transient_outward_K_current_s_slow_gate (dimensionless). * RATES[12] is d/dt r_ss in component steady_state_outward_K_current_r_ss_gate (dimensionless). * RATES[13] is d/dt s_ss in component steady_state_outward_K_current_s_ss_gate (dimensionless). * RATES[14] is d/dt y in component hyperpolarisation_activated_current_y_gate (dimensionless). * RATES[19] is d/dt z_1 in component CaRU_reduced_states (dimensionless). * RATES[20] is d/dt z_2 in component CaRU_reduced_states (dimensionless). * RATES[21] is d/dt z_3 in component CaRU_reduced_states (dimensionless). * There are a total of 15 condition variables. */ void initConsts(double* CONSTANTS, double* RATES, double *STATES) { STATES[0] = -80.50146; CONSTANTS[0] = 8314.5; CONSTANTS[1] = 295; CONSTANTS[2] = 96487; CONSTANTS[3] = 0.0001; CONSTANTS[4] = 1e3; CONSTANTS[5] = 10; CONSTANTS[6] = -0.6e-3; CONSTANTS[7] = 25.85e3; CONSTANTS[8] = 2.098e3; CONSTANTS[9] = 25.85e-6; CONSTANTS[10] = 2.098e-6; CONSTANTS[11] = 0.95e-4; CONSTANTS[12] = 1.5; CONSTANTS[13] = 10; CONSTANTS[14] = 5.4; CONSTANTS[15] = 140; STATES[1] = 10.73519; STATES[2] = 0.00007901351; STATES[3] = 700.0e-3; STATES[4] = 139.2751; STATES[5] = 0.067593139865; CONSTANTS[16] = 70e-3; CONSTANTS[17] = 0.8; STATES[6] = 0.004164108; STATES[7] = 0.6735613; STATES[8] = 0.6729362; CONSTANTS[18] = 0.035; CONSTANTS[19] = 0.583; CONSTANTS[20] = 0.417; STATES[9] = 0.002191519; STATES[10] = 0.9842542; STATES[11] = 0.6421196; CONSTANTS[21] = 0.007; STATES[12] = 0.002907171; STATES[13] = 0.3142767; CONSTANTS[22] = 0.024; CONSTANTS[23] = 0.00145; CONSTANTS[24] = 0.2; STATES[14] = 0.003578708; CONSTANTS[25] = 0.00008015; CONSTANTS[26] = 0.0000324; CONSTANTS[27] = 0.000138; CONSTANTS[28] = 65; CONSTANTS[29] = 1.2; CONSTANTS[30] = 0.065; CONSTANTS[31] = 0.02; CONSTANTS[32] = 9.13e-4; CONSTANTS[33] = 50000; CONSTANTS[34] = 87.5; CONSTANTS[35] = 1.38; CONSTANTS[36] = 0.35; CONSTANTS[37] = 0.1; CONSTANTS[38] = 38.5e-3; CONSTANTS[39] = 0.45e-3; CONSTANTS[40] = 0.5e-3; CONSTANTS[41] = 0.0035e-3; CONSTANTS[42] = 0.5e-3; CONSTANTS[43] = 2.6875e-8; CONSTANTS[44] = 1.8951e-5; CONSTANTS[45] = 2.382e-3; CONSTANTS[46] = 50e-3; STATES[15] = 0.014417937837; CONSTANTS[47] = 100; CONSTANTS[48] = 0.2; CONSTANTS[49] = 2; CONSTANTS[50] = 8e-3; CONSTANTS[51] = 2e-3; CONSTANTS[52] = 1.75e-3; CONSTANTS[53] = 3; CONSTANTS[54] = 0.15; CONSTANTS[55] = 3; CONSTANTS[56] = 1.05e-3; CONSTANTS[57] = 0.85; CONSTANTS[58] = -4; CONSTANTS[59] = 4.9; CONSTANTS[60] = 56.2; CONSTANTS[61] = 0.35; STATES[16] = 0; STATES[17] = 0; STATES[18] = 0; CONSTANTS[62] = -29; CONSTANTS[63] = 138; CONSTANTS[64] = 129; CONSTANTS[65] = 0.03; CONSTANTS[66] = 0.13; CONSTANTS[67] = 0.625; CONSTANTS[68] = -2; CONSTANTS[69] = 7; CONSTANTS[70] = 2.35; CONSTANTS[71] = 1; CONSTANTS[72] = 650; CONSTANTS[73] = 2.43; CONSTANTS[74] = 0.05; CONSTANTS[75] = 0.012; CONSTANTS[76] = 41e-3; CONSTANTS[77] = 0.22e-3; CONSTANTS[78] = 0.0625; CONSTANTS[79] = 14; CONSTANTS[80] = 0.01; CONSTANTS[81] = 100; STATES[19] = 0.98859; STATES[20] = 0.0087302; STATES[21] = 0.0026566; CONSTANTS[82] = (exp(CONSTANTS[15]/67.3000) - 1.00000)/7.00000; CONSTANTS[83] = 1.33000*CONSTANTS[17]; CONSTANTS[84] = 0.464700*CONSTANTS[18]; CONSTANTS[85] = 1.00000 - CONSTANTS[24]; CONSTANTS[86] = (( CONSTANTS[52]*pow(CONSTANTS[57], CONSTANTS[53]))/(pow(CONSTANTS[57], CONSTANTS[53])+pow(CONSTANTS[54], CONSTANTS[53])))*(1.00000 - ( CONSTANTS[53]*pow(CONSTANTS[54], CONSTANTS[53]))/(pow(CONSTANTS[57], CONSTANTS[53])+pow(CONSTANTS[54], CONSTANTS[53]))); CONSTANTS[87] = 0.00000; CONSTANTS[88] = 2.10000; CONSTANTS[89] = 1.17000*CONSTANTS[71]; CONSTANTS[90] = ( CONSTANTS[52]*pow(CONSTANTS[57], CONSTANTS[53] - 1.00000)*CONSTANTS[53]*pow(CONSTANTS[54], CONSTANTS[53]))/pow(pow(CONSTANTS[57], CONSTANTS[53])+pow(CONSTANTS[54], CONSTANTS[53]), 2.00000); CONSTANTS[91] = CONSTANTS[70]/CONSTANTS[71]; CONSTANTS[92] = CONSTANTS[74]/CONSTANTS[89]; RATES[0] = 0.1001; RATES[1] = 0.1001; RATES[4] = 0.1001; RATES[5] = 0.1001; RATES[2] = 0.1001; RATES[3] = 0.1001; RATES[15] = 0.1001; RATES[16] = 0.1001; RATES[17] = 0.1001; RATES[18] = 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[19] = 0.1001; RATES[20] = 0.1001; RATES[21] = 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[6]*0.00100000+ALGEBRAIC[8]*0.00100000+ALGEBRAIC[9]*0.00100000+ALGEBRAIC[13]*0.00100000+ALGEBRAIC[10]*0.00100000+ALGEBRAIC[14]*0.00100000+ALGEBRAIC[16]*0.00100000+ALGEBRAIC[3]+ALGEBRAIC[0]+ALGEBRAIC[77]+ALGEBRAIC[75]+ALGEBRAIC[76]+ALGEBRAIC[98])/CONSTANTS[3]; resid[1] = RATES[1] - ( - (ALGEBRAIC[6]*0.00100000+ALGEBRAIC[14]*0.00100000+ ALGEBRAIC[75]*3.00000+ ALGEBRAIC[3]*3.00000+ALGEBRAIC[11]*0.00100000)*1.00000)/( CONSTANTS[9]*CONSTANTS[2]); resid[2] = RATES[4] - ( - (ALGEBRAIC[0]+ALGEBRAIC[9]*0.00100000+ALGEBRAIC[16]*0.00100000+ALGEBRAIC[8]*0.00100000+ALGEBRAIC[10]*0.00100000+ALGEBRAIC[12]*0.00100000+ ALGEBRAIC[3]*- 2.00000)*1.00000)/( CONSTANTS[9]*CONSTANTS[2]); resid[3] = RATES[5] - ALGEBRAIC[105]; resid[4] = RATES[2] - ALGEBRAIC[24]*(((ALGEBRAIC[99] - ALGEBRAIC[19])+ALGEBRAIC[23]+ALGEBRAIC[105]) - ( - 2.00000*ALGEBRAIC[75]+ALGEBRAIC[76]+ALGEBRAIC[77]+ALGEBRAIC[98])/( 2.00000*CONSTANTS[9]*CONSTANTS[2])); resid[5] = RATES[3] - (CONSTANTS[9]/CONSTANTS[10])*((- ALGEBRAIC[99]+ALGEBRAIC[19]) - ALGEBRAIC[23]); resid[6] = RATES[15] - ALGEBRAIC[80]*(1.00000 - STATES[15]) - ALGEBRAIC[25]*STATES[15]; resid[7] = RATES[16] - CONSTANTS[62]*CONSTANTS[87] - CONSTANTS[65]*STATES[16]; resid[8] = RATES[17] - CONSTANTS[63]*CONSTANTS[87] - CONSTANTS[66]*STATES[17]; resid[9] = RATES[18] - CONSTANTS[64]*CONSTANTS[87] - CONSTANTS[67]*STATES[18]; resid[10] = RATES[6]*1000.00 - (ALGEBRAIC[31] - STATES[6])/ALGEBRAIC[32]; resid[11] = RATES[7]*1000.00 - (ALGEBRAIC[33] - STATES[7])/ALGEBRAIC[34]; resid[12] = RATES[8]*1000.00 - (ALGEBRAIC[35] - STATES[8])/ALGEBRAIC[36]; resid[13] = RATES[9]*1000.00 - (ALGEBRAIC[37] - STATES[9])/ALGEBRAIC[38]; resid[14] = RATES[10]*1000.00 - (ALGEBRAIC[39] - STATES[10])/ALGEBRAIC[40]; resid[15] = RATES[11]*1000.00 - (ALGEBRAIC[41] - STATES[11])/ALGEBRAIC[42]; resid[16] = RATES[12]*1000.00 - (ALGEBRAIC[43] - STATES[12])/ALGEBRAIC[44]; resid[17] = RATES[13]*1000.00 - (ALGEBRAIC[45] - STATES[13])/CONSTANTS[88]; resid[18] = RATES[14]*1000.00 - (ALGEBRAIC[46] - STATES[14])/ALGEBRAIC[47]; resid[19] = RATES[19] - - (ALGEBRAIC[91]+ALGEBRAIC[93])*STATES[19]+ ALGEBRAIC[92]*STATES[20]+ ALGEBRAIC[61]*STATES[21]; resid[20] = RATES[20] - ( ALGEBRAIC[91]*STATES[19] - (ALGEBRAIC[92]+ALGEBRAIC[62])*STATES[20])+ ALGEBRAIC[63]*ALGEBRAIC[64]; resid[21] = RATES[21] - ( ALGEBRAIC[93]*STATES[19] - (ALGEBRAIC[61]+ALGEBRAIC[59])*STATES[21])+ ALGEBRAIC[60]*ALGEBRAIC[64]; } void computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[15] = CONSTANTS[26]*(STATES[0] - CONSTANTS[28]); ALGEBRAIC[17] = ALGEBRAIC[14]+ALGEBRAIC[15]+ALGEBRAIC[16]; ALGEBRAIC[27] = ALGEBRAIC[26]; ALGEBRAIC[55] = CONSTANTS[91]/(ALGEBRAIC[49]+CONSTANTS[91]); ALGEBRAIC[56] = ALGEBRAIC[49]/(ALGEBRAIC[49]+CONSTANTS[91]); ALGEBRAIC[57] = CONSTANTS[92]/(ALGEBRAIC[50]+CONSTANTS[92]); ALGEBRAIC[58] = ALGEBRAIC[50]/(ALGEBRAIC[50]+CONSTANTS[92]); ALGEBRAIC[65] = STATES[2]; ALGEBRAIC[68] = (CONDVAR[11]>0.00000 ? (STATES[2]+ (CONSTANTS[31]/CONSTANTS[30])*STATES[3]+( (CONSTANTS[32]/CONSTANTS[30])*CONSTANTS[29]*ALGEBRAIC[2]*exp(- ALGEBRAIC[2]))/(1.00000 - exp(- ALGEBRAIC[2])))/(1.00000+CONSTANTS[31]/CONSTANTS[30]+( (CONSTANTS[32]/CONSTANTS[30])*ALGEBRAIC[2])/(1.00000 - exp(- ALGEBRAIC[2]))) : (STATES[2]+ (CONSTANTS[31]/CONSTANTS[30])*STATES[3]+ (CONSTANTS[32]/CONSTANTS[30])*CONSTANTS[29])/(1.00000+CONSTANTS[31]/CONSTANTS[30]+CONSTANTS[32]/CONSTANTS[30])); ALGEBRAIC[90] = (((((((1.00000 - ALGEBRAIC[86]) - ALGEBRAIC[87]) - ALGEBRAIC[88]) - ALGEBRAIC[89]) - ALGEBRAIC[55]) - ALGEBRAIC[57]) - ALGEBRAIC[56]) - ALGEBRAIC[58]; } void computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[0] = (CONDVAR[0]>=0.00000&&CONDVAR[1]<=0.00000 ? CONSTANTS[6] : 0.00000); ALGEBRAIC[3] = ( (( (( CONSTANTS[11]*1.00000)/(1.00000+ 0.124500*exp(( - 0.100000*STATES[0]*CONSTANTS[2])/( CONSTANTS[0]*CONSTANTS[1]))+ 0.0365000*CONSTANTS[82]*exp(( - STATES[0]*CONSTANTS[2])/( CONSTANTS[0]*CONSTANTS[1]))))*CONSTANTS[14])/(CONSTANTS[14]+CONSTANTS[12]))*1.00000)/(1.00000+pow(CONSTANTS[13]/STATES[1], 4.00000)); ALGEBRAIC[5] = (( CONSTANTS[0]*CONSTANTS[1])/CONSTANTS[2])*log(CONSTANTS[15]/STATES[1]); ALGEBRAIC[6] = CONSTANTS[83]*pow(STATES[6], 3.00000)*STATES[7]*STATES[8]*(STATES[0] - ALGEBRAIC[5]); ALGEBRAIC[7] = (( CONSTANTS[0]*CONSTANTS[1])/CONSTANTS[2])*log(CONSTANTS[14]/STATES[4]); ALGEBRAIC[8] = CONSTANTS[84]*STATES[9]*( CONSTANTS[19]*STATES[10]+ CONSTANTS[20]*STATES[11])*(STATES[0] - ALGEBRAIC[7]); ALGEBRAIC[9] = CONSTANTS[21]*STATES[12]*STATES[13]*(STATES[0] - ALGEBRAIC[7]); ALGEBRAIC[10] = ( (48.0000/(exp((STATES[0]+37.0000)/25.0000)+exp((STATES[0]+37.0000)/- 25.0000))+10.0000)*0.00100000)/(1.00000+exp((STATES[0] - (ALGEBRAIC[7]+76.7700))/- 17.0000))+( CONSTANTS[22]*(STATES[0] - (ALGEBRAIC[7]+1.73000)))/( (1.00000+exp(( 1.61300*CONSTANTS[2]*(STATES[0] - (ALGEBRAIC[7]+1.73000)))/( CONSTANTS[0]*CONSTANTS[1])))*(1.00000+exp((CONSTANTS[14] - 0.998800)/- 0.124000))); ALGEBRAIC[11] = CONSTANTS[23]*STATES[14]*CONSTANTS[24]*(STATES[0] - ALGEBRAIC[5]); ALGEBRAIC[12] = CONSTANTS[23]*STATES[14]*CONSTANTS[85]*(STATES[0] - ALGEBRAIC[7]); ALGEBRAIC[13] = ALGEBRAIC[11]+ALGEBRAIC[12]; ALGEBRAIC[14] = CONSTANTS[25]*(STATES[0] - ALGEBRAIC[5]); ALGEBRAIC[16] = CONSTANTS[27]*(STATES[0] - ALGEBRAIC[7]); ALGEBRAIC[19] = ( CONSTANTS[39]*pow(STATES[2], 2.00000))/(pow(CONSTANTS[40], 2.00000)+pow(STATES[2], 2.00000)); ALGEBRAIC[23] = CONSTANTS[44]*(STATES[3] - STATES[2]); ALGEBRAIC[24] = pow(1.00000+( CONSTANTS[45]*CONSTANTS[46])/pow(CONSTANTS[45]+STATES[2], 2.00000), - 1.00000); ALGEBRAIC[25] = CONSTANTS[51]+( CONSTANTS[52]*pow(STATES[15], CONSTANTS[53] - 1.00000))/(pow(STATES[15], CONSTANTS[53])+pow(CONSTANTS[54], CONSTANTS[53])); ALGEBRAIC[31] = 1.00000/(1.00000+exp((STATES[0]+45.0000)/- 6.50000)); ALGEBRAIC[32] = 0.00136000/(( 0.320000*(STATES[0]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)))+ 0.0800000*exp(- STATES[0]/11.0000)); ALGEBRAIC[33] = 1.00000/(1.00000+exp((STATES[0]+76.1000)/6.07000)); ALGEBRAIC[34] = (CONDVAR[8]>=0.00000 ? 0.000453700*(1.00000+exp(- (STATES[0]+10.6600)/11.1000)) : 0.00349000/( 0.135000*exp(- (STATES[0]+80.0000)/6.80000)+ 3.56000*exp( 0.0790000*STATES[0])+ 310000.*exp( 0.350000*STATES[0]))); ALGEBRAIC[35] = 1.00000/(1.00000+exp((STATES[0]+76.1000)/6.07000)); ALGEBRAIC[36] = (CONDVAR[9]>=0.00000 ? ( 0.0116300*(1.00000+exp( - 0.100000*(STATES[0]+32.0000))))/exp( - 2.53500e-07*STATES[0]) : 0.00349000/( ((STATES[0]+37.7800)/(1.00000+exp( 0.311000*(STATES[0]+79.2300))))*( - 127140.*exp( 0.244400*STATES[0]) - 3.47400e-05*exp( - 0.0439100*STATES[0]))+( 0.121200*exp( - 0.0105200*STATES[0]))/(1.00000+exp( - 0.137800*(STATES[0]+40.1400))))); ALGEBRAIC[37] = 1.00000/(1.00000+exp((STATES[0]+10.6000)/- 11.4200)); ALGEBRAIC[38] = 1.00000/( 45.1600*exp( 0.0357700*(STATES[0]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[0]+38.0000))); ALGEBRAIC[39] = 1.00000/(1.00000+exp((STATES[0]+45.3000)/6.88410)); ALGEBRAIC[40] = 0.550000*exp(- pow((STATES[0]+70.0000)/25.0000, 2.00000))+0.0490000; ALGEBRAIC[41] = 1.00000/(1.00000+exp((STATES[0]+45.3000)/6.88410)); ALGEBRAIC[42] = 3.30000*exp(( (- (STATES[0]+70.0000)/30.0000)*(STATES[0]+70.0000))/30.0000)+0.0490000; ALGEBRAIC[43] = 1.00000/(1.00000+exp((STATES[0]+11.5000)/- 11.8200)); ALGEBRAIC[44] = 10.0000/( 45.1600*exp( 0.0357700*(STATES[0]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[0]+38.0000))); ALGEBRAIC[45] = 1.00000/(1.00000+exp((STATES[0]+87.5000)/10.3000)); ALGEBRAIC[46] = 1.00000/(1.00000+exp((STATES[0]+138.600)/10.4800)); ALGEBRAIC[47] = 1.00000/( 0.118850*exp((STATES[0]+80.0000)/28.3700)+ 0.562300*exp((STATES[0]+80.0000)/- 14.1900)); ALGEBRAIC[50] = pow(STATES[2], 2.00000)/( CONSTANTS[89]*(pow(STATES[2], 2.00000)+pow(CONSTANTS[76], 2.00000))); ALGEBRAIC[53] = (pow(STATES[2], 2.00000)+ CONSTANTS[80]*pow(CONSTANTS[76], 2.00000))/( CONSTANTS[73]*(pow(STATES[2], 2.00000)+pow(CONSTANTS[76], 2.00000))); ALGEBRAIC[59] = ( CONSTANTS[92]*ALGEBRAIC[53])/(CONSTANTS[92]+ALGEBRAIC[50]); ALGEBRAIC[54] = ( CONSTANTS[75]*CONSTANTS[81]*(pow(STATES[2], 2.00000)+ CONSTANTS[80]*pow(CONSTANTS[76], 2.00000)))/( CONSTANTS[73]*( CONSTANTS[81]*pow(STATES[2], 2.00000)+ CONSTANTS[80]*pow(CONSTANTS[76], 2.00000))); ALGEBRAIC[60] = ALGEBRAIC[54]; ALGEBRAIC[48] = exp((STATES[0] - CONSTANTS[68])/CONSTANTS[69]); ALGEBRAIC[52] = ( CONSTANTS[79]*(ALGEBRAIC[48]+CONSTANTS[78]))/( CONSTANTS[72]*( CONSTANTS[79]*ALGEBRAIC[48]+CONSTANTS[78])); ALGEBRAIC[61] = ALGEBRAIC[52]; ALGEBRAIC[49] = ALGEBRAIC[48]/( CONSTANTS[71]*(ALGEBRAIC[48]+1.00000)); ALGEBRAIC[51] = ( STATES[2]*(ALGEBRAIC[48]+CONSTANTS[78]))/( CONSTANTS[72]*CONSTANTS[77]*(ALGEBRAIC[48]+1.00000)); ALGEBRAIC[62] = ( CONSTANTS[91]*ALGEBRAIC[51])/(ALGEBRAIC[49]+CONSTANTS[91]); ALGEBRAIC[63] = ALGEBRAIC[52]; ALGEBRAIC[64] = ((1.00000 - STATES[19]) - STATES[20]) - STATES[21]; ALGEBRAIC[1] = ( CONSTANTS[2]*STATES[0])/( CONSTANTS[0]*CONSTANTS[1]); ALGEBRAIC[18] = ( CONSTANTS[38]*( exp( CONSTANTS[36]*ALGEBRAIC[1])*pow(STATES[1], 3.00000)*CONSTANTS[29] - exp( (CONSTANTS[36] - 1.00000)*ALGEBRAIC[1])*pow(CONSTANTS[15], 3.00000)*STATES[2]))/( (pow(CONSTANTS[15], 3.00000)+pow(CONSTANTS[34], 3.00000))*(CONSTANTS[29]+CONSTANTS[35])*(1.00000+ CONSTANTS[37]*exp( (CONSTANTS[36] - 1.00000)*ALGEBRAIC[1]))); ALGEBRAIC[75] = ALGEBRAIC[18]*CONSTANTS[9]*CONSTANTS[2]; ALGEBRAIC[20] = ( CONSTANTS[41]*STATES[2])/(CONSTANTS[42]+STATES[2]); ALGEBRAIC[76] = ALGEBRAIC[20]*2.00000*CONSTANTS[9]*CONSTANTS[2]; ALGEBRAIC[21] = (( CONSTANTS[0]*CONSTANTS[1])/( 2.00000*CONSTANTS[2]))*log(CONSTANTS[29]/STATES[2]); ALGEBRAIC[22] = CONSTANTS[43]*(ALGEBRAIC[21] - STATES[0]); ALGEBRAIC[77] = - ALGEBRAIC[22]*2.00000*CONSTANTS[9]*CONSTANTS[2]; ALGEBRAIC[4] = CONSTANTS[16] - STATES[5]; ALGEBRAIC[26] = (CONDVAR[3]>0.00000 ? 1.00000 : 1.00000); ALGEBRAIC[28] = (CONDVAR[4]>0.00000&&CONDVAR[5]<=0.00000 ? ALGEBRAIC[26] : CONDVAR[6]>0.00000 ? 1.15000 : 0.800000); ALGEBRAIC[78] = CONSTANTS[56]*(1.00000+ CONSTANTS[58]*(ALGEBRAIC[28] - 1.00000)); ALGEBRAIC[79] = ( ALGEBRAIC[78]*CONSTANTS[16])/(ALGEBRAIC[78]+ (CONSTANTS[48]/CONSTANTS[47])*(1.00000 - ( (1.00000+ CONSTANTS[59]*(ALGEBRAIC[28] - 1.00000))*0.500000)/CONSTANTS[49])); ALGEBRAIC[80] = CONSTANTS[50]*pow(ALGEBRAIC[4]/ALGEBRAIC[79], CONSTANTS[55]); ALGEBRAIC[2] = 2.00000*ALGEBRAIC[1]; ALGEBRAIC[67] = (CONDVAR[10]>0.00000 ? (STATES[2]+( (CONSTANTS[32]/CONSTANTS[30])*CONSTANTS[29]*ALGEBRAIC[2]*exp(- ALGEBRAIC[2]))/(1.00000 - exp(- ALGEBRAIC[2])))/(1.00000+( (CONSTANTS[32]/CONSTANTS[30])*ALGEBRAIC[2])/(1.00000 - exp(- ALGEBRAIC[2]))) : (STATES[2]+ (CONSTANTS[32]/CONSTANTS[30])*CONSTANTS[29])/(1.00000+CONSTANTS[32]/CONSTANTS[30])); ALGEBRAIC[83] = (pow(ALGEBRAIC[67], 2.00000)+ CONSTANTS[80]*pow(CONSTANTS[76], 2.00000))/( CONSTANTS[73]*(pow(ALGEBRAIC[67], 2.00000)+pow(CONSTANTS[76], 2.00000))); ALGEBRAIC[81] = pow(ALGEBRAIC[67], 2.00000)/( CONSTANTS[89]*(pow(ALGEBRAIC[67], 2.00000)+pow(CONSTANTS[76], 2.00000))); ALGEBRAIC[85] = (ALGEBRAIC[49]+CONSTANTS[91])*( (CONSTANTS[91]+CONSTANTS[92]+ALGEBRAIC[81])*(CONSTANTS[92]+ALGEBRAIC[50])+ ALGEBRAIC[49]*(CONSTANTS[92]+ALGEBRAIC[81])); ALGEBRAIC[86] = ( ALGEBRAIC[49]*CONSTANTS[92]*(ALGEBRAIC[49]+CONSTANTS[91]+CONSTANTS[92]+ALGEBRAIC[50]))/ALGEBRAIC[85]; ALGEBRAIC[89] = ( CONSTANTS[91]*CONSTANTS[92]*(CONSTANTS[91]+ALGEBRAIC[49]+CONSTANTS[92]+ALGEBRAIC[81]))/ALGEBRAIC[85]; ALGEBRAIC[91] = ALGEBRAIC[86]*ALGEBRAIC[83]+ ALGEBRAIC[89]*ALGEBRAIC[53]; ALGEBRAIC[84] = ( CONSTANTS[75]*CONSTANTS[81]*(pow(ALGEBRAIC[67], 2.00000)+ CONSTANTS[80]*pow(CONSTANTS[76], 2.00000)))/( CONSTANTS[73]*( CONSTANTS[81]*pow(ALGEBRAIC[67], 2.00000)+ CONSTANTS[80]*pow(CONSTANTS[76], 2.00000))); ALGEBRAIC[92] = ( ALGEBRAIC[49]*ALGEBRAIC[84]+ CONSTANTS[91]*ALGEBRAIC[54])/(ALGEBRAIC[49]+CONSTANTS[91]); ALGEBRAIC[66] = (STATES[2]+ (CONSTANTS[31]/CONSTANTS[30])*STATES[3])/(1.00000+CONSTANTS[31]/CONSTANTS[30]); ALGEBRAIC[82] = ( ALGEBRAIC[66]*(ALGEBRAIC[48]+CONSTANTS[78]))/( CONSTANTS[72]*CONSTANTS[77]*(ALGEBRAIC[48]+1.00000)); ALGEBRAIC[87] = ( CONSTANTS[91]*( ALGEBRAIC[50]*(CONSTANTS[91]+CONSTANTS[92]+ALGEBRAIC[81])+ ALGEBRAIC[81]*ALGEBRAIC[49]))/ALGEBRAIC[85]; ALGEBRAIC[93] = ALGEBRAIC[87]*ALGEBRAIC[82]+ ALGEBRAIC[89]*ALGEBRAIC[51]; ALGEBRAIC[88] = ( ALGEBRAIC[49]*( ALGEBRAIC[81]*(ALGEBRAIC[49]+CONSTANTS[92]+ALGEBRAIC[50])+ ALGEBRAIC[50]*CONSTANTS[91]))/ALGEBRAIC[85]; ALGEBRAIC[72] = (CONDVAR[14]>0.00000 ? ( (( CONSTANTS[32]*ALGEBRAIC[2])/(1.00000 - exp(- ALGEBRAIC[2])))*(( CONSTANTS[29]*exp(- ALGEBRAIC[2]) - STATES[2])+ (CONSTANTS[31]/CONSTANTS[30])*( CONSTANTS[29]*exp(- ALGEBRAIC[2]) - STATES[3])))/(1.00000+CONSTANTS[31]/CONSTANTS[30]+( (CONSTANTS[32]/CONSTANTS[30])*ALGEBRAIC[2])/(1.00000 - exp(ALGEBRAIC[2]))) : ( (( CONSTANTS[32]*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))*(( CONSTANTS[29]*exp(- 1.00000e-05) - STATES[2])+ (CONSTANTS[31]/CONSTANTS[30])*( CONSTANTS[29]*exp(- 1.00000e-05) - STATES[3])))/(1.00000+CONSTANTS[31]/CONSTANTS[30]+( (CONSTANTS[32]/CONSTANTS[30])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))); ALGEBRAIC[71] = (CONDVAR[13]>0.00000 ? ( (( CONSTANTS[32]*ALGEBRAIC[2])/(1.00000 - exp(- ALGEBRAIC[2])))*( CONSTANTS[29]*exp(- ALGEBRAIC[2]) - STATES[2]))/(1.00000+( (CONSTANTS[32]/CONSTANTS[30])*ALGEBRAIC[2])/(1.00000 - exp(- ALGEBRAIC[2]))) : ( (( CONSTANTS[32]*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))*( CONSTANTS[29]*exp(- 1.00000e-05) - STATES[2]))/(1.00000+( (CONSTANTS[32]/CONSTANTS[30])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))); ALGEBRAIC[96] = ALGEBRAIC[72]*ALGEBRAIC[88]+ ALGEBRAIC[71]*ALGEBRAIC[86]; ALGEBRAIC[74] = ( ALGEBRAIC[71]*ALGEBRAIC[49])/(ALGEBRAIC[49]+CONSTANTS[91]); ALGEBRAIC[97] = ( ( STATES[19]*ALGEBRAIC[96]+ STATES[20]*ALGEBRAIC[74])*CONSTANTS[33])/CONSTANTS[7]; ALGEBRAIC[98] = - 1.50000*ALGEBRAIC[97]*2.00000*CONSTANTS[9]*CONSTANTS[2]; ALGEBRAIC[69] = ( CONSTANTS[31]*(STATES[3] - STATES[2]))/(1.00000+CONSTANTS[31]/CONSTANTS[30]); ALGEBRAIC[70] = (CONDVAR[12]>0.00000 ? ( CONSTANTS[31]*((STATES[3] - STATES[2])+ (( (CONSTANTS[32]/CONSTANTS[30])*ALGEBRAIC[2])/(1.00000 - exp(- ALGEBRAIC[2])))*(STATES[3] - CONSTANTS[29]*exp(- ALGEBRAIC[2]))))/(1.00000+CONSTANTS[31]/CONSTANTS[30]+( (CONSTANTS[32]/CONSTANTS[30])*ALGEBRAIC[2])/(1.00000 - exp(- ALGEBRAIC[2]))) : ( CONSTANTS[31]*((STATES[3] - STATES[2])+ (( (CONSTANTS[32]/CONSTANTS[30])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))*(STATES[3] - CONSTANTS[29]*exp(- 1.00000e-05))))/(1.00000+CONSTANTS[31]/CONSTANTS[30]+( (CONSTANTS[32]/CONSTANTS[30])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))); ALGEBRAIC[94] = ALGEBRAIC[88]*ALGEBRAIC[70]+ ALGEBRAIC[69]*ALGEBRAIC[87]; ALGEBRAIC[73] = ( ALGEBRAIC[69]*ALGEBRAIC[50])/(CONSTANTS[92]+ALGEBRAIC[50]); ALGEBRAIC[95] = ( ( STATES[19]*ALGEBRAIC[94]+ STATES[21]*ALGEBRAIC[73])*CONSTANTS[33])/CONSTANTS[7]; ALGEBRAIC[99] = 1.50000*ALGEBRAIC[95]; ALGEBRAIC[29] = 1.00000+ CONSTANTS[59]*(ALGEBRAIC[28] - 1.00000); ALGEBRAIC[100] = (CONSTANTS[50]/pow(ALGEBRAIC[79]/CONSTANTS[16], CONSTANTS[55]) - CONSTANTS[86])/(CONSTANTS[51]+CONSTANTS[90]+CONSTANTS[50]/pow(ALGEBRAIC[79]/CONSTANTS[16], CONSTANTS[55])); ALGEBRAIC[101] = ( CONSTANTS[60]*STATES[15])/ALGEBRAIC[100]; ALGEBRAIC[102] = ALGEBRAIC[101]*ALGEBRAIC[29]; ALGEBRAIC[30] = STATES[16]+STATES[17]+STATES[18]; ALGEBRAIC[103] = (CONDVAR[7]<0.00000 ? ( ALGEBRAIC[102]*( CONSTANTS[61]*ALGEBRAIC[30]+1.00000))/(1.00000 - ALGEBRAIC[30]) : ( ALGEBRAIC[102]*(1.00000+ (CONSTANTS[61]+2.00000)*ALGEBRAIC[30]))/(1.00000+ALGEBRAIC[30])); ALGEBRAIC[104] = (CONDVAR[2]>0.00000 ? CONSTANTS[48]*(1.00000 - ALGEBRAIC[103]/( CONSTANTS[49]*CONSTANTS[60])) : CONSTANTS[48]*0.100000); ALGEBRAIC[105] = (CONSTANTS[16] - STATES[5])*ALGEBRAIC[104] - STATES[2]*STATES[5]*CONSTANTS[47]; } 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; } void computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES, double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS) { CONDVAR[0] = (VOI - floor(VOI/CONSTANTS[4])*CONSTANTS[4]) - 0.00000; CONDVAR[1] = (VOI - floor(VOI/CONSTANTS[4])*CONSTANTS[4]) - CONSTANTS[5]; CONDVAR[2] = (1.00000 - ALGEBRAIC[103]/( CONSTANTS[49]*CONSTANTS[60])) - 0.100000; CONDVAR[3] = VOI - 300000.; CONDVAR[4] = ALGEBRAIC[26] - 0.800000; CONDVAR[5] = ALGEBRAIC[26] - 1.15000; CONDVAR[6] = ALGEBRAIC[26] - 1.15000; CONDVAR[7] = ALGEBRAIC[30] - 0.00000; CONDVAR[8] = STATES[0] - - 40.0000; CONDVAR[9] = STATES[0] - - 40.0000; CONDVAR[10] = fabs(ALGEBRAIC[2]) - 1.00000e-09; CONDVAR[11] = fabs(ALGEBRAIC[2]) - 1.00000e-09; CONDVAR[12] = fabs(ALGEBRAIC[2]) - 1.00000e-05; CONDVAR[13] = fabs(ALGEBRAIC[2]) - 1.00000e-05; CONDVAR[14] = fabs(ALGEBRAIC[2]) - 1.00000e-05; }