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 27 entries in the algebraic variable array.
C There are a total of 9 entries in each of the rate and state variable arrays.
C There are a total of 36 entries in the constant variable array.
C
C
C VOI is t in component main (second).
C CONSTS(1) is RT in component main (J_per_mol).
C CONSTS(2) is F in component main (C_per_mol).
C STATES(1) is q_ac_W in component main (litre).
C STATES(2) is q_vc_W in component main (litre).
C STATES(3) is q_gi_W in component main (litre).
C STATES(4) is q_pt_W in component main (litre).
C CONSTS(3) is q_giEpi_W in component main (litre).
C CONSTS(4) is q_ptEpi_W in component main (litre).
C ALGBRC(1) is q_tot_W in component main (litre).
C STATES(5) is q_vc_Na in component main (mole).
C STATES(6) is q_gi_Na in component main (mole).
C STATES(7) is q_pt_Na in component main (mole).
C STATES(8) is q_giEpi_Na in component main (mole).
C STATES(9) is q_ptEpi_Na in component main (mole).
C CONSTS(5) is q_vc_K in component main (mole).
C CONSTS(6) is q_giEpi_K in component main (mole).
C CONSTS(7) is q_ptEpi_K in component main (mole).
C ALGBRC(2) is q_tot_Na in component main (mole).
C ALGBRC(3) is c_vc_Na in component main (mol_per_L).
C ALGBRC(12) is c_gi_Na in component main (mol_per_L).
C ALGBRC(17) is c_pt_Na in component main (mol_per_L).
C ALGBRC(4) is c_giEpi_Na in component main (mol_per_L).
C ALGBRC(5) is c_ptEpi_Na in component main (mol_per_L).
C ALGBRC(13) is C_vc_Na in component main (mM).
C ALGBRC(18) is C_gi_Na in component main (mM).
C ALGBRC(21) is C_pt_Na in component main (mM).
C ALGBRC(14) is C_giEpi_Na in component main (mM).
C ALGBRC(15) is C_ptEpi_Na in component main (mM).
C CONSTS(8) is v_lv_W in component main (L_per_s).
C CONSTS(9) is v_in_W in component main (L_per_s).
C CONSTS(10) is v_out1_W in component main (L_per_s).
C CONSTS(11) is v_out2_W in component main (L_per_s).
C ALGBRC(22) is v_gl_W in component main (L_per_s).
C ALGBRC(25) is v_gi_W in component main (L_per_s).
C ALGBRC(27) is v_pt_W in component main (L_per_s).
C ALGBRC(19) is v_cc_W in component main (L_per_s).
C CONSTS(12) is v_in_Na in component main (mol_per_s).
C CONSTS(13) is v_out1_Na in component main (mol_per_s).
C CONSTS(14) is v_out2_Na in component main (mol_per_s).
C ALGBRC(6) is v_gl_Na in component main (mol_per_s).
C ALGBRC(7) is v_gi_Na in component main (mol_per_s).
C ALGBRC(8) is v_pt_Na in component main (mol_per_s).
C ALGBRC(9) is v_giEpi_NKE in component main (mol_per_s).
C ALGBRC(10) is v_ptEpi_NKE in component main (mol_per_s).
C ALGBRC(11) is u_vc_W in component main (kPa).
C ALGBRC(16) is u_ac_W in component main (kPa).
C ALGBRC(20) is u_pt_W in component main (kPa).
C ALGBRC(24) is u_vc_osmotic in component main (kPa).
C ALGBRC(23) is u_gi_osmotic in component main (kPa).
C ALGBRC(26) is u_pt_osmotic in component main (kPa).
C CONSTS(15) is u_giEpi_e in component main (J_per_C).
C CONSTS(16) is u_ptEpi_e in component main (J_per_C).
C CONSTS(17) is k_gi_W in component main (L_per_s_per_kPa).
C CONSTS(18) is k_pt_W in component main (L_per_s_per_kPa).
C CONSTS(19) is k_gl_W in component main (L_per_s_per_kPa).
C CONSTS(20) is k_cc_W in component main (L_per_s_per_kPa).
C CONSTS(21) is kK_gi_Na in component main (per_s).
C CONSTS(22) is kK_pt_Na in component main (per_s).
C CONSTS(23) is kK_gl_Na in component main (per_s).
C CONSTS(24) is k_giEpi_NKE in component main (mol_per_s).
C CONSTS(25) is k_ptEpi_NKE in component main (mol_per_s).
C CONSTS(26) is K_Na in component main (L_per_mol).
C CONSTS(27) is K_K in component main (L_per_mol).
C CONSTS(28) is E_vc in component main (joule).
C CONSTS(29) is E_ac in component main (joule).
C CONSTS(30) is E_pt in component main (joule).
C CONSTS(31) is U_ac_W in component main (litre).
C CONSTS(32) is U_vc_W in component main (litre).
C CONSTS(33) is U_pt_W in component main (litre).
C CONSTS(34) is L_ac_W in component main (litre).
C CONSTS(35) is L_vc_W in component main (litre).
C CONSTS(36) is L_pt_W in component main (litre).
C RATES(3) is d/dt q_gi_W in component main (litre).
C RATES(4) is d/dt q_pt_W in component main (litre).
C RATES(2) is d/dt q_vc_W in component main (litre).
C RATES(1) is d/dt q_ac_W in component main (litre).
C RATES(6) is d/dt q_gi_Na in component main (mole).
C RATES(8) is d/dt q_giEpi_Na in component main (mole).
C RATES(7) is d/dt q_pt_Na in component main (mole).
C RATES(9) is d/dt q_ptEpi_Na in component main (mole).
C RATES(5) is d/dt q_vc_Na in component main (mole).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 2.5e3
      CONSTS(2) = 0.965e5
      STATES(1) = 1
      STATES(2) = 2
      STATES(3) = 1
      STATES(4) = 0.1
      CONSTS(3) = 0.5
      CONSTS(4) = 0.5
      STATES(5) = 0.84
      STATES(6) = 0.1
      STATES(7) = 0.01
      STATES(8) = 0.012
      STATES(9) = 0.012
      CONSTS(5) = 0.03
      CONSTS(6) = 0.012
      CONSTS(7) = 0.012
      CONSTS(8) = 0.1
      CONSTS(9) = 0
      CONSTS(10) = 0
      CONSTS(11) = 0
      CONSTS(12) = 1.16e-6
      CONSTS(13) = 0
      CONSTS(14) = 1.16e-6
      CONSTS(15) = -0.040
      CONSTS(16) = -0.040
      CONSTS(17) = 1
      CONSTS(18) = 0
      CONSTS(19) = 1
      CONSTS(20) = 1
      CONSTS(21) = 1
      CONSTS(22) = 1
      CONSTS(23) = 1
      CONSTS(24) = 1e4
      CONSTS(25) = 1e5
      CONSTS(26) = 1
      CONSTS(27) = 1
      CONSTS(28) = 6e1
      CONSTS(29) = 6e1
      CONSTS(30) = 1
      CONSTS(31) = 0.5
      CONSTS(32) = 1.5
      CONSTS(33) = 0.1
      CONSTS(34) = 1.5
      CONSTS(35) = 2.5
      CONSTS(36) = 1
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(3) = (CONSTS(9) -  CONSTS(1)*CONSTS(17)*(STATES(5)/STATES(2) - STATES(6)/STATES(3))) - CONSTS(10)
      RATES(4) = ( CONSTS(19)*(( CONSTS(29)*(STATES(1) - CONSTS(31)))/CONSTS(34) - STATES(1) ** 2.00000 - ( CONSTS(30)*(STATES(4) - CONSTS(33)))/CONSTS(36) - STATES(4) ** 2.00000) -  CONSTS(1)*CONSTS(18)*(STATES(5)/STATES(2) - STATES(7)/STATES(4))) - CONSTS(11)
      RATES(2) = ( CONSTS(20)*(( CONSTS(29)*(STATES(1) - CONSTS(31)))/CONSTS(34) - STATES(1) ** 2.00000 - ( CONSTS(28)*(STATES(2) - CONSTS(32)))/CONSTS(35) - STATES(2) ** 2.00000)+ CONSTS(1)*CONSTS(17)*(STATES(5)/STATES(2) - STATES(6)/STATES(3))+ CONSTS(1)*CONSTS(18)*(STATES(5)/STATES(2) - STATES(7)/STATES(4))) - CONSTS(8)
      RATES(1) = ((CONSTS(8)+( CONSTS(20)*CONSTS(28)*(STATES(2) - CONSTS(32)))/CONSTS(35) - STATES(2) ** 2.00000) - ( (CONSTS(19)+CONSTS(20))*CONSTS(29)*(STATES(1) - CONSTS(31)))/CONSTS(34) - STATES(1) ** 2.00000)+( CONSTS(19)*CONSTS(30)*(STATES(4) - CONSTS(33)))/CONSTS(36) - STATES(4) ** 2.00000
      RATES(6) = (CONSTS(12) -  CONSTS(21)*(STATES(6) - STATES(8))) - CONSTS(13)
      RATES(8) =  CONSTS(21)*(STATES(6) - STATES(8)) - ( 3.00000*CONSTS(24)*( ( CONSTS(26)*STATES(8))/CONSTS(3) ** 3.00000*( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000 -  ( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000*( CONSTS(27)*CONSTS(6))/CONSTS(3) ** 2.00000*EXP(( 2.00000*CONSTS(2)*CONSTS(15))/CONSTS(1))))/( (1.00000+( CONSTS(26)*STATES(8))/CONSTS(3) ** 3.00000)*(1.00000+( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000)*(1.00000+( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000)*(1.00000+( CONSTS(27)*CONSTS(6))/CONSTS(3) ** 2.00000))
      RATES(7) = ( CONSTS(23)*(STATES(5) - STATES(7)) -  CONSTS(22)*(STATES(7) - STATES(9))) - CONSTS(14)
      RATES(9) =  CONSTS(22)*(STATES(7) - STATES(9)) - ( 3.00000*CONSTS(25)*( ( CONSTS(26)*STATES(9))/CONSTS(4) ** 3.00000*( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000 -  ( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000*( CONSTS(27)*CONSTS(7))/CONSTS(4) ** 2.00000*EXP(( 2.00000*CONSTS(2)*CONSTS(16))/CONSTS(1))))/( (1.00000+( CONSTS(26)*STATES(9))/CONSTS(4) ** 3.00000)*(1.00000+( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000)*(1.00000+( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000)*(1.00000+( CONSTS(27)*CONSTS(7))/CONSTS(4) ** 2.00000))
      RATES(5) = (( 3.00000*CONSTS(24)*( ( CONSTS(26)*STATES(8))/CONSTS(3) ** 3.00000*( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000 -  ( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000*( CONSTS(27)*CONSTS(6))/CONSTS(3) ** 2.00000*EXP(( 2.00000*CONSTS(2)*CONSTS(15))/CONSTS(1))))/( (1.00000+( CONSTS(26)*STATES(8))/CONSTS(3) ** 3.00000)*(1.00000+( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000)*(1.00000+( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000)*(1.00000+( CONSTS(27)*CONSTS(6))/CONSTS(3) ** 2.00000))+( 3.00000*CONSTS(25)*( ( CONSTS(26)*STATES(9))/CONSTS(4) ** 3.00000*( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000 -  ( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000*( CONSTS(27)*CONSTS(7))/CONSTS(4) ** 2.00000*EXP(( 2.00000*CONSTS(2)*CONSTS(16))/CONSTS(1))))/( (1.00000+( CONSTS(26)*STATES(9))/CONSTS(4) ** 3.00000)*(1.00000+( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000)*(1.00000+( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000)*(1.00000+( CONSTS(27)*CONSTS(7))/CONSTS(4) ** 2.00000))) -  CONSTS(23)*(STATES(5) - STATES(7))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = STATES(1)+STATES(2)+STATES(3)+STATES(4)+CONSTS(3)+CONSTS(4)
      ALGBRC(2) = STATES(5)+STATES(6)+STATES(7)+STATES(8)+STATES(9)
      ALGBRC(3) = STATES(5)/STATES(2)
      ALGBRC(4) = STATES(8)/CONSTS(3)
      ALGBRC(5) = STATES(9)/CONSTS(4)
      ALGBRC(6) =  CONSTS(23)*(STATES(5) - STATES(7))
      ALGBRC(7) =  CONSTS(21)*(STATES(6) - STATES(8))
      ALGBRC(8) =  CONSTS(22)*(STATES(7) - STATES(9))
      ALGBRC(9) = ( 3.00000*CONSTS(24)*( ( CONSTS(26)*STATES(8))/CONSTS(3) ** 3.00000*( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000 -  ( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000*( CONSTS(27)*CONSTS(6))/CONSTS(3) ** 2.00000*EXP(( 2.00000*CONSTS(2)*CONSTS(15))/CONSTS(1))))/( (1.00000+( CONSTS(26)*STATES(8))/CONSTS(3) ** 3.00000)*(1.00000+( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000)*(1.00000+( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000)*(1.00000+( CONSTS(27)*CONSTS(6))/CONSTS(3) ** 2.00000))
      ALGBRC(10) = ( 3.00000*CONSTS(25)*( ( CONSTS(26)*STATES(9))/CONSTS(4) ** 3.00000*( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000 -  ( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000*( CONSTS(27)*CONSTS(7))/CONSTS(4) ** 2.00000*EXP(( 2.00000*CONSTS(2)*CONSTS(16))/CONSTS(1))))/( (1.00000+( CONSTS(26)*STATES(9))/CONSTS(4) ** 3.00000)*(1.00000+( CONSTS(26)*STATES(5))/STATES(2) ** 3.00000)*(1.00000+( CONSTS(27)*CONSTS(5))/STATES(2) ** 2.00000)*(1.00000+( CONSTS(27)*CONSTS(7))/CONSTS(4) ** 2.00000))
      ALGBRC(11) = ( CONSTS(28)*(STATES(2) - CONSTS(32)))/CONSTS(35) - STATES(2) ** 2.00000
      ALGBRC(12) = STATES(6)/STATES(3)
      ALGBRC(13) =  1000.00*ALGBRC(3)
      ALGBRC(14) =  1000.00*ALGBRC(4)
      ALGBRC(15) =  1000.00*ALGBRC(5)
      ALGBRC(16) = ( CONSTS(29)*(STATES(1) - CONSTS(31)))/CONSTS(34) - STATES(1) ** 2.00000
      ALGBRC(17) = STATES(7)/STATES(4)
      ALGBRC(18) =  1000.00*ALGBRC(12)
      ALGBRC(19) =  CONSTS(20)*(ALGBRC(16) - ALGBRC(11))
      ALGBRC(20) = ( CONSTS(30)*(STATES(4) - CONSTS(33)))/CONSTS(36) - STATES(4) ** 2.00000
      ALGBRC(21) =  1000.00*ALGBRC(17)
      ALGBRC(22) =  CONSTS(19)*(ALGBRC(16) - ALGBRC(20))
      ALGBRC(23) =  CONSTS(1)*ALGBRC(12)
      ALGBRC(24) =  CONSTS(1)*ALGBRC(3)
      ALGBRC(25) =  CONSTS(17)*(ALGBRC(24) - ALGBRC(23))
      ALGBRC(26) =  CONSTS(1)*ALGBRC(17)
      ALGBRC(27) =  CONSTS(18)*(ALGBRC(24) - ALGBRC(26))
      RETURN
      END