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 16 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 34 entries in the constant variable array.
C
C
C VOI is time in component interface (ms).
C STATES(1) is Vm in component interface (mV).
C STATES(2) is cMgADP in component interface (concentration).
C STATES(3) is cNa_i in component interface (concentration).
C ALGBRC(16) is v_cyc in component NaK_pump (rate).
C ALGBRC(10) is net_free_energy in component NaK_pump (energy).
C CONSTS(1) is body_temp in component NaK_pump (kelvin).
C CONSTS(2) is gas_const in component NaK_pump (gas_constant).
C CONSTS(3) is faraday_const in component NaK_pump (faraday_constant).
C CONSTS(4) is k1 in component NaK_pump (rate).
C CONSTS(5) is minus_k1 in component NaK_pump (minus_k1_rate).
C CONSTS(6) is k2 in component NaK_pump (rate).
C CONSTS(7) is minus_k2 in component NaK_pump (rate).
C CONSTS(8) is k3 in component NaK_pump (rate).
C CONSTS(9) is minus_k3 in component NaK_pump (minus_k3_rate).
C CONSTS(10) is k4 in component NaK_pump (rate).
C CONSTS(11) is minus_k4 in component NaK_pump (rate).
C CONSTS(12) is eq_Na_base_e in component NaK_pump (concentration).
C CONSTS(13) is eq_Na_base_i in component NaK_pump (concentration).
C CONSTS(14) is eq_K_e in component NaK_pump (concentration).
C CONSTS(15) is eq_K_i in component NaK_pump (concentration).
C CONSTS(16) is eq_MgATP in component NaK_pump (concentration).
C CONSTS(17) is eq_HPi in component NaK_pump (concentration).
C CONSTS(18) is eq_KPi in component NaK_pump (concentration).
C CONSTS(19) is eq_NaPi in component NaK_pump (concentration).
C ALGBRC(4) is dimless_Na_e in component NaK_pump (dimensionless).
C ALGBRC(2) is dimless_Na_i in component NaK_pump (dimensionless).
C CONSTS(28) is dimless_K_e in component NaK_pump (dimensionless).
C CONSTS(27) is dimless_K_i in component NaK_pump (dimensionless).
C CONSTS(29) is dimless_MgATP in component NaK_pump (dimensionless).
C ALGBRC(6) is alpha1 in component NaK_pump (rate).
C CONSTS(30) is alpha2 in component NaK_pump (rate).
C ALGBRC(8) is alpha3 in component NaK_pump (rate).
C CONSTS(31) is alpha4 in component NaK_pump (rate).
C ALGBRC(11) is minus_alpha1 in component NaK_pump (rate).
C ALGBRC(12) is minus_alpha2 in component NaK_pump (rate).
C ALGBRC(13) is minus_alpha3 in component NaK_pump (rate).
C ALGBRC(14) is minus_alpha4 in component NaK_pump (rate).
C CONSTS(20) is cNa_e in component NaK_pump (concentration).
C CONSTS(21) is cK_e in component NaK_pump (concentration).
C CONSTS(22) is cK_i in component NaK_pump (concentration).
C CONSTS(23) is cMgATP in component NaK_pump (concentration).
C CONSTS(24) is cPi_sum in component NaK_pump (concentration).
C ALGBRC(1) is cPi in component NaK_pump (concentration).
C CONSTS(25) is cH in component NaK_pump (concentration).
C ALGBRC(3) is dG_Na in component NaK_pump (energy).
C ALGBRC(5) is dG_K in component NaK_pump (energy).
C ALGBRC(7) is dG_pump in component NaK_pump (energy).
C ALGBRC(9) is dG_ATP in component NaK_pump (energy).
C CONSTS(26) is partition_factor in component NaK_pump (dimensionless).
C ALGBRC(15) is diagram_sum in component NaK_pump (rate_diagram_sum).
C RATES(1) is d/dt Vm in component interface (mV).
C RATES(2) is d/dt cMgADP in component interface (concentration).
C RATES(3) is d/dt cNa_i in component interface (concentration).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -150
      STATES(2) = 0.01
      STATES(3) = 50.
      CONSTS(1) = 310.
      CONSTS(2) = 8.314
      CONSTS(3) = 96485.
      CONSTS(4) = 1050.
      CONSTS(5) = 172.1
      CONSTS(6) = 481.
      CONSTS(7) = 40.1
      CONSTS(8) = 2000.
      CONSTS(9) = 79287.1
      CONSTS(10) = 320.
      CONSTS(11) = 40.1
      CONSTS(12) = 15.5
      CONSTS(13) = 2.49
      CONSTS(14) = 0.213
      CONSTS(15) = 0.5
      CONSTS(16) = 2.51
      CONSTS(17) = 0.000169
      CONSTS(18) = 292.
      CONSTS(19) = 224.
      CONSTS(20) = 150.
      CONSTS(21) = 5.4
      CONSTS(22) = 140.
      CONSTS(23) = 9.8
      CONSTS(24) = 4.2
      CONSTS(25) = 0.000081283
      CONSTS(26) = -0.031288692380984445
      CONSTS(27) = CONSTS(22)/CONSTS(15)
      CONSTS(31) = 1.00000
      CONSTS(32) = 0.00000
      CONSTS(33) = 0.00000
      CONSTS(28) = CONSTS(21)/CONSTS(14)
      CONSTS(29) = CONSTS(23)/CONSTS(16)
      CONSTS(30) = CONSTS(6)
      CONSTS(31) = ( CONSTS(10)*CONSTS(29))/(1.00000+CONSTS(29))
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(1) = CONSTS(31)
      RATES(2) = CONSTS(32)
      RATES(3) = CONSTS(33)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = CONSTS(24)/(1.00000+CONSTS(22)/CONSTS(18)+CONSTS(25)/CONSTS(17)+STATES(3)/CONSTS(19))
      ALGBRC(2) = STATES(3)/( CONSTS(13)*EXP(( CONSTS(26)*CONSTS(3)*0.00100000*STATES(1))/( 3.00000*CONSTS(2)*CONSTS(1))))
      ALGBRC(3) =  CONSTS(2)*CONSTS(1)*log(CONSTS(20)/STATES(3)) -  CONSTS(3)*0.00100000*STATES(1)
      ALGBRC(4) = CONSTS(20)/( CONSTS(12)*EXP(( (1.00000+CONSTS(26))*CONSTS(3)*0.00100000*STATES(1))/( 3.00000*CONSTS(2)*CONSTS(1))))
      ALGBRC(5) =  CONSTS(2)*CONSTS(1)*log(CONSTS(22)/CONSTS(21))+ CONSTS(3)*0.00100000*STATES(1)
      ALGBRC(6) = ( CONSTS(4)*ALGBRC(2) ** 3.00000)/((1.00000+ALGBRC(2) ** 3.00000+1.00000+CONSTS(27) ** 2.00000) - 1.00000)
      ALGBRC(7) =  2.00000*ALGBRC(5)+ 3.00000*ALGBRC(3)
      ALGBRC(8) = ( CONSTS(8)*CONSTS(28) ** 2.00000)/((1.00000+ALGBRC(4) ** 3.00000+1.00000+CONSTS(28) ** 2.00000) - 1.00000)
      ALGBRC(9) = -29600.0 -  CONSTS(2)*CONSTS(1)*log(CONSTS(23)/( 0.00100000*STATES(2)*ALGBRC(1)))
      ALGBRC(10) = ALGBRC(9)+ALGBRC(7)
      ALGBRC(11) =  CONSTS(5)*STATES(2)
      ALGBRC(12) = ( CONSTS(7)*ALGBRC(4) ** 3.00000)/((1.00000+ALGBRC(4) ** 3.00000+1.00000+CONSTS(28) ** 2.00000) - 1.00000)
      ALGBRC(13) = ( CONSTS(9)*ALGBRC(1)*CONSTS(25))/(1.00000+CONSTS(29))
      ALGBRC(14) = ( CONSTS(11)*CONSTS(27) ** 2.00000)/((1.00000+ALGBRC(2) ** 3.00000+1.00000+CONSTS(27) ** 2.00000) - 1.00000)
      ALGBRC(15) =  ALGBRC(13)*ALGBRC(12)*ALGBRC(11)+ CONSTS(31)*ALGBRC(12)*ALGBRC(11)+ CONSTS(31)*CONSTS(30)*ALGBRC(8)+ CONSTS(31)*ALGBRC(11)*ALGBRC(8)+ ALGBRC(13)*ALGBRC(12)*ALGBRC(6)+ CONSTS(31)*ALGBRC(12)*ALGBRC(6)+ CONSTS(31)*ALGBRC(6)*ALGBRC(8)+ ALGBRC(13)*ALGBRC(6)*CONSTS(30)+ CONSTS(31)*ALGBRC(6)*CONSTS(30)+ ALGBRC(6)*CONSTS(30)*ALGBRC(8)+ ALGBRC(14)*ALGBRC(13)*ALGBRC(11)+ ALGBRC(14)*ALGBRC(13)*CONSTS(30)+ ALGBRC(14)*ALGBRC(13)*ALGBRC(12)+ ALGBRC(14)*ALGBRC(11)*ALGBRC(12)+ ALGBRC(14)*CONSTS(30)*ALGBRC(8)+ ALGBRC(14)*ALGBRC(11)*ALGBRC(8)
      ALGBRC(16) = ( ALGBRC(6)*CONSTS(30)*ALGBRC(8)*CONSTS(31) -  ALGBRC(11)*ALGBRC(12)*ALGBRC(13)*ALGBRC(14))/ALGBRC(15)
      RETURN
      END