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 30 entries in the algebraic variable array.
C There are a total of 9 entries in each of the rate and state variable arrays.
C There are a total of 27 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C CONSTS(1) is C_m_Imp in component imported_variables (mmol_per_cm3).
C CONSTS(2) is C_c_Imp in component imported_variables (mmol_per_cm3).
C CONSTS(3) is psi_m in component imported_variables (millivolt).
C CONSTS(4) is psi_c in component imported_variables (millivolt).
C STATES(1) is C_m_Na in component solute_concentrations (mmol_per_cm3).
C STATES(2) is C_m_K in component solute_concentrations (mmol_per_cm3).
C STATES(3) is C_m_Cl in component solute_concentrations (mmol_per_cm3).
C STATES(4) is C_c_Na in component solute_concentrations (mmol_per_cm3).
C STATES(5) is C_c_K in component solute_concentrations (mmol_per_cm3).
C STATES(6) is C_c_Cl in component solute_concentrations (mmol_per_cm3).
C STATES(7) is C_s_Na in component solute_concentrations (mmol_per_cm3).
C STATES(8) is C_s_K in component solute_concentrations (mmol_per_cm3).
C STATES(9) is C_s_Cl in component solute_concentrations (mmol_per_cm3).
C ALGBRC(5) is J_mc_Na in component mc_sodium_flux (flux).
C ALGBRC(23) is J_ms_Na in component ms_sodium_flux (flux).
C ALGBRC(17) is J_sc_Na in component sc_sodium_flux (flux).
C ALGBRC(12) is J_mc_K in component mc_potassium_flux (flux).
C ALGBRC(26) is J_ms_K in component ms_potassium_flux (flux).
C ALGBRC(21) is J_sc_K in component sc_potassium_flux (flux).
C ALGBRC(16) is J_mc_Cl in component mc_chloride_flux (flux).
C ALGBRC(27) is J_ms_Cl in component ms_chloride_flux (flux).
C ALGBRC(22) is J_sc_Cl in component sc_chloride_flux (flux).
C CONSTS(5) is RT in component constants (J_per_mmol).
C CONSTS(6) is F in component constants (C_per_mmol).
C CONSTS(7) is C_s_Imp in component constants (mmol_per_cm3).
C CONSTS(8) is psi_s in component constants (millivolt).
C ALGBRC(3) is J_mc_NaCl in component mc_sodium_flux (flux).
C ALGBRC(1) is G_mc_Na in component mc_sodium_flux (flux).
C CONSTS(9) is P_mc_Na in component mc_sodium_flux (cm_per_s).
C CONSTS(10) is J_mc_NaCl_max in component mc_sodium_flux (flux).
C CONSTS(11) is K_mc_Na_NaCl in component mc_sodium_flux (mmol_per_cm3).
C CONSTS(12) is K_mc_Cl_NaCl in component mc_sodium_flux (mmol_per_cm3).
C ALGBRC(10) is J_mc_KCl in component mc_potassium_flux (flux).
C ALGBRC(7) is G_mc_K in component mc_potassium_flux (flux).
C CONSTS(13) is J_mc_KCl_max in component mc_potassium_flux (flux).
C CONSTS(14) is K_mc_K_KCl in component mc_potassium_flux (mmol_per_cm3).
C CONSTS(15) is K_mc_Cl_KCl in component mc_potassium_flux (mmol_per_cm3).
C CONSTS(16) is P_mc_K in component mc_potassium_flux (cm_per_s).
C ALGBRC(13) is G_mc_Cl in component mc_chloride_flux (flux).
C CONSTS(17) is P_mc_Cl in component mc_chloride_flux (cm_per_s).
C ALGBRC(15) is J_a in component sc_sodium_flux (flux).
C CONSTS(18) is J_a_max in component sc_sodium_flux (flux).
C CONSTS(19) is K_Na_ATPase in component sc_sodium_flux (mmol_per_cm3).
C ALGBRC(18) is G_sc_K in component sc_potassium_flux (flux).
C CONSTS(20) is P_sc_K in component sc_potassium_flux (cm_per_s).
C ALGBRC(19) is G_sc_Cl in component sc_chloride_flux (flux).
C CONSTS(21) is P_sc_Cl in component sc_chloride_flux (cm_per_s).
C ALGBRC(20) is G_ms_Na in component ms_sodium_flux (flux).
C CONSTS(22) is P_ms_Na in component ms_sodium_flux (cm_per_s).
C ALGBRC(24) is G_ms_K in component ms_potassium_flux (flux).
C CONSTS(23) is P_ms_K in component ms_potassium_flux (cm_per_s).
C ALGBRC(25) is G_ms_Cl in component ms_chloride_flux (flux).
C CONSTS(24) is P_ms_Cl in component ms_chloride_flux (cm_per_s).
C ALGBRC(28) is J_Na in component total_transepithelial_sodium_flux (flux).
C ALGBRC(29) is J_K in component total_transepithelial_potassium_flux (flux).
C ALGBRC(30) is J_Cl in component total_transepithelial_chloride_flux (flux).
C ALGBRC(2) is Osm_m in component osmolarities (mmol_per_cm3).
C ALGBRC(4) is Osm_c in component osmolarities (mmol_per_cm3).
C ALGBRC(6) is Osm_s in component osmolarities (mmol_per_cm3).
C ALGBRC(8) is J_mc_v in component mc_transepithelial_volume_flux (cm_per_s).
C CONSTS(25) is L_mc_v in component mc_transepithelial_volume_flux (cm_per_s_mmHg).
C ALGBRC(11) is J_ms_v in component ms_transepithelial_volume_flux (cm_per_s).
C CONSTS(26) is L_ms_v in component ms_transepithelial_volume_flux (cm_per_s_mmHg).
C ALGBRC(9) is J_sc_v in component sc_transepithelial_volume_flux (cm_per_s).
C CONSTS(27) is L_sc_v in component sc_transepithelial_volume_flux (cm_per_s_mmHg).
C ALGBRC(14) is J_v in component total_transepithelial_volume_flux (cm_per_s).
C RATES(1) is d/dt C_m_Na in component solute_concentrations (mmol_per_cm3).
C RATES(7) is d/dt C_s_Na in component solute_concentrations (mmol_per_cm3).
C RATES(4) is d/dt C_c_Na in component solute_concentrations (mmol_per_cm3).
C RATES(2) is d/dt C_m_K in component solute_concentrations (mmol_per_cm3).
C RATES(8) is d/dt C_s_K in component solute_concentrations (mmol_per_cm3).
C RATES(5) is d/dt C_c_K in component solute_concentrations (mmol_per_cm3).
C RATES(3) is d/dt C_m_Cl in component solute_concentrations (mmol_per_cm3).
C RATES(9) is d/dt C_s_Cl in component solute_concentrations (mmol_per_cm3).
C RATES(6) is d/dt C_c_Cl in component solute_concentrations (mmol_per_cm3).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 0.1033
      CONSTS(2) = 0.1124
      CONSTS(3) = -28.0
      CONSTS(4) = -86.4
      STATES(1) = 0.05
      STATES(2) = 0.002
      STATES(3) = 0.03
      STATES(4) = 0.0164
      STATES(5) = 0.1637
      STATES(6) = 0.0203
      STATES(7) = 1.438E-1
      STATES(8) = 4.25E-3
      STATES(9) = 1.12E-1
      CONSTS(5) = 2.579
      CONSTS(6) = 96.48
      CONSTS(7) = 4.525E-2
      CONSTS(8) = 0.0
      CONSTS(9) = 3.27E-6
      CONSTS(10) = 3.21E-5
      CONSTS(11) = 5.11E-2
      CONSTS(12) = 1.92E-2
      CONSTS(13) = 6.31E-8
      CONSTS(14) = 5.30E-2
      CONSTS(15) = 2.13E-2
      CONSTS(16) = 4.90E-7
      CONSTS(17) = 1.43E-6
      CONSTS(18) = 2.69E-6
      CONSTS(19) = 1.20E-2
      CONSTS(20) = 4.74E-4
      CONSTS(21) = 9.16E-5
      CONSTS(22) = 4.80E-6
      CONSTS(23) = 4.80E-6
      CONSTS(24) = 2.40E-6
      CONSTS(25) = 5.22E-9
      CONSTS(26) = 0.0
      CONSTS(27) = 5.22E-7
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) =  CONSTS(10)*(( (STATES(1)/CONSTS(11))*(STATES(3)/CONSTS(12)) -  (STATES(4)/CONSTS(11))*(STATES(6)/CONSTS(12)))/( (1.00000+ (STATES(1)/CONSTS(11))*(STATES(3)/CONSTS(12)))*(1.00000+STATES(4)/CONSTS(11))*(1.00000+STATES(6)/CONSTS(12))+ (1.00000+ (STATES(4)/CONSTS(11))*(STATES(6)/CONSTS(12)))*(1.00000+STATES(1)/CONSTS(11))*(1.00000+STATES(3)/CONSTS(12))))
      ALGBRC(1) =  CONSTS(9)*(( CONSTS(6)*(CONSTS(3) - CONSTS(4)))/CONSTS(5))*((STATES(1) -  STATES(4)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(4))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(4)))))
      ALGBRC(5) = ALGBRC(3)+ALGBRC(1)
      ALGBRC(15) =  CONSTS(18)*(1.00000/(1.00000+CONSTS(19)/STATES(4) ** 3.00000))
      ALGBRC(17) =  -3.00000*ALGBRC(15)
      RATES(4) = ALGBRC(5)+ALGBRC(17)
      ALGBRC(10) =  CONSTS(13)*(( (STATES(2)/CONSTS(14))*(STATES(3)/CONSTS(15)) -  (STATES(5)/CONSTS(14))*(STATES(6)/CONSTS(15)))/( (1.00000+ (STATES(2)/CONSTS(14))*(STATES(3)/CONSTS(15)))*(1.00000+STATES(5)/CONSTS(14))*(1.00000+STATES(6)/CONSTS(15))+ (1.00000+ (STATES(5)/CONSTS(14))*(STATES(6)/CONSTS(15)))*(1.00000+STATES(2)/CONSTS(14))*(1.00000+STATES(3)/CONSTS(15))))
      ALGBRC(7) =  CONSTS(16)*(( CONSTS(6)*(CONSTS(3) - CONSTS(4)))/CONSTS(5))*((STATES(2) -  STATES(5)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(4))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(4)))))
      ALGBRC(12) = ALGBRC(10)+ALGBRC(7)
      ALGBRC(18) =  CONSTS(20)*(( CONSTS(6)*(CONSTS(8) - CONSTS(4)))/CONSTS(5))*((STATES(8) -  STATES(5)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(8) - CONSTS(4))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(8) - CONSTS(4)))))
      ALGBRC(21) =  2.00000*ALGBRC(15)+ALGBRC(18)
      RATES(5) = ALGBRC(12)+ALGBRC(21)
      ALGBRC(13) =  CONSTS(17)*(( -1.00000*CONSTS(6)*(CONSTS(3) - CONSTS(4)))/CONSTS(5))*((STATES(3) -  STATES(6)*EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(3) - CONSTS(4))))/(1.00000 - EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(3) - CONSTS(4)))))
      ALGBRC(16) = ALGBRC(3)+ALGBRC(10)+ALGBRC(13)
      ALGBRC(19) =  CONSTS(21)*(( -1.00000*CONSTS(6)*(CONSTS(8) - CONSTS(4)))/CONSTS(5))*((STATES(9) -  STATES(6)*EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(8) - CONSTS(4))))/(1.00000 - EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(8) - CONSTS(4)))))
      ALGBRC(22) = ALGBRC(19)
      RATES(6) = ALGBRC(16)+ALGBRC(22)
      ALGBRC(20) =  CONSTS(22)*(( CONSTS(6)*(CONSTS(3) - CONSTS(8)))/CONSTS(5))*((STATES(1) -  STATES(7)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(8))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(8)))))
      ALGBRC(23) = ALGBRC(20)
      RATES(1) = - (ALGBRC(5)+ALGBRC(23))
      RATES(7) = ALGBRC(23) - ALGBRC(17)
      ALGBRC(24) =  CONSTS(23)*(( CONSTS(6)*(CONSTS(3) - CONSTS(8)))/CONSTS(5))*((STATES(2) -  STATES(8)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(8))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(8)))))
      ALGBRC(26) = ALGBRC(24)
      RATES(2) = - (ALGBRC(12)+ALGBRC(26))
      RATES(8) = ALGBRC(26) - ALGBRC(21)
      ALGBRC(25) =  CONSTS(24)*(( -1.00000*CONSTS(6)*(CONSTS(3) - CONSTS(8)))/CONSTS(5))*((STATES(3) -  STATES(9)*EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(3) - CONSTS(8))))/(1.00000 - EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(3) - CONSTS(8)))))
      ALGBRC(27) = ALGBRC(25)
      RATES(3) = - (ALGBRC(16)+ALGBRC(27))
      RATES(9) = ALGBRC(27) - ALGBRC(22)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) =  CONSTS(10)*(( (STATES(1)/CONSTS(11))*(STATES(3)/CONSTS(12)) -  (STATES(4)/CONSTS(11))*(STATES(6)/CONSTS(12)))/( (1.00000+ (STATES(1)/CONSTS(11))*(STATES(3)/CONSTS(12)))*(1.00000+STATES(4)/CONSTS(11))*(1.00000+STATES(6)/CONSTS(12))+ (1.00000+ (STATES(4)/CONSTS(11))*(STATES(6)/CONSTS(12)))*(1.00000+STATES(1)/CONSTS(11))*(1.00000+STATES(3)/CONSTS(12))))
      ALGBRC(1) =  CONSTS(9)*(( CONSTS(6)*(CONSTS(3) - CONSTS(4)))/CONSTS(5))*((STATES(1) -  STATES(4)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(4))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(4)))))
      ALGBRC(5) = ALGBRC(3)+ALGBRC(1)
      ALGBRC(15) =  CONSTS(18)*(1.00000/(1.00000+CONSTS(19)/STATES(4) ** 3.00000))
      ALGBRC(17) =  -3.00000*ALGBRC(15)
      ALGBRC(10) =  CONSTS(13)*(( (STATES(2)/CONSTS(14))*(STATES(3)/CONSTS(15)) -  (STATES(5)/CONSTS(14))*(STATES(6)/CONSTS(15)))/( (1.00000+ (STATES(2)/CONSTS(14))*(STATES(3)/CONSTS(15)))*(1.00000+STATES(5)/CONSTS(14))*(1.00000+STATES(6)/CONSTS(15))+ (1.00000+ (STATES(5)/CONSTS(14))*(STATES(6)/CONSTS(15)))*(1.00000+STATES(2)/CONSTS(14))*(1.00000+STATES(3)/CONSTS(15))))
      ALGBRC(7) =  CONSTS(16)*(( CONSTS(6)*(CONSTS(3) - CONSTS(4)))/CONSTS(5))*((STATES(2) -  STATES(5)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(4))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(4)))))
      ALGBRC(12) = ALGBRC(10)+ALGBRC(7)
      ALGBRC(18) =  CONSTS(20)*(( CONSTS(6)*(CONSTS(8) - CONSTS(4)))/CONSTS(5))*((STATES(8) -  STATES(5)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(8) - CONSTS(4))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(8) - CONSTS(4)))))
      ALGBRC(21) =  2.00000*ALGBRC(15)+ALGBRC(18)
      ALGBRC(13) =  CONSTS(17)*(( -1.00000*CONSTS(6)*(CONSTS(3) - CONSTS(4)))/CONSTS(5))*((STATES(3) -  STATES(6)*EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(3) - CONSTS(4))))/(1.00000 - EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(3) - CONSTS(4)))))
      ALGBRC(16) = ALGBRC(3)+ALGBRC(10)+ALGBRC(13)
      ALGBRC(19) =  CONSTS(21)*(( -1.00000*CONSTS(6)*(CONSTS(8) - CONSTS(4)))/CONSTS(5))*((STATES(9) -  STATES(6)*EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(8) - CONSTS(4))))/(1.00000 - EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(8) - CONSTS(4)))))
      ALGBRC(22) = ALGBRC(19)
      ALGBRC(20) =  CONSTS(22)*(( CONSTS(6)*(CONSTS(3) - CONSTS(8)))/CONSTS(5))*((STATES(1) -  STATES(7)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(8))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(8)))))
      ALGBRC(23) = ALGBRC(20)
      ALGBRC(24) =  CONSTS(23)*(( CONSTS(6)*(CONSTS(3) - CONSTS(8)))/CONSTS(5))*((STATES(2) -  STATES(8)*EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(8))))/(1.00000 - EXP( - (CONSTS(6)/CONSTS(5))*(CONSTS(3) - CONSTS(8)))))
      ALGBRC(26) = ALGBRC(24)
      ALGBRC(25) =  CONSTS(24)*(( -1.00000*CONSTS(6)*(CONSTS(3) - CONSTS(8)))/CONSTS(5))*((STATES(3) -  STATES(9)*EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(3) - CONSTS(8))))/(1.00000 - EXP( - (( -1.00000*CONSTS(6))/CONSTS(5))*(CONSTS(3) - CONSTS(8)))))
      ALGBRC(27) = ALGBRC(25)
      ALGBRC(2) = STATES(1)+STATES(2)+STATES(3)+CONSTS(1)
      ALGBRC(4) = STATES(4)+STATES(5)+STATES(6)+CONSTS(2)
      ALGBRC(6) = STATES(7)+STATES(8)+STATES(9)+CONSTS(7)
      ALGBRC(8) =  CONSTS(25)*CONSTS(5)*(ALGBRC(2) - ALGBRC(4))
      ALGBRC(9) =  CONSTS(27)*CONSTS(5)*(ALGBRC(6) - ALGBRC(4))
      ALGBRC(11) =  CONSTS(26)*CONSTS(5)*(ALGBRC(2) - ALGBRC(6))
      ALGBRC(14) = ALGBRC(8)+ALGBRC(11)
      ALGBRC(28) = ALGBRC(5)+ALGBRC(23)
      ALGBRC(29) = ALGBRC(12)+ALGBRC(26)
      ALGBRC(30) = ALGBRC(16)+ALGBRC(27)
      RETURN
      END