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 1 entries in the algebraic variable array.
C There are a total of 2 entries in each of the rate and state variable arrays.
C There are a total of 34 entries in the constant variable array.
C
C
C VOI is t in component environment (second).
C CONSTS(1) is x in component environment (nanometer).
C STATES(1) is n in component Crossbridges_attached (dimensionless).
C STATES(2) is A_c in component Actin_free (dimensionless).
C CONSTS(24) is f in component f (per_second).
C CONSTS(25) is g in component g (per_second).
C CONSTS(2) is h in component Crossbridges_attached (nanometer).
C CONSTS(3) is f_1 in component f (per_second).
C CONSTS(4) is g_1 in component g (per_second).
C CONSTS(5) is g_2 in component g (per_second).
C ALGBRC(1) is Ca_f in component Ca_sarcoplasm (molar).
C CONSTS(6) is t_d in component Ca_sarcoplasm (second).
C CONSTS(7) is a_1 in component Ca_sarcoplasm (per_second_squared).
C CONSTS(8) is b_1 in component Ca_sarcoplasm (per_second_squared).
C CONSTS(9) is Ca_0 in component Ca_sarcoplasm (molar).
C CONSTS(10) is c_1 in component Actin_free (per_second).
C CONSTS(27) is c_2 in component Actin_free (per_second).
C CONSTS(11) is c_2_0 in component Actin_free (per_second).
C CONSTS(12) is k_i in component Actin_free (dimensionless).
C CONSTS(26) is s_h in component s_h (muscle_length).
C CONSTS(13) is q in component Actin_free (dimensionless).
C CONSTS(14) is AT_0 in component Actin_free (dimensionless).
C CONSTS(33) is F_SE in component Series_Elastic_Element (force).
C CONSTS(15) is alpha_s in component Series_Elastic_Element (force).
C CONSTS(16) is beta_s in component Series_Elastic_Element (muscle_length).
C CONSTS(32) is x_s in component SE_constants (muscle_length).
C CONSTS(17) is x_so in component Series_Elastic_Element (muscle_length).
C CONSTS(31) is X_M_0 in component X_0 (muscle_length).
C CONSTS(18) is L_max in component Series_Elastic_Element (muscle_length).
C CONSTS(29) is F_PE in component Parallel_Elastic_Element (force).
C CONSTS(19) is alpha_p in component Parallel_Elastic_Element (force).
C CONSTS(20) is beta_p in component Parallel_Elastic_Element (muscle_length).
C CONSTS(28) is x_p in component PE_constants (muscle_length).
C CONSTS(21) is x_po in component Parallel_Elastic_Element (muscle_length).
C CONSTS(34) is F_CE in component Contractile_Element (force).
C CONSTS(22) is F_PL in component s_h (force).
C CONSTS(30) is X_S_0 in component X_0 (muscle_length).
C CONSTS(23) is F_PL in component X_0 (force).
C RATES(1) is d/dt n in component Crossbridges_attached (dimensionless).
C RATES(2) is d/dt A_c in component Actin_free (dimensionless).
C
SUBROUTINE initConsts(CONSTS, RATES, STATES)
REAL CONSTS(*), RATES(*), STATES(*)
CONSTS(1) = 10
STATES(1) = 0
STATES(2) = 1
CONSTS(2) = 12
CONSTS(3) = 70
CONSTS(4) = 40
CONSTS(5) = 240
CONSTS(6) = 0.3
CONSTS(7) = 200
CONSTS(8) = 5
CONSTS(9) = 0.45e-6
CONSTS(10) = 200e12
CONSTS(11) = 20
CONSTS(12) = 30.9
CONSTS(13) = 1.45
CONSTS(14) = 2
CONSTS(15) = 0.1027
CONSTS(16) = 20
CONSTS(17) = 0.0387
CONSTS(18) = 1
CONSTS(19) = 0.00224
CONSTS(20) = 20
CONSTS(21) = 0.221
CONSTS(22) = 3
CONSTS(23) = 3
CONSTS(24) = TERNRY(CONSTS(1).LT.0.00000, 0.00000, TERNRY(CONSTS(1).GE.0.00000.AND.CONSTS(1).LT.CONSTS(2), ( CONSTS(3)*CONSTS(1))/CONSTS(2), 0.00000)
CONSTS(25) = TERNRY(CONSTS(1).LT.0.00000, CONSTS(5), TERNRY(CONSTS(1).GE.0.00000.AND.CONSTS(1).LT.CONSTS(2), ( CONSTS(4)*CONSTS(1))/CONSTS(2), ( CONSTS(4)*CONSTS(1))/CONSTS(2))
CONSTS(26) = CONSTS(21) - ( 1.00000*1.00000*arbitrary_log(1.00000+CONSTS(22)/CONSTS(19), 10))/CONSTS(20)
CONSTS(27) = CONSTS(11)*EXP( CONSTS(12)*CONSTS(26)/1.00000 ** CONSTS(13))
CONSTS(28) = CONSTS(21) - CONSTS(26)
CONSTS(29) = CONSTS(19)*(EXP(( CONSTS(20)*CONSTS(28))/( 1.00000*1.00000)) - 1.00000)
CONSTS(30) = ( 1.00000*1.00000*arbitrary_log(1.00000+CONSTS(23)/CONSTS(15), 10))/CONSTS(16)
CONSTS(31) = ((CONSTS(30)+CONSTS(18)) - CONSTS(26)) - CONSTS(17)
CONSTS(32) = (CONSTS(17)+CONSTS(26)+CONSTS(31)) - CONSTS(18)
CONSTS(33) = CONSTS(15)*(EXP(( CONSTS(16)*CONSTS(32))/( 1.00000*1.00000)) - 1.00000)
CONSTS(34) = CONSTS(33) - CONSTS(29)
RETURN
END
SUBROUTINE computeRates(VOI, CONSTS, RATES, STATES, ALGBRC)
REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
RATES(1) = CONSTS(24)*(STATES(2) - STATES(1)) - CONSTS(25)*STATES(1)
ALGBRC(1) = CONSTS(9)*ABS(1.00000 - EXP( - CONSTS(7)*VOI ** 2.00000))*EXP( - CONSTS(8)*VOI - CONSTS(6) ** 2.00000)
RATES(2) = CONSTS(10)*ALGBRC(1)/1.00000 ** 2.00000*(CONSTS(14) - STATES(2)) - CONSTS(27)*STATES(2)
RETURN
END
SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
ALGBRC(1) = CONSTS(9)*ABS(1.00000 - EXP( - CONSTS(7)*VOI ** 2.00000))*EXP( - CONSTS(8)*VOI - CONSTS(6) ** 2.00000)
RETURN
END
REAL FUNCTION TERNRY(TEST, VALA, VALB)
LOGICAL TEST
REAL VALA, VALB
IF (TEST) THEN
TERNRY = VALA
ELSE
TERNRY = VALB
ENDIF
RETURN
END
