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 15 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 40 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C CONSTS(1) is cap in component parameters (nanofarad).
C CONSTS(2) is cc1lin in component parameters (per_second).
C CONSTS(3) is cc_2 in component parameters (per_second).
C CONSTS(4) is ck1lin in component parameters (per_second).
C CONSTS(5) is ck_2 in component parameters (per_second).
C CONSTS(6) is clmax in component parameters (nanosiemens).
C CONSTS(7) is cnmax in component parameters (nanosiemens).
C CONSTS(8) is cx1lin in component parameters (per_second).
C CONSTS(9) is cx2 in component parameters (per_second).
C CONSTS(10) is ef in component parameters (per_second).
C CONSTS(11) is gl in component parameters (nanosiemens).
C CONSTS(12) is hmc_1 in component parameters (uM).
C CONSTS(13) is hmc_2 in component parameters (uM).
C CONSTS(14) is inf in component parameters (uM_per_picocoulomb).
C CONSTS(15) is inhmax in component parameters (dimensionless).
C CONSTS(16) is k_1 in component parameters (per_uM_per_second).
C CONSTS(17) is k_2 in component parameters (per_second).
C CONSTS(18) is kI in component parameters (uM).
C CONSTS(19) is kinh in component parameters (uM).
C CONSTS(20) is kinhcng in component parameters (uM).
C CONSTS(21) is n_1 in component parameters (dimensionless).
C CONSTS(22) is n_2 in component parameters (dimensionless).
C CONSTS(23) is nI in component parameters (dimensionless).
C CONSTS(24) is ninh in component parameters (dimensionless).
C CONSTS(25) is ninhcng in component parameters (dimensionless).
C CONSTS(26) is pd in component parameters (per_second).
C CONSTS(27) is r_1 in component parameters (per_second).
C CONSTS(28) is r_2 in component parameters (per_second).
C CONSTS(29) is smax in component parameters (uM_per_second).
C CONSTS(30) is V_Cl in component parameters (millivolt).
C CONSTS(31) is V_cng in component parameters (millivolt).
C CONSTS(32) is V_l in component parameters (millivolt).
C CONSTS(40) is F_vol in component parameters (picocoulomb_per_uM).
C CONSTS(33) is F in component parameters (coulombs_per_mole).
C CONSTS(34) is C_vol in component parameters (liter).
C ALGBRC(10) is O_stim in component O_stim (uM).
C CONSTS(35) is od in component O_stim (uM).
C CONSTS(36) is t_0 in component O_stim (second).
C CONSTS(37) is t_1 in component O_stim (second).
C ALGBRC(1) is H_0 in component O_stim (dimensionless).
C ALGBRC(6) is H_1 in component O_stim (dimensionless).
C STATES(1) is bLR in component bLR (dimensionless).
C CONSTS(38) is R_tot in component bLR (dimensionless).
C STATES(2) is aG in component aG (dimensionless).
C CONSTS(39) is G_tot in component aG (dimensionless).
C ALGBRC(2) is k_G in component k_G (per_second).
C ALGBRC(7) is r_G in component r_G (per_second).
C STATES(3) is cAMP in component cAMP (uM).
C ALGBRC(3) is synth in component synth (uM_per_second).
C ALGBRC(8) is degrad in component degrad (uM_per_second).
C STATES(4) is aCaMK in component aCaMK (uM).
C STATES(5) is Ca in component Ca (uM).
C ALGBRC(11) is I_CNG in component I_CNG (nanoampere).
C ALGBRC(13) is J_NCX in component J_NCX (uM_per_second).
C ALGBRC(4) is cc_1 in component cc_1 (uM_per_second).
C STATES(6) is CaCaM in component CaCaM (uM).
C ALGBRC(5) is ck_1 in component ck_1 (uM_per_second).
C STATES(7) is V in component V (millivolt).
C ALGBRC(12) is I_ClCa in component I_ClCa (nanoampere).
C ALGBRC(14) is I_NCX in component I_NCX (nanoampere).
C ALGBRC(15) is I_other in component I_other (nanoampere).
C ALGBRC(9) is inhcng in component inhcng (dimensionless).
C RATES(1) is d/dt bLR in component bLR (dimensionless).
C RATES(2) is d/dt aG in component aG (dimensionless).
C RATES(3) is d/dt cAMP in component cAMP (uM).
C RATES(5) is d/dt Ca in component Ca (uM).
C RATES(6) is d/dt CaCaM in component CaCaM (uM).
C RATES(4) is d/dt aCaMK in component aCaMK (uM).
C RATES(7) is d/dt V in component V (millivolt).
C
SUBROUTINE initConsts(CONSTS, RATES, STATES)
REAL CONSTS(*), RATES(*), STATES(*)
CONSTS(1) = 0.004
CONSTS(2) = 0.88
CONSTS(3) = 26
CONSTS(4) = 13
CONSTS(5) = 0.9
CONSTS(6) = 1
CONSTS(7) = 1
CONSTS(8) = 1
CONSTS(9) = 13
CONSTS(10) = 2
CONSTS(11) = 6
CONSTS(12) = 2
CONSTS(13) = 3
CONSTS(14) = 1.9
CONSTS(15) = 5
CONSTS(16) = 0.06
CONSTS(17) = 20
CONSTS(18) = 0.7
CONSTS(19) = 2
CONSTS(20) = 1
CONSTS(21) = 2
CONSTS(22) = 2
CONSTS(23) = 2
CONSTS(24) = 1.5
CONSTS(25) = 1.3
CONSTS(26) = 20
CONSTS(27) = 10
CONSTS(28) = 5
CONSTS(29) = 71
CONSTS(30) = -50
CONSTS(31) = 0
CONSTS(32) = -70
CONSTS(33) = 9.649e4
CONSTS(34) = 1e-13
CONSTS(35) = 20
CONSTS(36) = 0.5
CONSTS(37) = 1.5
STATES(1) = 0
CONSTS(38) = 1
STATES(2) = 0
CONSTS(39) = 1
STATES(3) = 1.35648992164649e-88
STATES(4) = 6.60756525051462e-8
STATES(5) = 5.09073088043779e-12
STATES(6) = 1.86113118246926e-13
STATES(7) = -70
CONSTS(40) = (1.00000e+12/1.00000)*(1.00000/1000.00)*CONSTS(33)*CONSTS(34)
RETURN
END
SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC)
REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
ALGBRC(4) = CONSTS(2)*STATES(5)
RATES(6) = ALGBRC(4) - CONSTS(3)*STATES(6)
ALGBRC(5) = CONSTS(4)*STATES(6)
RATES(4) = ALGBRC(5) - CONSTS(5)*STATES(4)
ALGBRC(2) = CONSTS(17)*STATES(1)
ALGBRC(7) = CONSTS(28)*STATES(2)
RATES(2) = ALGBRC(2)*(CONSTS(39) - STATES(2)) - ALGBRC(7)
ALGBRC(3) = ( STATES(2)*CONSTS(29))/(1.00000+STATES(4)/CONSTS(19) ** CONSTS(24))
ALGBRC(8) = CONSTS(26)*STATES(3)
RATES(3) = ALGBRC(3) - ALGBRC(8)
ALGBRC(1) = TERNRY(VOI.LT.CONSTS(36), 0.00000, 1.00000)
ALGBRC(6) = TERNRY(VOI.LT.CONSTS(37), 0.00000, 1.00000)
ALGBRC(10) = CONSTS(35)*(ALGBRC(1) - ALGBRC(6))
RATES(1) = CONSTS(16)*ALGBRC(10)*(CONSTS(38) - STATES(1)) - CONSTS(27)*STATES(1)
ALGBRC(9) = 1.00000+( (CONSTS(15) - 1.00000)*STATES(6) ** CONSTS(25))/(STATES(6) ** CONSTS(25)+CONSTS(20) ** CONSTS(25))
ALGBRC(11) = (( CONSTS(7)*STATES(3) ** CONSTS(21))/(STATES(3) ** CONSTS(21)+ ALGBRC(9)*CONSTS(12) ** CONSTS(21)))*(1.00000/1000.00)*(CONSTS(31) - STATES(7))
ALGBRC(13) = CONSTS(10)*STATES(5)
RATES(5) = ( (1000.00/1.00000)*CONSTS(14)*ALGBRC(11) - ALGBRC(13)) - (ALGBRC(4) - CONSTS(3)*STATES(6))
ALGBRC(12) = (( CONSTS(6)*STATES(5) ** CONSTS(22))/(STATES(5) ** CONSTS(22)+CONSTS(13) ** CONSTS(22)))*(1.00000/1000.00)*(CONSTS(30) - STATES(7))
ALGBRC(14) = (1.00000/1000.00)*CONSTS(40)*ALGBRC(13)
ALGBRC(15) = CONSTS(11)*(1.00000/1000.00)*(CONSTS(32) - STATES(7))
RATES(7) = (1000.00/1.00000)*(1.00000/CONSTS(1))*(ALGBRC(11)+ALGBRC(12)+ALGBRC(14)+ALGBRC(15))
RETURN
END
SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
ALGBRC(4) = CONSTS(2)*STATES(5)
ALGBRC(5) = CONSTS(4)*STATES(6)
ALGBRC(2) = CONSTS(17)*STATES(1)
ALGBRC(7) = CONSTS(28)*STATES(2)
ALGBRC(3) = ( STATES(2)*CONSTS(29))/(1.00000+STATES(4)/CONSTS(19) ** CONSTS(24))
ALGBRC(8) = CONSTS(26)*STATES(3)
ALGBRC(1) = TERNRY(VOI.LT.CONSTS(36), 0.00000, 1.00000)
ALGBRC(6) = TERNRY(VOI.LT.CONSTS(37), 0.00000, 1.00000)
ALGBRC(10) = CONSTS(35)*(ALGBRC(1) - ALGBRC(6))
ALGBRC(9) = 1.00000+( (CONSTS(15) - 1.00000)*STATES(6) ** CONSTS(25))/(STATES(6) ** CONSTS(25)+CONSTS(20) ** CONSTS(25))
ALGBRC(11) = (( CONSTS(7)*STATES(3) ** CONSTS(21))/(STATES(3) ** CONSTS(21)+ ALGBRC(9)*CONSTS(12) ** CONSTS(21)))*(1.00000/1000.00)*(CONSTS(31) - STATES(7))
ALGBRC(13) = CONSTS(10)*STATES(5)
ALGBRC(12) = (( CONSTS(6)*STATES(5) ** CONSTS(22))/(STATES(5) ** CONSTS(22)+CONSTS(13) ** CONSTS(22)))*(1.00000/1000.00)*(CONSTS(30) - STATES(7))
ALGBRC(14) = (1.00000/1000.00)*CONSTS(40)*ALGBRC(13)
ALGBRC(15) = CONSTS(11)*(1.00000/1000.00)*(CONSTS(32) - STATES(7))
RETURN
END
REAL FUNCTION TERNRY(TEST, VALA, VALB)
LOGICAL TEST
REAL VALA, VALB
IF (TEST) THEN
TERNRY = VALA
ELSE
TERNRY = VALB
ENDIF
RETURN
END
