(* 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], PGA\[LetterSpace]prod\[LetterSpace]Vo -> chloroplast*oxygenation[phi, Vc, Vj] }; parameters = { Gamma -> 42.8926627111176, Kc -> 406.066146391504, Ko -> 276.900084789612, Nt -> 0.5, Q -> 1000.0, Rp -> 3.2, Vcmax -> 2.53232284114507, alpha -> 0.3, teta -> 0.9, CO2 -> 245.0, O2 -> 210.0, RuBP -> 2.0, chloroplast -> 1.0 }; assignments = { oxygenation[phi_,Vc_,Vj_] -> (phi*(Vc + Vj - Abs[Vc - Vj]))/2, carboxylation[Vc_,Vj_] -> (Vc + Vj - Abs[Vc - Vj])/2, NADPH\[LetterSpace]production[j_,S1_,Nt_] -> (j*S1)/(2*Nt), PGA\[LetterSpace]consumption[S1_,Rp_,R_,Nt_,Vc_] -> (R*S1*Vc)/(Nt*Rp), phi -> (0.21*Kc*O2)/(CO2*Ko), Vomax -> 0.21*Vcmax, NADP -> Nt - NADPH[t], Vc -> (CO2*Vcmax)/(CO2 + Kc*(1 + O2/Ko)), Vj -> (CO2*J)/(4*(CO2 + 2*Gamma)), J -> (0.03076923076923077*alpha*Q)/(10 - 9*teta) }; 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]}]