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 4 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 25 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C STATES(1) is Vm in component membrane (millivolt).
C CONSTS(1) is C in component membrane (picoF).
C ALGBRC(3) is i_K in component potassium_current (picoA).
C ALGBRC(4) is i_R in component repolarising_current (picoA).
C STATES(2) is IP3 in component IP3 (nanomolar).
C CONSTS(2) is m3IP3 in component IP3 (dimensionless).
C CONSTS(3) is m4IP3 in component IP3 (dimensionless).
C CONSTS(4) is kIP3 in component IP3 (first_order_rate_constant).
C CONSTS(5) is A in component IP3 (dimensionless).
C STATES(3) is Ca in component Ca (nanomolar).
C CONSTS(6) is m3SR in component Ca (dimensionless).
C CONSTS(7) is m4SR in component Ca (dimensionless).
C CONSTS(8) is m3PMCA in component Ca (dimensionless).
C CONSTS(9) is m4PMCA in component Ca (dimensionless).
C CONSTS(10) is kSR_rel in component Ca (flux).
C CONSTS(11) is kPMCA in component Ca (flux).
C ALGBRC(2) is Jcat in component Jcat (flux).
C CONSTS(12) is ECa in component Jcat (millivolt).
C CONSTS(13) is Gcat in component Jcat (nanomolar_per_millivolt_second).
C CONSTS(14) is m3cat in component Jcat (dimensionless).
C CONSTS(15) is m4cat in component Jcat (dimensionless).
C CONSTS(16) is Gtot in component potassium_current (picoS).
C ALGBRC(1) is PoBKCa in component potassium_current (dimensionless).
C CONSTS(17) is PoSKCa in component potassium_current (dimensionless).
C CONSTS(18) is E_K in component potassium_current (millivolt).
C CONSTS(19) is a in component potassium_current (dimensionless).
C CONSTS(20) is b in component potassium_current (dimensionless).
C CONSTS(21) is c in component potassium_current (dimensionless).
C CONSTS(22) is m3 in component potassium_current (dimensionless).
C CONSTS(23) is m4 in component potassium_current (dimensionless).
C CONSTS(24) is GR in component repolarising_current (picoS).
C CONSTS(25) is Vrest in component repolarising_current (millivolt).
C RATES(1) is d/dt Vm in component membrane (millivolt).
C RATES(2) is d/dt IP3 in component IP3 (nanomolar).
C RATES(3) is d/dt Ca in component Ca (nanomolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -31.1
      CONSTS(1) = 1.0
      STATES(2) = 1.0
      CONSTS(2) = 4.0
      CONSTS(3) = 55.0
      CONSTS(4) = 0.1733
      CONSTS(5) = 0.211
      STATES(3) = 50.0
      CONSTS(6) = 1.1
      CONSTS(7) = 0.3
      CONSTS(8) = -6.19
      CONSTS(9) = 0.39
      CONSTS(10) = 180.0
      CONSTS(11) = 0.679
      CONSTS(12) = 50.0
      CONSTS(13) = 0.66
      CONSTS(14) = -6.18
      CONSTS(15) = 0.37
      CONSTS(16) = 6927
      CONSTS(17) = 0.5
      CONSTS(18) = -80.0
      CONSTS(19) = 53.3
      CONSTS(20) = -80.8
      CONSTS(21) = -6.4
      CONSTS(22) = 1.32E-3
      CONSTS(23) = 0.30
      CONSTS(24) = 955.0
      CONSTS(25) = -31.1
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(2) =  CONSTS(5)*(1.00000+ tanh((CONSTS(2) - VOI)/CONSTS(3))) -  CONSTS(4)*STATES(2)
      RATES(3) =  (CONSTS(10)/2.00000)*(1.00000+ tanh((STATES(2) - CONSTS(6))/CONSTS(7))) -  (CONSTS(11)/2.00000)*(1.00000+ tanh((arbitrary_log(STATES(3), 10) - CONSTS(8))/CONSTS(9)))
      ALGBRC(1) =  0.500000*(1.00000+ tanh(( (arbitrary_log(STATES(3), 10) - CONSTS(21))*(STATES(1) - CONSTS(20)) - CONSTS(19))/( CONSTS(22)*(STATES(1)+ CONSTS(19)*(arbitrary_log(STATES(3), 10) - CONSTS(21))) - CONSTS(20) ** 2.00000+CONSTS(23))))
      ALGBRC(3) =  CONSTS(16)*(STATES(1) - CONSTS(18))*( 0.400000*ALGBRC(1)+ 0.600000*CONSTS(17))
      ALGBRC(4) =  CONSTS(24)*(STATES(1) - CONSTS(25))
      RATES(1) =  - (1.00000/CONSTS(1))*(ALGBRC(3)+ALGBRC(4))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) =  0.500000*(1.00000+ tanh(( (arbitrary_log(STATES(3), 10) - CONSTS(21))*(STATES(1) - CONSTS(20)) - CONSTS(19))/( CONSTS(22)*(STATES(1)+ CONSTS(19)*(arbitrary_log(STATES(3), 10) - CONSTS(21))) - CONSTS(20) ** 2.00000+CONSTS(23))))
      ALGBRC(3) =  CONSTS(16)*(STATES(1) - CONSTS(18))*( 0.400000*ALGBRC(1)+ 0.600000*CONSTS(17))
      ALGBRC(4) =  CONSTS(24)*(STATES(1) - CONSTS(25))
      ALGBRC(2) =  ( CONSTS(13)*(CONSTS(12) - STATES(1)))*( 0.500000*(1.00000+ tanh((arbitrary_log(STATES(3), 10) - CONSTS(14))/CONSTS(15))))
      RETURN
      END