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 8 entries in the algebraic variable array.
C There are a total of 4 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(5) is i_Ca in component calcium_current (picoA).
C ALGBRC(1) is i_K in component rapidly_activating_K_current (picoA).
C ALGBRC(6) is i_K_Ca in component calcium_activated_K_current (picoA).
C ALGBRC(8) 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 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 g_K_Ca in component calcium_activated_K_current (picoS).
C CONSTS(16) is K_d in component calcium_activated_K_current (micromolar).
C STATES(3) is Ca_i in component ionic_concentrations (micromolar).
C CONSTS(17) is g_Na_Ca in component Na_Ca_exchanger_current (picoS).
C CONSTS(18) is K_1_2 in component Na_Ca_exchanger_current (micromolar).
C ALGBRC(7) is V_Na_Ca in component Na_Ca_exchanger_current (millivolt).
C CONSTS(19) is RT_F in component Na_Ca_exchanger_current (millivolt).
C CONSTS(20) is nH in component Na_Ca_exchanger_current (dimensionless).
C CONSTS(21) is Ca_o in component ionic_concentrations (micromolar).
C CONSTS(22) is Na_i in component ionic_concentrations (millimolar).
C CONSTS(23) is Na_o in component ionic_concentrations (millimolar).
C STATES(4) is Ca_ret in component ionic_concentrations (micromolar).
C CONSTS(24) is f in component ionic_concentrations (dimensionless).
C CONSTS(25) is k_Ca in component ionic_concentrations (per_millisecond).
C CONSTS(26) is k_rel in component ionic_concentrations (per_millisecond).
C CONSTS(27) is k_pump 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 RATES(4) is d/dt Ca_ret 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) = 2700.0
      STATES(2) = 0.1
      CONSTS(4) = 0.85
      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) = 25.0
      CONSTS(12) = 1000.0
      CONSTS(13) = -20.0
      CONSTS(14) = 12.0
      CONSTS(15) = 30000.0
      CONSTS(16) = 70.0
      STATES(3) = 0.52
      CONSTS(17) = 1000.0
      CONSTS(18) = 1.5
      CONSTS(19) = 26.54
      CONSTS(20) = 5.0
      CONSTS(21) = 2600.0
      CONSTS(22) = 10.0
      CONSTS(23) = 140.0
      STATES(4) = 0.7
      CONSTS(24) = 0.001
      CONSTS(25) = 0.64
      CONSTS(26) = 0.0006
      CONSTS(27) = 0.2
      CONSTS(28) = 0.00006
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(4) =  - CONSTS(26)*(STATES(4) - STATES(3))+ CONSTS(27)*STATES(3)
      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) =  CONSTS(12)*ALGBRC(3)*(STATES(1) - CONSTS(11))
      ALGBRC(1) =  CONSTS(3)*STATES(2)*(STATES(1) - CONSTS(2))
      ALGBRC(6) =  CONSTS(15)*(STATES(3)/(CONSTS(16)+STATES(3)))*(STATES(1) - CONSTS(2))
      ALGBRC(7) =  CONSTS(19)*( 3.00000*log(CONSTS(23)/CONSTS(22) - log(CONSTS(21)/STATES(3))))
      ALGBRC(8) =  CONSTS(17)*(STATES(3) ** CONSTS(20)/(CONSTS(18) ** CONSTS(20)+STATES(3) ** CONSTS(20)))*(STATES(1) - ALGBRC(7))
      RATES(1) = - (ALGBRC(1)+ALGBRC(5)+ALGBRC(6)+ALGBRC(8))/CONSTS(1)
      RATES(3) = ( CONSTS(24)*( - CONSTS(28)*(ALGBRC(5) -  2.00000*ALGBRC(8)) -  CONSTS(25)*STATES(3))+ CONSTS(26)*(STATES(4) - STATES(3))) -  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) =  CONSTS(12)*ALGBRC(3)*(STATES(1) - CONSTS(11))
      ALGBRC(1) =  CONSTS(3)*STATES(2)*(STATES(1) - CONSTS(2))
      ALGBRC(6) =  CONSTS(15)*(STATES(3)/(CONSTS(16)+STATES(3)))*(STATES(1) - CONSTS(2))
      ALGBRC(7) =  CONSTS(19)*( 3.00000*log(CONSTS(23)/CONSTS(22) - log(CONSTS(21)/STATES(3))))
      ALGBRC(8) =  CONSTS(17)*(STATES(3) ** CONSTS(20)/(CONSTS(18) ** CONSTS(20)+STATES(3) ** CONSTS(20)))*(STATES(1) - ALGBRC(7))
      RETURN
      END