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 9 entries in the algebraic variable array.
C There are a total of 3 entries in each of the rate and state variable arrays.
C There are a total of 28 entries in the constant variable array.
C
C
C VOI is time in component environment (millisecond).
C STATES(1) is V in component membrane (millivolt).
C CONSTS(1) is Cm in component membrane (femtoF).
C ALGBRC(6) is i_Ca in component calcium_current (picoA).
C ALGBRC(1) is i_K in component rapidly_activating_K_current (picoA).
C ALGBRC(7) is i_K_Ca in component calcium_activated_K_current (picoA).
C ALGBRC(9) is i_Na_Ca in component Na_Ca_exchanger_current (picoA).
C CONSTS(2) is V_K in component rapidly_activating_K_current (millivolt).
C CONSTS(3) is g_K in component rapidly_activating_K_current (picoS).
C STATES(2) is n in component rapidly_activating_K_current_n_gate (dimensionless).
C ALGBRC(2) is n_infinity in component rapidly_activating_K_current_n_gate (dimensionless).
C CONSTS(4) is lamda in component rapidly_activating_K_current_n_gate (dimensionless).
C ALGBRC(4) is tau_n in component rapidly_activating_K_current_n_gate (millisecond).
C CONSTS(5) is V_n in component rapidly_activating_K_current_n_gate (millivolt).
C CONSTS(6) is S_n in component rapidly_activating_K_current_n_gate (millivolt).
C CONSTS(7) is a in component rapidly_activating_K_current_n_gate (millivolt).
C CONSTS(8) is b in component rapidly_activating_K_current_n_gate (millivolt).
C CONSTS(9) is c in component rapidly_activating_K_current_n_gate (millisecond).
C CONSTS(10) is V_ in component rapidly_activating_K_current_n_gate (millivolt).
C CONSTS(11) is V_Ca in component calcium_current (millivolt).
C CONSTS(12) is g_Ca in component calcium_current (picoS).
C ALGBRC(3) is m_infinity in component calcium_current_m_gate (dimensionless).
C ALGBRC(5) is h in component calcium_current_h_gate (dimensionless).
C CONSTS(13) is V_m in component calcium_current_m_gate (millivolt).
C CONSTS(14) is S_m in component calcium_current_m_gate (millivolt).
C CONSTS(15) is V_h in component calcium_current_h_gate (millivolt).
C CONSTS(16) is S_h in component calcium_current_h_gate (millivolt).
C CONSTS(17) is g_K_Ca in component calcium_activated_K_current (picoS).
C CONSTS(18) is K_d in component calcium_activated_K_current (micromolar).
C STATES(3) is Ca_i in component ionic_concentrations (micromolar).
C CONSTS(19) is g_Na_Ca in component Na_Ca_exchanger_current (picoS).
C CONSTS(20) is K_1_2 in component Na_Ca_exchanger_current (micromolar).
C ALGBRC(8) is V_Na_Ca in component Na_Ca_exchanger_current (millivolt).
C CONSTS(21) is RT_F in component Na_Ca_exchanger_current (millivolt).
C CONSTS(22) is nH in component Na_Ca_exchanger_current (dimensionless).
C CONSTS(23) is Ca_o in component ionic_concentrations (micromolar).
C CONSTS(24) is Na_i in component ionic_concentrations (millimolar).
C CONSTS(25) is Na_o in component ionic_concentrations (millimolar).
C CONSTS(26) is f in component ionic_concentrations (dimensionless).
C CONSTS(27) is k_Ca in component ionic_concentrations (per_millisecond).
C CONSTS(28) is alpha in component ionic_concentrations (mole_per_microlitre_coulomb).
C RATES(1) is d/dt V in component membrane (millivolt).
C RATES(2) is d/dt n in component rapidly_activating_K_current_n_gate (dimensionless).
C RATES(3) is d/dt Ca_i in component ionic_concentrations (micromolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -76.0
      CONSTS(1) = 5310.0
      CONSTS(2) = -75.0
      CONSTS(3) = 2500.0
      STATES(2) = 0.1
      CONSTS(4) = 1.6
      CONSTS(5) = -15.0
      CONSTS(6) = 5.6
      CONSTS(7) = 65.0
      CONSTS(8) = 20.0
      CONSTS(9) = 6.0
      CONSTS(10) = -75.0
      CONSTS(11) = 110.0
      CONSTS(12) = 1400.0
      CONSTS(13) = 4.0
      CONSTS(14) = 14.0
      CONSTS(15) = -10.0
      CONSTS(16) = -10.0
      CONSTS(17) = 30000.0
      CONSTS(18) = 100.0
      STATES(3) = 0.52
      CONSTS(19) = 234.0
      CONSTS(20) = 1.5
      CONSTS(21) = 26.54
      CONSTS(22) = 5.0
      CONSTS(23) = 2600.0
      CONSTS(24) = 10.0
      CONSTS(25) = 140.0
      CONSTS(26) = 0.001
      CONSTS(27) = 0.03
      CONSTS(28) = 0.0000045055
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(2) = 1.00000/(1.00000+EXP((CONSTS(5) - STATES(1))/CONSTS(6)))
      ALGBRC(4) = CONSTS(9)/(EXP((STATES(1) - CONSTS(10))/CONSTS(7))+EXP((CONSTS(10) - STATES(1))/CONSTS(8)))
      RATES(2) =  CONSTS(4)*((ALGBRC(2) - STATES(2))/ALGBRC(4))
      ALGBRC(3) = 1.00000/(1.00000+EXP((CONSTS(13) - STATES(1))/CONSTS(14)))
      ALGBRC(5) = 1.00000/(1.00000+EXP((CONSTS(15) - STATES(1))/CONSTS(16)))
      ALGBRC(6) =  CONSTS(12)*ALGBRC(3)*ALGBRC(5)*(STATES(1) - CONSTS(11))
      ALGBRC(1) =  CONSTS(3)*STATES(2)*(STATES(1) - CONSTS(2))
      ALGBRC(7) =  CONSTS(17)*(STATES(3)/(CONSTS(18)+STATES(3)))*(STATES(1) - CONSTS(2))
      ALGBRC(8) =  CONSTS(21)*( 3.00000*log(CONSTS(25)/CONSTS(24) - log(CONSTS(23)/STATES(3))))
      ALGBRC(9) =  CONSTS(19)*(STATES(3) ** CONSTS(22)/(CONSTS(20) ** CONSTS(22)+STATES(3) ** CONSTS(22)))*(STATES(1) - ALGBRC(8))
      RATES(1) = - (ALGBRC(1)+ALGBRC(6)+ALGBRC(7)+ALGBRC(9))/CONSTS(1)
      RATES(3) =  CONSTS(26)*( - CONSTS(28)*(ALGBRC(6) -  2.00000*ALGBRC(9)) -  CONSTS(27)*STATES(3))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(2) = 1.00000/(1.00000+EXP((CONSTS(5) - STATES(1))/CONSTS(6)))
      ALGBRC(4) = CONSTS(9)/(EXP((STATES(1) - CONSTS(10))/CONSTS(7))+EXP((CONSTS(10) - STATES(1))/CONSTS(8)))
      ALGBRC(3) = 1.00000/(1.00000+EXP((CONSTS(13) - STATES(1))/CONSTS(14)))
      ALGBRC(5) = 1.00000/(1.00000+EXP((CONSTS(15) - STATES(1))/CONSTS(16)))
      ALGBRC(6) =  CONSTS(12)*ALGBRC(3)*ALGBRC(5)*(STATES(1) - CONSTS(11))
      ALGBRC(1) =  CONSTS(3)*STATES(2)*(STATES(1) - CONSTS(2))
      ALGBRC(7) =  CONSTS(17)*(STATES(3)/(CONSTS(18)+STATES(3)))*(STATES(1) - CONSTS(2))
      ALGBRC(8) =  CONSTS(21)*( 3.00000*log(CONSTS(25)/CONSTS(24) - log(CONSTS(23)/STATES(3))))
      ALGBRC(9) =  CONSTS(19)*(STATES(3) ** CONSTS(22)/(CONSTS(20) ** CONSTS(22)+STATES(3) ** CONSTS(22)))*(STATES(1) - ALGBRC(8))
      RETURN
      END