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 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