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
