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 15 entries in the algebraic variable array.
C There are a total of 5 entries in each of the rate and state variable arrays.
C There are a total of 13 entries in the constant variable array.
C
C
C VOI is t in component environment (second).
C CONSTS(1) is R in component environment (J_per_K_per_mol).
C CONSTS(2) is T in component environment (kelvin).
C CONSTS(3) is F in component environment (C_per_mol).
C CONSTS(4) is C_m in component environment (fF).
C STATES(1) is q_K_o in component environment (fmol).
C STATES(2) is q_K_i in component environment (fmol).
C STATES(3) is q_C_Kp in component environment (fmol).
C STATES(4) is q_O_Kp in component environment (fmol).
C ALGBRC(12) is v_Kp in component Kp (fmol_per_sec).
C STATES(5) is q_mem in component environment (fC).
C ALGBRC(14) is I_mem_Kp in component Kp (fA).
C CONSTS(5) is K_C_Kp in component Kp_parameters (per_fmol).
C CONSTS(6) is K_K_o in component Kp_parameters (per_fmol).
C CONSTS(7) is K_K_i in component Kp_parameters (per_fmol).
C CONSTS(8) is K_O_Kp in component Kp_parameters (per_fmol).
C CONSTS(9) is kappa_Kp in component Kp_parameters (fmol_per_sec).
C CONSTS(10) is kappa_gKp in component Kp_parameters (fmol_per_sec).
C CONSTS(11) is zK in component Kp_parameters (dimensionless).
C CONSTS(12) is z_f_Kp in component Kp_parameters (dimensionless).
C CONSTS(13) is z_r_Kp in component Kp_parameters (dimensionless).
C ALGBRC(3) is mu_K_o in component Kp (J_per_mol).
C ALGBRC(4) is mu_K_i in component Kp (J_per_mol).
C ALGBRC(2) is mu_C_Kp in component Kp (J_per_mol).
C ALGBRC(5) is mu_O_Kp in component Kp (J_per_mol).
C ALGBRC(8) is Am_Kp in component Kp (J_per_mol).
C ALGBRC(6) is Af_Kp in component Kp (J_per_mol).
C ALGBRC(9) is Ar_Kp in component Kp (J_per_mol).
C ALGBRC(7) is Af_gKp in component Kp (J_per_mol).
C ALGBRC(10) is Ar_gKp in component Kp (J_per_mol).
C ALGBRC(11) is v_gKp in component Kp (fmol_per_sec).
C ALGBRC(13) is v_C_Kp in component Kp (fmol_per_sec).
C ALGBRC(15) is v_O_Kp in component Kp (fmol_per_sec).
C ALGBRC(1) is V_mem in component Kp (volt).
C RATES(1) is d/dt q_K_o in component environment (fmol).
C RATES(2) is d/dt q_K_i in component environment (fmol).
C RATES(5) is d/dt q_mem in component environment (fC).
C RATES(3) is d/dt q_C_Kp in component environment (fmol).
C RATES(4) is d/dt q_O_Kp in component environment (fmol).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 8.314
      CONSTS(2) = 310
      CONSTS(3) = 96485
      CONSTS(4) = 153400
      STATES(1) = 27.9828
      STATES(2) = 5510
      STATES(3) = 1.3813E-07
      STATES(4) = 3.45317E-08
      STATES(5) = -13039
      CONSTS(5) = 41.6265
      CONSTS(6) = 0.059344
      CONSTS(7) = 0.0080926
      CONSTS(8) = 145.607
      CONSTS(9) = 252.3419
      CONSTS(10) = 24.0195
      CONSTS(11) = 1
      CONSTS(12) = 0
      CONSTS(13) = -4.4669
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = STATES(5)/CONSTS(4)
      ALGBRC(8) =  CONSTS(11)*CONSTS(3)*ALGBRC(1)
      ALGBRC(4) =  CONSTS(1)*CONSTS(2)*log( CONSTS(7)*STATES(2))
      ALGBRC(5) =  CONSTS(1)*CONSTS(2)*log( CONSTS(8)*STATES(4))
      ALGBRC(6) = ALGBRC(4)+ CONSTS(11)*CONSTS(3)*ALGBRC(1)+ALGBRC(5)
      ALGBRC(3) =  CONSTS(1)*CONSTS(2)*log( CONSTS(6)*STATES(1))
      ALGBRC(9) = ALGBRC(3)+ALGBRC(5)
      ALGBRC(12) = TERNRY(ALGBRC(8).EQ.0.00000,  CONSTS(9)*(EXP(ALGBRC(6)/( CONSTS(1)*CONSTS(2))) - EXP(ALGBRC(9)/( CONSTS(1)*CONSTS(2)))),  ((( CONSTS(9)*ALGBRC(8))/( CONSTS(1)*CONSTS(2)))/(EXP(ALGBRC(8)/( CONSTS(1)*CONSTS(2))) - 1.00000))*(EXP(ALGBRC(6)/( CONSTS(1)*CONSTS(2))) - EXP(ALGBRC(9)/( CONSTS(1)*CONSTS(2)))))
      RATES(1) = ALGBRC(12)
      RATES(2) = - ALGBRC(12)
      ALGBRC(7) =  CONSTS(1)*CONSTS(2)*log( CONSTS(5)*STATES(3))+ CONSTS(12)*CONSTS(3)*ALGBRC(1)
      ALGBRC(10) =  CONSTS(1)*CONSTS(2)*log( CONSTS(8)*STATES(4))+ CONSTS(13)*CONSTS(3)*ALGBRC(1)
      ALGBRC(11) =  CONSTS(10)*(EXP(ALGBRC(7)/( CONSTS(1)*CONSTS(2))) - EXP(ALGBRC(10)/( CONSTS(1)*CONSTS(2))))
      ALGBRC(13) = - ALGBRC(11)
      RATES(3) = ALGBRC(13)
      ALGBRC(14) =  CONSTS(3)*(( - CONSTS(11)*ALGBRC(12)+ CONSTS(13)*ALGBRC(11)) -  CONSTS(12)*ALGBRC(11))
      RATES(5) = ALGBRC(14)
      ALGBRC(15) = ALGBRC(11) - (ALGBRC(12) - ALGBRC(12))
      RATES(4) = ALGBRC(15)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = STATES(5)/CONSTS(4)
      ALGBRC(8) =  CONSTS(11)*CONSTS(3)*ALGBRC(1)
      ALGBRC(4) =  CONSTS(1)*CONSTS(2)*log( CONSTS(7)*STATES(2))
      ALGBRC(5) =  CONSTS(1)*CONSTS(2)*log( CONSTS(8)*STATES(4))
      ALGBRC(6) = ALGBRC(4)+ CONSTS(11)*CONSTS(3)*ALGBRC(1)+ALGBRC(5)
      ALGBRC(3) =  CONSTS(1)*CONSTS(2)*log( CONSTS(6)*STATES(1))
      ALGBRC(9) = ALGBRC(3)+ALGBRC(5)
      ALGBRC(12) = TERNRY(ALGBRC(8).EQ.0.00000,  CONSTS(9)*(EXP(ALGBRC(6)/( CONSTS(1)*CONSTS(2))) - EXP(ALGBRC(9)/( CONSTS(1)*CONSTS(2)))),  ((( CONSTS(9)*ALGBRC(8))/( CONSTS(1)*CONSTS(2)))/(EXP(ALGBRC(8)/( CONSTS(1)*CONSTS(2))) - 1.00000))*(EXP(ALGBRC(6)/( CONSTS(1)*CONSTS(2))) - EXP(ALGBRC(9)/( CONSTS(1)*CONSTS(2)))))
      ALGBRC(7) =  CONSTS(1)*CONSTS(2)*log( CONSTS(5)*STATES(3))+ CONSTS(12)*CONSTS(3)*ALGBRC(1)
      ALGBRC(10) =  CONSTS(1)*CONSTS(2)*log( CONSTS(8)*STATES(4))+ CONSTS(13)*CONSTS(3)*ALGBRC(1)
      ALGBRC(11) =  CONSTS(10)*(EXP(ALGBRC(7)/( CONSTS(1)*CONSTS(2))) - EXP(ALGBRC(10)/( CONSTS(1)*CONSTS(2))))
      ALGBRC(13) = - ALGBRC(11)
      ALGBRC(14) =  CONSTS(3)*(( - CONSTS(11)*ALGBRC(12)+ CONSTS(13)*ALGBRC(11)) -  CONSTS(12)*ALGBRC(11))
      ALGBRC(15) = ALGBRC(11) - (ALGBRC(12) - ALGBRC(12))
      ALGBRC(2) =  CONSTS(1)*CONSTS(2)*log( CONSTS(5)*STATES(3))
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END
Source
Derived from workspace Kp protein knowledge page at changeset fd07421f61fa.
Collaboration
To begin collaborating on this work, please use your git client and issue this command:
License
The terms of use/license for this work is unspecified.