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
