(* Generated by JWS Online *) (* This is an experimental feature of JWS Online. Please report any mistakes.*) (* Note that the following notable SBML entities or features are not supported in notebook outputyet: *) (* Events *) (* Constraints *) (* Units and UnitDefinitions *) (* AlgebraicRules *) (* conversionFactors *) variables = { NADPH[t], PGA[t] }; initialValues = { NADPH[0] == 0.21, PGA[0] == 2.4 }; rates = { NADPH\[LetterSpace]prod, PGA\[LetterSpace]cons, PGA\[LetterSpace]prod\[LetterSpace]Vc, PGA\[LetterSpace]prod\[LetterSpace]Vo }; rateEquations = { NADPH\[LetterSpace]prod -> chloroplast*NADPH\[LetterSpace]production[J, NADP, Nt], PGA\[LetterSpace]cons -> chloroplast*PGA\[LetterSpace]consumption[PGA[t], Rp, NADPH[t], Nt, Vcmax], PGA\[LetterSpace]prod\[LetterSpace]Vc -> chloroplast*carboxylation[Vc, Vj, Vp], PGA\[LetterSpace]prod\[LetterSpace]Vo -> chloroplast*oxygenation[phi, Vc, Vj, Vp] }; parameters = { Gamma -> 3.81695, Jmax -> 112.989573402043, Kc -> 27.8535785188479, Ko -> 41.9469718861558, Nt -> 0.5, PPFD -> 1000.0, Rd -> 0.00624227154326423, Rp -> 3.2, TPU -> 0.227712577291006, Vcmax -> 1.4749455852483, alpha -> 0.19, g0 -> 0.468615384615385, h -> 0.6, k -> 118.69, CO2 -> 35.0, O2 -> 21.0, RuBP -> 2.0, chloroplast -> 1.0 }; assignments = { oxygenation[phi_,Vc_,Vj_,Vp_] -> (phi*(Vp + (Vc + Vj - Abs[Vc - Vj])/2 - Abs[-Vp + (Vc + Vj - Abs[Vc - Vj])/2]))/2, PGA\[LetterSpace]consumption[S1_,Rp_,R_,Nt_,Vc_] -> (R*S1*Vc)/(Nt*Rp), carboxylation[Vc_,Vj_,Vp_] -> (Vp + (Vc + Vj - Abs[Vc - Vj])/2 - Abs[-Vp + (Vc + Vj - Abs[Vc - Vj])/2])/2, NADPH\[LetterSpace]production[j_,S1_,Nt_] -> (j*S1)/(2*Nt), phi -> (0.21*Kc*O2*(g0 + (h*k*(-Rd + v\[LetterSpace]c))/CO2))/(Ko*(g0 + (-1.6 + h*k)*(-Rd + v\[LetterSpace]c))), Vc -> (Vcmax*(CO2 - (0.8*(((CO2 + Kc*(1 + O2/Ko))*(g0 + (h*k*Rd)/CO2) + ((-CO2 + Gamma)*h*k*Vcmax)/CO2 + 1.6*(-Rd + Vcmax))/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2) + Sqrt[(4*g0*((CO2 + Kc*(1 + O2/Ko))*Rd + (-CO2 + Gamma)*Vcmax))/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2) + ((CO2 + Kc*(1 + O2/Ko))*(g0 + (h*k*Rd)/CO2) + ((-CO2 + Gamma)*h*k*Vcmax)/CO2 + 1.6*(-Rd + Vcmax))^2/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2)^2]))/(g0 + (h*k*(((CO2 + Kc*(1 + O2/Ko))*(g0 + (h*k*Rd)/CO2) + ((-CO2 + Gamma)*h*k*Vcmax)/CO2 + 1.6*(-Rd + Vcmax))/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2) + Sqrt[(4*g0*((CO2 + Kc*(1 + O2/Ko))*Rd + (-CO2 + Gamma)*Vcmax))/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2) + ((CO2 + Kc*(1 + O2/Ko))*(g0 + (h*k*Rd)/CO2) + ((-CO2 + Gamma)*h*k*Vcmax)/CO2 + 1.6*(-Rd + Vcmax))^2/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2)^2]))/(2*CO2))))/(CO2 + Kc*(1 + O2/Ko) - (0.8*(((CO2 + Kc*(1 + O2/Ko))*(g0 + (h*k*Rd)/CO2) + ((-CO2 + Gamma)*h*k*Vcmax)/CO2 + 1.6*(-Rd + Vcmax))/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2) + Sqrt[(4*g0*((CO2 + Kc*(1 + O2/Ko))*Rd + (-CO2 + Gamma)*Vcmax))/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2) + ((CO2 + Kc*(1 + O2/Ko))*(g0 + (h*k*Rd)/CO2) + ((-CO2 + Gamma)*h*k*Vcmax)/CO2 + 1.6*(-Rd + Vcmax))^2/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2)^2]))/(g0 + (h*k*(((CO2 + Kc*(1 + O2/Ko))*(g0 + (h*k*Rd)/CO2) + ((-CO2 + Gamma)*h*k*Vcmax)/CO2 + 1.6*(-Rd + Vcmax))/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2) + Sqrt[(4*g0*((CO2 + Kc*(1 + O2/Ko))*Rd + (-CO2 + Gamma)*Vcmax))/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2) + ((CO2 + Kc*(1 + O2/Ko))*(g0 + (h*k*Rd)/CO2) + ((-CO2 + Gamma)*h*k*Vcmax)/CO2 + 1.6*(-Rd + Vcmax))^2/(1.6 - (h*k*(CO2 + Kc*(1 + O2/Ko)))/CO2)^2]))/(2*CO2))), Vj -> (J*(CO2 - (0.8*((((-CO2 + Gamma)*h*J*k)/(4*CO2) + 1.6*(J/4 - Rd) + (CO2 + 2*Gamma)*(g0 + (h*k*Rd)/CO2))/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2) + Sqrt[(4*g0*(((-CO2 + Gamma)*J)/4 + (CO2 + 2*Gamma)*Rd))/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2) + (((-CO2 + Gamma)*h*J*k)/(4*CO2) + 1.6*(J/4 - Rd) + (CO2 + 2*Gamma)*(g0 + (h*k*Rd)/CO2))^2/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2)^2]))/(g0 + (h*k*((((-CO2 + Gamma)*h*J*k)/(4*CO2) + 1.6*(J/4 - Rd) + (CO2 + 2*Gamma)*(g0 + (h*k*Rd)/CO2))/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2) + Sqrt[(4*g0*(((-CO2 + Gamma)*J)/4 + (CO2 + 2*Gamma)*Rd))/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2) + (((-CO2 + Gamma)*h*J*k)/(4*CO2) + 1.6*(J/4 - Rd) + (CO2 + 2*Gamma)*(g0 + (h*k*Rd)/CO2))^2/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2)^2]))/(2*CO2))))/(4*(CO2 + 2*Gamma - (0.8*((((-CO2 + Gamma)*h*J*k)/(4*CO2) + 1.6*(J/4 - Rd) + (CO2 + 2*Gamma)*(g0 + (h*k*Rd)/CO2))/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2) + Sqrt[(4*g0*(((-CO2 + Gamma)*J)/4 + (CO2 + 2*Gamma)*Rd))/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2) + (((-CO2 + Gamma)*h*J*k)/(4*CO2) + 1.6*(J/4 - Rd) + (CO2 + 2*Gamma)*(g0 + (h*k*Rd)/CO2))^2/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2)^2]))/(g0 + (h*k*((((-CO2 + Gamma)*h*J*k)/(4*CO2) + 1.6*(J/4 - Rd) + (CO2 + 2*Gamma)*(g0 + (h*k*Rd)/CO2))/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2) + Sqrt[(4*g0*(((-CO2 + Gamma)*J)/4 + (CO2 + 2*Gamma)*Rd))/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2) + (((-CO2 + Gamma)*h*J*k)/(4*CO2) + 1.6*(J/4 - Rd) + (CO2 + 2*Gamma)*(g0 + (h*k*Rd)/CO2))^2/(1.6 - ((CO2 + 2*Gamma)*h*k)/CO2)^2]))/(2*CO2)))), NADP -> Nt - NADPH[t], J -> (0.03076923076923077*alpha*PPFD)/Sqrt[1 + (alpha^2*PPFD^2)/Jmax^2], v\[LetterSpace]c -> (-Abs[-Vp + (-Abs[Vc - Vj] + Abs[Vc + Vj])/2] + Abs[Vp + (-Abs[Vc - Vj] + Abs[Vc + Vj])/2])/2, Vp -> (3*TPU*(CO2 - (0.8*(((CO2 - Gamma)*(g0 + (h*k*Rd)/CO2) - 3*h*k*TPU + 1.6*(-Rd + 3*TPU))/(1.6 - ((CO2 - Gamma)*h*k)/CO2) + Sqrt[(4*g0*((CO2 - Gamma)*Rd - 3*CO2*TPU))/(1.6 - ((CO2 - Gamma)*h*k)/CO2) + ((CO2 - Gamma)*(g0 + (h*k*Rd)/CO2) - 3*h*k*TPU + 1.6*(-Rd + 3*TPU))^2/(1.6 - ((CO2 - Gamma)*h*k)/CO2)^2]))/(g0 + (h*k*(((CO2 - Gamma)*(g0 + (h*k*Rd)/CO2) - 3*h*k*TPU + 1.6*(-Rd + 3*TPU))/(1.6 - ((CO2 - Gamma)*h*k)/CO2) + Sqrt[(4*g0*((CO2 - Gamma)*Rd - 3*CO2*TPU))/(1.6 - ((CO2 - Gamma)*h*k)/CO2) + ((CO2 - Gamma)*(g0 + (h*k*Rd)/CO2) - 3*h*k*TPU + 1.6*(-Rd + 3*TPU))^2/(1.6 - ((CO2 - Gamma)*h*k)/CO2)^2]))/(2*CO2))))/(CO2 - Gamma - (0.8*(((CO2 - Gamma)*(g0 + (h*k*Rd)/CO2) - 3*h*k*TPU + 1.6*(-Rd + 3*TPU))/(1.6 - ((CO2 - Gamma)*h*k)/CO2) + Sqrt[(4*g0*((CO2 - Gamma)*Rd - 3*CO2*TPU))/(1.6 - ((CO2 - Gamma)*h*k)/CO2) + ((CO2 - Gamma)*(g0 + (h*k*Rd)/CO2) - 3*h*k*TPU + 1.6*(-Rd + 3*TPU))^2/(1.6 - ((CO2 - Gamma)*h*k)/CO2)^2]))/(g0 + (h*k*(((CO2 - Gamma)*(g0 + (h*k*Rd)/CO2) - 3*h*k*TPU + 1.6*(-Rd + 3*TPU))/(1.6 - ((CO2 - Gamma)*h*k)/CO2) + Sqrt[(4*g0*((CO2 - Gamma)*Rd - 3*CO2*TPU))/(1.6 - ((CO2 - Gamma)*h*k)/CO2) + ((CO2 - Gamma)*(g0 + (h*k*Rd)/CO2) - 3*h*k*TPU + 1.6*(-Rd + 3*TPU))^2/(1.6 - ((CO2 - Gamma)*h*k)/CO2)^2]))/(2*CO2))) }; events = { }; speciesAnnotations = { }; reactionAnnotations = { }; units = { {"time" -> "", "metabolite" -> "", "extent" -> ""} }; (* Time evolution *) odes = { NADPH'[t] == 1.0*NADPH\[LetterSpace]prod -2.0*PGA\[LetterSpace]prod\[LetterSpace]Vc -2.0*PGA\[LetterSpace]prod\[LetterSpace]Vo, PGA'[t] == 2.0*PGA\[LetterSpace]prod\[LetterSpace]Vc +1.5*PGA\[LetterSpace]prod\[LetterSpace]Vo -1.0*PGA\[LetterSpace]cons }; timeCourse = NDSolve[Join[odes, initialValues]//.rateEquations//.assignments//.parameters, variables, {t, 0, 100}]; (* Steady-state solution initialized with result of time evolution *) findRootEquations = odes /.D[_[t],t]->0; findRootVariables = Partition[Flatten[{#, #/.timeCourse/.t->100} &/@variables],2]; steadyStateVariables = FindRoot[findRootEquations//.rateEquations//.assignments//.parameters, findRootVariables, MaxIterations->100] fluxes = #//.assignments//.parameters/.steadyStateVariables&/@rateEquations (* Plot the time evolution of the variables *) plotTable=Table[Plot[variables[[i]]/.parameters/.timeCourse,{t,0,100},PlotLegends->variables[[i]],PlotRange->Full],{i,Length[variables]}]