C C There are a total of 51 entries in the algebraic variable array. C There are a total of 22 entries in each of the rate and state variable arrays. C There are a total of 57 entries in the constant variable array. C C C VOI is time in component environment (ms). C STATES(1) is V in component cell (mV). C CONSTS(1) is R in component cell (joule_per_mole_kelvin). C CONSTS(2) is T in component cell (kelvin). C CONSTS(3) is F in component cell (coulomb_per_millimole). C CONSTS(44) is FonRT in component cell (per_mV). C CONSTS(4) is Cm in component cell (pF). C CONSTS(5) is failing in component cell (dimensionless). C ALGBRC(22) is i_Na in component INa (uA_per_uF). C ALGBRC(25) is i_Ca in component ICa (uA_per_uF). C ALGBRC(27) is i_to in component Ito (uA_per_uF). C ALGBRC(32) is i_Kr in component IKr (uA_per_uF). C ALGBRC(29) is i_Ks in component IKs (uA_per_uF). C ALGBRC(37) is i_K1 in component IK1 (uA_per_uF). C ALGBRC(42) is i_NaCa in component INaCa (uA_per_uF). C ALGBRC(41) is i_NaK in component INaK (uA_per_uF). C ALGBRC(39) is i_b_Na in component INab (uA_per_uF). C ALGBRC(38) is i_b_Ca in component ICab (uA_per_uF). C ALGBRC(45) is dVdt in component cell (mV_per_ms). C ALGBRC(43) is I_tot in component cell (uA_per_uF). C ALGBRC(11) is i_Stim in component cell (uA_per_uF). C CONSTS(6) is stim_offset in component cell (ms). C CONSTS(7) is stim_period in component cell (ms). C CONSTS(8) is stim_duration in component cell (ms). C CONSTS(9) is stim_amplitude in component cell (uA_per_uF). C ALGBRC(1) is past in component cell (ms). C CONSTS(10) is V_clamp in component cell (dimensionless). C CONSTS(11) is V_hold in component cell (mV). C CONSTS(12) is V_step in component cell (mV). C ALGBRC(21) is E_Na in component INa (mV). C CONSTS(13) is g_Na in component INa (mS_per_uF). C STATES(2) is Nai in component Ionic_concentrations (mM). C CONSTS(14) is Nao in component Ionic_concentrations (mM). C STATES(3) is m in component INa_m_gate (dimensionless). C STATES(4) is h in component INa_h_gate (dimensionless). C STATES(5) is j in component INa_j_gate (dimensionless). C ALGBRC(2) is alpha_m in component INa_m_gate (per_ms). C ALGBRC(12) is beta_m in component INa_m_gate (per_ms). C ALGBRC(3) is alpha_h in component INa_h_gate (per_ms). C ALGBRC(13) is beta_h in component INa_h_gate (per_ms). C ALGBRC(4) is alpha_j in component INa_j_gate (per_ms). C ALGBRC(14) is beta_j in component INa_j_gate (per_ms). C ALGBRC(23) is E_Ca in component ICa (mV). C CONSTS(15) is g_Ca_max in component ICa (mS_per_uF). C STATES(6) is Cai in component Ionic_concentrations (mM). C CONSTS(16) is Cao in component Ionic_concentrations (mM). C STATES(7) is d in component ICa_d_gate (dimensionless). C STATES(8) is f in component ICa_f_gate (dimensionless). C ALGBRC(24) is f_Ca in component ICa_f_Ca_gate (dimensionless). C ALGBRC(5) is alpha_d in component ICa_d_gate (per_ms). C ALGBRC(15) is beta_d in component ICa_d_gate (per_ms). C ALGBRC(6) is alpha_f in component ICa_f_gate (per_ms). C ALGBRC(16) is beta_f in component ICa_f_gate (per_ms). C CONSTS(17) is Km_Ca in component ICa_f_Ca_gate (mM). C CONSTS(45) is g_to_max in component Ito (mS_per_uF). C ALGBRC(26) is E_to in component Ito (mV). C STATES(9) is Ki in component Ionic_concentrations (mM). C CONSTS(18) is Ko in component Ionic_concentrations (mM). C STATES(10) is t in component Ito_t_gate (dimensionless). C STATES(11) is r in component Ito_r_gate (dimensionless). C ALGBRC(7) is alpha_r in component Ito_r_gate (per_ms). C ALGBRC(17) is beta_r in component Ito_r_gate (per_ms). C ALGBRC(8) is alpha_t in component Ito_t_gate (per_ms). C ALGBRC(18) is beta_t in component Ito_t_gate (per_ms). C CONSTS(19) is g_Ks_max in component IKs (mS_per_uF). C ALGBRC(28) is E_Ks in component IKs (mV). C STATES(12) is Xs in component IKs_Xs_gate (dimensionless). C ALGBRC(9) is alpha_Xs in component IKs_Xs_gate (per_ms). C ALGBRC(19) is beta_Xs in component IKs_Xs_gate (per_ms). C CONSTS(20) is g_Kr_max in component IKr (mS_per_uF). C ALGBRC(31) is rik in component IKr (dimensionless). C ALGBRC(30) is E_K in component IKr (mV). C STATES(13) is Xr in component IKr_Xr_gate (dimensionless). C ALGBRC(10) is alpha_Xr in component IKr_Xr_gate (per_ms). C ALGBRC(20) is beta_Xr in component IKr_Xr_gate (per_ms). C ALGBRC(33) is E_K1 in component IK1 (mV). C CONSTS(46) is g_K1_max in component IK1 (mS_per_uF). C ALGBRC(36) is K1_infinity in component IK1_K1_gate (dimensionless). C ALGBRC(34) is alpha_K1 in component IK1_K1_gate (per_ms). C ALGBRC(35) is beta_K1 in component IK1_K1_gate (per_ms). C CONSTS(47) is g_b_Ca_max in component ICab (mS_per_uF). C CONSTS(48) is g_b_Na_max in component INab (mS_per_uF). C CONSTS(49) is I_NaK_max in component INaK (uA_per_uF). C ALGBRC(40) is f_NaK in component INaK (dimensionless). C CONSTS(21) is K_mNai in component INaK (mM). C CONSTS(22) is K_mKo in component INaK (mM). C CONSTS(50) is sigma in component INaK (dimensionless). C CONSTS(51) is K_NaCa in component INaCa (uA_per_uF). C CONSTS(23) is K_mNa in component INaCa (mM). C CONSTS(24) is K_mCa in component INaCa (mM). C CONSTS(25) is K_sat in component INaCa (dimensionless). C CONSTS(26) is eta in component INaCa (dimensionless). C ALGBRC(46) is i_rel in component Irel (mM_per_ms). C ALGBRC(44) is G_rel in component Irel (per_ms). C CONSTS(27) is G_rel_max in component Irel (per_ms). C CONSTS(28) is G_rel_overload in component Irel (per_ms). C CONSTS(29) is K_mrel in component Irel (mM). C CONSTS(30) is delta_Ca_ith in component Irel (mM). C CONSTS(31) is K_mCSQN in component calcium_buffers_in_the_JSR (mM). C STATES(14) is Ca_JSR in component Ionic_concentrations (mM). C CONSTS(55) is V_myo in component Ionic_concentrations (fL). C CONSTS(57) is V_JSR in component Ionic_concentrations (fL). C STATES(15) is APtrack in component Irel (dimensionless). C STATES(16) is APtrack2 in component Irel (dimensionless). C STATES(17) is APtrack3 in component Irel (dimensionless). C STATES(18) is Cainfluxtrack in component Irel (mM). C STATES(19) is OVRLDtrack in component Irel (dimensionless). C STATES(20) is OVRLDtrack2 in component Irel (dimensionless). C STATES(21) is OVRLDtrack3 in component Irel (dimensionless). C CONSTS(32) is CSQNthresh in component Irel (mM). C CONSTS(33) is Logicthresh in component Irel (dimensionless). C ALGBRC(47) is i_up in component Iup (mM_per_ms). C CONSTS(52) is I_up_max in component Iup (mM_per_ms). C CONSTS(34) is K_mup in component Iup (mM). C ALGBRC(48) is i_leak in component Ileak (mM_per_ms). C CONSTS(53) is K_leak in component Ileak (per_ms). C STATES(22) is Ca_NSR in component Ionic_concentrations (mM). C ALGBRC(50) is i_tr in component Itr (mM_per_ms). C CONSTS(35) is tau_tr in component Itr (ms). C CONSTS(36) is K_mTn in component calcium_buffers_in_the_myoplasm (mM). C CONSTS(37) is K_mCMDN in component calcium_buffers_in_the_myoplasm (mM). C CONSTS(38) is Tn_max in component calcium_buffers_in_the_myoplasm (mM). C CONSTS(39) is CMDN_max in component calcium_buffers_in_the_myoplasm (mM). C CONSTS(40) is buffon in component calcium_buffers_in_the_myoplasm (dimensionless). C ALGBRC(49) is Cai_bufc in component calcium_buffers_in_the_myoplasm (dimensionless). C CONSTS(41) is CSQN_max in component calcium_buffers_in_the_JSR (mM). C ALGBRC(51) is Ca_JSR_bufc in component calcium_buffers_in_the_JSR (dimensionless). C CONSTS(42) is preplength in component Ionic_concentrations (um). C CONSTS(43) is radius in component Ionic_concentrations (um). C CONSTS(54) is volume in component Ionic_concentrations (fL). C CONSTS(56) is V_NSR in component Ionic_concentrations (fL). C RATES(1) is d/dt V in component cell (mV). C RATES(3) is d/dt m in component INa_m_gate (dimensionless). C RATES(4) is d/dt h in component INa_h_gate (dimensionless). C RATES(5) is d/dt j in component INa_j_gate (dimensionless). C RATES(7) is d/dt d in component ICa_d_gate (dimensionless). C RATES(8) is d/dt f in component ICa_f_gate (dimensionless). C RATES(11) is d/dt r in component Ito_r_gate (dimensionless). C RATES(10) is d/dt t in component Ito_t_gate (dimensionless). C RATES(12) is d/dt Xs in component IKs_Xs_gate (dimensionless). C RATES(13) is d/dt Xr in component IKr_Xr_gate (dimensionless). C RATES(15) is d/dt APtrack in component Irel (dimensionless). C RATES(16) is d/dt APtrack2 in component Irel (dimensionless). C RATES(17) is d/dt APtrack3 in component Irel (dimensionless). C RATES(18) is d/dt Cainfluxtrack in component Irel (mM). C RATES(19) is d/dt OVRLDtrack in component Irel (dimensionless). C RATES(20) is d/dt OVRLDtrack2 in component Irel (dimensionless). C RATES(21) is d/dt OVRLDtrack3 in component Irel (dimensionless). C RATES(2) is d/dt Nai in component Ionic_concentrations (mM). C RATES(9) is d/dt Ki in component Ionic_concentrations (mM). C RATES(6) is d/dt Cai in component Ionic_concentrations (mM). C RATES(14) is d/dt Ca_JSR in component Ionic_concentrations (mM). C RATES(22) is d/dt Ca_NSR in component Ionic_concentrations (mM). C SUBROUTINE initConsts(CONSTS, RATES, STATES) REAL CONSTS(*), RATES(*), STATES(*) STATES(1) = -90.7796417483135 CONSTS(1) = 8.3143 CONSTS(2) = 310.15 CONSTS(3) = 96.4867 CONSTS(4) = 153.4 CONSTS(5) = 0 CONSTS(6) = 0 CONSTS(7) = 1000 CONSTS(8) = 3 CONSTS(9) = -15 CONSTS(10) = 0 CONSTS(11) = -60 CONSTS(12) = 0 CONSTS(13) = 16 STATES(2) = 10 CONSTS(14) = 138 STATES(3) = 0.000585525582501575 STATES(4) = 0.995865529216237 STATES(5) = 0.997011204496203 CONSTS(15) = 0.064 STATES(6) = 0.0002 CONSTS(16) = 2 STATES(7) = 2.50653215966786e-10 STATES(8) = 0.92130376850548 CONSTS(17) = 0.0006 STATES(9) = 140 CONSTS(18) = 4 STATES(10) = 0.999897251531651 STATES(11) = 1.75032478501027e-5 CONSTS(19) = 0.02 STATES(12) = 0.00885658064818147 CONSTS(20) = 0.015 STATES(13) = 0.000215523048438941 CONSTS(21) = 10 CONSTS(22) = 1.5 CONSTS(23) = 87.5 CONSTS(24) = 1.38 CONSTS(25) = 0.1 CONSTS(26) = 0.35 CONSTS(27) = 22 CONSTS(28) = 3 CONSTS(29) = 0.0008 CONSTS(30) = 5e-6 CONSTS(31) = 0.8 STATES(14) = 2.5 STATES(15) = -1.372158997089e-136 STATES(16) = -7.58517896402761e-136 STATES(17) = 4.82035353592764e-5 STATES(18) = -7.71120176147331e-138 STATES(19) = 1e-6 STATES(20) = 1e-6 STATES(21) = 1e-6 CONSTS(32) = 0.7 CONSTS(33) = 0.98 CONSTS(34) = 0.00092 STATES(22) = 2.5 CONSTS(35) = 180 CONSTS(36) = 0.0005 CONSTS(37) = 0.00238 CONSTS(38) = 0.07 CONSTS(39) = 0.05 CONSTS(40) = 1 CONSTS(41) = 10 CONSTS(42) = 100 CONSTS(43) = 11 CONSTS(44) = CONSTS(3)/( CONSTS(1)*CONSTS(2)) CONSTS(45) = TERNRY(CONSTS(5).EQ.0.00000, 0.300000, 0.191000) CONSTS(46) = TERNRY(CONSTS(5).EQ.0.00000, 2.50000, 2.00000) CONSTS(47) = TERNRY(CONSTS(5).EQ.0.00000, 0.000850000, 0.00130000) CONSTS(48) = TERNRY(CONSTS(5).EQ.0.00000, 0.00100000, 0.00000) CONSTS(49) = TERNRY(CONSTS(5).EQ.0.00000, 1.30000, 0.750000) CONSTS(50) = (1.00000/7.00000)*(EXP(CONSTS(14)/67.3000) - 1.00000) CONSTS(51) = TERNRY(CONSTS(5).EQ.0.00000, 1000.00, 1650.00) CONSTS(52) = TERNRY(CONSTS(5).EQ.0.00000, 0.00450000, 0.00150000) CONSTS(53) = TERNRY(CONSTS(5).EQ.0.00000, 0.000260000, 0.000170000) CONSTS(54) = 3.14159265358979*CONSTS(42)*CONSTS(43) ** 2.00000 CONSTS(55) = 0.680000*CONSTS(54) CONSTS(56) = 0.0552000*CONSTS(54) CONSTS(57) = 0.00480000*CONSTS(54) RETURN END SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) RATES(16) = TERNRY(STATES(15).LT.0.200000.AND.STATES(15).GT.0.180000, 100.000*(1.00000 - STATES(16)) - 0.500000*STATES(16), - 0.500000*STATES(16)) RATES(17) = TERNRY(STATES(15).LT.0.200000.AND.STATES(15).GT.0.180000, 100.000*(1.00000 - STATES(17)) - 0.500000*STATES(17), - 0.0100000*STATES(17)) RATES(19) = TERNRY(1.00000/(1.00000+CONSTS(31)/STATES(14)).GT.CONSTS(32).AND.STATES(21).LT.0.370000.AND.STATES(17).LT.0.370000, 0.00000*50.0000*(1.00000 - STATES(19)), - 0.00000*0.500000*STATES(19)) RATES(20) = TERNRY(STATES(19).GT.CONSTS(33).AND.STATES(20).LT.CONSTS(33), 0.00000*50.0000*(1.00000 - STATES(20)), - 0.00000*0.500000*STATES(20)) RATES(21) = TERNRY(STATES(19).GT.CONSTS(33).AND.STATES(21).LT.CONSTS(33), 0.00000*50.0000*(1.00000 - STATES(21)), - 0.00000*0.0100000*STATES(21)) ALGBRC(2) = TERNRY(ABS(STATES(1)+47.1300).GT.0.00100000, ( 0.320000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300))), 3.20000) ALGBRC(12) = 0.0800000*EXP(- STATES(1)/11.0000) RATES(3) = ALGBRC(2)*(1.00000 - STATES(3)) - ALGBRC(12)*STATES(3) ALGBRC(3) = TERNRY(STATES(1).LT.- 40.0000, 0.135000*EXP((80.0000+STATES(1))/- 6.80000), 0.00000) ALGBRC(13) = TERNRY(STATES(1).LT.- 40.0000, 3.56000*EXP( 0.0790000*STATES(1))+ 310000.*EXP( 0.350000*STATES(1)), 1.00000/( 0.130000*(1.00000+EXP(- (STATES(1)+10.6600)/11.1000)))) RATES(4) = ALGBRC(3)*(1.00000 - STATES(4)) - ALGBRC(13)*STATES(4) ALGBRC(4) = TERNRY(STATES(1).LT.- 40.0000, ( ( - 127140.*EXP( 0.244000*STATES(1)) - 3.47400e-05*EXP( - 0.0439100*STATES(1)))*(STATES(1)+37.7800))/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))), 0.00000) ALGBRC(14) = TERNRY(STATES(1).LT.- 40.0000, ( 0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400))), ( 0.300000*EXP( - 2.53500e-07*STATES(1)))/(1.00000+EXP( - 0.100000*(STATES(1)+32.0000)))) RATES(5) = ALGBRC(4)*(1.00000 - STATES(5)) - ALGBRC(14)*STATES(5) ALGBRC(5) = (14.9859/( 16.6813* ( 2.00000* 3.14159265358979) ** (1.0 / 2)))*EXP(- (STATES(1) - 22.3600)/16.6813 ** 2.00000/2.00000) ALGBRC(15) = 0.147100 - (5.30000/( 14.9300* ( 2.00000* 3.14159265358979) ** (1.0 / 2)))*EXP(- (STATES(1) - 6.27440)/14.9300 ** 2.00000/2.00000) RATES(7) = ALGBRC(5)*(1.00000 - STATES(7)) - ALGBRC(15)*STATES(7) ALGBRC(6) = 0.00687200/(1.00000+EXP((STATES(1) - 6.15460)/6.12230)) ALGBRC(16) = ( 0.0687000*EXP( - 0.108100*(STATES(1)+9.82550))+0.0112000)/(1.00000+EXP( - 0.277900*(STATES(1)+9.82550)))+0.000547400 RATES(8) = ALGBRC(6)*(1.00000 - STATES(8)) - ALGBRC(16)*STATES(8) ALGBRC(7) = ( 0.526600*EXP( - 0.0166000*(STATES(1) - 42.2912)))/(1.00000+EXP( - 0.0943000*(STATES(1) - 42.2912))) ALGBRC(17) = ( 5.18600e-05*STATES(1)+ 0.514900*EXP( - 0.134400*(STATES(1) - 5.00270)))/(1.00000+EXP( - 0.134800*(STATES(1) - 5.18600e-05))) RATES(11) = ALGBRC(7)*(1.00000 - STATES(11)) - ALGBRC(17)*STATES(11) ALGBRC(8) = ( 5.61200e-05*STATES(1)+ 0.0721000*EXP( - 0.173000*(STATES(1)+34.2531)))/(1.00000+EXP( - 0.173200*(STATES(1)+34.2531))) ALGBRC(18) = ( 0.000121500*STATES(1)+ 0.0767000*EXP( - 1.66000e-09*(STATES(1)+34.0235)))/(1.00000+EXP( - 0.160400*(STATES(1)+34.0235))) RATES(10) = ALGBRC(8)*(1.00000 - STATES(10)) - ALGBRC(18)*STATES(10) ALGBRC(9) = 0.00301300/(1.00000+EXP((7.44540 - (STATES(1)+10.0000))/14.3171)) ALGBRC(19) = 0.00587000/(1.00000+EXP((5.95000+STATES(1)+10.0000)/15.8200)) RATES(12) = ALGBRC(9)*(1.00000 - STATES(12)) - ALGBRC(19)*STATES(12) ALGBRC(10) = ( 0.00500000*EXP( 0.000526600*(STATES(1)+4.06700)))/(1.00000+EXP( - 0.126200*(STATES(1)+4.06700))) ALGBRC(20) = ( 0.0160000*EXP( 0.00160000*(STATES(1)+65.6600)))/(1.00000+EXP( 0.0783000*(STATES(1)+65.6600))) RATES(13) = ALGBRC(10)*(1.00000 - STATES(13)) - ALGBRC(20)*STATES(13) ALGBRC(26) = log(( 0.0430000*CONSTS(14)+CONSTS(18))/( 0.0430000*STATES(2)+STATES(9)))/CONSTS(44) ALGBRC(27) = CONSTS(45)*STATES(11)*STATES(10)*(STATES(1) - ALGBRC(26)) ALGBRC(31) = 1.00000/(1.00000+EXP((STATES(1)+26.0000)/23.0000)) ALGBRC(30) = log(CONSTS(18)/STATES(9))/CONSTS(44) ALGBRC(32) = CONSTS(20)*STATES(13)*ALGBRC(31)*(STATES(1) - ALGBRC(30)) ALGBRC(28) = log(( 0.0183300*CONSTS(14)+CONSTS(18))/( 0.0183300*STATES(2)+STATES(9)))/CONSTS(44) ALGBRC(29) = CONSTS(19)*STATES(12) ** 2.00000*(STATES(1) - ALGBRC(28)) ALGBRC(33) = log(CONSTS(18)/STATES(9))/CONSTS(44) ALGBRC(34) = 0.100000/(1.00000+EXP( 0.0600000*(STATES(1) - (ALGBRC(33)+200.000)))) ALGBRC(35) = ( 3.00000*EXP( 0.000200000*(STATES(1)+100.000+- ALGBRC(33)))+ 1.00000*EXP( 0.100000*(STATES(1) - (10.0000+ALGBRC(33)))))/(1.00000+EXP( - 0.500000*(STATES(1) - ALGBRC(33)))) ALGBRC(36) = ALGBRC(34)/(ALGBRC(34)+ALGBRC(35)) ALGBRC(37) = CONSTS(46)*ALGBRC(36)*(STATES(1) - ALGBRC(33)) ALGBRC(40) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*STATES(1)*CONSTS(44))+ 0.0365000*CONSTS(50)*EXP( - STATES(1)*CONSTS(44))) ALGBRC(41) = ( (( CONSTS(49)*ALGBRC(40)*1.00000)/(1.00000+CONSTS(21)/STATES(2) ** 1.50000))*CONSTS(18))/(CONSTS(18)+CONSTS(22)) ALGBRC(1) = INT(VOI/CONSTS(7))*CONSTS(7) ALGBRC(11) = TERNRY(VOI - ALGBRC(1).GE.CONSTS(6).AND.VOI - ALGBRC(1).LE.CONSTS(6)+CONSTS(8), CONSTS(9), 0.00000) RATES(9) = ( - 1.00000*CONSTS(4)*((ALGBRC(27)+ALGBRC(32)+ALGBRC(37)+ALGBRC(11)+ALGBRC(29)) - 2.00000*ALGBRC(41)))/( CONSTS(55)*CONSTS(3)) ALGBRC(23) = log(CONSTS(16)/STATES(6))/( 2.00000*CONSTS(44)) ALGBRC(24) = CONSTS(17)/(CONSTS(17)+STATES(6)) ALGBRC(25) = CONSTS(15)*STATES(7)*STATES(8)*ALGBRC(24)*(STATES(1) - ALGBRC(23)) ALGBRC(42) = (( (( (( CONSTS(51)*1.00000)/(CONSTS(23) ** 3.00000+CONSTS(14) ** 3.00000))*1.00000)/(CONSTS(24)+CONSTS(16)))*1.00000)/(1.00000+ CONSTS(25)*EXP( (CONSTS(26) - 1.00000)*STATES(1)*CONSTS(44))))*( EXP( CONSTS(26)*STATES(1)*CONSTS(44))*STATES(2) ** 3.00000*CONSTS(16) - EXP( (CONSTS(26) - 1.00000)*STATES(1)*CONSTS(44))*CONSTS(14) ** 3.00000*STATES(6)) ALGBRC(38) = CONSTS(47)*(STATES(1) - ALGBRC(23)) RATES(18) = TERNRY(STATES(15).GT.0.200000, ( - CONSTS(4)*((ALGBRC(25) - ALGBRC(42))+ALGBRC(38)))/( 2.00000*CONSTS(55)*CONSTS(3)), TERNRY(STATES(16).GT.0.0100000.AND.STATES(15).LE.0.200000, 0.00000, - 0.500000*STATES(18)) ALGBRC(21) = log(CONSTS(14)/STATES(2))/CONSTS(44) ALGBRC(22) = CONSTS(13)*STATES(3) ** 3.00000*STATES(4)*STATES(5)*(STATES(1) - ALGBRC(21)) ALGBRC(39) = CONSTS(48)*(STATES(1) - ALGBRC(21)) RATES(2) = ( - 1.00000*CONSTS(4)*(ALGBRC(22)+ALGBRC(39)+ ALGBRC(42)*3.00000+ ALGBRC(41)*3.00000))/( CONSTS(55)*CONSTS(3)) ALGBRC(43) = ALGBRC(22)+ALGBRC(25)+ALGBRC(27)+ALGBRC(32)+ALGBRC(29)+ALGBRC(37)+ALGBRC(42)+ALGBRC(41)+ALGBRC(39)+ALGBRC(38)+ALGBRC(11) ALGBRC(45) = TERNRY(CONSTS(10).EQ.1.00000.AND.(VOI.LE.500.000.OR.VOI.GT.800.000), (CONSTS(11) - STATES(1))/1.00000, TERNRY(CONSTS(10).EQ.1.00000.AND.VOI.GT.500.000.AND.VOI.LE.800.000, (CONSTS(12) - STATES(1))/1.00000, - 1.00000*ALGBRC(43)) RATES(1) = ALGBRC(45) RATES(15) = TERNRY(ALGBRC(45).GT.150.000, 100.000*(1.00000 - STATES(15)) - 0.500000*STATES(15), - 0.500000*STATES(15)) ALGBRC(44) = TERNRY(STATES(18).GT.CONSTS(30), (( 1.00000*CONSTS(27)*(STATES(18) - CONSTS(30)))/((CONSTS(29)+STATES(18)) - CONSTS(30)))*(1.00000 - STATES(16))*STATES(16), TERNRY(STATES(18).LE.CONSTS(30).AND.STATES(20).GT.0.00000, 0.00000*CONSTS(28)*(1.00000 - STATES(20))*STATES(20), 0.00000) ALGBRC(46) = ALGBRC(44)*(STATES(14) - STATES(6)) ALGBRC(47) = ( CONSTS(52)*STATES(6))/(STATES(6)+CONSTS(34)) ALGBRC(48) = CONSTS(53)*STATES(22) ALGBRC(49) = 1.00000/(1.00000+ CONSTS(40)*(( CONSTS(39)*CONSTS(37))/CONSTS(37)+STATES(6) ** 2.00000+( CONSTS(38)*CONSTS(36))/CONSTS(36)+STATES(6) ** 2.00000)) RATES(6) = ALGBRC(49)*(( - CONSTS(4)*((ALGBRC(25) - 2.00000*ALGBRC(42))+ALGBRC(38)))/( 2.00000*CONSTS(55)*CONSTS(3))+( ALGBRC(46)*CONSTS(57))/CONSTS(55)+( (ALGBRC(48) - ALGBRC(47))*CONSTS(56))/CONSTS(55)) ALGBRC(50) = ( 1.00000*(STATES(22) - STATES(14)))/CONSTS(35) RATES(22) = - 1.00000*((ALGBRC(48)+ (CONSTS(57)/CONSTS(56))*ALGBRC(50)) - ALGBRC(47)) ALGBRC(51) = 1.00000/(1.00000+( CONSTS(41)*CONSTS(31))/CONSTS(31)+STATES(14) ** 2.00000) RATES(14) = ALGBRC(51)*(ALGBRC(50) - ALGBRC(46)) RETURN END SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(2) = TERNRY(ABS(STATES(1)+47.1300).GT.0.00100000, ( 0.320000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300))), 3.20000) ALGBRC(12) = 0.0800000*EXP(- STATES(1)/11.0000) ALGBRC(3) = TERNRY(STATES(1).LT.- 40.0000, 0.135000*EXP((80.0000+STATES(1))/- 6.80000), 0.00000) ALGBRC(13) = TERNRY(STATES(1).LT.- 40.0000, 3.56000*EXP( 0.0790000*STATES(1))+ 310000.*EXP( 0.350000*STATES(1)), 1.00000/( 0.130000*(1.00000+EXP(- (STATES(1)+10.6600)/11.1000)))) ALGBRC(4) = TERNRY(STATES(1).LT.- 40.0000, ( ( - 127140.*EXP( 0.244000*STATES(1)) - 3.47400e-05*EXP( - 0.0439100*STATES(1)))*(STATES(1)+37.7800))/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))), 0.00000) ALGBRC(14) = TERNRY(STATES(1).LT.- 40.0000, ( 0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400))), ( 0.300000*EXP( - 2.53500e-07*STATES(1)))/(1.00000+EXP( - 0.100000*(STATES(1)+32.0000)))) ALGBRC(5) = (14.9859/( 16.6813* ( 2.00000* 3.14159265358979) ** (1.0 / 2)))*EXP(- (STATES(1) - 22.3600)/16.6813 ** 2.00000/2.00000) ALGBRC(15) = 0.147100 - (5.30000/( 14.9300* ( 2.00000* 3.14159265358979) ** (1.0 / 2)))*EXP(- (STATES(1) - 6.27440)/14.9300 ** 2.00000/2.00000) ALGBRC(6) = 0.00687200/(1.00000+EXP((STATES(1) - 6.15460)/6.12230)) ALGBRC(16) = ( 0.0687000*EXP( - 0.108100*(STATES(1)+9.82550))+0.0112000)/(1.00000+EXP( - 0.277900*(STATES(1)+9.82550)))+0.000547400 ALGBRC(7) = ( 0.526600*EXP( - 0.0166000*(STATES(1) - 42.2912)))/(1.00000+EXP( - 0.0943000*(STATES(1) - 42.2912))) ALGBRC(17) = ( 5.18600e-05*STATES(1)+ 0.514900*EXP( - 0.134400*(STATES(1) - 5.00270)))/(1.00000+EXP( - 0.134800*(STATES(1) - 5.18600e-05))) ALGBRC(8) = ( 5.61200e-05*STATES(1)+ 0.0721000*EXP( - 0.173000*(STATES(1)+34.2531)))/(1.00000+EXP( - 0.173200*(STATES(1)+34.2531))) ALGBRC(18) = ( 0.000121500*STATES(1)+ 0.0767000*EXP( - 1.66000e-09*(STATES(1)+34.0235)))/(1.00000+EXP( - 0.160400*(STATES(1)+34.0235))) ALGBRC(9) = 0.00301300/(1.00000+EXP((7.44540 - (STATES(1)+10.0000))/14.3171)) ALGBRC(19) = 0.00587000/(1.00000+EXP((5.95000+STATES(1)+10.0000)/15.8200)) ALGBRC(10) = ( 0.00500000*EXP( 0.000526600*(STATES(1)+4.06700)))/(1.00000+EXP( - 0.126200*(STATES(1)+4.06700))) ALGBRC(20) = ( 0.0160000*EXP( 0.00160000*(STATES(1)+65.6600)))/(1.00000+EXP( 0.0783000*(STATES(1)+65.6600))) ALGBRC(26) = log(( 0.0430000*CONSTS(14)+CONSTS(18))/( 0.0430000*STATES(2)+STATES(9)))/CONSTS(44) ALGBRC(27) = CONSTS(45)*STATES(11)*STATES(10)*(STATES(1) - ALGBRC(26)) ALGBRC(31) = 1.00000/(1.00000+EXP((STATES(1)+26.0000)/23.0000)) ALGBRC(30) = log(CONSTS(18)/STATES(9))/CONSTS(44) ALGBRC(32) = CONSTS(20)*STATES(13)*ALGBRC(31)*(STATES(1) - ALGBRC(30)) ALGBRC(28) = log(( 0.0183300*CONSTS(14)+CONSTS(18))/( 0.0183300*STATES(2)+STATES(9)))/CONSTS(44) ALGBRC(29) = CONSTS(19)*STATES(12) ** 2.00000*(STATES(1) - ALGBRC(28)) ALGBRC(33) = log(CONSTS(18)/STATES(9))/CONSTS(44) ALGBRC(34) = 0.100000/(1.00000+EXP( 0.0600000*(STATES(1) - (ALGBRC(33)+200.000)))) ALGBRC(35) = ( 3.00000*EXP( 0.000200000*(STATES(1)+100.000+- ALGBRC(33)))+ 1.00000*EXP( 0.100000*(STATES(1) - (10.0000+ALGBRC(33)))))/(1.00000+EXP( - 0.500000*(STATES(1) - ALGBRC(33)))) ALGBRC(36) = ALGBRC(34)/(ALGBRC(34)+ALGBRC(35)) ALGBRC(37) = CONSTS(46)*ALGBRC(36)*(STATES(1) - ALGBRC(33)) ALGBRC(40) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*STATES(1)*CONSTS(44))+ 0.0365000*CONSTS(50)*EXP( - STATES(1)*CONSTS(44))) ALGBRC(41) = ( (( CONSTS(49)*ALGBRC(40)*1.00000)/(1.00000+CONSTS(21)/STATES(2) ** 1.50000))*CONSTS(18))/(CONSTS(18)+CONSTS(22)) ALGBRC(1) = INT(VOI/CONSTS(7))*CONSTS(7) ALGBRC(11) = TERNRY(VOI - ALGBRC(1).GE.CONSTS(6).AND.VOI - ALGBRC(1).LE.CONSTS(6)+CONSTS(8), CONSTS(9), 0.00000) ALGBRC(23) = log(CONSTS(16)/STATES(6))/( 2.00000*CONSTS(44)) ALGBRC(24) = CONSTS(17)/(CONSTS(17)+STATES(6)) ALGBRC(25) = CONSTS(15)*STATES(7)*STATES(8)*ALGBRC(24)*(STATES(1) - ALGBRC(23)) ALGBRC(42) = (( (( (( CONSTS(51)*1.00000)/(CONSTS(23) ** 3.00000+CONSTS(14) ** 3.00000))*1.00000)/(CONSTS(24)+CONSTS(16)))*1.00000)/(1.00000+ CONSTS(25)*EXP( (CONSTS(26) - 1.00000)*STATES(1)*CONSTS(44))))*( EXP( CONSTS(26)*STATES(1)*CONSTS(44))*STATES(2) ** 3.00000*CONSTS(16) - EXP( (CONSTS(26) - 1.00000)*STATES(1)*CONSTS(44))*CONSTS(14) ** 3.00000*STATES(6)) ALGBRC(38) = CONSTS(47)*(STATES(1) - ALGBRC(23)) ALGBRC(21) = log(CONSTS(14)/STATES(2))/CONSTS(44) ALGBRC(22) = CONSTS(13)*STATES(3) ** 3.00000*STATES(4)*STATES(5)*(STATES(1) - ALGBRC(21)) ALGBRC(39) = CONSTS(48)*(STATES(1) - ALGBRC(21)) ALGBRC(43) = ALGBRC(22)+ALGBRC(25)+ALGBRC(27)+ALGBRC(32)+ALGBRC(29)+ALGBRC(37)+ALGBRC(42)+ALGBRC(41)+ALGBRC(39)+ALGBRC(38)+ALGBRC(11) ALGBRC(45) = TERNRY(CONSTS(10).EQ.1.00000.AND.(VOI.LE.500.000.OR.VOI.GT.800.000), (CONSTS(11) - STATES(1))/1.00000, TERNRY(CONSTS(10).EQ.1.00000.AND.VOI.GT.500.000.AND.VOI.LE.800.000, (CONSTS(12) - STATES(1))/1.00000, - 1.00000*ALGBRC(43)) ALGBRC(44) = TERNRY(STATES(18).GT.CONSTS(30), (( 1.00000*CONSTS(27)*(STATES(18) - CONSTS(30)))/((CONSTS(29)+STATES(18)) - CONSTS(30)))*(1.00000 - STATES(16))*STATES(16), TERNRY(STATES(18).LE.CONSTS(30).AND.STATES(20).GT.0.00000, 0.00000*CONSTS(28)*(1.00000 - STATES(20))*STATES(20), 0.00000) ALGBRC(46) = ALGBRC(44)*(STATES(14) - STATES(6)) ALGBRC(47) = ( CONSTS(52)*STATES(6))/(STATES(6)+CONSTS(34)) ALGBRC(48) = CONSTS(53)*STATES(22) ALGBRC(49) = 1.00000/(1.00000+ CONSTS(40)*(( CONSTS(39)*CONSTS(37))/CONSTS(37)+STATES(6) ** 2.00000+( CONSTS(38)*CONSTS(36))/CONSTS(36)+STATES(6) ** 2.00000)) ALGBRC(50) = ( 1.00000*(STATES(22) - STATES(14)))/CONSTS(35) ALGBRC(51) = 1.00000/(1.00000+( CONSTS(41)*CONSTS(31))/CONSTS(31)+STATES(14) ** 2.00000) RETURN END REAL FUNCTION TERNRY(TEST, VALA, VALB) LOGICAL TEST REAL VALA, VALB IF (TEST) THEN TERNRY = VALA ELSE TERNRY = VALB ENDIF RETURN END