Generated Code
The following is f77 code generated by the CellML API from this CellML file. (Back to language selection)
The raw code is available.
C
C There are a total of 71 entries in the algebraic variable array.
C There are a total of 56 entries in each of the rate and state variable arrays.
C There are a total of 105 entries in the constant variable array.
C
C
C VOI is time in component cell (millisecond).
C CONSTS(1) is C_m in component wal_environment (microF_per_cm2).
C CONSTS(2) is gam in component wal_environment (dimensionless).
C CONSTS(3) is R_a in component wal_environment (ohm_cm2).
C CONSTS(4) is tsi in component wal_environment (centi_metre).
C CONSTS(5) is tsi2 in component wal_environment (centi_metre).
C CONSTS(6) is tsi3 in component wal_environment (centi_metre).
C CONSTS(7) is FF in component wal_environment (C_per_mol).
C CONSTS(8) is tau_K in component wal_environment (millisecond).
C CONSTS(9) is tau_Na in component wal_environment (millisecond).
C CONSTS(10) is f_T in component wal_environment (dimensionless).
C CONSTS(11) is tau_K2 in component wal_environment (millisecond).
C CONSTS(12) is tau_Na2 in component wal_environment (millisecond).
C CONSTS(13) is I_K_rest in component wal_environment (microA_per_cm2).
C CONSTS(14) is I_Na_rest in component wal_environment (microA_per_cm2).
C CONSTS(15) is alpha_h_bar in component wal_environment (per_millisecond).
C CONSTS(16) is alpha_m_bar in component wal_environment (per_millisecond_per_millivolt).
C CONSTS(17) is alpha_n_bar in component wal_environment (per_millisecond_per_millivolt).
C CONSTS(18) is beta_h_bar in component wal_environment (per_millisecond).
C CONSTS(19) is beta_m_bar in component wal_environment (per_millisecond).
C CONSTS(20) is beta_n_bar in component wal_environment (per_millisecond).
C CONSTS(21) is V_m in component wal_environment (millivolt).
C CONSTS(22) is V_n in component wal_environment (millivolt).
C CONSTS(23) is V_h in component wal_environment (millivolt).
C CONSTS(24) is V_a in component wal_environment (millivolt).
C CONSTS(25) is V_S_inf in component wal_environment (millivolt).
C CONSTS(26) is V_h_K_inf in component wal_environment (millivolt).
C CONSTS(27) is A_a in component wal_environment (millivolt).
C CONSTS(28) is A_S_inf in component wal_environment (millivolt).
C CONSTS(29) is A_h_K_inf in component wal_environment (millivolt).
C CONSTS(30) is K_alpha_h in component wal_environment (millivolt).
C CONSTS(31) is K_beta_h in component wal_environment (millivolt).
C CONSTS(32) is K_alpha_m in component wal_environment (millivolt).
C CONSTS(33) is K_alpha_n in component wal_environment (millivolt).
C CONSTS(34) is K_beta_m in component wal_environment (millivolt).
C CONSTS(35) is K_beta_n in component wal_environment (millivolt).
C CONSTS(36) is RR in component wal_environment (milliJ_per_degreeK_per_mol).
C CONSTS(37) is TT in component wal_environment (degreeK).
C CONSTS(38) is g_Cl_bar in component wal_environment (milliS_per_cm2).
C CONSTS(39) is g_K_bar in component wal_environment (milliS_per_cm2).
C CONSTS(40) is g_Na_bar in component wal_environment (milliS_per_cm2).
C CONSTS(41) is G_K in component wal_environment (milliS_per_cm2).
C CONSTS(42) is del in component wal_environment (dimensionless).
C CONSTS(43) is K_K in component wal_environment (milliM2).
C CONSTS(44) is K_S in component wal_environment (milliM2).
C CONSTS(45) is K_m_K in component wal_environment (milliM).
C CONSTS(46) is K_m_Na in component wal_environment (milliM).
C CONSTS(47) is S_i in component wal_environment (milliM).
C CONSTS(48) is J_NaK_bar in component wal_environment (micro_mol_per_cm2_per_second).
C CONSTS(49) is V_tau in component wal_environment (millivolt).
C ALGBRC(1) is I_T in component wal_environment (microA_per_cm2).
C STATES(1) is vS in component wal_environment (millivolt).
C STATES(2) is vT in component wal_environment (millivolt).
C ALGBRC(52) is I_ionic_s in component wal_environment (microA_per_cm2).
C ALGBRC(71) is I_ionic_t in component wal_environment (microA_per_cm2).
C STATES(3) is K_t in component wal_environment (milliM).
C STATES(4) is K_i in component wal_environment (milliM).
C STATES(5) is K_e in component wal_environment (milliM).
C STATES(6) is Na_i in component wal_environment (milliM).
C STATES(7) is Na_t in component wal_environment (milliM).
C STATES(8) is Na_e in component wal_environment (milliM).
C ALGBRC(14) is E_K in component wal_environment (millivolt).
C ALGBRC(26) is E_K_t in component wal_environment (millivolt).
C ALGBRC(27) is Cl_i in component wal_environment (milliM).
C ALGBRC(28) is Cl_o in component wal_environment (milliM).
C ALGBRC(29) is Cl_i_t in component wal_environment (milliM).
C ALGBRC(30) is Cl_o_t in component wal_environment (milliM).
C ALGBRC(31) is J_K in component wal_environment (milliV_milliM).
C ALGBRC(32) is J_K_t in component wal_environment (milliV_milliM).
C CONSTS(50) is eta_Cl in component wal_environment (dimensionless).
C CONSTS(51) is eta_IR in component wal_environment (dimensionless).
C CONSTS(52) is eta_DR in component wal_environment (dimensionless).
C CONSTS(53) is eta_Na in component wal_environment (dimensionless).
C CONSTS(54) is eta_NaK in component wal_environment (dimensionless).
C ALGBRC(37) is I_Cl in component sarco_Cl_channel (microA_per_cm2).
C ALGBRC(42) is I_IR in component sarco_IR_channel (microA_per_cm2).
C ALGBRC(44) is I_DR in component sarco_DR_channel (microA_per_cm2).
C ALGBRC(47) is I_Na in component sarco_Na_channel (microA_per_cm2).
C ALGBRC(51) is I_NaK in component sarco_NaK_channel (microA_per_cm2).
C ALGBRC(56) is I_Cl_t in component t_Cl_channel (microA_per_cm2).
C ALGBRC(61) is I_IR_t in component t_IR_channel (microA_per_cm2).
C ALGBRC(63) is I_DR_t in component t_DR_channel (microA_per_cm2).
C ALGBRC(66) is I_Na_t in component t_Na_channel (microA_per_cm2).
C ALGBRC(70) is I_NaK_t in component t_NaK_channel (microA_per_cm2).
C ALGBRC(33) is I_HH in component wal_environment (microA_per_cm2).
C ALGBRC(34) is a in component sarco_Cl_channel (dimensionless).
C ALGBRC(35) is J_Cl in component sarco_Cl_channel (milliV_milliM).
C ALGBRC(36) is g_Cl in component sarco_Cl_channel (milliS_per_cm2).
C ALGBRC(38) is K_R in component sarco_IR_channel (milliM).
C ALGBRC(39) is g_IR_bar in component sarco_IR_channel (milliS_per_cm2).
C ALGBRC(40) is y in component sarco_IR_channel (dimensionless).
C ALGBRC(41) is g_IR in component sarco_IR_channel (milliS_per_cm2).
C ALGBRC(2) is alpha_n in component sarco_DR_channel (per_millisecond).
C ALGBRC(15) is beta_n in component sarco_DR_channel (per_millisecond).
C ALGBRC(3) is h_K_inf in component sarco_DR_channel (dimensionless).
C ALGBRC(16) is tau_h_K in component sarco_DR_channel (millisecond).
C STATES(9) is n in component sarco_DR_channel (dimensionless).
C STATES(10) is h_K in component sarco_DR_channel (dimensionless).
C ALGBRC(43) is g_DR in component sarco_DR_channel (milliS_per_cm2).
C ALGBRC(4) is alpha_h in component sarco_Na_channel (per_millisecond).
C ALGBRC(17) is beta_h in component sarco_Na_channel (per_millisecond).
C ALGBRC(5) is alpha_m in component sarco_Na_channel (per_millisecond).
C ALGBRC(18) is beta_m in component sarco_Na_channel (per_millisecond).
C ALGBRC(6) is S_inf in component sarco_Na_channel (dimensionless).
C ALGBRC(19) is tau_S in component sarco_Na_channel (millisecond).
C STATES(11) is m in component sarco_Na_channel (dimensionless).
C STATES(12) is h in component sarco_Na_channel (dimensionless).
C STATES(13) is S in component sarco_Na_channel (dimensionless).
C ALGBRC(46) is g_Na in component sarco_Na_channel (milliS_per_cm2).
C ALGBRC(45) is J_Na in component sarco_Na_channel (milliV_milliM).
C ALGBRC(48) is sig in component sarco_NaK_channel (dimensionless).
C ALGBRC(49) is f1 in component sarco_NaK_channel (dimensionless).
C ALGBRC(50) is I_NaK_bar in component sarco_NaK_channel (microA_per_cm2).
C ALGBRC(53) is a_t in component t_Cl_channel (dimensionless).
C ALGBRC(54) is J_Cl_t in component t_Cl_channel (milliV_milliM).
C ALGBRC(55) is g_Cl_t in component t_Cl_channel (milliS_per_cm2).
C ALGBRC(57) is K_R_t in component t_IR_channel (milliM).
C ALGBRC(58) is g_IR_bar_t in component t_IR_channel (milliS_per_cm2).
C ALGBRC(59) is y_t in component t_IR_channel (dimensionless).
C ALGBRC(60) is g_IR_t in component t_IR_channel (milliS_per_cm2).
C ALGBRC(7) is alpha_n_t in component t_DR_channel (per_millisecond).
C ALGBRC(20) is beta_n_t in component t_DR_channel (per_millisecond).
C ALGBRC(8) is h_K_inf_t in component t_DR_channel (dimensionless).
C ALGBRC(21) is tau_h_K_t in component t_DR_channel (millisecond).
C STATES(14) is n_t in component t_DR_channel (dimensionless).
C STATES(15) is h_K_t in component t_DR_channel (dimensionless).
C ALGBRC(62) is g_DR_t in component t_DR_channel (milliS_per_cm2).
C ALGBRC(9) is alpha_h_t in component t_Na_channel (per_millisecond).
C ALGBRC(22) is beta_h_t in component t_Na_channel (per_millisecond).
C ALGBRC(10) is alpha_m_t in component t_Na_channel (per_millisecond).
C ALGBRC(23) is beta_m_t in component t_Na_channel (per_millisecond).
C ALGBRC(11) is S_inf_t in component t_Na_channel (dimensionless).
C ALGBRC(24) is tau_S_t in component t_Na_channel (millisecond).
C STATES(16) is m_t in component t_Na_channel (dimensionless).
C STATES(17) is h_t in component t_Na_channel (dimensionless).
C STATES(18) is S_t in component t_Na_channel (dimensionless).
C ALGBRC(65) is g_Na_t in component t_Na_channel (milliS_per_cm2).
C ALGBRC(64) is J_Na_t in component t_Na_channel (milliV_milliM).
C ALGBRC(67) is sig_t in component t_NaK_channel (dimensionless).
C ALGBRC(68) is f1_t in component t_NaK_channel (dimensionless).
C ALGBRC(69) is I_NaK_bar_t in component t_NaK_channel (microA_per_cm2).
C STATES(19) is O_0 in component sternrios (dimensionless).
C STATES(20) is O_1 in component sternrios (dimensionless).
C STATES(21) is O_2 in component sternrios (dimensionless).
C STATES(22) is O_3 in component sternrios (dimensionless).
C STATES(23) is O_4 in component sternrios (dimensionless).
C CONSTS(55) is k_L in component sternrios (per_millisecond).
C CONSTS(56) is k_Lm in component sternrios (per_millisecond).
C CONSTS(57) is f in component sternrios (dimensionless).
C CONSTS(58) is alpha1 in component sternrios (per_millisecond).
C CONSTS(59) is K in component sternrios (millivolt).
C CONSTS(60) is Vbar in component sternrios (millivolt).
C STATES(24) is C_0 in component sternrios (dimensionless).
C STATES(25) is C_1 in component sternrios (dimensionless).
C STATES(26) is C_2 in component sternrios (dimensionless).
C STATES(27) is C_3 in component sternrios (dimensionless).
C STATES(28) is C_4 in component sternrios (dimensionless).
C ALGBRC(12) is k_C in component sternrios (per_millisecond).
C ALGBRC(25) is k_Cm in component sternrios (per_millisecond).
C CONSTS(61) is nu_SR in component razumova (micromolar_per_millisecond_micrometre3).
C CONSTS(62) is K_SR in component razumova (micromolar).
C CONSTS(63) is L_e in component razumova (micrometre3_per_millisecond).
C CONSTS(64) is tau_R in component razumova (micrometre3_per_millisecond).
C CONSTS(65) is tau_SR_R in component razumova (micrometre3_per_millisecond).
C CONSTS(66) is L_x in component razumova (micrometre).
C CONSTS(67) is R_R in component razumova (micrometre).
C CONSTS(100) is V_o in component razumova (micrometre3).
C CONSTS(102) is V_1 in component razumova (micrometre3).
C CONSTS(103) is V_2 in component razumova (micrometre3).
C CONSTS(101) is V_SR in component razumova (micrometre3).
C CONSTS(104) is V_SR1 in component razumova (micrometre3).
C CONSTS(105) is V_SR2 in component razumova (micrometre3).
C CONSTS(68) is k_T_on in component razumova (per_micromolar_per_millisecond).
C CONSTS(69) is k_T_off in component razumova (per_millisecond).
C CONSTS(70) is T_tot in component razumova (micromolar).
C CONSTS(71) is k_P_on in component razumova (per_micromolar_per_millisecond).
C CONSTS(72) is k_P_off in component razumova (per_millisecond).
C CONSTS(73) is P_tot in component razumova (micromolar).
C CONSTS(74) is k_Mg_on in component razumova (per_micromolar_per_millisecond).
C CONSTS(75) is k_Mg_off in component razumova (per_millisecond).
C CONSTS(76) is k_Cs_on in component razumova (per_micromolar_per_millisecond).
C CONSTS(77) is k_Cs_off in component razumova (per_millisecond).
C CONSTS(78) is Cs_tot in component razumova (micromolar).
C CONSTS(79) is k_CATP_on in component razumova (per_micromolar_per_millisecond).
C CONSTS(80) is k_CATP_off in component razumova (per_millisecond).
C CONSTS(81) is k_MATP_on in component razumova (per_micromolar_per_millisecond).
C CONSTS(82) is k_MATP_off in component razumova (per_millisecond).
C CONSTS(83) is tau_ATP in component razumova (micrometre3_per_millisecond).
C CONSTS(84) is tau_Mg in component razumova (micrometre3_per_millisecond).
C CONSTS(85) is k_0_on in component razumova (per_millisecond).
C CONSTS(86) is k_0_off in component razumova (per_millisecond).
C CONSTS(87) is k_Ca_on in component razumova (per_millisecond).
C CONSTS(88) is k_Ca_off in component razumova (per_millisecond).
C CONSTS(89) is f_o in component razumova (per_millisecond).
C CONSTS(90) is f_p in component razumova (per_millisecond).
C CONSTS(91) is h_o in component razumova (per_millisecond).
C CONSTS(92) is h_p in component razumova (per_millisecond).
C CONSTS(93) is g_o in component razumova (per_millisecond).
C CONSTS(94) is b_p in component razumova (per_millisecond).
C CONSTS(95) is k_p in component razumova (micrometre3_per_millisecond).
C CONSTS(96) is A_p in component razumova (per_milliM3_per_millisecond).
C CONSTS(97) is B_p in component razumova (per_milliM2_per_millisecond).
C CONSTS(98) is PP in component razumova (milliM2).
C ALGBRC(13) is T_0 in component razumova (micromolar).
C STATES(29) is Ca_1 in component razumova (micromolar).
C STATES(30) is Ca_SR1 in component razumova (micromolar).
C STATES(31) is Ca_2 in component razumova (micromolar).
C STATES(32) is Ca_SR2 in component razumova (micromolar).
C STATES(33) is Ca_T_2 in component razumova (micromolar).
C STATES(34) is Ca_P1 in component razumova (micromolar).
C STATES(35) is Ca_P2 in component razumova (micromolar).
C STATES(36) is Mg_P1 in component razumova (micromolar).
C STATES(37) is Mg_P2 in component razumova (micromolar).
C STATES(38) is Ca_Cs1 in component razumova (micromolar).
C STATES(39) is Ca_Cs2 in component razumova (micromolar).
C STATES(40) is Ca_ATP1 in component razumova (micromolar).
C STATES(41) is Ca_ATP2 in component razumova (micromolar).
C STATES(42) is Mg_ATP1 in component razumova (micromolar).
C STATES(43) is Mg_ATP2 in component razumova (micromolar).
C STATES(44) is ATP1 in component razumova (micromolar).
C STATES(45) is ATP2 in component razumova (micromolar).
C STATES(46) is Mg1 in component razumova (micromolar).
C STATES(47) is Mg2 in component razumova (micromolar).
C STATES(48) is Ca_CaT2 in component razumova (micromolar).
C STATES(49) is D_0 in component razumova (micromolar).
C STATES(50) is D_1 in component razumova (micromolar).
C STATES(51) is D_2 in component razumova (micromolar).
C STATES(52) is A_1 in component razumova (micromolar).
C STATES(53) is A_2 in component razumova (micromolar).
C STATES(54) is P in component razumova (milliM).
C STATES(55) is P_SR in component razumova (milliM).
C STATES(56) is P_C_SR in component razumova (milliM).
C CONSTS(99) is i2 in component razumova (micrometre3_per_millisecond).
C RATES(1) is d/dt vS in component wal_environment (millivolt).
C RATES(2) is d/dt vT in component wal_environment (millivolt).
C RATES(4) is d/dt K_i in component wal_environment (milliM).
C RATES(3) is d/dt K_t in component wal_environment (milliM).
C RATES(5) is d/dt K_e in component wal_environment (milliM).
C RATES(6) is d/dt Na_i in component wal_environment (milliM).
C RATES(7) is d/dt Na_t in component wal_environment (milliM).
C RATES(8) is d/dt Na_e in component wal_environment (milliM).
C RATES(9) is d/dt n in component sarco_DR_channel (dimensionless).
C RATES(10) is d/dt h_K in component sarco_DR_channel (dimensionless).
C RATES(11) is d/dt m in component sarco_Na_channel (dimensionless).
C RATES(12) is d/dt h in component sarco_Na_channel (dimensionless).
C RATES(13) is d/dt S in component sarco_Na_channel (dimensionless).
C RATES(14) is d/dt n_t in component t_DR_channel (dimensionless).
C RATES(15) is d/dt h_K_t in component t_DR_channel (dimensionless).
C RATES(16) is d/dt m_t in component t_Na_channel (dimensionless).
C RATES(17) is d/dt h_t in component t_Na_channel (dimensionless).
C RATES(18) is d/dt S_t in component t_Na_channel (dimensionless).
C RATES(24) is d/dt C_0 in component sternrios (dimensionless).
C RATES(19) is d/dt O_0 in component sternrios (dimensionless).
C RATES(25) is d/dt C_1 in component sternrios (dimensionless).
C RATES(20) is d/dt O_1 in component sternrios (dimensionless).
C RATES(26) is d/dt C_2 in component sternrios (dimensionless).
C RATES(21) is d/dt O_2 in component sternrios (dimensionless).
C RATES(27) is d/dt C_3 in component sternrios (dimensionless).
C RATES(22) is d/dt O_3 in component sternrios (dimensionless).
C RATES(28) is d/dt C_4 in component sternrios (dimensionless).
C RATES(23) is d/dt O_4 in component sternrios (dimensionless).
C RATES(29) is d/dt Ca_1 in component razumova (micromolar).
C RATES(30) is d/dt Ca_SR1 in component razumova (micromolar).
C RATES(31) is d/dt Ca_2 in component razumova (micromolar).
C RATES(32) is d/dt Ca_SR2 in component razumova (micromolar).
C RATES(33) is d/dt Ca_T_2 in component razumova (micromolar).
C RATES(34) is d/dt Ca_P1 in component razumova (micromolar).
C RATES(35) is d/dt Ca_P2 in component razumova (micromolar).
C RATES(36) is d/dt Mg_P1 in component razumova (micromolar).
C RATES(37) is d/dt Mg_P2 in component razumova (micromolar).
C RATES(38) is d/dt Ca_Cs1 in component razumova (micromolar).
C RATES(39) is d/dt Ca_Cs2 in component razumova (micromolar).
C RATES(40) is d/dt Ca_ATP1 in component razumova (micromolar).
C RATES(41) is d/dt Ca_ATP2 in component razumova (micromolar).
C RATES(42) is d/dt Mg_ATP1 in component razumova (micromolar).
C RATES(43) is d/dt Mg_ATP2 in component razumova (micromolar).
C RATES(44) is d/dt ATP1 in component razumova (micromolar).
C RATES(45) is d/dt ATP2 in component razumova (micromolar).
C RATES(46) is d/dt Mg1 in component razumova (micromolar).
C RATES(47) is d/dt Mg2 in component razumova (micromolar).
C RATES(48) is d/dt Ca_CaT2 in component razumova (micromolar).
C RATES(49) is d/dt D_0 in component razumova (micromolar).
C RATES(50) is d/dt D_1 in component razumova (micromolar).
C RATES(51) is d/dt D_2 in component razumova (micromolar).
C RATES(52) is d/dt A_1 in component razumova (micromolar).
C RATES(53) is d/dt A_2 in component razumova (micromolar).
C RATES(54) is d/dt P in component razumova (milliM).
C RATES(55) is d/dt P_SR in component razumova (milliM).
C RATES(56) is d/dt P_C_SR in component razumova (milliM).
C
SUBROUTINE initConsts(CONSTS, RATES, STATES)
REAL CONSTS(*), RATES(*), STATES(*)
CONSTS(1) = 1.0
CONSTS(2) = 4.8
CONSTS(3) = 150
CONSTS(4) = 0.000001
CONSTS(5) = 0.0025
CONSTS(6) = 0.0005
CONSTS(7) = 96485
CONSTS(8) = 350
CONSTS(9) = 350
CONSTS(10) = 0.0032
CONSTS(11) = 21875
CONSTS(12) = 21875
CONSTS(13) = 1.02
CONSTS(14) = -1.29
CONSTS(15) = 0.0081
CONSTS(16) = 0.288
CONSTS(17) = 0.0131
CONSTS(18) = 4.38
CONSTS(19) = 1.38
CONSTS(20) = 0.067
CONSTS(21) = -46
CONSTS(22) = -40
CONSTS(23) = -45
CONSTS(24) = 70
CONSTS(25) = -78
CONSTS(26) = -40
CONSTS(27) = 150
CONSTS(28) = 5.8
CONSTS(29) = 7.5
CONSTS(30) = 14.7
CONSTS(31) = 9
CONSTS(32) = 10
CONSTS(33) = 7
CONSTS(34) = 18
CONSTS(35) = 40
CONSTS(36) = 8314.41
CONSTS(37) = 293
CONSTS(38) = 19.65
CONSTS(39) = 64.8
CONSTS(40) = 804
CONSTS(41) = 11.1
CONSTS(42) = 0.4
CONSTS(43) = 950
CONSTS(44) = 1
CONSTS(45) = 1
CONSTS(46) = 13
CONSTS(47) = 10
CONSTS(48) = 0.000621
CONSTS(49) = 90
STATES(1) = -79.974
STATES(2) = -80.2
STATES(3) = 5.9
STATES(4) = 150.9
STATES(5) = 5.9
STATES(6) = 12.7
STATES(7) = 133
STATES(8) = 133
CONSTS(50) = 0.1
CONSTS(51) = 1.0
CONSTS(52) = 0.45
CONSTS(53) = 0.1
CONSTS(54) = 0.1
STATES(9) = 0.009466
STATES(10) = 0.9952
STATES(11) = 0.0358
STATES(12) = 0.4981
STATES(13) = 0.581
STATES(14) = 0.009466
STATES(15) = 0.9952
STATES(16) = 0.0358
STATES(17) = 0.4981
STATES(18) = 0.581
STATES(19) = 0
STATES(20) = 0
STATES(21) = 0
STATES(22) = 0
STATES(23) = 0
CONSTS(55) = 0.002
CONSTS(56) = 1000
CONSTS(57) = 0.2
CONSTS(58) = 0.2
CONSTS(59) = 4.5
CONSTS(60) = -20
STATES(24) = 1
STATES(25) = 0
STATES(26) = 0
STATES(27) = 0
STATES(28) = 0
CONSTS(61) = 4.875
CONSTS(62) = 1
CONSTS(63) = 0.00002
CONSTS(64) = 0.75
CONSTS(65) = 0.75
CONSTS(66) = 1.1
CONSTS(67) = 0.5
CONSTS(68) = 0.04425
CONSTS(69) = 0.115
CONSTS(70) = 140
CONSTS(71) = 0.0417
CONSTS(72) = 0.0005
CONSTS(73) = 1500
CONSTS(74) = 0.000033
CONSTS(75) = 0.003
CONSTS(76) = 0.000004
CONSTS(77) = 0.005
CONSTS(78) = 31000
CONSTS(79) = 0.15
CONSTS(80) = 30
CONSTS(81) = 0.0015
CONSTS(82) = 0.15
CONSTS(83) = 0.375
CONSTS(84) = 1.5
CONSTS(85) = 0
CONSTS(86) = 0.15
CONSTS(87) = 0.15
CONSTS(88) = 0.05
CONSTS(89) = 1.5
CONSTS(90) = 15
CONSTS(91) = 0.24
CONSTS(92) = 0.18
CONSTS(93) = 0.12
CONSTS(94) = 0.00002867
CONSTS(95) = 0.00000362
CONSTS(96) = 1
CONSTS(97) = 0.0001
CONSTS(98) = 6
STATES(29) = 0.1
STATES(30) = 1500
STATES(31) = 0.1
STATES(32) = 1500
STATES(33) = 25
STATES(34) = 615
STATES(35) = 615
STATES(36) = 811
STATES(37) = 811
STATES(38) = 16900
STATES(39) = 16900
STATES(40) = 0.4
STATES(41) = 0.4
STATES(42) = 7200
STATES(43) = 7200
STATES(44) = 799.6
STATES(45) = 799.6
STATES(46) = 1000
STATES(47) = 1000
STATES(48) = 3
STATES(49) = 0.8
STATES(50) = 1.2
STATES(51) = 3
STATES(52) = 0.3
STATES(53) = 0.23
STATES(54) = 0.23
STATES(55) = 0.23
STATES(56) = 0.23
CONSTS(99) = 300
CONSTS(100) = 0.950000*CONSTS(66)* 3.14159265358979*CONSTS(67) ** 2.00000
CONSTS(101) = 0.0500000*CONSTS(66)* 3.14159265358979*CONSTS(67) ** 2.00000
CONSTS(102) = 0.0100000*CONSTS(100)
CONSTS(103) = 0.990000*CONSTS(100)
CONSTS(104) = 0.0100000*CONSTS(101)
CONSTS(105) = 0.990000*CONSTS(101)
RETURN
END
SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC)
REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
RATES(29) = (((( ( CONSTS(99)*(STATES(19)+STATES(20)+STATES(21)+STATES(22)+STATES(23)))*((STATES(30) - STATES(29))/CONSTS(102)) - CONSTS(61)*((STATES(29)/(STATES(29)+CONSTS(62)))/CONSTS(102)))+ CONSTS(63)*((STATES(30) - STATES(29))/CONSTS(102)))+ - CONSTS(64)*((STATES(29) - STATES(31))/CONSTS(102)))+- ( ( CONSTS(71)*STATES(29))*((CONSTS(73)+- STATES(34))+- STATES(36))+ - CONSTS(72)*STATES(34)))+- ( ( CONSTS(79)*STATES(29))*STATES(44)+ - CONSTS(80)*STATES(40))
RATES(30) = ((( - ( CONSTS(99)*(STATES(19)+STATES(20)+STATES(21)+STATES(22)+STATES(23)))*((STATES(30) - STATES(29))/CONSTS(104))+ CONSTS(61)*((STATES(29)/(STATES(29)+CONSTS(62)))/CONSTS(104)))+ - CONSTS(63)*((STATES(30) - STATES(29))/CONSTS(104)))+ - CONSTS(65)*((STATES(30) - STATES(32))/CONSTS(104)))+- ( ( CONSTS(76)*STATES(30))*(CONSTS(78) - STATES(38))+ - CONSTS(77)*STATES(38))
RATES(32) = ((( CONSTS(61)*((STATES(31)/(STATES(31)+CONSTS(62)))/CONSTS(105))+ - CONSTS(63)*((STATES(32)+- STATES(31))/CONSTS(105)))+ CONSTS(65)*((STATES(30)+- STATES(32))/CONSTS(105)))+- ( ( CONSTS(76)*STATES(32))*(CONSTS(78)+- STATES(39))+ - CONSTS(77)*STATES(39))) - (1000.00/1.00000)*( CONSTS(96)*( STATES(55)*(0.00100000/1.00000)*STATES(32) - CONSTS(98))*(TERNRY( STATES(55)*(0.00100000/1.00000)*STATES(32) - CONSTS(98).GT.0.00000, 1.00000, 0.00000))*(0.00100000/1.00000)*STATES(55)*STATES(32) - CONSTS(97)*STATES(56)*(CONSTS(98) - STATES(55)*(0.00100000/1.00000)*STATES(32))*(TERNRY(CONSTS(98) - STATES(55)*(0.00100000/1.00000)*STATES(32).GT.0.00000, 1.00000, 0.00000)))
RATES(34) = ( CONSTS(71)*STATES(29))*((CONSTS(73)+- STATES(34))+- STATES(36))+ - CONSTS(72)*STATES(34)
RATES(35) = ( CONSTS(71)*STATES(31))*((CONSTS(73)+- STATES(35))+- STATES(37))+ - CONSTS(72)*STATES(35)
RATES(36) = ( CONSTS(74)*(CONSTS(73)+- STATES(34)+- STATES(36)))*STATES(46)+ - CONSTS(75)*STATES(36)
RATES(37) = ( CONSTS(74)*(CONSTS(73)+- STATES(35)+- STATES(37)))*STATES(47)+ - CONSTS(75)*STATES(37)
RATES(38) = ( CONSTS(76)*STATES(30))*(CONSTS(78)+- STATES(38))+ - CONSTS(77)*STATES(38)
RATES(39) = ( CONSTS(76)*STATES(32))*(CONSTS(78)+- STATES(39))+ - CONSTS(77)*STATES(39)
RATES(40) = ( ( CONSTS(79)*STATES(29))*STATES(44)+ - CONSTS(80)*STATES(40))+ - CONSTS(83)*((STATES(40)+- STATES(41))/CONSTS(102))
RATES(41) = ( ( CONSTS(79)*STATES(31))*STATES(45)+ - CONSTS(80)*STATES(41))+ CONSTS(83)*((STATES(40)+- STATES(41))/CONSTS(103))
RATES(42) = ( ( CONSTS(81)*STATES(46))*STATES(44)+ - CONSTS(82)*STATES(42))+ - CONSTS(83)*((STATES(42)+- STATES(43))/CONSTS(102))
RATES(43) = ( ( CONSTS(81)*STATES(47))*STATES(45)+ - CONSTS(82)*STATES(43))+ CONSTS(83)*((STATES(42)+- STATES(43))/CONSTS(103))
RATES(44) = (- ( ( CONSTS(79)*STATES(29))*STATES(44)+ - CONSTS(80)*STATES(40))+- ( ( CONSTS(81)*STATES(46))*STATES(44)+ - CONSTS(82)*STATES(42)))+ - CONSTS(83)*((STATES(44)+- STATES(45))/CONSTS(102))
RATES(45) = (- ( ( CONSTS(79)*STATES(31))*STATES(45)+ - CONSTS(80)*STATES(41))+- ( ( CONSTS(81)*STATES(47))*STATES(45)+ - CONSTS(82)*STATES(43)))+ CONSTS(83)*((STATES(44)+- STATES(45))/CONSTS(103))
RATES(46) = (- ( ( CONSTS(74)*(CONSTS(73)+- STATES(34)+- STATES(36)))*STATES(46)+ - CONSTS(75)*STATES(36))+- ( ( CONSTS(81)*STATES(46))*STATES(44)+ - CONSTS(82)*STATES(42)))+ - CONSTS(84)*((STATES(46)+- STATES(47))/CONSTS(102))
RATES(47) = (- ( ( CONSTS(74)*(CONSTS(73)+- STATES(35)+- STATES(37)))*STATES(47)+ - CONSTS(75)*STATES(37))+- ( ( CONSTS(81)*STATES(47))*STATES(45)+ - CONSTS(82)*STATES(43)))+ CONSTS(84)*((STATES(46)+- STATES(47))/CONSTS(103))
RATES(48) = (( ( CONSTS(68)*STATES(31))*STATES(33)+ - CONSTS(69)*STATES(48))+ - CONSTS(87)*STATES(48))+ CONSTS(88)*STATES(51)
RATES(50) = (((( CONSTS(68)*STATES(31)*STATES(49)+ - CONSTS(69)*STATES(50))+ CONSTS(85)*STATES(33))+ - CONSTS(86)*STATES(50))+ ( - CONSTS(68)*STATES(31))*STATES(50))+ CONSTS(69)*STATES(51)
RATES(51) = ((((( CONSTS(68)*STATES(31)*STATES(50)+ - CONSTS(69)*STATES(51))+ CONSTS(87)*STATES(48))+ - CONSTS(88)*STATES(51))+ - CONSTS(89)*STATES(51))+ CONSTS(90)*STATES(52))+ CONSTS(93)*STATES(53)
RATES(52) = (( CONSTS(89)*STATES(51)+ - CONSTS(90)*STATES(52))+ CONSTS(92)*STATES(53))+ - CONSTS(91)*STATES(52)
RATES(53) = ( - CONSTS(92)*STATES(53)+ CONSTS(91)*STATES(52))+ - CONSTS(93)*STATES(53)
RATES(54) = (0.00100000/1.00000)*( CONSTS(91)*STATES(52) - CONSTS(92)*STATES(53))+ -1.00000*CONSTS(94)*STATES(54)+ -1.00000*CONSTS(95)*((STATES(54) - STATES(55))/CONSTS(103))
RATES(55) = CONSTS(95)*((STATES(54) - STATES(55))/CONSTS(105)) - 1.00000*( CONSTS(96)*( STATES(55)*(0.00100000/1.00000)*STATES(32) - CONSTS(98))*(TERNRY( STATES(55)*(0.00100000/1.00000)*STATES(32) - CONSTS(98).GT.0.00000, 1.00000, 0.00000))*(0.00100000/1.00000)*STATES(55)*STATES(32) - CONSTS(97)*STATES(56)*(CONSTS(98) - STATES(55)*(0.00100000/1.00000)*STATES(32))*(TERNRY(CONSTS(98) - STATES(55)*(0.00100000/1.00000)*STATES(32).GT.0.00000, 1.00000, 0.00000)))
RATES(56) = 1.00000*( CONSTS(96)*( STATES(55)*(0.00100000/1.00000)*STATES(32) - CONSTS(98))*(TERNRY( STATES(55)*(0.00100000/1.00000)*STATES(32) - CONSTS(98).GT.0.00000, 1.00000, 0.00000))*(0.00100000/1.00000)*STATES(55)*STATES(32) - CONSTS(97)*STATES(56)*(CONSTS(98) - STATES(55)*(0.00100000/1.00000)*STATES(32))*(TERNRY(CONSTS(98) - STATES(55)*(0.00100000/1.00000)*STATES(32).GT.0.00000, 1.00000, 0.00000)))
ALGBRC(13) = CONSTS(70)+- STATES(33)+- STATES(48)+- STATES(49)+- STATES(50)+- STATES(51)+- STATES(52)+- STATES(53)
RATES(31) = (((( - CONSTS(61)*((STATES(31)/(STATES(31)+CONSTS(62)))/CONSTS(103))+ CONSTS(63)*((STATES(32)+- STATES(31))/CONSTS(103)))+ CONSTS(64)*((STATES(29) - STATES(31))/CONSTS(103)))+- ((((((( CONSTS(68)*STATES(31)*ALGBRC(13)+ - CONSTS(69)*STATES(33))+ CONSTS(68)*STATES(31)*STATES(33))+ - CONSTS(69)*STATES(48))+ CONSTS(68)*STATES(31)*STATES(49))+ - CONSTS(69)*STATES(50))+ CONSTS(68)*STATES(31)*STATES(50))+ - CONSTS(69)*STATES(51)))+- ( ( CONSTS(71)*STATES(31))*(CONSTS(73)+- STATES(35)+- STATES(37))+ - CONSTS(72)*STATES(35)))+- ( ( CONSTS(79)*STATES(31))*STATES(45)+ - CONSTS(80)*STATES(41))
RATES(33) = (((( ( CONSTS(68)*STATES(31))*ALGBRC(13)+ - CONSTS(69)*STATES(33))+ ( - CONSTS(68)*STATES(31))*STATES(33))+ CONSTS(69)*STATES(48))+ - CONSTS(85)*STATES(33))+ CONSTS(86)*STATES(50)
RATES(49) = (( ( - CONSTS(68)*STATES(31))*STATES(49)+ CONSTS(69)*STATES(50))+ CONSTS(85)*ALGBRC(13))+ - CONSTS(86)*STATES(49)
ALGBRC(2) = CONSTS(17)*((STATES(1) - CONSTS(22))/(1.00000 - EXP(- ((STATES(1) - CONSTS(22))/CONSTS(33)))))
ALGBRC(15) = CONSTS(20)*EXP(- ((STATES(1) - CONSTS(22))/CONSTS(35)))
RATES(9) = ALGBRC(2)*(1.00000 - STATES(9)) - ALGBRC(15)*STATES(9)
ALGBRC(3) = 1.00000/(1.00000+EXP((STATES(1) - CONSTS(26))/CONSTS(29)))
ALGBRC(16) = 1000.00*EXP(- ((STATES(1)+40.0000)/25.7500))
RATES(10) = (ALGBRC(3) - STATES(10))/ALGBRC(16)
ALGBRC(5) = CONSTS(16)*((STATES(1) - CONSTS(21))/(1.00000 - EXP(- ((STATES(1) - CONSTS(21))/CONSTS(32)))))
ALGBRC(18) = CONSTS(19)*EXP(- ((STATES(1) - CONSTS(21))/CONSTS(34)))
RATES(11) = ALGBRC(5)*(1.00000 - STATES(11)) - ALGBRC(18)*STATES(11)
ALGBRC(4) = CONSTS(15)*EXP(- ((STATES(1) - CONSTS(23))/CONSTS(30)))
ALGBRC(17) = CONSTS(18)/(1.00000+EXP(- ((STATES(1) - CONSTS(23))/CONSTS(31))))
RATES(12) = ALGBRC(4)*(1.00000 - STATES(12)) - ALGBRC(17)*STATES(12)
ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1) - CONSTS(25))/CONSTS(28)))
ALGBRC(19) = 8571.00/(0.200000+ 5.65000*(STATES(1)+CONSTS(49))/100.000 ** 2.00000)
RATES(13) = (ALGBRC(6) - STATES(13))/ALGBRC(19)
ALGBRC(7) = CONSTS(17)*((STATES(2) - CONSTS(22))/(1.00000 - EXP(- ((STATES(2) - CONSTS(22))/CONSTS(33)))))
ALGBRC(20) = CONSTS(20)*EXP(- ((STATES(2) - CONSTS(22))/CONSTS(35)))
RATES(14) = ALGBRC(7)*(1.00000 - STATES(14)) - ALGBRC(20)*STATES(14)
ALGBRC(8) = 1.00000/(1.00000+EXP((STATES(2) - CONSTS(26))/CONSTS(29)))
ALGBRC(21) = 1.00000*EXP(- ((STATES(2)+40.0000)/25.7500))
RATES(15) = (ALGBRC(8) - STATES(15))/ALGBRC(21)
ALGBRC(10) = CONSTS(16)*((STATES(2) - CONSTS(21))/(1.00000 - EXP(- ((STATES(2) - CONSTS(21))/CONSTS(32)))))
ALGBRC(23) = CONSTS(19)*EXP(- ((STATES(2) - CONSTS(21))/CONSTS(34)))
RATES(16) = ALGBRC(10)*(1.00000 - STATES(16)) - ALGBRC(23)*STATES(16)
ALGBRC(9) = CONSTS(15)*EXP(- ((STATES(2) - CONSTS(23))/CONSTS(30)))
ALGBRC(22) = CONSTS(18)/(1.00000+EXP(- ((STATES(2) - CONSTS(23))/CONSTS(31))))
RATES(17) = ALGBRC(9)*(1.00000 - STATES(17)) - ALGBRC(22)*STATES(17)
ALGBRC(11) = 1.00000/(1.00000+EXP((STATES(2) - CONSTS(25))/CONSTS(28)))
ALGBRC(24) = 8571.00/(0.200000+ 5.65000*(STATES(2)+CONSTS(49))/100.000 ** 2.00000)
RATES(18) = (ALGBRC(11) - STATES(18))/ALGBRC(24)
ALGBRC(12) = 0.500000*CONSTS(58)*EXP((STATES(2) - CONSTS(60))/( 8.00000*CONSTS(59)))
ALGBRC(25) = 0.500000*CONSTS(58)*EXP((CONSTS(60) - STATES(2))/( 8.00000*CONSTS(59)))
RATES(24) = - CONSTS(55)*STATES(24)+ CONSTS(56)*STATES(19)+ -4.00000*ALGBRC(12)*STATES(24)+ ALGBRC(25)*STATES(25)
RATES(19) = CONSTS(55)*STATES(24)+ - CONSTS(56)*STATES(19)+( -4.00000*ALGBRC(12)*STATES(19))/CONSTS(57)+ CONSTS(57)*ALGBRC(25)*STATES(20)
RATES(25) = 4.00000*ALGBRC(12)*STATES(24)+ - ALGBRC(25)*STATES(25)+( - CONSTS(55)*STATES(25))/CONSTS(57)+ CONSTS(57)*CONSTS(56)*STATES(20)+ -3.00000*ALGBRC(12)*STATES(25)+ 2.00000*ALGBRC(25)*STATES(26)
RATES(20) = ( CONSTS(55)*STATES(25))/CONSTS(57)+ - CONSTS(56)*CONSTS(57)*STATES(20)+( 4.00000*ALGBRC(12)*STATES(19))/CONSTS(57)+ - CONSTS(57)*ALGBRC(25)*STATES(20)+( -3.00000*ALGBRC(12)*STATES(20))/CONSTS(57)+ 2.00000*CONSTS(57)*ALGBRC(25)*STATES(21)
RATES(26) = 3.00000*ALGBRC(12)*STATES(25)+ -2.00000*ALGBRC(25)*STATES(26)+( - CONSTS(55)*STATES(26))/CONSTS(57) ** 2.00000+ CONSTS(57) ** 2.00000*CONSTS(56)*STATES(21)+ -2.00000*ALGBRC(12)*STATES(26)+ 3.00000*ALGBRC(25)*STATES(27)
RATES(21) = ( 3.00000*ALGBRC(12)*STATES(20))/CONSTS(57)+ -2.00000*CONSTS(57)*ALGBRC(25)*STATES(21)+( CONSTS(55)*STATES(26))/CONSTS(57) ** 2.00000+ - CONSTS(56)*CONSTS(57) ** 2.00000*STATES(21)+( -2.00000*ALGBRC(12)*STATES(21))/CONSTS(57)+ 3.00000*CONSTS(57)*ALGBRC(25)*STATES(22)
RATES(27) = 2.00000*ALGBRC(12)*STATES(26)+ -3.00000*ALGBRC(25)*STATES(27)+( - CONSTS(55)*STATES(27))/CONSTS(57) ** 3.00000+ CONSTS(56)*CONSTS(57) ** 3.00000*STATES(22)+ - ALGBRC(12)*STATES(27)+ 4.00000*ALGBRC(25)*STATES(28)
RATES(22) = ( CONSTS(55)*STATES(27))/CONSTS(57) ** 3.00000+ - CONSTS(56)*CONSTS(57) ** 3.00000*STATES(22)+( 2.00000*ALGBRC(12)*STATES(21))/CONSTS(57)+ -3.00000*ALGBRC(25)*CONSTS(57)*STATES(22)+( - ALGBRC(12)*STATES(22))/CONSTS(57)+ 4.00000*CONSTS(57)*ALGBRC(25)*STATES(23)
RATES(28) = ALGBRC(12)*STATES(27)+ -4.00000*ALGBRC(25)*STATES(28)+( - CONSTS(55)*STATES(28))/CONSTS(57) ** 4.00000+ CONSTS(56)*CONSTS(57) ** 4.00000*STATES(23)
RATES(23) = ( ALGBRC(12)*STATES(22))/CONSTS(57)+ -4.00000*CONSTS(57)*ALGBRC(25)*STATES(23)+( CONSTS(55)*STATES(28))/CONSTS(57) ** 4.00000+ - CONSTS(56)*CONSTS(57) ** 4.00000*STATES(23)
ALGBRC(31) = STATES(1)*((STATES(4) - STATES(5)*EXP(( -1.00000*CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( -1.00000*CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(14) = (( CONSTS(36)*CONSTS(37))/CONSTS(7))*log(STATES(5)/STATES(4))
ALGBRC(38) = STATES(5)*EXP( ( - CONSTS(42)*ALGBRC(14))*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))
ALGBRC(39) = CONSTS(41)*(ALGBRC(38) ** 2.00000/(CONSTS(43)+ALGBRC(38) ** 2.00000))
ALGBRC(40) = 1.00000 - 1.00000+( CONSTS(44)*(1.00000+ALGBRC(38) ** 2.00000/CONSTS(43)))/( CONSTS(47) ** 2.00000*EXP(( 2.00000*(1.00000 - CONSTS(42))*STATES(1)*CONSTS(7))/( CONSTS(36)*CONSTS(37)))) ** -1.00000
ALGBRC(41) = ALGBRC(39)*ALGBRC(40)
ALGBRC(42) = ALGBRC(41)*(TERNRY(ALGBRC(31).GT.0.00000, 1.00000, 0.00000))*(ALGBRC(31)/50.0000)
ALGBRC(43) = ( CONSTS(39)*STATES(9) ** 4.00000)*STATES(10)
ALGBRC(44) = ALGBRC(43)*(ALGBRC(31)/50.0000)
ALGBRC(48) = (1.00000/7.00000)*(EXP(STATES(8)/67.3000) - 1.00000)
ALGBRC(49) = 1.00000+ 0.120000*EXP( -0.100000*STATES(1)*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))+ 0.0400000*ALGBRC(48)*EXP(- ( STATES(1)*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))) ** -1.00000
ALGBRC(50) = CONSTS(7)*(CONSTS(48)/( 1.00000+CONSTS(45)/STATES(5) ** 2.00000*1.00000+CONSTS(46)/STATES(6) ** 3.00000))
ALGBRC(51) = ALGBRC(50)*ALGBRC(49)
RATES(5) = (ALGBRC(42)+ALGBRC(44)+CONSTS(13)+ - 2.00000*ALGBRC(51))/( (1000.00/1.00000)*CONSTS(7)*CONSTS(6))+(STATES(3) - STATES(5))/CONSTS(11)
ALGBRC(46) = ( ( CONSTS(40)*STATES(11) ** 3.00000)*STATES(12))*STATES(13)
ALGBRC(45) = STATES(1)*((STATES(6) - STATES(8)*EXP(( -1.00000*CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( -1.00000*CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(47) = ALGBRC(46)*(ALGBRC(45)/75.0000)
RATES(8) = (ALGBRC(47)+CONSTS(14)+ 3.00000*ALGBRC(51))/( (1000.00/1.00000)*CONSTS(7)*CONSTS(6))+(STATES(7) - STATES(8))/CONSTS(12)
ALGBRC(1) = (1000.00/1.00000)*((STATES(1) - STATES(2))/CONSTS(3))
ALGBRC(27) = 156.500/(5.00000+EXP(( - CONSTS(7)*ALGBRC(14))/( CONSTS(36)*CONSTS(37))))
ALGBRC(28) = 156.500 - 5.00000*ALGBRC(27)
ALGBRC(35) = STATES(1)*((ALGBRC(27) - ALGBRC(28)*EXP(( CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(34) = 1.00000/(1.00000+EXP((STATES(1) - CONSTS(24))/CONSTS(27)))
ALGBRC(36) = CONSTS(38)*ALGBRC(34) ** 4.00000
ALGBRC(37) = ALGBRC(36)*(ALGBRC(35)/45.0000)
ALGBRC(33) = TERNRY(VOI.GE.0.00000.AND.VOI.LT.0.500000, 150.000, TERNRY(VOI.GE.50.0000.AND.VOI.LT.50.5000, 150.000, TERNRY(VOI.GE.100.000.AND.VOI.LT.100.500, 150.000, TERNRY(VOI.GE.150.000.AND.VOI.LT.150.500, 150.000, TERNRY(VOI.GE.200.000.AND.VOI.LT.200.500, 150.000, TERNRY(VOI.GE.250.000.AND.VOI.LT.250.500, 150.000, TERNRY(VOI.GE.300.000.AND.VOI.LT.300.500, 150.000, TERNRY(VOI.GE.350.000.AND.VOI.LT.350.500, 150.000, TERNRY(VOI.GE.400.000.AND.VOI.LT.400.500, 150.000, 0.00000)
ALGBRC(52) = ALGBRC(37)+ALGBRC(42)+ALGBRC(44)+ALGBRC(47)+ALGBRC(51)+- ALGBRC(33)
RATES(1) = - ((ALGBRC(52)+ALGBRC(1))/CONSTS(1))
ALGBRC(32) = STATES(2)*((STATES(4) - STATES(3)*EXP(( -1.00000*CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( -1.00000*CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(26) = (( CONSTS(36)*CONSTS(37))/CONSTS(7))*log(STATES(3)/STATES(4))
ALGBRC(57) = STATES(3)*EXP( ( - CONSTS(42)*ALGBRC(26))*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))
ALGBRC(58) = CONSTS(41)*(ALGBRC(57) ** 2.00000/(CONSTS(43)+ALGBRC(57) ** 2.00000))
ALGBRC(59) = 1.00000 - 1.00000+( CONSTS(44)*(1.00000+ALGBRC(57) ** 2.00000/CONSTS(43)))/( CONSTS(47) ** 2.00000*EXP(( 2.00000*(1.00000 - CONSTS(42))*STATES(2)*CONSTS(7))/( CONSTS(36)*CONSTS(37)))) ** -1.00000
ALGBRC(60) = ALGBRC(58)*ALGBRC(59)
ALGBRC(61) = CONSTS(51)*ALGBRC(60)*(ALGBRC(32)/50.0000)
ALGBRC(62) = ( CONSTS(39)*STATES(14) ** 4.00000)*STATES(15)
ALGBRC(63) = CONSTS(52)*ALGBRC(62)*(ALGBRC(32)/50.0000)
ALGBRC(67) = (1.00000/7.00000)*(EXP(STATES(7)/67.3000) - 1.00000)
ALGBRC(68) = 1.00000+ 0.120000*EXP( -0.100000*STATES(2)*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))+ 0.0400000*ALGBRC(67)*EXP(- ( STATES(2)*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))) ** -1.00000
ALGBRC(69) = CONSTS(7)*(CONSTS(48)/( 1.00000+CONSTS(45)/STATES(3) ** 2.00000*1.00000+CONSTS(46)/STATES(6) ** 3.00000))
ALGBRC(70) = CONSTS(54)*ALGBRC(69)*ALGBRC(68)
RATES(4) = - CONSTS(10)*((ALGBRC(61)+ALGBRC(63)+CONSTS(13)+ - 2.00000*ALGBRC(70))/( (1000.00/1.00000)*CONSTS(7)*CONSTS(4))) - (ALGBRC(42)+ALGBRC(44)+CONSTS(13)+ -2.00000*ALGBRC(51))/( (1000.00/1.00000)*CONSTS(7)*CONSTS(5))
RATES(3) = (ALGBRC(61)+ALGBRC(63)+CONSTS(13)+ - 2.00000*ALGBRC(70))/( (1000.00/1.00000)*CONSTS(7)*CONSTS(4)) - (STATES(3) - STATES(5))/CONSTS(8)
ALGBRC(65) = ( ( CONSTS(40)*STATES(16) ** 3.00000)*STATES(17))*STATES(18)
ALGBRC(64) = STATES(2)*((STATES(6) - STATES(7)*EXP(( -1.00000*CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( -1.00000*CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(66) = CONSTS(53)*ALGBRC(65)*(ALGBRC(64)/75.0000)
RATES(6) = - CONSTS(10)*((ALGBRC(66)+CONSTS(14)+ 3.00000*ALGBRC(70))/( (1000.00/1.00000)*CONSTS(7)*CONSTS(4))) - (ALGBRC(47)+CONSTS(14)+ 3.00000*ALGBRC(51))/( (1000.00/1.00000)*CONSTS(7)*CONSTS(5))
RATES(7) = (ALGBRC(66)+CONSTS(14)+ 3.00000*ALGBRC(70))/( (1000.00/1.00000)*CONSTS(7)*CONSTS(4)) - (STATES(7) - STATES(8))/CONSTS(9)
ALGBRC(29) = 156.500/(5.00000+EXP(( - CONSTS(7)*ALGBRC(26))/( CONSTS(36)*CONSTS(37))))
ALGBRC(30) = 156.500 - 5.00000*ALGBRC(29)
ALGBRC(54) = STATES(2)*((ALGBRC(29) - ALGBRC(30)*EXP(( CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(53) = 1.00000/(1.00000+EXP((STATES(2) - CONSTS(24))/CONSTS(27)))
ALGBRC(55) = CONSTS(38)*ALGBRC(53) ** 4.00000
ALGBRC(56) = CONSTS(50)*ALGBRC(55)*(ALGBRC(54)/45.0000)
ALGBRC(71) = ALGBRC(56)+ALGBRC(61)+ALGBRC(63)+ALGBRC(66)+ALGBRC(70)
RATES(2) = - ((ALGBRC(71) - ALGBRC(1)/CONSTS(2))/CONSTS(1))
RETURN
END
SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
ALGBRC(13) = CONSTS(70)+- STATES(33)+- STATES(48)+- STATES(49)+- STATES(50)+- STATES(51)+- STATES(52)+- STATES(53)
ALGBRC(2) = CONSTS(17)*((STATES(1) - CONSTS(22))/(1.00000 - EXP(- ((STATES(1) - CONSTS(22))/CONSTS(33)))))
ALGBRC(15) = CONSTS(20)*EXP(- ((STATES(1) - CONSTS(22))/CONSTS(35)))
ALGBRC(3) = 1.00000/(1.00000+EXP((STATES(1) - CONSTS(26))/CONSTS(29)))
ALGBRC(16) = 1000.00*EXP(- ((STATES(1)+40.0000)/25.7500))
ALGBRC(5) = CONSTS(16)*((STATES(1) - CONSTS(21))/(1.00000 - EXP(- ((STATES(1) - CONSTS(21))/CONSTS(32)))))
ALGBRC(18) = CONSTS(19)*EXP(- ((STATES(1) - CONSTS(21))/CONSTS(34)))
ALGBRC(4) = CONSTS(15)*EXP(- ((STATES(1) - CONSTS(23))/CONSTS(30)))
ALGBRC(17) = CONSTS(18)/(1.00000+EXP(- ((STATES(1) - CONSTS(23))/CONSTS(31))))
ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1) - CONSTS(25))/CONSTS(28)))
ALGBRC(19) = 8571.00/(0.200000+ 5.65000*(STATES(1)+CONSTS(49))/100.000 ** 2.00000)
ALGBRC(7) = CONSTS(17)*((STATES(2) - CONSTS(22))/(1.00000 - EXP(- ((STATES(2) - CONSTS(22))/CONSTS(33)))))
ALGBRC(20) = CONSTS(20)*EXP(- ((STATES(2) - CONSTS(22))/CONSTS(35)))
ALGBRC(8) = 1.00000/(1.00000+EXP((STATES(2) - CONSTS(26))/CONSTS(29)))
ALGBRC(21) = 1.00000*EXP(- ((STATES(2)+40.0000)/25.7500))
ALGBRC(10) = CONSTS(16)*((STATES(2) - CONSTS(21))/(1.00000 - EXP(- ((STATES(2) - CONSTS(21))/CONSTS(32)))))
ALGBRC(23) = CONSTS(19)*EXP(- ((STATES(2) - CONSTS(21))/CONSTS(34)))
ALGBRC(9) = CONSTS(15)*EXP(- ((STATES(2) - CONSTS(23))/CONSTS(30)))
ALGBRC(22) = CONSTS(18)/(1.00000+EXP(- ((STATES(2) - CONSTS(23))/CONSTS(31))))
ALGBRC(11) = 1.00000/(1.00000+EXP((STATES(2) - CONSTS(25))/CONSTS(28)))
ALGBRC(24) = 8571.00/(0.200000+ 5.65000*(STATES(2)+CONSTS(49))/100.000 ** 2.00000)
ALGBRC(12) = 0.500000*CONSTS(58)*EXP((STATES(2) - CONSTS(60))/( 8.00000*CONSTS(59)))
ALGBRC(25) = 0.500000*CONSTS(58)*EXP((CONSTS(60) - STATES(2))/( 8.00000*CONSTS(59)))
ALGBRC(31) = STATES(1)*((STATES(4) - STATES(5)*EXP(( -1.00000*CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( -1.00000*CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(14) = (( CONSTS(36)*CONSTS(37))/CONSTS(7))*log(STATES(5)/STATES(4))
ALGBRC(38) = STATES(5)*EXP( ( - CONSTS(42)*ALGBRC(14))*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))
ALGBRC(39) = CONSTS(41)*(ALGBRC(38) ** 2.00000/(CONSTS(43)+ALGBRC(38) ** 2.00000))
ALGBRC(40) = 1.00000 - 1.00000+( CONSTS(44)*(1.00000+ALGBRC(38) ** 2.00000/CONSTS(43)))/( CONSTS(47) ** 2.00000*EXP(( 2.00000*(1.00000 - CONSTS(42))*STATES(1)*CONSTS(7))/( CONSTS(36)*CONSTS(37)))) ** -1.00000
ALGBRC(41) = ALGBRC(39)*ALGBRC(40)
ALGBRC(42) = ALGBRC(41)*(TERNRY(ALGBRC(31).GT.0.00000, 1.00000, 0.00000))*(ALGBRC(31)/50.0000)
ALGBRC(43) = ( CONSTS(39)*STATES(9) ** 4.00000)*STATES(10)
ALGBRC(44) = ALGBRC(43)*(ALGBRC(31)/50.0000)
ALGBRC(48) = (1.00000/7.00000)*(EXP(STATES(8)/67.3000) - 1.00000)
ALGBRC(49) = 1.00000+ 0.120000*EXP( -0.100000*STATES(1)*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))+ 0.0400000*ALGBRC(48)*EXP(- ( STATES(1)*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))) ** -1.00000
ALGBRC(50) = CONSTS(7)*(CONSTS(48)/( 1.00000+CONSTS(45)/STATES(5) ** 2.00000*1.00000+CONSTS(46)/STATES(6) ** 3.00000))
ALGBRC(51) = ALGBRC(50)*ALGBRC(49)
ALGBRC(46) = ( ( CONSTS(40)*STATES(11) ** 3.00000)*STATES(12))*STATES(13)
ALGBRC(45) = STATES(1)*((STATES(6) - STATES(8)*EXP(( -1.00000*CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( -1.00000*CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(47) = ALGBRC(46)*(ALGBRC(45)/75.0000)
ALGBRC(1) = (1000.00/1.00000)*((STATES(1) - STATES(2))/CONSTS(3))
ALGBRC(27) = 156.500/(5.00000+EXP(( - CONSTS(7)*ALGBRC(14))/( CONSTS(36)*CONSTS(37))))
ALGBRC(28) = 156.500 - 5.00000*ALGBRC(27)
ALGBRC(35) = STATES(1)*((ALGBRC(27) - ALGBRC(28)*EXP(( CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( CONSTS(7)*STATES(1))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(34) = 1.00000/(1.00000+EXP((STATES(1) - CONSTS(24))/CONSTS(27)))
ALGBRC(36) = CONSTS(38)*ALGBRC(34) ** 4.00000
ALGBRC(37) = ALGBRC(36)*(ALGBRC(35)/45.0000)
ALGBRC(33) = TERNRY(VOI.GE.0.00000.AND.VOI.LT.0.500000, 150.000, TERNRY(VOI.GE.50.0000.AND.VOI.LT.50.5000, 150.000, TERNRY(VOI.GE.100.000.AND.VOI.LT.100.500, 150.000, TERNRY(VOI.GE.150.000.AND.VOI.LT.150.500, 150.000, TERNRY(VOI.GE.200.000.AND.VOI.LT.200.500, 150.000, TERNRY(VOI.GE.250.000.AND.VOI.LT.250.500, 150.000, TERNRY(VOI.GE.300.000.AND.VOI.LT.300.500, 150.000, TERNRY(VOI.GE.350.000.AND.VOI.LT.350.500, 150.000, TERNRY(VOI.GE.400.000.AND.VOI.LT.400.500, 150.000, 0.00000)
ALGBRC(52) = ALGBRC(37)+ALGBRC(42)+ALGBRC(44)+ALGBRC(47)+ALGBRC(51)+- ALGBRC(33)
ALGBRC(32) = STATES(2)*((STATES(4) - STATES(3)*EXP(( -1.00000*CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( -1.00000*CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(26) = (( CONSTS(36)*CONSTS(37))/CONSTS(7))*log(STATES(3)/STATES(4))
ALGBRC(57) = STATES(3)*EXP( ( - CONSTS(42)*ALGBRC(26))*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))
ALGBRC(58) = CONSTS(41)*(ALGBRC(57) ** 2.00000/(CONSTS(43)+ALGBRC(57) ** 2.00000))
ALGBRC(59) = 1.00000 - 1.00000+( CONSTS(44)*(1.00000+ALGBRC(57) ** 2.00000/CONSTS(43)))/( CONSTS(47) ** 2.00000*EXP(( 2.00000*(1.00000 - CONSTS(42))*STATES(2)*CONSTS(7))/( CONSTS(36)*CONSTS(37)))) ** -1.00000
ALGBRC(60) = ALGBRC(58)*ALGBRC(59)
ALGBRC(61) = CONSTS(51)*ALGBRC(60)*(ALGBRC(32)/50.0000)
ALGBRC(62) = ( CONSTS(39)*STATES(14) ** 4.00000)*STATES(15)
ALGBRC(63) = CONSTS(52)*ALGBRC(62)*(ALGBRC(32)/50.0000)
ALGBRC(67) = (1.00000/7.00000)*(EXP(STATES(7)/67.3000) - 1.00000)
ALGBRC(68) = 1.00000+ 0.120000*EXP( -0.100000*STATES(2)*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))+ 0.0400000*ALGBRC(67)*EXP(- ( STATES(2)*(CONSTS(7)/( CONSTS(36)*CONSTS(37))))) ** -1.00000
ALGBRC(69) = CONSTS(7)*(CONSTS(48)/( 1.00000+CONSTS(45)/STATES(3) ** 2.00000*1.00000+CONSTS(46)/STATES(6) ** 3.00000))
ALGBRC(70) = CONSTS(54)*ALGBRC(69)*ALGBRC(68)
ALGBRC(65) = ( ( CONSTS(40)*STATES(16) ** 3.00000)*STATES(17))*STATES(18)
ALGBRC(64) = STATES(2)*((STATES(6) - STATES(7)*EXP(( -1.00000*CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( -1.00000*CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(66) = CONSTS(53)*ALGBRC(65)*(ALGBRC(64)/75.0000)
ALGBRC(29) = 156.500/(5.00000+EXP(( - CONSTS(7)*ALGBRC(26))/( CONSTS(36)*CONSTS(37))))
ALGBRC(30) = 156.500 - 5.00000*ALGBRC(29)
ALGBRC(54) = STATES(2)*((ALGBRC(29) - ALGBRC(30)*EXP(( CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37))))/(1.00000 - EXP(( CONSTS(7)*STATES(2))/( CONSTS(36)*CONSTS(37)))))
ALGBRC(53) = 1.00000/(1.00000+EXP((STATES(2) - CONSTS(24))/CONSTS(27)))
ALGBRC(55) = CONSTS(38)*ALGBRC(53) ** 4.00000
ALGBRC(56) = CONSTS(50)*ALGBRC(55)*(ALGBRC(54)/45.0000)
ALGBRC(71) = ALGBRC(56)+ALGBRC(61)+ALGBRC(63)+ALGBRC(66)+ALGBRC(70)
RETURN
END
REAL FUNCTION TERNRY(TEST, VALA, VALB)
LOGICAL TEST
REAL VALA, VALB
IF (TEST) THEN
TERNRY = VALA
ELSE
TERNRY = VALB
ENDIF
RETURN
END
