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 45 entries in the algebraic variable array. C There are a total of 11 entries in each of the rate and state variable arrays. C There are a total of 64 entries in the constant variable array. C C C VOI is time in component environment (millisecond). C ALGBRC(4) is SOVFThick in component sarcomere_geometry (dimensionless). C ALGBRC(5) is SOVFThin in component sarcomere_geometry (dimensionless). C ALGBRC(1) is sovr_ze in component sarcomere_geometry (micrometre). C ALGBRC(2) is sovr_cle in component sarcomere_geometry (micrometre). C ALGBRC(3) is len_sovr in component sarcomere_geometry (micrometre). C CONSTS(1) is SLmax in component normalised_active_and_passive_force (micrometre). C CONSTS(2) is SLmin in component normalised_active_and_passive_force (micrometre). C CONSTS(3) is len_thin in component model_parameters (micrometre). C CONSTS(4) is len_thick in component model_parameters (micrometre). C CONSTS(5) is len_hbare in component model_parameters (micrometre). C STATES(1) is SL in component normalised_active_and_passive_force (micrometre). C STATES(2) is TRPNCaL in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C STATES(3) is TRPNCaH in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C ALGBRC(43) is dTRPNCaL in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C ALGBRC(44) is dTRPNCaH in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C ALGBRC(11) is kn_pT in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C ALGBRC(15) is kp_nT in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C CONSTS(56) is konT in component Ca_binding_to_troponin_to_thin_filament_regulation (second_order_rate_constant). C CONSTS(57) is koffLT in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C CONSTS(58) is koffHT in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C CONSTS(6) is Qkon in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C CONSTS(7) is Qkoff in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C CONSTS(8) is Qkn_p in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C CONSTS(9) is Qkp_n in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C CONSTS(10) is kon in component Ca_binding_to_troponin_to_thin_filament_regulation (second_order_rate_constant). C CONSTS(11) is koffL in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C CONSTS(12) is koffH in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C CONSTS(13) is perm50 in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C CONSTS(14) is nperm in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C CONSTS(15) is kn_p in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C CONSTS(16) is kp_n in component Ca_binding_to_troponin_to_thin_filament_regulation (first_order_rate_constant). C CONSTS(17) is koffmod in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C ALGBRC(7) is Tropreg in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C ALGBRC(9) is permtot in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C ALGBRC(13) is inprmt in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C CONSTS(18) is TmpC in component model_parameters (celsius). C ALGBRC(41) is Cai in component equation_for_simulated_calcium_transient (micromolar). C CONSTS(59) is fappT in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C ALGBRC(18) is gappT in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C ALGBRC(21) is hfT in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C ALGBRC(22) is hbT in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C ALGBRC(24) is gxbT in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C CONSTS(19) is fapp in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C CONSTS(20) is gapp in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C CONSTS(21) is hf in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C CONSTS(22) is hb in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C CONSTS(23) is gxb in component thin_filament_regulation_and_crossbridge_cycling_rates (first_order_rate_constant). C CONSTS(24) is gslmod in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C ALGBRC(19) is hfmd in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C ALGBRC(20) is hbmd in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(25) is hfmdc in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(26) is hbmdc in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(27) is sigmap in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(28) is sigman in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(29) is xbmodsp in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(30) is Qfapp in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(31) is Qgapp in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(32) is Qhf in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(33) is Qhb in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(34) is Qgxb in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C ALGBRC(23) is gxbmd in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C ALGBRC(17) is gapslmd in component thin_filament_regulation_and_crossbridge_cycling_rates (dimensionless). C CONSTS(35) is x_0 in component model_parameters (micrometre). C STATES(4) is xXBpostr in component mean_strain_of_strongly_bound_states (micrometre). C STATES(5) is xXBprer in component mean_strain_of_strongly_bound_states (micrometre). C STATES(6) is XBpostr in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C STATES(7) is XBprer in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C ALGBRC(25) is dXBpostr in component regulation_and_crossbridge_cycling_state_equations (first_order_rate_constant). C ALGBRC(27) is dXBprer in component regulation_and_crossbridge_cycling_state_equations (first_order_rate_constant). C STATES(8) is N_NoXB in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C STATES(9) is P_NoXB in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C ALGBRC(26) is P in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C STATES(10) is N in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C ALGBRC(32) is dxXBpostr in component mean_strain_of_strongly_bound_states (micrometre_per_millisecond). C ALGBRC(31) is dxXBprer in component mean_strain_of_strongly_bound_states (micrometre_per_millisecond). C CONSTS(36) is xPsi in component mean_strain_of_strongly_bound_states (dimensionless). C ALGBRC(28) is dutyprer in component mean_strain_of_strongly_bound_states (dimensionless). C ALGBRC(29) is dutypostr in component mean_strain_of_strongly_bound_states (dimensionless). C ALGBRC(30) is dSL in component normalised_active_and_passive_force (micrometre_per_millisecond). C CONSTS(62) is SSXBpostr in component normalised_active_and_passive_force (dimensionless). C CONSTS(60) is SSXBprer in component normalised_active_and_passive_force (dimensionless). C CONSTS(37) is kxb in component normalised_active_and_passive_force (millinewton_per_millimetre2). C CONSTS(63) is Fnordv in component normalised_active_and_passive_force (millinewton_micrometre_per_millimetre2). C ALGBRC(6) is force in component normalised_active_and_passive_force (millinewton_micrometre_per_millimetre2). C ALGBRC(8) is active in component normalised_active_and_passive_force (unit_normalised_force). C ALGBRC(14) is ppforce in component normalised_active_and_passive_force (unit_normalised_force). C ALGBRC(10) is ppforce_t in component normalised_active_and_passive_force (unit_normalised_force). C ALGBRC(12) is ppforce_c in component normalised_active_and_passive_force (unit_normalised_force). C CONSTS(64) is preload in component normalised_active_and_passive_force (unit_normalised_force). C ALGBRC(16) is afterload in component normalised_active_and_passive_force (unit_normalised_force). C STATES(11) is intf in component normalised_active_and_passive_force (unit_normalised_force_millisecond). C CONSTS(38) is SL_c in component normalised_active_and_passive_force (micrometre). C CONSTS(39) is SLrest in component normalised_active_and_passive_force (micrometre). C CONSTS(40) is SLset in component normalised_active_and_passive_force (micrometre). C CONSTS(41) is PCon_t in component normalised_active_and_passive_force (unit_normalised_force). C CONSTS(42) is PExp_t in component normalised_active_and_passive_force (per_micrometre). C CONSTS(43) is PCon_c in component normalised_active_and_passive_force (unit_normalised_force). C CONSTS(44) is PExp_c in component normalised_active_and_passive_force (per_micrometre). C CONSTS(45) is massf in component normalised_active_and_passive_force (unit_normalised_force_millisecond2_per_micrometre). C CONSTS(46) is visc in component normalised_active_and_passive_force (unit_normalised_force_millisecond_per_micrometre). C CONSTS(47) is KSE in component normalised_active_and_passive_force (unit_normalised_force_per_micrometre). C CONSTS(48) is SEon in component normalised_active_and_passive_force (dimensionless). C ALGBRC(33) is FrSBXB in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (dimensionless). C ALGBRC(34) is dFrSBXB in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (first_order_rate_constant). C ALGBRC(36) is dsovr_ze in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (micrometre_per_millisecond). C ALGBRC(37) is dsovr_cle in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (micrometre_per_millisecond). C ALGBRC(38) is dlen_sovr in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (micrometre_per_millisecond). C ALGBRC(40) is dSOVFThick in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (first_order_rate_constant). C ALGBRC(39) is dSOVFThin in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (first_order_rate_constant). C CONSTS(49) is kxb in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (millinewton_per_millimetre2). C ALGBRC(42) is dforce in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (millinewton_micrometre_per_millimetre2_per_millisecond). C CONSTS(50) is Trop_conc in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (micromolar). C ALGBRC(35) is TropTot in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (micromolar). C ALGBRC(45) is dTropTot in component calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding (micromolar_per_millisecond). C CONSTS(61) is beta in component equation_for_simulated_calcium_transient (dimensionless). C CONSTS(51) is tau1 in component equation_for_simulated_calcium_transient (millisecond). C CONSTS(52) is tau2 in component equation_for_simulated_calcium_transient (millisecond). C CONSTS(53) is start_time in component equation_for_simulated_calcium_transient (millisecond). C CONSTS(54) is Ca_amplitude in component equation_for_simulated_calcium_transient (micromolar). C CONSTS(55) is Ca_diastolic in component equation_for_simulated_calcium_transient (micromolar). C RATES(2) is d/dt TRPNCaL in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C RATES(3) is d/dt TRPNCaH in component Ca_binding_to_troponin_to_thin_filament_regulation (dimensionless). C RATES(8) is d/dt N_NoXB in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C RATES(9) is d/dt P_NoXB in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C RATES(10) is d/dt N in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C RATES(7) is d/dt XBprer in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C RATES(6) is d/dt XBpostr in component regulation_and_crossbridge_cycling_state_equations (dimensionless). C RATES(5) is d/dt xXBprer in component mean_strain_of_strongly_bound_states (micrometre). C RATES(4) is d/dt xXBpostr in component mean_strain_of_strongly_bound_states (micrometre). C RATES(1) is d/dt SL in component normalised_active_and_passive_force (micrometre). C RATES(11) is d/dt intf in component normalised_active_and_passive_force (unit_normalised_force_millisecond). C SUBROUTINE initConsts(CONSTS, RATES, STATES) REAL CONSTS(*), RATES(*), STATES(*) CONSTS(1) = 2.4 CONSTS(2) = 1.4 CONSTS(3) = 1.2 CONSTS(4) = 1.65 CONSTS(5) = 0.1 STATES(1) = 1.89999811516093 STATES(2) = 0.0147730085063734 STATES(3) = 0.13066096561522 CONSTS(6) = 1.5 CONSTS(7) = 1.3 CONSTS(8) = 1.6 CONSTS(9) = 1.6 CONSTS(10) = 0.05 CONSTS(11) = 0.25 CONSTS(12) = 0.025 CONSTS(13) = 0.5 CONSTS(14) = 15 CONSTS(15) = 0.5 CONSTS(16) = 0.05 CONSTS(17) = 1 CONSTS(18) = 24 CONSTS(19) = 0.5 CONSTS(20) = 0.07 CONSTS(21) = 2 CONSTS(22) = 0.4 CONSTS(23) = 0.07 CONSTS(24) = 6 CONSTS(25) = 5 CONSTS(26) = 0 CONSTS(27) = 8 CONSTS(28) = 1 CONSTS(29) = 1 CONSTS(30) = 6.25 CONSTS(31) = 2.5 CONSTS(32) = 6.25 CONSTS(33) = 6.25 CONSTS(34) = 6.25 CONSTS(35) = 0.007 STATES(4) = 0.00700005394873882 STATES(5) = 3.41212828972468e-8 STATES(6) = 1.81017564383744e-6 STATES(7) = 3.0494964880038e-7 STATES(8) = 0.999999959256274 STATES(9) = 4.07437173988636e-8 STATES(10) = 0.999997834540066 CONSTS(36) = 2 CONSTS(37) = 120 STATES(11) = -4.5113452510363e-6 CONSTS(38) = 2.25 CONSTS(39) = 1.85 CONSTS(40) = 1.9 CONSTS(41) = 0.002 CONSTS(42) = 10 CONSTS(43) = 0.02 CONSTS(44) = 70 CONSTS(45) = 50 CONSTS(46) = 3 CONSTS(47) = 1 CONSTS(48) = 1 CONSTS(49) = 120 CONSTS(50) = 70 CONSTS(51) = 20 CONSTS(52) = 110 CONSTS(53) = 5 CONSTS(54) = 1.45 CONSTS(55) = 0.09 CONSTS(56) = CONSTS(10)*CONSTS(6) ** (CONSTS(18) - 37.0000)/10.0000 CONSTS(57) = CONSTS(11)*CONSTS(17)*CONSTS(7) ** (CONSTS(18) - 37.0000)/10.0000 CONSTS(58) = CONSTS(12)*CONSTS(17)*CONSTS(7) ** (CONSTS(18) - 37.0000)/10.0000 CONSTS(59) = CONSTS(19)*CONSTS(29)*CONSTS(30) ** (CONSTS(18) - 37.0000)/10.0000 CONSTS(60) = ( CONSTS(22)*CONSTS(19)+ CONSTS(23)*CONSTS(19))/( CONSTS(19)*CONSTS(21)+ CONSTS(23)*CONSTS(21)+ CONSTS(23)*CONSTS(20)+ CONSTS(22)*CONSTS(19)+ CONSTS(22)*CONSTS(20)+ CONSTS(23)*CONSTS(19)) CONSTS(61) = CONSTS(51)/CONSTS(52) ** - 1.00000/(CONSTS(51)/CONSTS(52) - 1.00000) - CONSTS(51)/CONSTS(52) ** - 1.00000/(1.00000 - CONSTS(52)/CONSTS(51)) CONSTS(62) = ( CONSTS(19)*CONSTS(21))/( CONSTS(19)*CONSTS(21)+ CONSTS(23)*CONSTS(21)+ CONSTS(23)*CONSTS(20)+ CONSTS(22)*CONSTS(19)+ CONSTS(22)*CONSTS(20)+ CONSTS(23)*CONSTS(19)) CONSTS(63) = CONSTS(37)*CONSTS(35)*CONSTS(62) CONSTS(64) = (ABS(CONSTS(40) - CONSTS(39))/(CONSTS(40) - CONSTS(39)))*CONSTS(41)*(EXP( CONSTS(42)*ABS(CONSTS(40) - CONSTS(39))) - 1.00000) RETURN END SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(1) = TERNRY(CONSTS(4)/2.00000.LT.STATES(1)/2.00000, CONSTS(4)/2.00000, STATES(1)/2.00000) ALGBRC(2) = TERNRY(STATES(1)/2.00000 - (STATES(1) - CONSTS(3)).GT.CONSTS(5)/2.00000, STATES(1)/2.00000 - (STATES(1) - CONSTS(3)), CONSTS(5)/2.00000) ALGBRC(3) = ALGBRC(1) - ALGBRC(2) ALGBRC(5) = ALGBRC(3)/CONSTS(3) ALGBRC(7) = (1.00000 - ALGBRC(5))*STATES(2)+ ALGBRC(5)*STATES(3) ALGBRC(9) = ABS(1.00000/(1.00000+CONSTS(13)/ALGBRC(7) ** CONSTS(14))) ** (1.0 / 2) ALGBRC(11) = CONSTS(15)*ALGBRC(9)*CONSTS(8) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(13) = TERNRY(1.00000/ALGBRC(9).LT.100.000, 1.00000/ALGBRC(9), 100.000) ALGBRC(15) = CONSTS(16)*ALGBRC(13)*CONSTS(9) ** (CONSTS(18) - 37.0000)/10.0000 RATES(8) = ALGBRC(15)*STATES(9) - ALGBRC(11)*STATES(8) RATES(9) = ALGBRC(11)*STATES(8) - ALGBRC(15)*STATES(9) ALGBRC(4) = ( ALGBRC(3)*2.00000)/(CONSTS(4) - CONSTS(5)) ALGBRC(6) = CONSTS(37)*ALGBRC(4)*( STATES(4)*STATES(6)+ STATES(5)*STATES(7)) ALGBRC(8) = ( 1.00000*ALGBRC(6))/CONSTS(63) ALGBRC(10) = ((STATES(1) - CONSTS(39))/ABS(STATES(1) - CONSTS(39)))*CONSTS(41)*(EXP( CONSTS(42)*ABS(STATES(1) - CONSTS(39))) - 1.00000) ALGBRC(12) = TERNRY(STATES(1).GT.CONSTS(38), CONSTS(43)*(EXP( CONSTS(44)*ABS(STATES(1) - CONSTS(38))) - 1.00000), 0.00000) ALGBRC(14) = ALGBRC(10)+ALGBRC(12) ALGBRC(16) = TERNRY(CONSTS(48).EQ.1.00000, CONSTS(47)*(CONSTS(40) - STATES(1)), 0.00000) RATES(11) = (CONSTS(64)+ALGBRC(16)) - (ALGBRC(14)+ALGBRC(8)) ALGBRC(19) = EXP( (- STATES(5)/ABS(STATES(5)))*CONSTS(25)*STATES(5)/CONSTS(35) ** 2.00000) ALGBRC(21) = CONSTS(21)*ALGBRC(19)*CONSTS(29)*CONSTS(32) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(20) = EXP( ((STATES(4) - CONSTS(35))/ABS(STATES(4) - CONSTS(35)))*CONSTS(26)*(STATES(4) - CONSTS(35))/CONSTS(35) ** 2.00000) ALGBRC(22) = CONSTS(22)*ALGBRC(20)*CONSTS(29)*CONSTS(33) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(23) = TERNRY(STATES(4).LT.CONSTS(35), EXP( CONSTS(27)*(CONSTS(35) - STATES(4))/CONSTS(35) ** 2.00000), EXP( CONSTS(28)*(STATES(4) - CONSTS(35))/CONSTS(35) ** 2.00000)) ALGBRC(24) = CONSTS(23)*ALGBRC(23)*CONSTS(29)*CONSTS(34) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(25) = ALGBRC(21)*STATES(7) - ( ALGBRC(22)*STATES(6)+ ALGBRC(24)*STATES(6)) RATES(6) = ALGBRC(25) ALGBRC(26) = ((1.00000 - STATES(10)) - STATES(7)) - STATES(6) RATES(10) = ALGBRC(15)*ALGBRC(26) - ALGBRC(11)*STATES(10) ALGBRC(17) = 1.00000+ (1.00000 - ALGBRC(4))*CONSTS(24) ALGBRC(18) = CONSTS(20)*ALGBRC(17)*CONSTS(29)*CONSTS(31) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(27) = ( CONSTS(59)*ALGBRC(26)+ ALGBRC(22)*STATES(6)) - ( ALGBRC(18)*STATES(7)+ ALGBRC(21)*STATES(7)) RATES(7) = ALGBRC(27) ALGBRC(30) = TERNRY(STATES(1).LE.CONSTS(1).AND.STATES(1).GT.CONSTS(2), (STATES(11)+ (CONSTS(40) - STATES(1))*CONSTS(46))/CONSTS(45), 0.00000) RATES(1) = ALGBRC(30) ALGBRC(28) = ( ALGBRC(22)*CONSTS(59)+ ALGBRC(24)*CONSTS(59))/( CONSTS(59)*ALGBRC(21)+ ALGBRC(24)*ALGBRC(21)+ ALGBRC(24)*ALGBRC(18)+ ALGBRC(22)*CONSTS(59)+ ALGBRC(22)*ALGBRC(18)+ ALGBRC(24)*CONSTS(59)) ALGBRC(31) = ALGBRC(30)/2.00000+ (CONSTS(36)/ALGBRC(28))*( CONSTS(59)*- STATES(5)+ ALGBRC(22)*(STATES(4) - (CONSTS(35)+STATES(5)))) RATES(5) = ALGBRC(31) ALGBRC(29) = ( CONSTS(59)*ALGBRC(21))/( CONSTS(59)*ALGBRC(21)+ ALGBRC(24)*ALGBRC(21)+ ALGBRC(24)*ALGBRC(18)+ ALGBRC(22)*CONSTS(59)+ ALGBRC(22)*ALGBRC(18)+ ALGBRC(24)*CONSTS(59)) ALGBRC(32) = ALGBRC(30)/2.00000+ (CONSTS(36)/ALGBRC(29))*ALGBRC(21)*((STATES(5)+CONSTS(35)) - STATES(4)) RATES(4) = ALGBRC(32) ALGBRC(41) = TERNRY(VOI.GT.CONSTS(53), ((CONSTS(54) - CONSTS(55))/CONSTS(61))*(EXP(- (VOI - CONSTS(53))/CONSTS(51)) - EXP(- (VOI - CONSTS(53))/CONSTS(52)))+CONSTS(55), CONSTS(55)) ALGBRC(43) = CONSTS(56)*ALGBRC(41)*(1.00000 - STATES(2)) - CONSTS(57)*STATES(2) RATES(2) = ALGBRC(43) ALGBRC(44) = CONSTS(56)*ALGBRC(41)*(1.00000 - STATES(3)) - CONSTS(58)*STATES(3) RATES(3) = ALGBRC(44) RETURN END SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(1) = TERNRY(CONSTS(4)/2.00000.LT.STATES(1)/2.00000, CONSTS(4)/2.00000, STATES(1)/2.00000) ALGBRC(2) = TERNRY(STATES(1)/2.00000 - (STATES(1) - CONSTS(3)).GT.CONSTS(5)/2.00000, STATES(1)/2.00000 - (STATES(1) - CONSTS(3)), CONSTS(5)/2.00000) ALGBRC(3) = ALGBRC(1) - ALGBRC(2) ALGBRC(5) = ALGBRC(3)/CONSTS(3) ALGBRC(7) = (1.00000 - ALGBRC(5))*STATES(2)+ ALGBRC(5)*STATES(3) ALGBRC(9) = ABS(1.00000/(1.00000+CONSTS(13)/ALGBRC(7) ** CONSTS(14))) ** (1.0 / 2) ALGBRC(11) = CONSTS(15)*ALGBRC(9)*CONSTS(8) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(13) = TERNRY(1.00000/ALGBRC(9).LT.100.000, 1.00000/ALGBRC(9), 100.000) ALGBRC(15) = CONSTS(16)*ALGBRC(13)*CONSTS(9) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(4) = ( ALGBRC(3)*2.00000)/(CONSTS(4) - CONSTS(5)) ALGBRC(6) = CONSTS(37)*ALGBRC(4)*( STATES(4)*STATES(6)+ STATES(5)*STATES(7)) ALGBRC(8) = ( 1.00000*ALGBRC(6))/CONSTS(63) ALGBRC(10) = ((STATES(1) - CONSTS(39))/ABS(STATES(1) - CONSTS(39)))*CONSTS(41)*(EXP( CONSTS(42)*ABS(STATES(1) - CONSTS(39))) - 1.00000) ALGBRC(12) = TERNRY(STATES(1).GT.CONSTS(38), CONSTS(43)*(EXP( CONSTS(44)*ABS(STATES(1) - CONSTS(38))) - 1.00000), 0.00000) ALGBRC(14) = ALGBRC(10)+ALGBRC(12) ALGBRC(16) = TERNRY(CONSTS(48).EQ.1.00000, CONSTS(47)*(CONSTS(40) - STATES(1)), 0.00000) ALGBRC(19) = EXP( (- STATES(5)/ABS(STATES(5)))*CONSTS(25)*STATES(5)/CONSTS(35) ** 2.00000) ALGBRC(21) = CONSTS(21)*ALGBRC(19)*CONSTS(29)*CONSTS(32) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(20) = EXP( ((STATES(4) - CONSTS(35))/ABS(STATES(4) - CONSTS(35)))*CONSTS(26)*(STATES(4) - CONSTS(35))/CONSTS(35) ** 2.00000) ALGBRC(22) = CONSTS(22)*ALGBRC(20)*CONSTS(29)*CONSTS(33) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(23) = TERNRY(STATES(4).LT.CONSTS(35), EXP( CONSTS(27)*(CONSTS(35) - STATES(4))/CONSTS(35) ** 2.00000), EXP( CONSTS(28)*(STATES(4) - CONSTS(35))/CONSTS(35) ** 2.00000)) ALGBRC(24) = CONSTS(23)*ALGBRC(23)*CONSTS(29)*CONSTS(34) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(25) = ALGBRC(21)*STATES(7) - ( ALGBRC(22)*STATES(6)+ ALGBRC(24)*STATES(6)) ALGBRC(26) = ((1.00000 - STATES(10)) - STATES(7)) - STATES(6) ALGBRC(17) = 1.00000+ (1.00000 - ALGBRC(4))*CONSTS(24) ALGBRC(18) = CONSTS(20)*ALGBRC(17)*CONSTS(29)*CONSTS(31) ** (CONSTS(18) - 37.0000)/10.0000 ALGBRC(27) = ( CONSTS(59)*ALGBRC(26)+ ALGBRC(22)*STATES(6)) - ( ALGBRC(18)*STATES(7)+ ALGBRC(21)*STATES(7)) ALGBRC(30) = TERNRY(STATES(1).LE.CONSTS(1).AND.STATES(1).GT.CONSTS(2), (STATES(11)+ (CONSTS(40) - STATES(1))*CONSTS(46))/CONSTS(45), 0.00000) ALGBRC(28) = ( ALGBRC(22)*CONSTS(59)+ ALGBRC(24)*CONSTS(59))/( CONSTS(59)*ALGBRC(21)+ ALGBRC(24)*ALGBRC(21)+ ALGBRC(24)*ALGBRC(18)+ ALGBRC(22)*CONSTS(59)+ ALGBRC(22)*ALGBRC(18)+ ALGBRC(24)*CONSTS(59)) ALGBRC(31) = ALGBRC(30)/2.00000+ (CONSTS(36)/ALGBRC(28))*( CONSTS(59)*- STATES(5)+ ALGBRC(22)*(STATES(4) - (CONSTS(35)+STATES(5)))) ALGBRC(29) = ( CONSTS(59)*ALGBRC(21))/( CONSTS(59)*ALGBRC(21)+ ALGBRC(24)*ALGBRC(21)+ ALGBRC(24)*ALGBRC(18)+ ALGBRC(22)*CONSTS(59)+ ALGBRC(22)*ALGBRC(18)+ ALGBRC(24)*CONSTS(59)) ALGBRC(32) = ALGBRC(30)/2.00000+ (CONSTS(36)/ALGBRC(29))*ALGBRC(21)*((STATES(5)+CONSTS(35)) - STATES(4)) ALGBRC(41) = TERNRY(VOI.GT.CONSTS(53), ((CONSTS(54) - CONSTS(55))/CONSTS(61))*(EXP(- (VOI - CONSTS(53))/CONSTS(51)) - EXP(- (VOI - CONSTS(53))/CONSTS(52)))+CONSTS(55), CONSTS(55)) ALGBRC(43) = CONSTS(56)*ALGBRC(41)*(1.00000 - STATES(2)) - CONSTS(57)*STATES(2) ALGBRC(44) = CONSTS(56)*ALGBRC(41)*(1.00000 - STATES(3)) - CONSTS(58)*STATES(3) ALGBRC(33) = (STATES(6)+STATES(7))/(CONSTS(62)+CONSTS(60)) ALGBRC(34) = (ALGBRC(25)+ALGBRC(27))/(CONSTS(62)+CONSTS(60)) ALGBRC(35) = CONSTS(50)*( (1.00000 - ALGBRC(5))*STATES(2)+ ALGBRC(5)*( ALGBRC(33)*STATES(3)+ (1.00000 - ALGBRC(33))*STATES(2))) ALGBRC(36) = TERNRY(STATES(1).LT.CONSTS(4), - 0.500000*ALGBRC(30), 0.00000) ALGBRC(37) = TERNRY( 2.00000*CONSTS(3) - STATES(1).GT.CONSTS(5), - 0.500000*ALGBRC(30), 0.00000) ALGBRC(38) = ALGBRC(36) - ALGBRC(37) ALGBRC(39) = ALGBRC(38)/CONSTS(3) ALGBRC(40) = ( 2.00000*ALGBRC(38))/(CONSTS(4) - CONSTS(5)) ALGBRC(42) = CONSTS(49)*ALGBRC(40)*( STATES(4)*STATES(6)+ STATES(5)*STATES(7))+ CONSTS(49)*ALGBRC(4)*( ALGBRC(32)*STATES(6)+ STATES(4)*ALGBRC(25)+ ALGBRC(31)*STATES(7)+ STATES(5)*ALGBRC(27)) ALGBRC(45) = CONSTS(50)*( - ALGBRC(39)*STATES(2)+ (1.00000 - ALGBRC(5))*ALGBRC(43)+ ALGBRC(39)*( ALGBRC(33)*STATES(3)+ (1.00000 - ALGBRC(33))*STATES(2))+ ALGBRC(5)*(( ALGBRC(34)*STATES(3)+ ALGBRC(33)*ALGBRC(44)+ (1.00000 - ALGBRC(33))*ALGBRC(43)) - ALGBRC(34)*STATES(2))) RETURN END REAL FUNCTION TERNRY(TEST, VALA, VALB) LOGICAL TEST REAL VALA, VALB IF (TEST) THEN TERNRY = VALA ELSE TERNRY = VALB ENDIF RETURN END