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 3 entries in each of the rate and state variable arrays.
C There are a total of 7 entries in the constant variable array.
C
C
C VOI is t in component main (second).
C CONSTS(1) is F in component main (C_per_mol).
C CONSTS(2) is RT in component main (J_per_mol).
C STATES(1) is q_i_1 in component main (mole).
C STATES(2) is q_i_2 in component main (mole).
C STATES(3) is q_e_m in component main (coulomb).
C ALGBRC(6) is v_i_m in component main (mol_per_s).
C ALGBRC(1) is u_i_1 in component main (J_per_mol).
C ALGBRC(4) is u_i_2 in component main (J_per_mol).
C CONSTS(3) is u_e_m in component main (J_per_C).
C ALGBRC(3) is u_f_m in component main (J_per_mol).
C ALGBRC(5) is u_r_m in component main (J_per_mol).
C ALGBRC(2) is u_nernst in component main (J_per_C).
C CONSTS(4) is z_q in component main (dim).
C CONSTS(5) is K_q_i_1 in component main (per_mol).
C CONSTS(6) is K_q_i_2 in component main (per_mol).
C CONSTS(7) is kappa_i_m in component main (mol_per_s).
C RATES(1) is d/dt q_i_1 in component main (mole).
C RATES(2) is d/dt q_i_2 in component main (mole).
C RATES(3) is d/dt q_e_m in component main (coulomb).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 9.64853321e4
      CONSTS(2) = 2578.73058
      STATES(1) = 3
      STATES(2) = 0
      STATES(3) = 0
      CONSTS(3) = -0.080
      CONSTS(4) = 1
      CONSTS(5) = 20
      CONSTS(6) = 20
      CONSTS(7) = 10
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) =  CONSTS(2)*log( CONSTS(5)*STATES(1))
      ALGBRC(3) = ALGBRC(1)+ CONSTS(4)*CONSTS(1)*CONSTS(3)
      ALGBRC(4) =  CONSTS(2)*log( CONSTS(6)*STATES(2))
      ALGBRC(5) = ALGBRC(4)
      ALGBRC(6) =  CONSTS(7)*(EXP(ALGBRC(3)/CONSTS(2)) - EXP(ALGBRC(5)/CONSTS(2)))
      RATES(1) = - ALGBRC(6)
      RATES(2) = ALGBRC(6)
      RATES(3) =  - CONSTS(4)*CONSTS(1)*ALGBRC(6)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) =  CONSTS(2)*log( CONSTS(5)*STATES(1))
      ALGBRC(3) = ALGBRC(1)+ CONSTS(4)*CONSTS(1)*CONSTS(3)
      ALGBRC(4) =  CONSTS(2)*log( CONSTS(6)*STATES(2))
      ALGBRC(5) = ALGBRC(4)
      ALGBRC(6) =  CONSTS(7)*(EXP(ALGBRC(3)/CONSTS(2)) - EXP(ALGBRC(5)/CONSTS(2)))
      ALGBRC(2) =  (CONSTS(2)/( CONSTS(4)*CONSTS(1)))*log(( CONSTS(6)*STATES(2))/( CONSTS(5)*STATES(1)))
      RETURN
      END