package FBA // Package for simulation of simplified yeast model that do not // account for overflow but very well growth on both glucose and ethanol. // Here we formulate the standard bottle-neck model in terms of flux // balance and dynammic maximization of specific growth rate. // Author: Jan Peter Axelsson // Date: 2017-02-09 // Modified: // 2017-02-15: Smaller corrections // 2017-02-16: Smaller adjustments, look at objective function! // 2017-03-31: Included substrate uptake bottle-necks due to low concentrations as in original model optimization Reactor (objectiveIntegrand = -VX, startTime = 0, finalTime = 10.0) // Constants: constant Real MwG = 180.0; // g(G)/mole constant Real MwE = 46.0; // g(E)/mole constant Real MwX = 24.6; // g(X)/mole // Parameters: parameter Real qO2max = 6.9e-3; // mole/g,h parameter Real kog = 2.3; // mole(O2)/mole(G) parameter Real koe = 1.6; // mole(O2)/mole(E) parameter Real YGr = 3.5; // mole(X)/mole(G) respiratory parameter Real YEr = 1.32; // mole(X)/mole(E) respiratory parameter Real alpha = 0.01; // 1/g,h - get correct value! parameter Real beta = 1.0; // 1/g,h - get correct value! // Initial state: parameter Real VG_0 = 10.0; // g parameter Real VE_0 = 3.0; // g parameter Real VX_0 = 2.0; // g parameter Real V_0 = 1.0; // L // The state variables: Real VG(start=VG_0, fixed=true, min=0.0); Real VE(start=VE_0, fixed=true, min=0.0); Real VX(start=VX_0, fixed=true, min=0.0); Real V(start=V_0, fixed=true); // Concentrations and rates: Real G,E,X; Real mu, qO2; // The control signals input Real qGr(min=0.0), qEr(min=0.0); equation // Concentrations: G = VG/V; E = VE/V; X = VX/V; // Mass-balance: der(VG) =-MwG*qGr*VX; der(VE) =-MwE*qEr*VX; der(VX) = MwX*mu*VX; der(V) = 0; // Reaction rates: qO2 = kog*qGr + koe*qEr; mu = YGr*qGr + YEr*qEr; constraint // Respiratory bottle-neck and substrate uptake bottle-necks due to low concentrations: qO2 <= qO2max; qGr <= alpha*G; qEr <= beta*E; end Reactor; end FBA;