C C There are a total of 33 entries in the algebraic variable array. C There are a total of 7 entries in each of the rate and state variable arrays. C There are a total of 47 entries in the constant variable array. C C C VOI is time in component Environment (ms). C STATES(1) is NADHm in component Mitochondrial_variables (mM). C ALGBRC(16) is Jpdh in component J_variables (uM_per_ms). C ALGBRC(9) is Jo in component J_variables (uM_per_ms). C CONSTS(1) is gamma in component Mitochondrial_variables (dimensionless). C ALGBRC(1) is NADm in component Mitochondrial_variables (mM). C STATES(2) is ADPm in component Mitochondrial_variables (mM). C STATES(3) is PSIm in component Mitochondrial_variables (mV). C STATES(4) is Cam in component Mitochondrial_variables (uM). C CONSTS(2) is NADtot in component Mitochondrial_variables (mM). C CONSTS(3) is fm in component Mitochondrial_variables (dimensionless). C CONSTS(4) is Cmito in component Mitochondrial_variables (uM_per_mV). C CONSTS(5) is Amtot in component Mitochondrial_variables (mM). C ALGBRC(2) is ATPm in component Mitochondrial_variables (mM). C ALGBRC(6) is RATm in component Mitochondrial_variables (dimensionless). C ALGBRC(33) is Jant in component J_variables (uM_per_ms). C ALGBRC(32) is Jf1f0 in component J_variables (uM_per_ms). C ALGBRC(26) is Jh_res in component J_variables (uM_per_ms). C ALGBRC(30) is Jh_atp in component J_variables (uM_per_ms). C ALGBRC(21) is Jh_leak in component J_variables (uM_per_ms). C ALGBRC(19) is Jnaca in component J_variables (uM_per_ms). C ALGBRC(17) is Juni in component J_variables (uM_per_ms). C ALGBRC(22) is Jmito in component J_variables (uM_per_ms). C STATES(5) is c in component Clamp_protocol (uM). C ALGBRC(10) is ATPc in component Cytosol (mM). C STATES(6) is ADPc in component Cytosol (uM). C CONSTS(6) is Ac_tot in component Cytosol (uM). C CONSTS(7) is khyd in component Cytosol (dimensionless). C CONSTS(8) is Jhydbas in component Cytosol (mM). C ALGBRC(14) is Jh_yd in component Cytosol (mM). C CONSTS(47) is delta in component Cytosol (dimensionless). C ALGBRC(11) is Fproto in component Clamp_parameters (uM). C ALGBRC(29) is Cproto in component Clamp_parameters (uM). C STATES(7) is FBP in component Clamp_protocol (uM). C CONSTS(9) is Fhold in component Clamp_parameters (uM). C CONSTS(10) is Ftest in component Clamp_parameters (uM). C CONSTS(11) is Fton in component Clamp_parameters (ms). C CONSTS(12) is Ftoff in component Clamp_parameters (ms). C CONSTS(13) is Chold in component Clamp_parameters (uM). C CONSTS(14) is Ctest in component Clamp_parameters (uM). C CONSTS(15) is Cton1 in component Clamp_parameters (ms). C CONSTS(16) is Cton2 in component Clamp_parameters (ms). C CONSTS(17) is Cton3 in component Clamp_parameters (ms). C CONSTS(18) is Ctoff1 in component Clamp_parameters (ms). C CONSTS(19) is Ctoff2 in component Clamp_parameters (ms). C CONSTS(20) is Ctoff3 in component Clamp_parameters (ms). C ALGBRC(18) is pulse1 in component Clamp_parameters (uM). C ALGBRC(23) is pulse2 in component Clamp_parameters (uM). C ALGBRC(27) is pulse3 in component Clamp_parameters (uM). C ALGBRC(3) is heav_on in component Clamp_parameters (dimensionless). C ALGBRC(7) is heav_off in component Clamp_parameters (dimensionless). C ALGBRC(4) is heav_Cton1 in component Clamp_parameters (dimensionless). C ALGBRC(8) is heav_Cton2 in component Clamp_parameters (dimensionless). C ALGBRC(12) is heav_Cton3 in component Clamp_parameters (dimensionless). C ALGBRC(15) is heav_Ctoff1 in component Clamp_parameters (dimensionless). C ALGBRC(20) is heav_Ctoff2 in component Clamp_parameters (dimensionless). C ALGBRC(25) is heav_Ctoff3 in component Clamp_parameters (dimensionless). C ALGBRC(13) is Jgpdh in component J_variables (uM_per_ms). C CONSTS(21) is p1 in component Parameters (dimensionless). C CONSTS(22) is p2 in component Parameters (dimensionless). C CONSTS(23) is p3 in component Parameters (uM). C CONSTS(24) is p21 in component Parameters (per_uM_per_ms_per_mV). C CONSTS(25) is p22 in component Parameters (per_uM_per_ms). C CONSTS(26) is p23 in component Parameters (uM_per_ms). C CONSTS(27) is p24 in component Parameters (per_mV). C CONSTS(28) is p4 in component Parameters (uM_per_ms). C CONSTS(29) is p5 in component Parameters (mM). C CONSTS(30) is p6 in component Parameters (mV). C CONSTS(31) is p7 in component Parameters (mV). C CONSTS(32) is p8 in component Parameters (uM_per_ms). C CONSTS(33) is p9 in component Parameters (mM). C CONSTS(34) is p10 in component Parameters (mV). C CONSTS(35) is p11 in component Parameters (mV). C CONSTS(36) is p12 in component Parameters (uM_per_ms). C CONSTS(37) is p13 in component Parameters (mM). C CONSTS(38) is p14 in component Parameters (mV). C CONSTS(39) is p15 in component Parameters (mV). C CONSTS(40) is p16 in component Parameters (uM_per_ms). C CONSTS(41) is p17 in component Parameters (uM_per_ms_per_mV). C CONSTS(42) is p18 in component Parameters (uM_per_ms). C CONSTS(43) is p19 in component Parameters (uM_per_ms). C CONSTS(44) is p20 in component Parameters (dimensionless). C ALGBRC(5) is MM1 in component J_variables (uM_per_ms). C ALGBRC(24) is MM2 in component J_variables (uM_per_ms). C ALGBRC(28) is b13 in component J_variables (uM_per_ms). C ALGBRC(31) is b2 in component J_variables (uM_per_ms). C CONSTS(45) is FRT in component J_variables (per_mV). C CONSTS(46) is kgpdh in component J_variables (uM_per_ms). C RATES(1) is d/dt NADHm in component Mitochondrial_variables (mM). C RATES(2) is d/dt ADPm in component Mitochondrial_variables (mM). C RATES(3) is d/dt PSIm in component Mitochondrial_variables (mV). C RATES(4) is d/dt Cam in component Mitochondrial_variables (uM). C RATES(6) is d/dt ADPc in component Cytosol (uM). C RATES(7) is d/dt FBP in component Clamp_protocol (uM). C RATES(5) is d/dt c in component Clamp_protocol (uM). C SUBROUTINE initConsts(CONSTS, RATES, STATES) REAL CONSTS(*), RATES(*), STATES(*) STATES(1) = 0.6 CONSTS(1) = 0.001 STATES(2) = 7.4 STATES(3) = 93 STATES(4) = 0.1 CONSTS(2) = 10 CONSTS(3) = 0.01 CONSTS(4) = 1.8 CONSTS(5) = 15 STATES(5) = 0.1 STATES(6) = 1850 CONSTS(6) = 2500 CONSTS(7) = 0.00005 CONSTS(8) = 0.00005 STATES(7) = 0.5 CONSTS(9) = 1 CONSTS(10) = 5 CONSTS(11) = 90000 CONSTS(12) = 330000 CONSTS(13) = 0.1 CONSTS(14) = 0.1 CONSTS(15) = 120000 CONSTS(16) = 180000 CONSTS(17) = 240000 CONSTS(18) = 150000 CONSTS(19) = 210000 CONSTS(20) = 270000 CONSTS(21) = 400 CONSTS(22) = 1 CONSTS(23) = 0.01 CONSTS(24) = 0.01 CONSTS(25) = 1.1 CONSTS(26) = 0.001 CONSTS(27) = 0.016 CONSTS(28) = 0.6 CONSTS(29) = 0.1 CONSTS(30) = 177 CONSTS(31) = 5 CONSTS(32) = 7 CONSTS(33) = 0.1 CONSTS(34) = 177 CONSTS(35) = 5 CONSTS(36) = 120 CONSTS(37) = 10 CONSTS(38) = 190 CONSTS(39) = 8.5 CONSTS(40) = 35 CONSTS(41) = 0.002 CONSTS(42) = -0.03 CONSTS(43) = 0.35 CONSTS(44) = 2 CONSTS(45) = 0.037 CONSTS(46) = 0.0005 CONSTS(47) = 3.90000/53.2000 RETURN END SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(3) = TERNRY(VOI - CONSTS(11).GE.0.00000, 1.00000, 0.00000) ALGBRC(7) = TERNRY(VOI - CONSTS(12).GE.0.00000, 1.00000, 0.00000) ALGBRC(11) = CONSTS(9)+ (CONSTS(10) - CONSTS(9))*(ALGBRC(3) - ALGBRC(7)) RATES(7) = (ALGBRC(11) - STATES(7))/0.100000 ALGBRC(1) = CONSTS(2) - STATES(1) ALGBRC(13) = CONSTS(46)* (STATES(7)/1.00000) ** (1.0 / 2) ALGBRC(16) = (CONSTS(21)/(CONSTS(22)+STATES(1)/ALGBRC(1)))*(STATES(4)/(CONSTS(23)+STATES(4)))*ALGBRC(13) ALGBRC(5) = ( CONSTS(28)*STATES(1))/(CONSTS(29)+STATES(1)) ALGBRC(9) = ALGBRC(5)/(1.00000+EXP((STATES(3) - CONSTS(30))/CONSTS(31))) RATES(1) = CONSTS(1)*(ALGBRC(16) - ALGBRC(9)) ALGBRC(19) = (( CONSTS(26)*STATES(4))/STATES(5))*EXP( CONSTS(27)*STATES(3)) ALGBRC(17) = ( CONSTS(24)*STATES(3) - CONSTS(25))*STATES(5) ** 2.00000 ALGBRC(22) = ALGBRC(19) - ALGBRC(17) RATES(4) = - CONSTS(3)*ALGBRC(22) ALGBRC(4) = TERNRY(VOI - CONSTS(15).GE.0.00000, 1.00000, 0.00000) ALGBRC(15) = TERNRY(VOI - CONSTS(18).GE.0.00000, 1.00000, 0.00000) ALGBRC(18) = (CONSTS(14) - CONSTS(13))*(ALGBRC(4) - ALGBRC(15)) ALGBRC(8) = TERNRY(VOI - CONSTS(16).GE.0.00000, 1.00000, 0.00000) ALGBRC(20) = TERNRY(VOI - CONSTS(19).GE.0.00000, 1.00000, 0.00000) ALGBRC(23) = (CONSTS(14) - CONSTS(13))*(ALGBRC(8) - ALGBRC(20)) ALGBRC(12) = TERNRY(VOI - CONSTS(17).GE.0.00000, 1.00000, 0.00000) ALGBRC(25) = TERNRY(VOI - CONSTS(20).GE.0.00000, 1.00000, 0.00000) ALGBRC(27) = (CONSTS(14) - CONSTS(13))*(ALGBRC(12) - ALGBRC(25)) ALGBRC(29) = CONSTS(13)+ALGBRC(18)+ALGBRC(23)+ALGBRC(27) RATES(5) = (ALGBRC(29) - STATES(5))/0.100000 ALGBRC(2) = CONSTS(5) - STATES(2) ALGBRC(6) = ALGBRC(2)/STATES(2) ALGBRC(33) = (( CONSTS(43)*ALGBRC(6))/(ALGBRC(6)+CONSTS(44)))/EXP( - 0.500000*CONSTS(45)*STATES(3)) ALGBRC(31) = ( CONSTS(40)*CONSTS(37))/(CONSTS(37)+ALGBRC(2)) ALGBRC(32) = ALGBRC(31)/(1.00000+EXP((CONSTS(38) - STATES(3))/CONSTS(39))) RATES(2) = CONSTS(1)*(ALGBRC(33) - ALGBRC(32)) ALGBRC(24) = ( CONSTS(32)*STATES(1))/(CONSTS(33)+STATES(1)) ALGBRC(26) = ALGBRC(24)/(1.00000+EXP((STATES(3) - CONSTS(34))/CONSTS(35))) ALGBRC(28) = ( CONSTS(36)*CONSTS(37))/(CONSTS(37)+ALGBRC(2)) ALGBRC(30) = ALGBRC(28)/(1.00000+EXP((CONSTS(38) - STATES(3))/CONSTS(39))) ALGBRC(21) = CONSTS(41)*STATES(3)+CONSTS(42) RATES(3) = (((((ALGBRC(26) - ALGBRC(30)) - ALGBRC(33)) - ALGBRC(21)) - ALGBRC(19)) - ALGBRC(17)*2.00000)/CONSTS(4) ALGBRC(10) = CONSTS(6) - STATES(6) ALGBRC(14) = ( ( CONSTS(7)*STATES(5)+CONSTS(8))*ALGBRC(10))/1.00000 RATES(6) = - CONSTS(47)*ALGBRC(33)+ ALGBRC(14)*1.00000 RETURN END SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(3) = TERNRY(VOI - CONSTS(11).GE.0.00000, 1.00000, 0.00000) ALGBRC(7) = TERNRY(VOI - CONSTS(12).GE.0.00000, 1.00000, 0.00000) ALGBRC(11) = CONSTS(9)+ (CONSTS(10) - CONSTS(9))*(ALGBRC(3) - ALGBRC(7)) ALGBRC(1) = CONSTS(2) - STATES(1) ALGBRC(13) = CONSTS(46)* (STATES(7)/1.00000) ** (1.0 / 2) ALGBRC(16) = (CONSTS(21)/(CONSTS(22)+STATES(1)/ALGBRC(1)))*(STATES(4)/(CONSTS(23)+STATES(4)))*ALGBRC(13) ALGBRC(5) = ( CONSTS(28)*STATES(1))/(CONSTS(29)+STATES(1)) ALGBRC(9) = ALGBRC(5)/(1.00000+EXP((STATES(3) - CONSTS(30))/CONSTS(31))) ALGBRC(19) = (( CONSTS(26)*STATES(4))/STATES(5))*EXP( CONSTS(27)*STATES(3)) ALGBRC(17) = ( CONSTS(24)*STATES(3) - CONSTS(25))*STATES(5) ** 2.00000 ALGBRC(22) = ALGBRC(19) - ALGBRC(17) ALGBRC(4) = TERNRY(VOI - CONSTS(15).GE.0.00000, 1.00000, 0.00000) ALGBRC(15) = TERNRY(VOI - CONSTS(18).GE.0.00000, 1.00000, 0.00000) ALGBRC(18) = (CONSTS(14) - CONSTS(13))*(ALGBRC(4) - ALGBRC(15)) ALGBRC(8) = TERNRY(VOI - CONSTS(16).GE.0.00000, 1.00000, 0.00000) ALGBRC(20) = TERNRY(VOI - CONSTS(19).GE.0.00000, 1.00000, 0.00000) ALGBRC(23) = (CONSTS(14) - CONSTS(13))*(ALGBRC(8) - ALGBRC(20)) ALGBRC(12) = TERNRY(VOI - CONSTS(17).GE.0.00000, 1.00000, 0.00000) ALGBRC(25) = TERNRY(VOI - CONSTS(20).GE.0.00000, 1.00000, 0.00000) ALGBRC(27) = (CONSTS(14) - CONSTS(13))*(ALGBRC(12) - ALGBRC(25)) ALGBRC(29) = CONSTS(13)+ALGBRC(18)+ALGBRC(23)+ALGBRC(27) ALGBRC(2) = CONSTS(5) - STATES(2) ALGBRC(6) = ALGBRC(2)/STATES(2) ALGBRC(33) = (( CONSTS(43)*ALGBRC(6))/(ALGBRC(6)+CONSTS(44)))/EXP( - 0.500000*CONSTS(45)*STATES(3)) ALGBRC(31) = ( CONSTS(40)*CONSTS(37))/(CONSTS(37)+ALGBRC(2)) ALGBRC(32) = ALGBRC(31)/(1.00000+EXP((CONSTS(38) - STATES(3))/CONSTS(39))) ALGBRC(24) = ( CONSTS(32)*STATES(1))/(CONSTS(33)+STATES(1)) ALGBRC(26) = ALGBRC(24)/(1.00000+EXP((STATES(3) - CONSTS(34))/CONSTS(35))) ALGBRC(28) = ( CONSTS(36)*CONSTS(37))/(CONSTS(37)+ALGBRC(2)) ALGBRC(30) = ALGBRC(28)/(1.00000+EXP((CONSTS(38) - STATES(3))/CONSTS(39))) ALGBRC(21) = CONSTS(41)*STATES(3)+CONSTS(42) ALGBRC(10) = CONSTS(6) - STATES(6) ALGBRC(14) = ( ( CONSTS(7)*STATES(5)+CONSTS(8))*ALGBRC(10))/1.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