Generated Code
The following is python code generated by the CellML API from this CellML file. (Back to language selection)
The raw code is available.
# Size of variable arrays:
sizeAlgebraic = 28
sizeStates = 14
sizeConstants = 98
from math import *
from numpy import *
def createLegends():
legend_states = [""] * sizeStates
legend_rates = [""] * sizeStates
legend_algebraic = [""] * sizeAlgebraic
legend_voi = ""
legend_constants = [""] * sizeConstants
legend_voi = "time in component environment (minute)"
legend_states[0] = "actCycA in component actCycA (dimensionless)"
legend_constants[0] = "k_asa in component kinetic_parameters (first_order_rate_constant)"
legend_constants[1] = "k_sap in component kinetic_parameters (first_order_rate_constant)"
legend_constants[2] = "k_sapp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[3] = "k_dia in component kinetic_parameters (first_order_rate_constant)"
legend_algebraic[15] = "V_di in component V_di (first_order_rate_constant)"
legend_algebraic[9] = "V_da in component V_da (first_order_rate_constant)"
legend_states[1] = "mass in component mass (dimensionless)"
legend_algebraic[1] = "Tri_A in component Tri_A (dimensionless)"
legend_algebraic[7] = "TF_E in component TF_E (dimensionless)"
legend_algebraic[3] = "freeCKI in component freeCKI (dimensionless)"
legend_states[2] = "actCycB in component actCycB (dimensionless)"
legend_constants[4] = "k_asb in component kinetic_parameters (first_order_rate_constant)"
legend_constants[5] = "k_dib in component kinetic_parameters (first_order_rate_constant)"
legend_algebraic[18] = "V_sb in component V_sb (first_order_rate_constant)"
legend_algebraic[19] = "V_db in component V_db (first_order_rate_constant)"
legend_algebraic[27] = "V_25 in component V_25 (first_order_rate_constant)"
legend_algebraic[23] = "V_wee in component V_wee (first_order_rate_constant)"
legend_states[3] = "CycB in component CycB (dimensionless)"
legend_states[4] = "Tri_B in component Tri_B (dimensionless)"
legend_states[5] = "preMPF in component preMPF (dimensionless)"
legend_states[6] = "actCycE in component actCycE (dimensionless)"
legend_constants[6] = "k_die in component kinetic_parameters (first_order_rate_constant)"
legend_constants[7] = "k_ase in component kinetic_parameters (first_order_rate_constant)"
legend_constants[8] = "k_sep in component kinetic_parameters (first_order_rate_constant)"
legend_constants[9] = "k_sepp in component kinetic_parameters (first_order_rate_constant)"
legend_algebraic[8] = "V_de in component V_de (first_order_rate_constant)"
legend_algebraic[2] = "Tri_E in component Tri_E (dimensionless)"
legend_states[7] = "CycA in component CycA (dimensionless)"
legend_states[8] = "CycE in component CycE (dimensionless)"
legend_algebraic[0] = "CycD in component CycD (dimensionless)"
legend_constants[10] = "CycD_0 in component CycD (dimensionless)"
legend_states[9] = "Cdc20_A in component Cdc20_A (dimensionless)"
legend_constants[11] = "k_a20 in component kinetic_parameters (first_order_rate_constant)"
legend_constants[12] = "k_i20 in component kinetic_parameters (first_order_rate_constant)"
legend_constants[13] = "k_d20 in component kinetic_parameters (first_order_rate_constant)"
legend_states[10] = "APCP in component APCP (dimensionless)"
legend_states[11] = "Cdc20_T in component Cdc20_T (dimensionless)"
legend_constants[14] = "J_a20 in component Cdc20_A (dimensionless)"
legend_constants[15] = "J_i20 in component Cdc20_A (dimensionless)"
legend_constants[16] = "k_s20p in component kinetic_parameters (first_order_rate_constant)"
legend_constants[17] = "k_s20pp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[18] = "n in component Cdc20_T (dimensionless)"
legend_constants[19] = "J_20 in component Cdc20_T (dimensionless)"
legend_constants[20] = "k_aAPC in component kinetic_parameters (first_order_rate_constant)"
legend_constants[21] = "k_iAPC in component kinetic_parameters (first_order_rate_constant)"
legend_constants[22] = "J_aAPC in component APCP (dimensionless)"
legend_constants[23] = "J_iAPC in component APCP (dimensionless)"
legend_states[12] = "CKI in component CKI (dimensionless)"
legend_states[13] = "Cdh1 in component Cdh1 (dimensionless)"
legend_constants[24] = "k_ah1p in component kinetic_parameters (first_order_rate_constant)"
legend_constants[25] = "k_ah1pp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[26] = "k_ih1p in component kinetic_parameters (first_order_rate_constant)"
legend_constants[27] = "k_ih1pp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[28] = "k_ih1ppp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[29] = "k_ih1pppp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[30] = "k_ih1ppppp in component kinetic_parameters (first_order_rate_constant)"
legend_algebraic[11] = "Cdc14 in component TF_I (dimensionless)"
legend_constants[31] = "J_ah1 in component Cdh1 (dimensionless)"
legend_constants[32] = "J_ih1 in component Cdh1 (dimensionless)"
legend_constants[33] = "mu in component mass (first_order_rate_constant)"
legend_constants[34] = "maxmass in component mass (dimensionless)"
legend_algebraic[4] = "V_atf in component V_atf (first_order_rate_constant)"
legend_constants[35] = "k_atfp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[36] = "k_atfpp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[37] = "k_atfppp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[38] = "k_atfpppp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[39] = "k_itfp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[40] = "k_itfpp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[41] = "k_itfppp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[42] = "J_itf in component TF_E (dimensionless)"
legend_constants[43] = "J_atf in component TF_E (dimensionless)"
legend_algebraic[5] = "A1 in component TF_E (first_order_rate_constant)"
legend_algebraic[6] = "A2 in component TF_E (first_order_rate_constant)"
legend_constants[88] = "A3 in component TF_E (dimensionless)"
legend_constants[91] = "A4 in component TF_E (dimensionless)"
legend_constants[44] = "k_dep in component kinetic_parameters (first_order_rate_constant)"
legend_constants[45] = "k_depp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[46] = "k_deppp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[47] = "k_depppp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[48] = "k_dap in component kinetic_parameters (first_order_rate_constant)"
legend_constants[49] = "k_dapp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[50] = "k_dappp in component kinetic_parameters (first_order_rate_constant)"
legend_algebraic[13] = "TF_I in component TF_I (dimensionless)"
legend_constants[51] = "k_afi in component kinetic_parameters (first_order_rate_constant)"
legend_constants[52] = "k_ifip in component kinetic_parameters (first_order_rate_constant)"
legend_constants[53] = "k_ifipp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[54] = "J_ifi in component TF_I (dimensionless)"
legend_constants[55] = "J_afi in component TF_I (dimensionless)"
legend_algebraic[12] = "A1 in component TF_I (first_order_rate_constant)"
legend_algebraic[10] = "A2 in component TF_I (first_order_rate_constant)"
legend_constants[87] = "A3 in component TF_I (dimensionless)"
legend_constants[90] = "A4 in component TF_I (dimensionless)"
legend_algebraic[14] = "V_si in component V_si (first_order_rate_constant)"
legend_constants[56] = "k_sip in component kinetic_parameters (first_order_rate_constant)"
legend_constants[57] = "k_sipp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[58] = "k_dip in component kinetic_parameters (first_order_rate_constant)"
legend_constants[59] = "k_dipp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[60] = "k_dippp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[61] = "k_dipppp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[62] = "k_dippppp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[63] = "J_14di in component kinetic_parameters (dimensionless)"
legend_algebraic[17] = "TF_B in component TF_B (dimensionless)"
legend_constants[64] = "k_afb in component kinetic_parameters (first_order_rate_constant)"
legend_constants[65] = "k_ifb in component kinetic_parameters (first_order_rate_constant)"
legend_constants[66] = "J_ifb in component TF_B (dimensionless)"
legend_constants[67] = "J_afb in component TF_B (dimensionless)"
legend_algebraic[16] = "A1 in component TF_B (first_order_rate_constant)"
legend_constants[89] = "A2 in component TF_B (first_order_rate_constant)"
legend_constants[92] = "A3 in component TF_B (dimensionless)"
legend_constants[94] = "A4 in component TF_B (dimensionless)"
legend_constants[68] = "k_sbp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[69] = "k_sbpp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[70] = "k_dbp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[71] = "k_dbpp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[72] = "k_dbppp in component kinetic_parameters (first_order_rate_constant)"
legend_algebraic[22] = "Wee1 in component Wee1 (dimensionless)"
legend_constants[73] = "k_aweep in component kinetic_parameters (first_order_rate_constant)"
legend_constants[74] = "k_aweepp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[75] = "k_iwee in component kinetic_parameters (first_order_rate_constant)"
legend_constants[76] = "J_iwee in component Wee1 (dimensionless)"
legend_constants[77] = "J_awee in component Wee1 (dimensionless)"
legend_algebraic[20] = "A1 in component Wee1 (first_order_rate_constant)"
legend_algebraic[21] = "A2 in component Wee1 (first_order_rate_constant)"
legend_constants[93] = "A3 in component Wee1 (dimensionless)"
legend_constants[95] = "A4 in component Wee1 (dimensionless)"
legend_constants[78] = "k_weep in component kinetic_parameters (first_order_rate_constant)"
legend_constants[79] = "k_weepp in component kinetic_parameters (first_order_rate_constant)"
legend_algebraic[26] = "Cdc25 in component Cdc25 (dimensionless)"
legend_constants[80] = "k_a25 in component kinetic_parameters (first_order_rate_constant)"
legend_constants[81] = "k_i25p in component kinetic_parameters (first_order_rate_constant)"
legend_constants[82] = "k_i25pp in component kinetic_parameters (first_order_rate_constant)"
legend_constants[83] = "J_i25 in component Cdc25 (dimensionless)"
legend_constants[84] = "J_a25 in component Cdc25 (dimensionless)"
legend_algebraic[24] = "A1 in component Cdc25 (first_order_rate_constant)"
legend_algebraic[25] = "A2 in component Cdc25 (first_order_rate_constant)"
legend_constants[96] = "A3 in component Cdc25 (dimensionless)"
legend_constants[97] = "A4 in component Cdc25 (dimensionless)"
legend_constants[85] = "k_25p in component kinetic_parameters (first_order_rate_constant)"
legend_constants[86] = "k_25pp in component kinetic_parameters (first_order_rate_constant)"
legend_rates[0] = "d/dt actCycA in component actCycA (dimensionless)"
legend_rates[2] = "d/dt actCycB in component actCycB (dimensionless)"
legend_rates[6] = "d/dt actCycE in component actCycE (dimensionless)"
legend_rates[7] = "d/dt CycA in component CycA (dimensionless)"
legend_rates[3] = "d/dt CycB in component CycB (dimensionless)"
legend_rates[8] = "d/dt CycE in component CycE (dimensionless)"
legend_rates[9] = "d/dt Cdc20_A in component Cdc20_A (dimensionless)"
legend_rates[11] = "d/dt Cdc20_T in component Cdc20_T (dimensionless)"
legend_rates[10] = "d/dt APCP in component APCP (dimensionless)"
legend_rates[13] = "d/dt Cdh1 in component Cdh1 (dimensionless)"
legend_rates[1] = "d/dt mass in component mass (dimensionless)"
legend_rates[5] = "d/dt preMPF in component preMPF (dimensionless)"
legend_rates[4] = "d/dt Tri_B in component Tri_B (dimensionless)"
legend_rates[12] = "d/dt CKI in component CKI (dimensionless)"
return (legend_states, legend_algebraic, legend_voi, legend_constants)
def initConsts():
constants = [0.0] * sizeConstants; states = [0.0] * sizeStates;
states[0] = 0.09450308233499527
constants[0] = 50
constants[1] = 0.0015
constants[2] = 0.01
constants[3] = 0.06
states[1] = 1.338267803192139
states[2] = 0.1903585940599442
constants[4] = 60
constants[5] = 0.05
states[3] = 0.09450308233499527
states[4] = 0.01
states[5] = 0.01
states[6] = 0.2092024385929108
constants[6] = 0
constants[7] = 0
constants[8] = 0
constants[9] = 0.15
states[7] = 0.09450308233499527
states[8] = 0.09450308233499527
constants[10] = 0.108
states[9] = 0.3572723865509033
constants[11] = 1
constants[12] = 0.16
constants[13] = 0.05
states[10] = 0.07591402530670166
states[11] = 0.7702387571334839
constants[14] = 1
constants[15] = 1
constants[16] = 0.001
constants[17] = 1
constants[18] = 1
constants[19] = 10
constants[20] = 0.1
constants[21] = 0.15
constants[22] = 0.1
constants[23] = 0.1
states[12] = 0.01
states[13] = 0.7189393639564514
constants[24] = 0.02
constants[25] = 0.8
constants[26] = 0.001
constants[27] = 0.35
constants[28] = 0.1
constants[29] = 0.06
constants[30] = 0.005
constants[31] = 0.03
constants[32] = 0.03
constants[33] = 0.005776
constants[34] = 10000
constants[35] = 0
constants[36] = 1.5
constants[37] = 0.38
constants[38] = 3
constants[39] = 0.75
constants[40] = 8
constants[41] = 0
constants[42] = 0.01
constants[43] = 0.01
constants[44] = 0.12
constants[45] = 0
constants[46] = 0
constants[47] = 0
constants[48] = 0.01
constants[49] = 0.16
constants[50] = 0
constants[51] = 6
constants[52] = 0.008
constants[53] = 0.05
constants[54] = 2
constants[55] = 1
constants[56] = 0.018
constants[57] = 0.18
constants[58] = 0.02
constants[59] = 0.1
constants[60] = 0.8
constants[61] = 0.12
constants[62] = 0.1
constants[63] = 12
constants[64] = 1
constants[65] = 0.15
constants[66] = 0.1
constants[67] = 0.1
constants[68] = 0.004
constants[69] = 0.04
constants[70] = 0.003
constants[71] = 0.4
constants[72] = 0.15
constants[73] = 0.3
constants[74] = 0
constants[75] = 1
constants[76] = 0.05
constants[77] = 0.05
constants[78] = 0.02
constants[79] = 0.2
constants[80] = 0
constants[81] = 0.3
constants[82] = 0
constants[83] = 0.1
constants[84] = 0.1
constants[85] = 0.01
constants[86] = 5
constants[87] = constants[55]
constants[88] = constants[43]
constants[89] = constants[65]
constants[90] = constants[54]
constants[91] = constants[42]
constants[92] = constants[67]
constants[93] = constants[77]
constants[94] = constants[66]
constants[95] = constants[76]
constants[96] = constants[84]
constants[97] = constants[83]
return (states, constants)
def computeRates(voi, states, constants):
rates = [0.0] * sizeStates; algebraic = [0.0] * sizeAlgebraic
rates[9] = (constants[11]*states[10]*(states[11]-states[9]))/((constants[14]+states[11])-states[9])-(constants[12]/(constants[15]+states[9])+constants[13])*states[9]
rates[11] = (constants[16]+constants[17]*(power(states[2], constants[18])))/(power(constants[19], constants[18])+power(states[2], constants[18]))-constants[13]*states[11]
rates[10] = (constants[20]*states[2]*(1.00000-states[10]))/((constants[22]+1.00000)-states[10])-(constants[21]*states[10])/(constants[23]+states[10])
rates[1] = constants[33]*states[1]*(1.00000-states[1]/constants[34])
algebraic[0] = constants[10]*states[1]
algebraic[4] = constants[35]+constants[36]*states[0]+constants[37]*states[6]+constants[38]*algebraic[0]
algebraic[5] = algebraic[4]
algebraic[6] = constants[39]+constants[40]*states[2]+constants[41]*states[0]
algebraic[7] = (2.00000*constants[91]*algebraic[5])/((algebraic[6]+-algebraic[5]+constants[88]*algebraic[6]+constants[91]*algebraic[5])+power(power(algebraic[6]+-algebraic[5]+constants[88]*algebraic[6]+constants[91]*algebraic[5], 2.00000)-4.00000*(algebraic[6]-algebraic[5])*constants[91]*algebraic[5], 1.0/2))
algebraic[8] = constants[44]+constants[45]*states[6]+constants[46]*states[0]+constants[47]*states[2]
rates[8] = (constants[8]+constants[9]*algebraic[7])*states[1]-algebraic[8]*states[8]
algebraic[9] = constants[48]+constants[49]*states[9]+constants[50]*states[11]
rates[7] = (constants[1]+constants[2]*algebraic[7])*states[1]-algebraic[9]*states[7]
algebraic[11] = states[9]
rates[13] = ((constants[24]+constants[25]*algebraic[11])*(1.00000-states[13]))/((constants[31]+1.00000)-states[13])-((constants[26]+constants[27]*states[0]+constants[28]*states[2]+constants[29]*states[6]+constants[30]*algebraic[0])*states[13])/(constants[32]+states[13])
algebraic[15] = (constants[58]+constants[59]*states[0]+constants[60]*states[2]+constants[61]*states[6]+constants[62]*algebraic[0])/(1.00000+algebraic[11]/constants[63])
algebraic[1] = states[7]-states[0]
algebraic[2] = states[8]-states[6]
algebraic[3] = states[12]-(states[4]+algebraic[1]+algebraic[2])
rates[0] = ((constants[1]+constants[2]*algebraic[7])*states[1]+(algebraic[15]+constants[3])*algebraic[1])-(algebraic[9]+constants[0]*algebraic[3])*states[0]
rates[6] = ((constants[8]+constants[9]*algebraic[7])*states[1]+(algebraic[15]+constants[6])*algebraic[2])-(algebraic[8]+constants[7]*algebraic[3])*states[6]
algebraic[12] = constants[51]*algebraic[11]
algebraic[10] = constants[52]+constants[53]*states[2]
algebraic[13] = (2.00000*constants[90]*algebraic[12])/((algebraic[10]+-algebraic[12]+constants[87]*algebraic[10]+constants[90]*algebraic[12])+power(power(algebraic[10]+-algebraic[12]+constants[87]*algebraic[10]+constants[90]*algebraic[12], 2.00000)-4.00000*(algebraic[10]-algebraic[12])*constants[90]*algebraic[12], 1.0/2))
algebraic[14] = constants[56]+constants[57]*algebraic[13]
rates[12] = algebraic[14]-algebraic[15]*states[12]
algebraic[16] = constants[64]*states[2]
algebraic[17] = (2.00000*constants[94]*algebraic[16])/((constants[89]+-algebraic[16]+constants[92]*constants[89]+constants[94]*algebraic[16])+power(power(constants[89]+-algebraic[16]+constants[92]*constants[89]+constants[94]*algebraic[16], 2.00000)-4.00000*(constants[89]-algebraic[16])*constants[94]*algebraic[16], 1.0/2))
algebraic[18] = constants[68]+constants[69]*algebraic[17]
algebraic[19] = constants[70]+constants[71]*states[13]+constants[72]*states[9]
rates[3] = algebraic[18]*states[1]-algebraic[19]*states[3]
rates[4] = constants[4]*(states[3]-states[4])*algebraic[3]-(constants[5]+algebraic[19]+algebraic[15])*states[4]
algebraic[24] = constants[80]*states[2]
algebraic[25] = constants[81]+constants[82]*algebraic[11]
algebraic[26] = (2.00000*constants[97]*algebraic[24])/((algebraic[25]+-algebraic[24]+constants[96]*algebraic[25]+constants[97]*algebraic[24])+power(power(algebraic[25]+-algebraic[24]+constants[96]*algebraic[25]+constants[97]*algebraic[24], 2.00000)-4.00000*(algebraic[25]-algebraic[24])*constants[97]*algebraic[24], 1.0/2))
algebraic[27] = constants[85]+constants[86]*algebraic[26]
algebraic[20] = constants[73]+constants[74]*algebraic[11]
algebraic[21] = constants[75]*states[2]
algebraic[22] = (2.00000*constants[95]*algebraic[20])/((algebraic[21]+-algebraic[20]+constants[93]*algebraic[21]+constants[95]*algebraic[20])+power(power(algebraic[21]+-algebraic[20]+constants[93]*algebraic[21]+constants[95]*algebraic[20], 2.00000)-4.00000*(algebraic[21]-algebraic[20])*constants[95]*algebraic[20], 1.0/2))
algebraic[23] = constants[78]+constants[79]*algebraic[22]
rates[2] = (algebraic[18]*states[1]+algebraic[27]*(states[3]-(states[4]+states[2]))+(constants[5]+algebraic[15])*(states[3]-(states[5]+states[2])))-(algebraic[19]+algebraic[23]+constants[4]*algebraic[3])*states[2]
rates[5] = algebraic[23]*(states[3]-states[5])-(algebraic[27]+algebraic[19])*states[5]
return(rates)
def computeAlgebraic(constants, states, voi):
algebraic = array([[0.0] * len(voi)] * sizeAlgebraic)
states = array(states)
voi = array(voi)
algebraic[0] = constants[10]*states[1]
algebraic[4] = constants[35]+constants[36]*states[0]+constants[37]*states[6]+constants[38]*algebraic[0]
algebraic[5] = algebraic[4]
algebraic[6] = constants[39]+constants[40]*states[2]+constants[41]*states[0]
algebraic[7] = (2.00000*constants[91]*algebraic[5])/((algebraic[6]+-algebraic[5]+constants[88]*algebraic[6]+constants[91]*algebraic[5])+power(power(algebraic[6]+-algebraic[5]+constants[88]*algebraic[6]+constants[91]*algebraic[5], 2.00000)-4.00000*(algebraic[6]-algebraic[5])*constants[91]*algebraic[5], 1.0/2))
algebraic[8] = constants[44]+constants[45]*states[6]+constants[46]*states[0]+constants[47]*states[2]
algebraic[9] = constants[48]+constants[49]*states[9]+constants[50]*states[11]
algebraic[11] = states[9]
algebraic[15] = (constants[58]+constants[59]*states[0]+constants[60]*states[2]+constants[61]*states[6]+constants[62]*algebraic[0])/(1.00000+algebraic[11]/constants[63])
algebraic[1] = states[7]-states[0]
algebraic[2] = states[8]-states[6]
algebraic[3] = states[12]-(states[4]+algebraic[1]+algebraic[2])
algebraic[12] = constants[51]*algebraic[11]
algebraic[10] = constants[52]+constants[53]*states[2]
algebraic[13] = (2.00000*constants[90]*algebraic[12])/((algebraic[10]+-algebraic[12]+constants[87]*algebraic[10]+constants[90]*algebraic[12])+power(power(algebraic[10]+-algebraic[12]+constants[87]*algebraic[10]+constants[90]*algebraic[12], 2.00000)-4.00000*(algebraic[10]-algebraic[12])*constants[90]*algebraic[12], 1.0/2))
algebraic[14] = constants[56]+constants[57]*algebraic[13]
algebraic[16] = constants[64]*states[2]
algebraic[17] = (2.00000*constants[94]*algebraic[16])/((constants[89]+-algebraic[16]+constants[92]*constants[89]+constants[94]*algebraic[16])+power(power(constants[89]+-algebraic[16]+constants[92]*constants[89]+constants[94]*algebraic[16], 2.00000)-4.00000*(constants[89]-algebraic[16])*constants[94]*algebraic[16], 1.0/2))
algebraic[18] = constants[68]+constants[69]*algebraic[17]
algebraic[19] = constants[70]+constants[71]*states[13]+constants[72]*states[9]
algebraic[24] = constants[80]*states[2]
algebraic[25] = constants[81]+constants[82]*algebraic[11]
algebraic[26] = (2.00000*constants[97]*algebraic[24])/((algebraic[25]+-algebraic[24]+constants[96]*algebraic[25]+constants[97]*algebraic[24])+power(power(algebraic[25]+-algebraic[24]+constants[96]*algebraic[25]+constants[97]*algebraic[24], 2.00000)-4.00000*(algebraic[25]-algebraic[24])*constants[97]*algebraic[24], 1.0/2))
algebraic[27] = constants[85]+constants[86]*algebraic[26]
algebraic[20] = constants[73]+constants[74]*algebraic[11]
algebraic[21] = constants[75]*states[2]
algebraic[22] = (2.00000*constants[95]*algebraic[20])/((algebraic[21]+-algebraic[20]+constants[93]*algebraic[21]+constants[95]*algebraic[20])+power(power(algebraic[21]+-algebraic[20]+constants[93]*algebraic[21]+constants[95]*algebraic[20], 2.00000)-4.00000*(algebraic[21]-algebraic[20])*constants[95]*algebraic[20], 1.0/2))
algebraic[23] = constants[78]+constants[79]*algebraic[22]
return algebraic
def solve_model():
"""Solve model with ODE solver"""
from scipy.integrate import ode
# Initialise constants and state variables
(init_states, constants) = initConsts()
# Set timespan to solve over
voi = linspace(0, 10, 500)
# Construct ODE object to solve
r = ode(computeRates)
r.set_integrator('vode', method='bdf', atol=1e-06, rtol=1e-06, max_step=1)
r.set_initial_value(init_states, voi[0])
r.set_f_params(constants)
# Solve model
states = array([[0.0] * len(voi)] * sizeStates)
states[:,0] = init_states
for (i,t) in enumerate(voi[1:]):
if r.successful():
r.integrate(t)
states[:,i+1] = r.y
else:
break
# Compute algebraic variables
algebraic = computeAlgebraic(constants, states, voi)
return (voi, states, algebraic)
def plot_model(voi, states, algebraic):
"""Plot variables against variable of integration"""
import pylab
(legend_states, legend_algebraic, legend_voi, legend_constants) = createLegends()
pylab.figure(1)
pylab.plot(voi,vstack((states,algebraic)).T)
pylab.xlabel(legend_voi)
pylab.legend(legend_states + legend_algebraic, loc='best')
pylab.show()
if __name__ == "__main__":
(voi, states, algebraic) = solve_model()
plot_model(voi, states, algebraic)
