C C There are a total of 31 entries in the algebraic variable array. C There are a total of 14 entries in each of the rate and state variable arrays. C There are a total of 31 entries in the constant variable array. C C C VOI is time in component environment (second). C CONSTS(1) is vol_myo in component environment (pL). C STATES(1) is q_DAG in component environment (fmol). C STATES(2) is q_PC in component environment (fmol). C STATES(3) is q_IP3 in component environment (fmol). C STATES(4) is q_Ino in component environment (fmol). C STATES(5) is q_PLC in component environment (fmol). C STATES(6) is q_Gq in component environment (fmol). C STATES(7) is q_Ca in component environment (fmol). C STATES(8) is q_Gq_PLC in component environment (fmol). C STATES(9) is q_Ca_PLC in component environment (fmol). C STATES(10) is q_Ca_Gq_PLC in component environment (fmol). C STATES(11) is q_G_GDP in component environment (fmol). C STATES(12) is q_PIP2 in component environment (fmol). C STATES(13) is q_CaPLC_PIP2 in component environment (fmol). C STATES(14) is q_CaGqPLC_PIP2 in component environment (fmol). C ALGBRC(21) is v_R0_PLC in component PLC (fmol_per_sec). C ALGBRC(22) is v_R1_PLC in component PLC (fmol_per_sec). C ALGBRC(23) is v_R2a_PLC in component PLC (fmol_per_sec). C ALGBRC(24) is v_R2b_PLC in component PLC (fmol_per_sec). C ALGBRC(25) is v_R3a_PLC in component PLC (fmol_per_sec). C ALGBRC(26) is v_R3b_PLC in component PLC (fmol_per_sec). C ALGBRC(27) is v_R4_PLC in component PLC (fmol_per_sec). C ALGBRC(28) is v_R5_PLC in component PLC (fmol_per_sec). C ALGBRC(29) is v_R6_PLC in component PLC (fmol_per_sec). C ALGBRC(30) is v_R7_PLC in component PLC (fmol_per_sec). C ALGBRC(31) is v_R8_PLC in component PLC (fmol_per_sec). C ALGBRC(6) is Gq_stim in component environment (fmol_per_sec). C CONSTS(2) is stimPeriod in component environment (second). C CONSTS(3) is stimDuration in component environment (second). C ALGBRC(1) is tPeriod in component environment (second). C ALGBRC(2) is cGq in component environment (mM). C ALGBRC(3) is cCa in component environment (mM). C ALGBRC(4) is cDAG in component environment (mM). C ALGBRC(5) is cIP3 in component environment (mM). C CONSTS(4) is kappa_R0_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(5) is kappa_R1_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(6) is kappa_R2a_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(7) is kappa_R2b_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(8) is kappa_R3a_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(9) is kappa_R3b_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(10) is kappa_R4_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(11) is kappa_R5_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(12) is kappa_R6_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(13) is kappa_R7_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(14) is kappa_R8_PLC in component PLC_parameters (fmol_per_sec). C CONSTS(15) is K_DAG in component PLC_parameters (per_fmol). C CONSTS(16) is K_PC in component PLC_parameters (per_fmol). C CONSTS(17) is K_IP3 in component PLC_parameters (per_fmol). C CONSTS(18) is K_Ino in component PLC_parameters (per_fmol). C CONSTS(19) is K_PLC in component PLC_parameters (per_fmol). C CONSTS(20) is K_Gq in component PLC_parameters (per_fmol). C CONSTS(21) is K_Ca in component PLC_parameters (per_fmol). C CONSTS(22) is K_Gq_PLC in component PLC_parameters (per_fmol). C CONSTS(23) is K_Ca_PLC in component PLC_parameters (per_fmol). C CONSTS(24) is K_Ca_Gq_PLC in component PLC_parameters (per_fmol). C CONSTS(25) is K_G_GDP in component PLC_parameters (per_fmol). C CONSTS(26) is K_PIP2 in component PLC_parameters (per_fmol). C CONSTS(27) is K_CaPLC_PIP2 in component PLC_parameters (per_fmol). C CONSTS(28) is K_CaGqPLC_PIP2 in component PLC_parameters (per_fmol). C CONSTS(29) is R in component constants (J_per_K_per_mol). C CONSTS(30) is T in component constants (kelvin). C ALGBRC(7) is mu_DAG in component PLC (J_per_mol). C ALGBRC(8) is mu_PC in component PLC (J_per_mol). C ALGBRC(9) is mu_IP3 in component PLC (J_per_mol). C ALGBRC(10) is mu_Ino in component PLC (J_per_mol). C ALGBRC(11) is mu_PLC in component PLC (J_per_mol). C ALGBRC(12) is mu_Gq in component PLC (J_per_mol). C ALGBRC(13) is mu_Ca in component PLC (J_per_mol). C ALGBRC(14) is mu_Gq_PLC in component PLC (J_per_mol). C ALGBRC(15) is mu_Ca_PLC in component PLC (J_per_mol). C ALGBRC(16) is mu_Ca_Gq_PLC in component PLC (J_per_mol). C ALGBRC(17) is mu_G_GDP in component PLC (J_per_mol). C ALGBRC(18) is mu_PIP2 in component PLC (J_per_mol). C ALGBRC(19) is mu_CaPLC_PIP2 in component PLC (J_per_mol). C ALGBRC(20) is mu_CaGqPLC_PIP2 in component PLC (J_per_mol). C CONSTS(31) is F in component constants (C_per_mol). C RATES(1) is d/dt q_DAG in component environment (fmol). C RATES(2) is d/dt q_PC in component environment (fmol). C RATES(3) is d/dt q_IP3 in component environment (fmol). C RATES(4) is d/dt q_Ino in component environment (fmol). C RATES(5) is d/dt q_PLC in component environment (fmol). C RATES(6) is d/dt q_Gq in component environment (fmol). C RATES(7) is d/dt q_Ca in component environment (fmol). C RATES(8) is d/dt q_Gq_PLC in component environment (fmol). C RATES(9) is d/dt q_Ca_PLC in component environment (fmol). C RATES(10) is d/dt q_Ca_Gq_PLC in component environment (fmol). C RATES(11) is d/dt q_G_GDP in component environment (fmol). C RATES(12) is d/dt q_PIP2 in component environment (fmol). C RATES(13) is d/dt q_CaPLC_PIP2 in component environment (fmol). C RATES(14) is d/dt q_CaGqPLC_PIP2 in component environment (fmol). C SUBROUTINE initConsts(CONSTS, RATES, STATES) REAL CONSTS(*), RATES(*), STATES(*) CONSTS(1) = 38 STATES(1) = 0 STATES(2) = 0 STATES(3) = 0 STATES(4) = 0 STATES(5) = 30.4 STATES(6) = 38 STATES(7) = 38 STATES(8) = 0 STATES(9) = 0 STATES(10) = 38 STATES(11) = 0 STATES(12) = 380 STATES(13) = 0 STATES(14) = 0 CONSTS(2) = 1 CONSTS(3) = 0.01 CONSTS(4) = 0.0700317 CONSTS(5) = 0.178887 CONSTS(6) = 71285.5 CONSTS(7) = 2.73747 CONSTS(8) = 5697.81 CONSTS(9) = 0.00287164 CONSTS(10) = 2.13383 CONSTS(11) = 2.28508 CONSTS(12) = 0.170556 CONSTS(13) = 0.170556 CONSTS(14) = 0.00226839 CONSTS(15) = 0.577328 CONSTS(16) = 0.00384885 CONSTS(17) = 3.76694 CONSTS(18) = 0.00150678 CONSTS(19) = 0.000942826 CONSTS(20) = 0.000141635 CONSTS(21) = 0.000180564 CONSTS(22) = 0.117957 CONSTS(23) = 0.126318 CONSTS(24) = 1.58037 CONSTS(25) = 0.000141635 CONSTS(26) = 8.06835 CONSTS(27) = 18.9051 CONSTS(28) = 938.634 CONSTS(29) = 8.31 CONSTS(30) = 310 CONSTS(31) = 96485 RETURN END SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(7) = CONSTS(29)*CONSTS(30)*log( CONSTS(15)*STATES(1)) ALGBRC(8) = CONSTS(29)*CONSTS(30)*log( CONSTS(16)*STATES(2)) ALGBRC(21) = CONSTS(4)*(EXP(ALGBRC(7)/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(8)/( CONSTS(29)*CONSTS(30)))) RATES(2) = ALGBRC(21) ALGBRC(9) = CONSTS(29)*CONSTS(30)*log( CONSTS(17)*STATES(3)) ALGBRC(10) = CONSTS(29)*CONSTS(30)*log( CONSTS(18)*STATES(4)) ALGBRC(22) = CONSTS(5)*(EXP(ALGBRC(9)/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(10)/( CONSTS(29)*CONSTS(30)))) RATES(4) = ALGBRC(22) ALGBRC(15) = CONSTS(29)*CONSTS(30)*log( CONSTS(23)*STATES(9)) ALGBRC(18) = CONSTS(29)*CONSTS(30)*log( CONSTS(26)*STATES(12)) ALGBRC(19) = CONSTS(29)*CONSTS(30)*log( CONSTS(27)*STATES(13)) ALGBRC(23) = CONSTS(6)*(EXP((ALGBRC(18)+ALGBRC(15))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(19)/( CONSTS(29)*CONSTS(30)))) ALGBRC(24) = CONSTS(7)*(EXP(ALGBRC(19)/( CONSTS(29)*CONSTS(30))) - EXP((ALGBRC(7)+ALGBRC(9)+ALGBRC(15))/( CONSTS(29)*CONSTS(30)))) RATES(13) = ALGBRC(23) - ALGBRC(24) ALGBRC(16) = CONSTS(29)*CONSTS(30)*log( CONSTS(24)*STATES(10)) ALGBRC(20) = CONSTS(29)*CONSTS(30)*log( CONSTS(28)*STATES(14)) ALGBRC(25) = CONSTS(8)*(EXP((ALGBRC(18)+ALGBRC(16))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(20)/( CONSTS(29)*CONSTS(30)))) RATES(12) = - ALGBRC(23) - ALGBRC(25) ALGBRC(26) = CONSTS(9)*(EXP(ALGBRC(20)/( CONSTS(29)*CONSTS(30))) - EXP((ALGBRC(7)+ALGBRC(9)+ALGBRC(16))/( CONSTS(29)*CONSTS(30)))) RATES(1) = (ALGBRC(24)+ALGBRC(26)) - ALGBRC(21) RATES(3) = (ALGBRC(24)+ALGBRC(26)) - ALGBRC(22) RATES(14) = ALGBRC(25) - ALGBRC(26) ALGBRC(11) = CONSTS(29)*CONSTS(30)*log( CONSTS(19)*STATES(5)) ALGBRC(13) = CONSTS(29)*CONSTS(30)*log( CONSTS(21)*STATES(7)) ALGBRC(27) = CONSTS(10)*(EXP((ALGBRC(11)+ALGBRC(13))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(15)/( CONSTS(29)*CONSTS(30)))) ALGBRC(12) = CONSTS(29)*CONSTS(30)*log( CONSTS(20)*STATES(6)) ALGBRC(14) = CONSTS(29)*CONSTS(30)*log( CONSTS(22)*STATES(8)) ALGBRC(28) = CONSTS(11)*(EXP((ALGBRC(11)+ALGBRC(12))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(14)/( CONSTS(29)*CONSTS(30)))) RATES(5) = - ALGBRC(27) - ALGBRC(28) ALGBRC(29) = CONSTS(12)*(EXP((ALGBRC(14)+ALGBRC(13))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(16)/( CONSTS(29)*CONSTS(30)))) RATES(7) = - ALGBRC(27) - ALGBRC(29) RATES(8) = ALGBRC(28) - ALGBRC(29) ALGBRC(30) = CONSTS(13)*(EXP(ALGBRC(16)/( CONSTS(29)*CONSTS(30))) - EXP((ALGBRC(12)+ALGBRC(15))/( CONSTS(29)*CONSTS(30)))) ALGBRC(1) = VOI - INT(VOI/CONSTS(2))*CONSTS(2) ALGBRC(6) = TERNRY(ALGBRC(1).GE.0.300000.AND.ALGBRC(1).LE.0.300000+CONSTS(3), 0.00000*100.000, 0.00000) RATES(6) = - ALGBRC(28)+ALGBRC(30)+ALGBRC(6) ALGBRC(17) = CONSTS(29)*CONSTS(30)*log( CONSTS(25)*STATES(11)) ALGBRC(31) = CONSTS(14)*(EXP(ALGBRC(16)/( CONSTS(29)*CONSTS(30))) - EXP((ALGBRC(17)+ALGBRC(15))/( CONSTS(29)*CONSTS(30)))) RATES(9) = - ALGBRC(23)+ALGBRC(24)+ALGBRC(27)+ALGBRC(30)+ALGBRC(31) RATES(10) = ((- ALGBRC(25)+ALGBRC(26)+ALGBRC(29)) - ALGBRC(30)) - ALGBRC(31) RATES(11) = ALGBRC(31) RETURN END SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC) REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*) ALGBRC(7) = CONSTS(29)*CONSTS(30)*log( CONSTS(15)*STATES(1)) ALGBRC(8) = CONSTS(29)*CONSTS(30)*log( CONSTS(16)*STATES(2)) ALGBRC(21) = CONSTS(4)*(EXP(ALGBRC(7)/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(8)/( CONSTS(29)*CONSTS(30)))) ALGBRC(9) = CONSTS(29)*CONSTS(30)*log( CONSTS(17)*STATES(3)) ALGBRC(10) = CONSTS(29)*CONSTS(30)*log( CONSTS(18)*STATES(4)) ALGBRC(22) = CONSTS(5)*(EXP(ALGBRC(9)/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(10)/( CONSTS(29)*CONSTS(30)))) ALGBRC(15) = CONSTS(29)*CONSTS(30)*log( CONSTS(23)*STATES(9)) ALGBRC(18) = CONSTS(29)*CONSTS(30)*log( CONSTS(26)*STATES(12)) ALGBRC(19) = CONSTS(29)*CONSTS(30)*log( CONSTS(27)*STATES(13)) ALGBRC(23) = CONSTS(6)*(EXP((ALGBRC(18)+ALGBRC(15))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(19)/( CONSTS(29)*CONSTS(30)))) ALGBRC(24) = CONSTS(7)*(EXP(ALGBRC(19)/( CONSTS(29)*CONSTS(30))) - EXP((ALGBRC(7)+ALGBRC(9)+ALGBRC(15))/( CONSTS(29)*CONSTS(30)))) ALGBRC(16) = CONSTS(29)*CONSTS(30)*log( CONSTS(24)*STATES(10)) ALGBRC(20) = CONSTS(29)*CONSTS(30)*log( CONSTS(28)*STATES(14)) ALGBRC(25) = CONSTS(8)*(EXP((ALGBRC(18)+ALGBRC(16))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(20)/( CONSTS(29)*CONSTS(30)))) ALGBRC(26) = CONSTS(9)*(EXP(ALGBRC(20)/( CONSTS(29)*CONSTS(30))) - EXP((ALGBRC(7)+ALGBRC(9)+ALGBRC(16))/( CONSTS(29)*CONSTS(30)))) ALGBRC(11) = CONSTS(29)*CONSTS(30)*log( CONSTS(19)*STATES(5)) ALGBRC(13) = CONSTS(29)*CONSTS(30)*log( CONSTS(21)*STATES(7)) ALGBRC(27) = CONSTS(10)*(EXP((ALGBRC(11)+ALGBRC(13))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(15)/( CONSTS(29)*CONSTS(30)))) ALGBRC(12) = CONSTS(29)*CONSTS(30)*log( CONSTS(20)*STATES(6)) ALGBRC(14) = CONSTS(29)*CONSTS(30)*log( CONSTS(22)*STATES(8)) ALGBRC(28) = CONSTS(11)*(EXP((ALGBRC(11)+ALGBRC(12))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(14)/( CONSTS(29)*CONSTS(30)))) ALGBRC(29) = CONSTS(12)*(EXP((ALGBRC(14)+ALGBRC(13))/( CONSTS(29)*CONSTS(30))) - EXP(ALGBRC(16)/( CONSTS(29)*CONSTS(30)))) ALGBRC(30) = CONSTS(13)*(EXP(ALGBRC(16)/( CONSTS(29)*CONSTS(30))) - EXP((ALGBRC(12)+ALGBRC(15))/( CONSTS(29)*CONSTS(30)))) ALGBRC(1) = VOI - INT(VOI/CONSTS(2))*CONSTS(2) ALGBRC(6) = TERNRY(ALGBRC(1).GE.0.300000.AND.ALGBRC(1).LE.0.300000+CONSTS(3), 0.00000*100.000, 0.00000) ALGBRC(17) = CONSTS(29)*CONSTS(30)*log( CONSTS(25)*STATES(11)) ALGBRC(31) = CONSTS(14)*(EXP(ALGBRC(16)/( CONSTS(29)*CONSTS(30))) - EXP((ALGBRC(17)+ALGBRC(15))/( CONSTS(29)*CONSTS(30)))) ALGBRC(2) = STATES(6)/CONSTS(1) ALGBRC(3) = STATES(7)/CONSTS(1) ALGBRC(4) = STATES(1)/CONSTS(1) ALGBRC(5) = STATES(3)/CONSTS(1) RETURN END REAL FUNCTION TERNRY(TEST, VALA, VALB) LOGICAL TEST REAL VALA, VALB IF (TEST) THEN TERNRY = VALA ELSE TERNRY = VALB ENDIF RETURN END