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 5 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_slow in component slow_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 CONSTS(5) is tau_n in component rapidly_activating_K_current_n_gate (millisecond).
C CONSTS(6) is V_n in component rapidly_activating_K_current_n_gate (millivolt).
C CONSTS(7) is S_n in component rapidly_activating_K_current_n_gate (millivolt).
C CONSTS(8) is V_Ca in component calcium_current (millivolt).
C CONSTS(9) is g_Ca in component calcium_current (picoS).
C ALGBRC(4) is m_infinity in component calcium_current_m_gate (dimensionless).
C CONSTS(10) is V_m in component calcium_current_m_gate (millivolt).
C CONSTS(11) is S_m in component calcium_current_m_gate (millivolt).
C CONSTS(12) is g_s in component slow_K_current (picoS).
C STATES(3) is s in component slow_K_current_s_gate (dimensionless).
C ALGBRC(3) is s_infinity in component slow_K_current_s_gate (dimensionless).
C CONSTS(13) is tau_s in component slow_K_current_s_gate (millisecond).
C CONSTS(14) is V_s in component slow_K_current_s_gate (millivolt).
C CONSTS(15) is S_s in component slow_K_current_s_gate (millivolt).
C CONSTS(16) is R_s in component slow_K_current_s_gate (dimensionless).
C ALGBRC(5) is S_V_R_s in component slow_K_current_s_gate (dimensionless).
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(8) 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 STATES(4) is Ca_i in component ionic_concentrations (micromolar).
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(5) 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 s in component slow_K_current_s_gate (dimensionless).
C RATES(4) is d/dt Ca_i in component ionic_concentrations (micromolar).
C RATES(5) 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) = 1.0
      CONSTS(5) = 20.0
      CONSTS(6) = -16.0
      CONSTS(7) = 5.6
      CONSTS(8) = 25.0
      CONSTS(9) = 1000.0
      CONSTS(10) = -20.0
      CONSTS(11) = 12.0
      CONSTS(12) = 200.0
      STATES(3) = 0.1
      CONSTS(13) = 12000.0
      CONSTS(14) = -52.0
      CONSTS(15) = 10.0
      CONSTS(16) = 0.58
      CONSTS(17) = 350.0
      CONSTS(18) = 1.5
      CONSTS(19) = 26.54
      CONSTS(20) = 5.0
      STATES(4) = 0.52
      CONSTS(21) = 2600.0
      CONSTS(22) = 10.0
      CONSTS(23) = 140.0
      STATES(5) = 0.7
      CONSTS(24) = 0.02
      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(5) =  - CONSTS(26)*(STATES(5) - STATES(4))+ CONSTS(27)*STATES(4)
      ALGBRC(2) = 1.00000/(1.00000+EXP((CONSTS(6) - STATES(1))/CONSTS(7)))
      RATES(2) =  CONSTS(4)*((ALGBRC(2) - STATES(2))/CONSTS(5))
      ALGBRC(3) = 1.00000/(1.00000+EXP((CONSTS(14) - STATES(1))/CONSTS(15)))
      ALGBRC(5) = ALGBRC(3)+CONSTS(16)
      RATES(3) = (ALGBRC(5) - STATES(3))/CONSTS(13)
      ALGBRC(4) = 1.00000/(1.00000+EXP((CONSTS(10) - STATES(1))/CONSTS(11)))
      ALGBRC(6) =  CONSTS(9)*ALGBRC(4)*(STATES(1) - CONSTS(8))
      ALGBRC(1) =  CONSTS(3)*STATES(2)*(STATES(1) - CONSTS(2))
      ALGBRC(7) =  CONSTS(12)*STATES(3)*(STATES(1) - CONSTS(2))
      ALGBRC(8) =  CONSTS(19)*( 3.00000*log(CONSTS(23)/CONSTS(22) - log(CONSTS(21)/STATES(4))))
      ALGBRC(9) =  CONSTS(17)*(STATES(4) ** CONSTS(20)/(CONSTS(18) ** CONSTS(20)+STATES(4) ** CONSTS(20)))*(STATES(1) - ALGBRC(8))
      RATES(1) = - (ALGBRC(1)+ALGBRC(6)+ALGBRC(7)+ALGBRC(9))/CONSTS(1)
      RATES(4) = ( CONSTS(24)*( - CONSTS(28)*(ALGBRC(6) -  2.00000*ALGBRC(9)) -  CONSTS(25)*STATES(4))+ CONSTS(26)*(STATES(5) - STATES(4))) -  CONSTS(27)*STATES(4)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(2) = 1.00000/(1.00000+EXP((CONSTS(6) - STATES(1))/CONSTS(7)))
      ALGBRC(3) = 1.00000/(1.00000+EXP((CONSTS(14) - STATES(1))/CONSTS(15)))
      ALGBRC(5) = ALGBRC(3)+CONSTS(16)
      ALGBRC(4) = 1.00000/(1.00000+EXP((CONSTS(10) - STATES(1))/CONSTS(11)))
      ALGBRC(6) =  CONSTS(9)*ALGBRC(4)*(STATES(1) - CONSTS(8))
      ALGBRC(1) =  CONSTS(3)*STATES(2)*(STATES(1) - CONSTS(2))
      ALGBRC(7) =  CONSTS(12)*STATES(3)*(STATES(1) - CONSTS(2))
      ALGBRC(8) =  CONSTS(19)*( 3.00000*log(CONSTS(23)/CONSTS(22) - log(CONSTS(21)/STATES(4))))
      ALGBRC(9) =  CONSTS(17)*(STATES(4) ** CONSTS(20)/(CONSTS(18) ** CONSTS(20)+STATES(4) ** CONSTS(20)))*(STATES(1) - ALGBRC(8))
      RETURN
      END