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 25 entries in the algebraic variable array.
C There are a total of 8 entries in each of the rate and state variable arrays.
C There are a total of 49 entries in the constant variable array.
C
C
C VOI is time in component environment (millisecond).
C STATES(1) is V1 in component V1 (millivolt).
C CONSTS(1) is C in component model_parameters (nanoF).
C ALGBRC(4) is i_NaP in component i_NaP (nanoA).
C ALGBRC(6) is i_K in component i_K (nanoA).
C ALGBRC(10) is i_L1 in component i_L1 (nanoA).
C ALGBRC(14) is i_synE1 in component i_synE1 (nanoA).
C ALGBRC(23) is i_synI1 in component i_synI1 (nanoA).
C STATES(2) is V2 in component V2 (millivolt).
C ALGBRC(7) is i_AD2 in component i_AD2 (nanoA).
C ALGBRC(11) is i_L2 in component i_L2 (nanoA).
C ALGBRC(18) is i_synE2 in component i_synE2 (nanoA).
C ALGBRC(24) is i_synI2 in component i_synI2 (nanoA).
C STATES(3) is V3 in component V3 (millivolt).
C ALGBRC(8) is i_AD3 in component i_AD3 (nanoA).
C ALGBRC(12) is i_L3 in component i_L3 (nanoA).
C ALGBRC(15) is i_synE3 in component i_synE3 (nanoA).
C ALGBRC(25) is i_synI3 in component i_synI3 (nanoA).
C STATES(4) is V4 in component V4 (millivolt).
C ALGBRC(9) is i_AD4 in component i_AD4 (nanoA).
C ALGBRC(13) is i_L4 in component i_L4 (nanoA).
C ALGBRC(16) is i_synE4 in component i_synE4 (nanoA).
C ALGBRC(21) is i_synI4 in component i_synI4 (nanoA).
C CONSTS(2) is g_NaP in component model_parameters (nanoS).
C CONSTS(3) is E_Na in component model_parameters (millivolt).
C ALGBRC(2) is m in component i_NaP_m_gate (dimensionless).
C STATES(5) is h in component i_NaP_h_gate (dimensionless).
C ALGBRC(1) is h_infinity in component i_NaP_h_gate (dimensionless).
C ALGBRC(3) is tau_h in component i_NaP_h_gate (millisecond).
C CONSTS(4) is tau_h_max in component i_NaP_h_gate (millisecond).
C CONSTS(5) is g_K in component model_parameters (nanoS).
C CONSTS(6) is E_K in component model_parameters (millivolt).
C ALGBRC(5) is m in component i_K_m_gate (dimensionless).
C CONSTS(7) is g_AD in component model_parameters (nanoS).
C ALGBRC(19) is f2_V2 in component model_parameters (dimensionless).
C STATES(6) is m in component i_AD2_m_gate (dimensionless).
C CONSTS(8) is k_AD2 in component i_AD2_m_gate (dimensionless).
C CONSTS(9) is tau_AD2 in component i_AD2_m_gate (millisecond).
C ALGBRC(20) is f3_V3 in component model_parameters (dimensionless).
C STATES(7) is m in component i_AD3_m_gate (dimensionless).
C CONSTS(10) is k_AD3 in component i_AD3_m_gate (dimensionless).
C CONSTS(11) is tau_AD3 in component i_AD3_m_gate (millisecond).
C ALGBRC(22) is f4_V4 in component model_parameters (dimensionless).
C STATES(8) is m in component i_AD4_m_gate (dimensionless).
C CONSTS(12) is k_AD4 in component i_AD4_m_gate (dimensionless).
C CONSTS(13) is tau_AD4 in component i_AD4_m_gate (millisecond).
C CONSTS(14) is g_L in component model_parameters (nanoS).
C CONSTS(15) is E_L in component model_parameters (millivolt).
C CONSTS(16) is c11 in component i_synE1 (dimensionless).
C CONSTS(17) is c21 in component i_synE1 (dimensionless).
C CONSTS(18) is c31 in component i_synE1 (dimensionless).
C CONSTS(19) is d1 in component model_parameters (dimensionless).
C CONSTS(20) is d2 in component model_parameters (dimensionless).
C CONSTS(21) is d3 in component model_parameters (dimensionless).
C CONSTS(22) is g_synE in component model_parameters (nanoS).
C CONSTS(23) is E_synE in component model_parameters (millivolt).
C CONSTS(24) is c12 in component i_synE2 (dimensionless).
C CONSTS(25) is c22 in component i_synE2 (dimensionless).
C CONSTS(26) is c32 in component i_synE2 (dimensionless).
C CONSTS(27) is a12 in component i_synE2 (dimensionless).
C ALGBRC(17) is f1_V1 in component model_parameters (dimensionless).
C CONSTS(28) is c13 in component i_synE3 (dimensionless).
C CONSTS(29) is c23 in component i_synE3 (dimensionless).
C CONSTS(30) is c33 in component i_synE3 (dimensionless).
C CONSTS(31) is c14 in component i_synE4 (dimensionless).
C CONSTS(32) is c24 in component i_synE4 (dimensionless).
C CONSTS(33) is c34 in component i_synE4 (dimensionless).
C CONSTS(34) is b21 in component i_synI1 (dimensionless).
C CONSTS(35) is b31 in component i_synI1 (dimensionless).
C CONSTS(36) is b41 in component i_synI1 (dimensionless).
C CONSTS(37) is g_synI in component model_parameters (nanoS).
C CONSTS(38) is E_synI in component model_parameters (millivolt).
C CONSTS(39) is b32 in component i_synI2 (dimensionless).
C CONSTS(40) is b42 in component i_synI2 (dimensionless).
C CONSTS(41) is b23 in component i_synI3 (dimensionless).
C CONSTS(42) is b43 in component i_synI3 (dimensionless).
C CONSTS(43) is b24 in component i_synI4 (dimensionless).
C CONSTS(44) is b34 in component i_synI4 (dimensionless).
C CONSTS(45) is V_half in component model_parameters (millivolt).
C CONSTS(46) is k_V1 in component model_parameters (millivolt).
C CONSTS(47) is k_V2 in component model_parameters (millivolt).
C CONSTS(48) is k_V3 in component model_parameters (millivolt).
C CONSTS(49) is k_V4 in component model_parameters (millivolt).
C RATES(1) is d/dt V1 in component V1 (millivolt).
C RATES(2) is d/dt V2 in component V2 (millivolt).
C RATES(3) is d/dt V3 in component V3 (millivolt).
C RATES(4) is d/dt V4 in component V4 (millivolt).
C RATES(5) is d/dt h in component i_NaP_h_gate (dimensionless).
C RATES(6) is d/dt m in component i_AD2_m_gate (dimensionless).
C RATES(7) is d/dt m in component i_AD3_m_gate (dimensionless).
C RATES(8) is d/dt m in component i_AD4_m_gate (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -50.0
      CONSTS(1) = 0.020
      STATES(2) = -50.0
      STATES(3) = -50.0
      STATES(4) = -50.0
      CONSTS(2) = 5.0
      CONSTS(3) = 50.0
      STATES(5) = 0.92
      CONSTS(4) = 6000
      CONSTS(5) = 5.0
      CONSTS(6) = -85.0
      CONSTS(7) = 10.0
      STATES(6) = 0.92
      CONSTS(8) = 0.9
      CONSTS(9) = 2000
      STATES(7) = 0.92
      CONSTS(10) = 1.3
      CONSTS(11) = 2000
      STATES(8) = 0.92
      CONSTS(12) = 0.9
      CONSTS(13) = 1000
      CONSTS(14) = 2.8
      CONSTS(15) = -60.0
      CONSTS(16) = 0.115
      CONSTS(17) = 0.07
      CONSTS(18) = 0.025
      CONSTS(19) = 1.0
      CONSTS(20) = 1.0
      CONSTS(21) = 1.0
      CONSTS(22) = 10.0
      CONSTS(23) = 0.0
      CONSTS(24) = 0.3
      CONSTS(25) = 0.3
      CONSTS(26) = 0.0
      CONSTS(27) = 0.4
      CONSTS(28) = 0.63
      CONSTS(29) = 0.00
      CONSTS(30) = 0.00
      CONSTS(31) = 0.33
      CONSTS(32) = 0.40
      CONSTS(33) = 0.00
      CONSTS(34) = 0.00
      CONSTS(35) = 0.30
      CONSTS(36) = 0.20
      CONSTS(37) = 60.0
      CONSTS(38) = -75.0
      CONSTS(39) = 0.05
      CONSTS(40) = 0.35
      CONSTS(41) = 0.25
      CONSTS(42) = 0.10
      CONSTS(43) = 0.35
      CONSTS(44) = 0.35
      CONSTS(45) = 30.0
      CONSTS(46) = 8.0
      CONSTS(47) = 4.0
      CONSTS(48) = 4.0
      CONSTS(49) = 4.0
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = 1.00000/(1.00000+EXP((STATES(1)+48.0000)/6.00000))
      ALGBRC(3) = CONSTS(4)/cosh((STATES(1)+48.0000)/12.0000)
      RATES(5) = (ALGBRC(1) - STATES(5))/ALGBRC(3)
      ALGBRC(19) = 1.00000/(1.00000+EXP(- (STATES(2) - CONSTS(45))/CONSTS(47)))
      RATES(6) = ( CONSTS(8)*ALGBRC(19) - STATES(6))/CONSTS(9)
      ALGBRC(20) = 1.00000/(1.00000+EXP(- (STATES(3) - CONSTS(45))/CONSTS(48)))
      RATES(7) = ( CONSTS(10)*ALGBRC(20) - STATES(7))/CONSTS(11)
      ALGBRC(9) =  CONSTS(7)*STATES(8)*(1.00000/1000.00)*(STATES(4) - CONSTS(6))
      ALGBRC(13) =  CONSTS(14)*(1.00000/1000.00)*(STATES(4) - CONSTS(15))
      ALGBRC(16) =  CONSTS(22)*(1.00000/1000.00)*(STATES(4) - CONSTS(23))*( CONSTS(31)*CONSTS(19)+ CONSTS(32)*CONSTS(20)+ CONSTS(33)*CONSTS(21))
      ALGBRC(21) =  CONSTS(37)*(1.00000/1000.00)*(STATES(4) - CONSTS(38))*( CONSTS(43)*ALGBRC(19)+ CONSTS(44)*ALGBRC(20))
      RATES(4) = - (ALGBRC(9)+ALGBRC(13)+ALGBRC(16)+ALGBRC(21))/CONSTS(1)
      ALGBRC(22) = 1.00000/(1.00000+EXP(- (STATES(4) - CONSTS(45))/CONSTS(49)))
      RATES(8) = ( CONSTS(12)*ALGBRC(22) - STATES(8))/CONSTS(13)
      ALGBRC(2) = 1.00000/(1.00000+EXP(- (STATES(1)+40.0000)/6.00000))
      ALGBRC(4) =  CONSTS(2)*ALGBRC(2)*STATES(5)*(1.00000/1000.00)*(STATES(1) - CONSTS(3))
      ALGBRC(5) = 1.00000/(1.00000+EXP(- (STATES(1)+29.0000)/4.00000))
      ALGBRC(6) =  CONSTS(5)*ALGBRC(5) ** 4.00000*(1.00000/1000.00)*(STATES(1) - CONSTS(6))
      ALGBRC(10) =  CONSTS(14)*(1.00000/1000.00)*(STATES(1) - CONSTS(15))
      ALGBRC(14) =  CONSTS(22)*(1.00000/1000.00)*(STATES(1) - CONSTS(23))*( CONSTS(16)*CONSTS(19)+ CONSTS(17)*CONSTS(20)+ CONSTS(18)*CONSTS(21))
      ALGBRC(23) =  CONSTS(37)*(1.00000/1000.00)*(STATES(1) - CONSTS(38))*( CONSTS(34)*ALGBRC(19)+ CONSTS(35)*ALGBRC(20)+ CONSTS(36)*ALGBRC(22))
      RATES(1) = - (ALGBRC(4)+ALGBRC(6)+ALGBRC(10)+ALGBRC(14)+ALGBRC(23))/CONSTS(1)
      ALGBRC(7) =  CONSTS(7)*STATES(6)*(1.00000/1000.00)*(STATES(2) - CONSTS(6))
      ALGBRC(11) =  CONSTS(14)*(1.00000/1000.00)*(STATES(2) - CONSTS(15))
      ALGBRC(17) = 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(45))/CONSTS(46)))
      ALGBRC(18) =  CONSTS(22)*(1.00000/1000.00)*(STATES(2) - CONSTS(23))*( CONSTS(27)*ALGBRC(17)+ CONSTS(24)*CONSTS(19)+ CONSTS(25)*CONSTS(20)+ CONSTS(26)*CONSTS(21))
      ALGBRC(24) =  CONSTS(37)*(1.00000/1000.00)*(STATES(2) - CONSTS(38))*( CONSTS(39)*ALGBRC(20)+ CONSTS(40)*ALGBRC(22))
      RATES(2) = - (ALGBRC(7)+ALGBRC(11)+ALGBRC(18)+ALGBRC(24))/CONSTS(1)
      ALGBRC(8) =  CONSTS(7)*STATES(7)*(1.00000/1000.00)*(STATES(3) - CONSTS(6))
      ALGBRC(12) =  CONSTS(14)*(1.00000/1000.00)*(STATES(3) - CONSTS(15))
      ALGBRC(15) =  CONSTS(22)*(1.00000/1000.00)*(STATES(3) - CONSTS(23))*( CONSTS(28)*CONSTS(19)+ CONSTS(29)*CONSTS(20)+ CONSTS(30)*CONSTS(21))
      ALGBRC(25) =  CONSTS(37)*(1.00000/1000.00)*(STATES(3) - CONSTS(38))*( CONSTS(41)*ALGBRC(19)+ CONSTS(42)*ALGBRC(22))
      RATES(3) = - (ALGBRC(8)+ALGBRC(12)+ALGBRC(15)+ALGBRC(25))/CONSTS(1)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = 1.00000/(1.00000+EXP((STATES(1)+48.0000)/6.00000))
      ALGBRC(3) = CONSTS(4)/cosh((STATES(1)+48.0000)/12.0000)
      ALGBRC(19) = 1.00000/(1.00000+EXP(- (STATES(2) - CONSTS(45))/CONSTS(47)))
      ALGBRC(20) = 1.00000/(1.00000+EXP(- (STATES(3) - CONSTS(45))/CONSTS(48)))
      ALGBRC(9) =  CONSTS(7)*STATES(8)*(1.00000/1000.00)*(STATES(4) - CONSTS(6))
      ALGBRC(13) =  CONSTS(14)*(1.00000/1000.00)*(STATES(4) - CONSTS(15))
      ALGBRC(16) =  CONSTS(22)*(1.00000/1000.00)*(STATES(4) - CONSTS(23))*( CONSTS(31)*CONSTS(19)+ CONSTS(32)*CONSTS(20)+ CONSTS(33)*CONSTS(21))
      ALGBRC(21) =  CONSTS(37)*(1.00000/1000.00)*(STATES(4) - CONSTS(38))*( CONSTS(43)*ALGBRC(19)+ CONSTS(44)*ALGBRC(20))
      ALGBRC(22) = 1.00000/(1.00000+EXP(- (STATES(4) - CONSTS(45))/CONSTS(49)))
      ALGBRC(2) = 1.00000/(1.00000+EXP(- (STATES(1)+40.0000)/6.00000))
      ALGBRC(4) =  CONSTS(2)*ALGBRC(2)*STATES(5)*(1.00000/1000.00)*(STATES(1) - CONSTS(3))
      ALGBRC(5) = 1.00000/(1.00000+EXP(- (STATES(1)+29.0000)/4.00000))
      ALGBRC(6) =  CONSTS(5)*ALGBRC(5) ** 4.00000*(1.00000/1000.00)*(STATES(1) - CONSTS(6))
      ALGBRC(10) =  CONSTS(14)*(1.00000/1000.00)*(STATES(1) - CONSTS(15))
      ALGBRC(14) =  CONSTS(22)*(1.00000/1000.00)*(STATES(1) - CONSTS(23))*( CONSTS(16)*CONSTS(19)+ CONSTS(17)*CONSTS(20)+ CONSTS(18)*CONSTS(21))
      ALGBRC(23) =  CONSTS(37)*(1.00000/1000.00)*(STATES(1) - CONSTS(38))*( CONSTS(34)*ALGBRC(19)+ CONSTS(35)*ALGBRC(20)+ CONSTS(36)*ALGBRC(22))
      ALGBRC(7) =  CONSTS(7)*STATES(6)*(1.00000/1000.00)*(STATES(2) - CONSTS(6))
      ALGBRC(11) =  CONSTS(14)*(1.00000/1000.00)*(STATES(2) - CONSTS(15))
      ALGBRC(17) = 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(45))/CONSTS(46)))
      ALGBRC(18) =  CONSTS(22)*(1.00000/1000.00)*(STATES(2) - CONSTS(23))*( CONSTS(27)*ALGBRC(17)+ CONSTS(24)*CONSTS(19)+ CONSTS(25)*CONSTS(20)+ CONSTS(26)*CONSTS(21))
      ALGBRC(24) =  CONSTS(37)*(1.00000/1000.00)*(STATES(2) - CONSTS(38))*( CONSTS(39)*ALGBRC(20)+ CONSTS(40)*ALGBRC(22))
      ALGBRC(8) =  CONSTS(7)*STATES(7)*(1.00000/1000.00)*(STATES(3) - CONSTS(6))
      ALGBRC(12) =  CONSTS(14)*(1.00000/1000.00)*(STATES(3) - CONSTS(15))
      ALGBRC(15) =  CONSTS(22)*(1.00000/1000.00)*(STATES(3) - CONSTS(23))*( CONSTS(28)*CONSTS(19)+ CONSTS(29)*CONSTS(20)+ CONSTS(30)*CONSTS(21))
      ALGBRC(25) =  CONSTS(37)*(1.00000/1000.00)*(STATES(3) - CONSTS(38))*( CONSTS(41)*ALGBRC(19)+ CONSTS(42)*ALGBRC(22))
      RETURN
      END