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 9 entries in the algebraic variable array.
C There are a total of 1 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 main (second).
C STATES(1) is omega in component main (per_s).
C CONSTS(1) is omega_ref in component main (per_s).
C ALGBRC(1) is logOmega in component main (dimensionless).
C CONSTS(2) is E_1 in component main (J_per_C2).
C CONSTS(3) is E_2 in component main (J_per_m2).
C CONSTS(4) is R_1 in component main (Js_per_C2).
C CONSTS(5) is R_2 in component main (Js_per_m2).
C CONSTS(6) is L_1 in component main (Js2_per_C2).
C CONSTS(7) is L_2 in component main (Js2_per_m2).
C CONSTS(8) is Bl in component main (Js_per_C_m).
C ALGBRC(2) is x_1 in component main (J_per_m2).
C ALGBRC(3) is x_2 in component main (J2_per_m4).
C CONSTS(11) is omega_3 in component main (per_s).
C CONSTS(12) is logOmega_3 in component main (dimensionless).
C ALGBRC(4) is G_real in component main (Js_per_C2).
C ALGBRC(5) is G_imag in component main (Js_per_C2).
C ALGBRC(6) is amplitude in component main (Js_per_C2).
C CONSTS(9) is amplitude_ref in component main (Js_per_C2).
C ALGBRC(7) is phase in component main (dimensionless).
C CONSTS(10) is phase_ref in component main (dimensionless).
C ALGBRC(8) is phase_degrees in component main (dimensionless).
C ALGBRC(9) is logAmplitude in component main (dimensionless).
C RATES(1) is d/dt omega in component main (per_s).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 0.1
      CONSTS(1) = 1
      CONSTS(2) = 0
      CONSTS(3) = 2000
      CONSTS(4) = 3.5
      CONSTS(5) = 0.4
      CONSTS(6) = 0.15
      CONSTS(7) = 0.018
      CONSTS(8) = 10
      CONSTS(9) = 1
      CONSTS(10) = 1
      CONSTS(11) =  (CONSTS(3)/CONSTS(7)) ** (1.0 / 2)
      CONSTS(12) = 1.00000
      CONSTS(12) = arbitrary_log(CONSTS(11)/CONSTS(1), 10)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(1) = CONSTS(12)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = arbitrary_log(STATES(1)/CONSTS(1), 10)
      ALGBRC(2) = CONSTS(3) -  STATES(1) ** 2.00000*CONSTS(7)
      ALGBRC(3) = ALGBRC(2) ** 2.00000+ STATES(1)*CONSTS(5) ** 2.00000
      ALGBRC(4) = CONSTS(4)+( CONSTS(5)* STATES(1)*CONSTS(8) ** 2.00000)/ALGBRC(3)
      ALGBRC(5) =  STATES(1)*(CONSTS(6)+( CONSTS(8) ** 2.00000*ALGBRC(2))/ALGBRC(3))
      ALGBRC(6) =  (ALGBRC(4) ** 2.00000+ALGBRC(5) ** 2.00000) ** (1.0 / 2)
      ALGBRC(7) = atan(ALGBRC(5)/ALGBRC(4))
      ALGBRC(8) = ( ALGBRC(7)*180.000)/ 3.14159265358979
      ALGBRC(9) = arbitrary_log(ALGBRC(6)/CONSTS(9), 10)
      RETURN
      END