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 6 entries in the algebraic variable array.
C There are a total of 4 entries in each of the rate and state variable arrays.
C There are a total of 22 entries in the constant variable array.
C
C
C VOI is time in component environment (minute).
C STATES(1) is m in component m (micromolar).
C CONSTS(1) is kM_plus in component m (fourth_order_rate_constant).
C CONSTS(2) is kM_minus in component m (first_order_rate_constant).
C CONSTS(3) is CaMtotal in component m (micromolar).
C STATES(2) is x in component x (micromolar).
C ALGBRC(1) is dmdt in component m (flux).
C STATES(3) is z in component z (micromolar).
C CONSTS(4) is kN_plus in component z (second_order_rate_constant).
C CONSTS(5) is kN_minus in component z (first_order_rate_constant).
C CONSTS(6) is CaNtotal in component z (micromolar).
C ALGBRC(2) is dzdt in component z (flux).
C STATES(4) is h in component h (dimensionless).
C CONSTS(7) is d in component h (first_order_rate_constant).
C CONSTS(8) is f in component h (first_order_rate_constant).
C ALGBRC(4) is phi in component phi (dimensionless).
C CONSTS(9) is lamda in component model_parameters (dimensionless).
C CONSTS(22) is L0 in component model_parameters (dimensionless).
C ALGBRC(3) is y in component model_parameters (dimensionless).
C CONSTS(10) is N in component model_parameters (dimensionless).
C ALGBRC(5) is psi in component psi (dimensionless).
C CONSTS(11) is Vx in component x (flux).
C CONSTS(12) is Kx in component x (micromolar).
C CONSTS(13) is V1 in component x (flux).
C CONSTS(14) is K1 in component x (micromolar).
C CONSTS(15) is V2 in component x (flux).
C CONSTS(16) is K2 in component x (micromolar).
C CONSTS(17) is V3 in component x (flux).
C CONSTS(18) is K3 in component x (micromolar).
C CONSTS(19) is kc in component x (dimensionless).
C CONSTS(20) is alpha in component x (first_order_rate_constant).
C CONSTS(21) is Caex in component x (micromolar).
C ALGBRC(6) is dxdt in component x (flux).
C RATES(1) is d/dt m in component m (micromolar).
C RATES(3) is d/dt z in component z (micromolar).
C RATES(4) is d/dt h in component h (dimensionless).
C RATES(2) is d/dt x in component x (micromolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 0.0
      CONSTS(1) = 500.0
      CONSTS(2) = 100.0
      CONSTS(3) = 25.0
      STATES(2) = 0.0
      STATES(3) = 1.0E-8
      CONSTS(4) = 5.0
      CONSTS(5) = 5.0
      CONSTS(6) = 25.0
      STATES(4) = 0.0
      CONSTS(7) = 0.4
      CONSTS(8) = 0.1
      CONSTS(9) = 5.0
      CONSTS(10) = 13.0
      CONSTS(11) = 1000.0
      CONSTS(12) = 500.0
      CONSTS(13) = 30000.0
      CONSTS(14) = 4.3
      CONSTS(15) = 100.0
      CONSTS(16) = 0.1
      CONSTS(17) = 10000.0
      CONSTS(18) = 100.0
      CONSTS(19) = 10.0
      CONSTS(20) = 0.006
      CONSTS(21) = 1.0
      CONSTS(22) = 10.0000 ** - (CONSTS(10)/2.00000)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(1) =  CONSTS(1)*(CONSTS(3) - STATES(1))*STATES(2) ** 3.00000 -  CONSTS(2)*STATES(1)
      RATES(3) =  CONSTS(4)*(CONSTS(6) - STATES(3))*STATES(1) -  CONSTS(5)*STATES(3)
      ALGBRC(3) = 1.00000/STATES(3)
      ALGBRC(4) = 1.00000/(1.00000+( CONSTS(22)*( CONSTS(9)*ALGBRC(3) ** CONSTS(10)+1.00000 - 1.00000))/( ( CONSTS(9)*ALGBRC(3) - 1.00000)*((ALGBRC(3) - 1.00000)/(ALGBRC(3) ** CONSTS(10)+1.00000 - 1.00000))))
      RATES(4) =  CONSTS(7)*ALGBRC(4)*(1.00000/STATES(3))*(1.00000 - STATES(4)) -  CONSTS(8)*(1.00000 -  ALGBRC(4)*(1.00000/STATES(3)))*STATES(4)
      ALGBRC(5) = (1.00000+CONSTS(22))/((ALGBRC(3) ** CONSTS(10)+1.00000 - 1.00000)/(ALGBRC(3) - 1.00000)+ CONSTS(22)*(( CONSTS(9)*ALGBRC(3) ** CONSTS(10)+1.00000 - 1.00000)/( CONSTS(9)*ALGBRC(3) - 1.00000)))
      RATES(2) = ( CONSTS(11)*CONSTS(21))/(CONSTS(12)+CONSTS(21)) - ( STATES(4)*ALGBRC(5)*(1.00000/STATES(3))*(( CONSTS(13)*STATES(2))/(CONSTS(14)+STATES(2)))+ STATES(4)*ALGBRC(5)*(1.00000/STATES(3))*(( CONSTS(15)*STATES(2))/(CONSTS(16)+STATES(2)))+ (1.00000/(1.00000+ CONSTS(19)*STATES(3)))*(( CONSTS(17)*STATES(2))/(CONSTS(18)+STATES(2)))+ CONSTS(20)*STATES(2))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) = 1.00000/STATES(3)
      ALGBRC(4) = 1.00000/(1.00000+( CONSTS(22)*( CONSTS(9)*ALGBRC(3) ** CONSTS(10)+1.00000 - 1.00000))/( ( CONSTS(9)*ALGBRC(3) - 1.00000)*((ALGBRC(3) - 1.00000)/(ALGBRC(3) ** CONSTS(10)+1.00000 - 1.00000))))
      ALGBRC(5) = (1.00000+CONSTS(22))/((ALGBRC(3) ** CONSTS(10)+1.00000 - 1.00000)/(ALGBRC(3) - 1.00000)+ CONSTS(22)*(( CONSTS(9)*ALGBRC(3) ** CONSTS(10)+1.00000 - 1.00000)/( CONSTS(9)*ALGBRC(3) - 1.00000)))
      ALGBRC(1) =  CONSTS(1)*(CONSTS(3) - STATES(1))*STATES(2) ** 3.00000 -  CONSTS(2)*STATES(1)
      ALGBRC(2) =  CONSTS(4)*(CONSTS(6) - STATES(3))*STATES(1) -  CONSTS(5)*STATES(3)
      ALGBRC(6) = ( CONSTS(11)*CONSTS(21))/(CONSTS(12)+CONSTS(21)) - ( STATES(4)*ALGBRC(5)*(1.00000/STATES(3))*(( CONSTS(13)*STATES(2))/(CONSTS(14)+STATES(2)))+ STATES(4)*ALGBRC(5)*(1.00000/STATES(3))*(( CONSTS(15)*STATES(2))/(CONSTS(16)+STATES(2)))+ (1.00000/(1.00000+ CONSTS(19)*STATES(3)))*(( CONSTS(17)*STATES(2))/(CONSTS(18)+STATES(2)))+ CONSTS(20)*STATES(2))
      RETURN
      END