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
