C C There are a total of 26 entries in the algebraic variable array. C There are a total of 8 entries in each of the rate and state variable arrays. C There are a total of 46 entries in the constant variable array. C C C VOI is time in component environment (second). C CONSTS(1) is volume_i0 in component volume_i (volume). C CONSTS(44) is volume_i in component volume_i (volume). C CONSTS(2) is gamma in component volume_er (dimensionless). C CONSTS(45) is volume_er in component volume_er (volume). C STATES(1) is volumeCa_i in component volumeCa_i (microMVolume). C ALGBRC(14) is Jipt in component Jipt (microMvolumepersec). C ALGBRC(16) is Jryr in component Jryr (microMvolumepersec). C ALGBRC(18) is Jer in component Jer (microMvolumepersec). C ALGBRC(19) is Jserca in component Jserca (microMvolumepersec). C ALGBRC(25) is Jin in component Jin (microMvolumepersec). C ALGBRC(26) is Jpm in component Jpm (microMvolumepersec). C ALGBRC(1) is Ca_i in component Ca_i (microM). C STATES(2) is volumeCa_er in component volumeCa_er (microMVolume). C ALGBRC(4) is Ca_er in component Ca_er (microM). C STATES(3) is volume_iIP3 in component volume_iIP3 (microMVolume). C ALGBRC(13) is J_ip3P in component J_ip3P (microMpersec). C ALGBRC(17) is J_ip3D in component J_ip3D (microMpersec). C ALGBRC(2) is IP3 in component IP3 (microM). C STATES(4) is PIP2 in component PIP2 (dimensionless). C CONSTS(3) is PIP2_Total in component PIP2 (microM). C CONSTS(46) is J_ip3R in component J_ip3R (per_sec). C ALGBRC(5) is IPX in component IPX (dimensionless). C CONSTS(4) is PIP2_Total in component IPX (microM). C CONSTS(5) is J_ip3R0 in component J_ip3R (per_sec). C STATES(5) is ATP_e in component receptor (microM). C ALGBRC(10) is V_IP3 in component receptor (microMpersec). C CONSTS(6) is MechanicalStimulation in component receptor (dimensionless). C ALGBRC(7) is V_mech in component receptor (dimensionless). C CONSTS(7) is V_mech0 in component receptor (dimensionless). C CONSTS(8) is C_1 in component receptor (microMpersec). C CONSTS(9) is C_2 in component receptor (microM). C CONSTS(10) is C_3 in component receptor (microMpersec). C CONSTS(11) is C_4 in component receptor (microM). C CONSTS(12) is V_ATP in component receptor (microMpersec). C CONSTS(13) is K_ATP in component receptor (microM). C CONSTS(14) is Beta_1 in component J_ip3D (microMpersec). C CONSTS(15) is Beta_2 in component J_ip3D (microMpersec). C ALGBRC(15) is F_Ca in component J_ip3D (dimensionless). C CONSTS(16) is K_rc in component J_ip3D (microM). C CONSTS(17) is K_IP3 in component J_ip3D (microM). C ALGBRC(11) is Pipt in component Jipt (dimensionless). C STATES(6) is O in component O (dimensionless). C CONSTS(18) is Jipt0 in component Jipt (per_sec). C CONSTS(19) is Ka in component Jryr (microM). C CONSTS(20) is Kb in component Jryr (microM). C CONSTS(21) is Kc in component Jryr (dimensionless). C CONSTS(22) is Jryr0 in component Jryr (per_sec). C ALGBRC(6) is Pryr in component Jryr (dimensionless). C ALGBRC(3) is W_inf in component Jryr (dimensionless). C CONSTS(23) is Jer0 in component Jer (per_sec). C CONSTS(24) is Vserca in component Jserca (microM2persec). C CONSTS(25) is Kserca in component Jserca (microM). C CONSTS(26) is Vm in component Jin (milliV). C ALGBRC(20) is V_Ca in component Jin (milliV). C CONSTS(27) is R in component Jin (millijoule_per_mole_kelvin). C CONSTS(28) is T in component Jin (kelvin). C CONSTS(29) is F in component Jin (coulomb_per_mole). C CONSTS(30) is z_Ca in component Jin (dimensionless). C CONSTS(31) is Ca_ext in component Jin (microM). C CONSTS(32) is P_pm_1 in component Jin (conductancepervolume). C CONSTS(33) is P_pm_2 in component Jin (conductancepervolume). C ALGBRC(21) is Iin_1 in component Jin (current). C ALGBRC(22) is Iin_2 in component Jin (current). C ALGBRC(23) is Jin_1 in component Jin (microMvolumepersec). C ALGBRC(24) is Jin_2 in component Jin (microMvolumepersec). C CONSTS(34) is Vpm in component Jpm (microMpersec). C CONSTS(35) is Kpm in component Jpm (microM). C ALGBRC(8) is S in component O (dimensionless). C STATES(7) is I1 in component I1 (dimensionless). C STATES(8) is I2 in component I2 (dimensionless). C ALGBRC(12) is k1 in component constants (per_secmicroM). C CONSTS(36) is k1_ in component constants (first_order_rate_constant). C CONSTS(37) is k2 in component constants (first_order_rate_constant). C CONSTS(38) is k3 in component constants (first_order_rate_constant). C ALGBRC(9) is k4 in component constants (first_order_rate_constant). C CONSTS(39) is k5 in component constants (first_order_rate_constant). C CONSTS(40) is alpha_1 in component constants (per_secmicroM). C CONSTS(41) is beta_1 in component constants (microM). C CONSTS(42) is alpha_4 in component constants (first_order_rate_constant). C CONSTS(43) is beta_4 in component constants (microM). C RATES(1) is d/dt volumeCa_i in component volumeCa_i (microMVolume). C RATES(2) is d/dt volumeCa_er in component volumeCa_er (microMVolume). C RATES(3) is d/dt volume_iIP3 in component volume_iIP3 (microMVolume). C RATES(4) is d/dt PIP2 in component PIP2 (dimensionless). C RATES(5) is d/dt ATP_e in component receptor (microM). C RATES(6) is d/dt O in component O (dimensionless). C RATES(7) is d/dt I1 in component I1 (dimensionless). C RATES(8) is d/dt I2 in component I2 (dimensionless). C SUBROUTINE initConsts(CONSTS, RATES, STATES) REAL CONSTS(*), RATES(*), STATES(*) CONSTS(1) = 1450 CONSTS(2) = 4.9 STATES(1) = 75.8335890358239 STATES(2) = 1199.73747802144 STATES(3) = -3.28287434380887e-93 STATES(4) = 1 CONSTS(3) = 5 CONSTS(4) = 25 CONSTS(5) = 10 STATES(5) = 0 CONSTS(6) = 0 CONSTS(7) = 1 CONSTS(8) = 2.6 CONSTS(9) = 0.02 CONSTS(10) = 2.3 CONSTS(11) = 10 CONSTS(12) = 0.001 CONSTS(13) = 0.0001 CONSTS(14) = 0 CONSTS(15) = 36 CONSTS(16) = 0.3 CONSTS(17) = 0.01 STATES(6) = -2.42013500345263e-89 CONSTS(18) = 28 CONSTS(19) = 0.3722419 CONSTS(20) = 0.636005 CONSTS(21) = 0.0571428 CONSTS(22) = 0 CONSTS(23) = 0.0035 CONSTS(24) = 0.09 CONSTS(25) = 0.04 CONSTS(26) = -39 CONSTS(27) = 8314 CONSTS(28) = 310 CONSTS(29) = 96485 CONSTS(30) = 2 CONSTS(31) = 1300 CONSTS(32) = 0.6 CONSTS(33) = 28 CONSTS(34) = 0.072 CONSTS(35) = 0.6 STATES(7) = 2.24343309680416e-81 STATES(8) = 1.01276768045278e-40 CONSTS(36) = 0.88 CONSTS(37) = 0.5 CONSTS(38) = 0.5 CONSTS(39) = 0.02 CONSTS(40) = 40 CONSTS(41) = 0.8 CONSTS(42) = 0.06 CONSTS(43) = 0.01 CONSTS(44) = CONSTS(1) CONSTS(45) = CONSTS(44)/CONSTS(2) CONSTS(46) = CONSTS(5) RETURN END SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) RATES(5) = ( - CONSTS(12)*STATES(5))/(CONSTS(13)+STATES(5)) ALGBRC(2) = STATES(3)/CONSTS(44) ALGBRC(9) = ( CONSTS(42)*ALGBRC(2))/(CONSTS(43)+ALGBRC(2)) RATES(7) = CONSTS(37)*STATES(6) - (CONSTS(38)+ALGBRC(9))*STATES(7) RATES(8) = ALGBRC(9)*STATES(7) - CONSTS(39)*STATES(8) ALGBRC(8) = 1.00000 - (STATES(6)+STATES(7)+STATES(8)) ALGBRC(1) = STATES(1)/CONSTS(44) ALGBRC(12) = ( CONSTS(40)*ALGBRC(1) ** 3.00000)/(CONSTS(41) ** 3.00000+ALGBRC(1) ** 3.00000) RATES(6) = ALGBRC(12)*ALGBRC(2)*ALGBRC(8) - ( CONSTS(36)*STATES(6)+ CONSTS(37)*STATES(6)) ALGBRC(10) = ( CONSTS(8)*STATES(5))/(CONSTS(9)+STATES(5))+( CONSTS(10)*STATES(5) ** 2.00000)/(CONSTS(11) ** 2.00000+STATES(5) ** 2.00000) ALGBRC(13) = ALGBRC(10)*STATES(4) ALGBRC(5) = (1.00000 - ALGBRC(2)/CONSTS(4)) - STATES(4) RATES(4) = CONSTS(46)*ALGBRC(5) - ALGBRC(13)/CONSTS(3) ALGBRC(15) = ALGBRC(1)/(CONSTS(16)+ALGBRC(1)) ALGBRC(17) = ( (CONSTS(14)+ CONSTS(15)*ALGBRC(15) ** 2.00000)*ALGBRC(2))/(CONSTS(17)+ALGBRC(2)) RATES(3) = (ALGBRC(13) - ALGBRC(17))*CONSTS(44) ALGBRC(4) = STATES(2)/CONSTS(45) ALGBRC(11) = STATES(6) ** 4.00000 ALGBRC(14) = CONSTS(18)*CONSTS(1)*ALGBRC(11)*(ALGBRC(4) - ALGBRC(1)) ALGBRC(16) = CONSTS(22)*CONSTS(1)*(ALGBRC(4) - ALGBRC(1)) ALGBRC(18) = CONSTS(23)*CONSTS(1)*(ALGBRC(4) - ALGBRC(1)) ALGBRC(19) = ( (( CONSTS(1)*CONSTS(24)*ALGBRC(1) ** 2.00000)/(CONSTS(25) ** 2.00000+ALGBRC(1) ** 2.00000))*1.00000)/ALGBRC(4) RATES(2) = - ((ALGBRC(14)+ALGBRC(16)+ALGBRC(18)) - ALGBRC(19)) ALGBRC(20) = (( CONSTS(27)*CONSTS(28))/( CONSTS(30)*CONSTS(29)))*log(CONSTS(31)/ALGBRC(1)) ALGBRC(21) = CONSTS(1)*CONSTS(32)*(ALGBRC(20) - CONSTS(26)) ALGBRC(23) = ALGBRC(21)/( CONSTS(30)*CONSTS(29)) ALGBRC(7) = TERNRY(VOI.GT.10.0000.AND.VOI.LT.25.0000.AND.CONSTS(6).GT.0.00000, CONSTS(7), 0.00000) ALGBRC(22) = CONSTS(1)*CONSTS(33)*ALGBRC(7)*(ALGBRC(20) - CONSTS(26)) ALGBRC(24) = ALGBRC(22)/( CONSTS(30)*CONSTS(29)) ALGBRC(25) = ALGBRC(23)+ALGBRC(24) ALGBRC(26) = ( CONSTS(34)*CONSTS(1)*ALGBRC(1) ** 2.00000)/(CONSTS(35) ** 2.00000+ALGBRC(1) ** 2.00000) RATES(1) = ((ALGBRC(14)+ALGBRC(16)+ALGBRC(18)) - ALGBRC(19))+(ALGBRC(25) - ALGBRC(26)) RETURN END SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(2) = STATES(3)/CONSTS(44) ALGBRC(9) = ( CONSTS(42)*ALGBRC(2))/(CONSTS(43)+ALGBRC(2)) ALGBRC(8) = 1.00000 - (STATES(6)+STATES(7)+STATES(8)) ALGBRC(1) = STATES(1)/CONSTS(44) ALGBRC(12) = ( CONSTS(40)*ALGBRC(1) ** 3.00000)/(CONSTS(41) ** 3.00000+ALGBRC(1) ** 3.00000) ALGBRC(10) = ( CONSTS(8)*STATES(5))/(CONSTS(9)+STATES(5))+( CONSTS(10)*STATES(5) ** 2.00000)/(CONSTS(11) ** 2.00000+STATES(5) ** 2.00000) ALGBRC(13) = ALGBRC(10)*STATES(4) ALGBRC(5) = (1.00000 - ALGBRC(2)/CONSTS(4)) - STATES(4) ALGBRC(15) = ALGBRC(1)/(CONSTS(16)+ALGBRC(1)) ALGBRC(17) = ( (CONSTS(14)+ CONSTS(15)*ALGBRC(15) ** 2.00000)*ALGBRC(2))/(CONSTS(17)+ALGBRC(2)) ALGBRC(4) = STATES(2)/CONSTS(45) ALGBRC(11) = STATES(6) ** 4.00000 ALGBRC(14) = CONSTS(18)*CONSTS(1)*ALGBRC(11)*(ALGBRC(4) - ALGBRC(1)) ALGBRC(16) = CONSTS(22)*CONSTS(1)*(ALGBRC(4) - ALGBRC(1)) ALGBRC(18) = CONSTS(23)*CONSTS(1)*(ALGBRC(4) - ALGBRC(1)) ALGBRC(19) = ( (( CONSTS(1)*CONSTS(24)*ALGBRC(1) ** 2.00000)/(CONSTS(25) ** 2.00000+ALGBRC(1) ** 2.00000))*1.00000)/ALGBRC(4) ALGBRC(20) = (( CONSTS(27)*CONSTS(28))/( CONSTS(30)*CONSTS(29)))*log(CONSTS(31)/ALGBRC(1)) ALGBRC(21) = CONSTS(1)*CONSTS(32)*(ALGBRC(20) - CONSTS(26)) ALGBRC(23) = ALGBRC(21)/( CONSTS(30)*CONSTS(29)) ALGBRC(7) = TERNRY(VOI.GT.10.0000.AND.VOI.LT.25.0000.AND.CONSTS(6).GT.0.00000, CONSTS(7), 0.00000) ALGBRC(22) = CONSTS(1)*CONSTS(33)*ALGBRC(7)*(ALGBRC(20) - CONSTS(26)) ALGBRC(24) = ALGBRC(22)/( CONSTS(30)*CONSTS(29)) ALGBRC(25) = ALGBRC(23)+ALGBRC(24) ALGBRC(26) = ( CONSTS(34)*CONSTS(1)*ALGBRC(1) ** 2.00000)/(CONSTS(35) ** 2.00000+ALGBRC(1) ** 2.00000) ALGBRC(3) = (1.00000+CONSTS(19)/ALGBRC(1) ** 4.00000+ALGBRC(1)/CONSTS(20) ** 3.00000)/(1.00000+1.00000/CONSTS(21)+ALGBRC(1)/CONSTS(20) ** 3.00000+CONSTS(19)/ALGBRC(1) ** 4.00000) ALGBRC(6) = ( ALGBRC(3)*(1.00000+CONSTS(19)/ALGBRC(1) ** 4.00000+ALGBRC(1)/CONSTS(20) ** 3.00000))/(1.00000+1.00000/CONSTS(21)+ALGBRC(1)/CONSTS(20) ** 3.00000+CONSTS(19)/ALGBRC(1) ** 4.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