Le chemostat ou bioréacteur est un procédé de culture de microorganismes en continu. Le bioréacteur est continument alimenté en nutriments (substrat) qui est consommé par les microorganismes qui se multiplient. Les microorganismes et le substrat sont continument soutirés du réacteur, contrôlant ainsi le volume au sein du réacteur.
On définit:
Au sein du réacteur unne réaction transforme le subtrat en biomasse: $$ k\,S \xrightarrow[]{r} X $$ où $r=\mu\,X$ est le taux de la réaction (exprimé en $1/h$), $k$ est une constante stoechiométrique (adimensionnel)
In [2]:
import numpy as np
import matplotlib.pyplot as plt
mumax, K, mustar, Ki = 10, 1, 10, 2
s0, s1 = 0, 10
les_s = np.linspace(s0,s1,300, endpoint=True)
monod = lambda s: mumax*s/(K+s)
haldane = lambda s: mustar*s/(K+s+s*s/Ki)
plt.plot(les_s, monod(les_s), label='Monod')
plt.plot(les_s, mumax*np.ones_like(les_s), linestyle='--')
plt.plot(les_s, haldane(les_s), label='Haldane')
plt.ylim([0,mumax*1.2])
plt.legend()
plt.show()
Le bilan des masses entre $t$ te $t+\delta$ au sein du chemostat (loi de conservation de la masse):
\begin{align*} [V\,S](t+\delta) - [V\,S](t) &= D_{in}\,S_{in}\,\delta -D_{out}\,S\,\delta - k\,\mu\,V\,X \,\delta \\ [V\,X](t+\delta) - [V\,X](t) &= \hphantom{D_{in}\,S_{in}\,\delta}-D_{out}\,X\,\delta + \mu\,V\,X \,\delta \\ V(t+\delta) - V(t) &= D_{in} \,\delta -D_{out}\,\delta \end{align*}on divise par $\delta$ et on fait $\delta\to 0$:
\begin{align*} d[V\, S]/dt &= D_{in}\,S_{in} -D_{out}\,S - k\,\mu\,V\,X \\ d [V\, X]/dt &= \hphantom{D_{in}\,S_{in}}-D_{out}\,X+ \mu\,V\,X \\ dV(t)/dt &= D_{in} - D_{out} \end{align*}mais $d [V X]/dt=\dot V\,X+V\,\dot X$ et $d [V\, S]/dt=\dot V\,S+V\,\dot S$
\begin{align*} \dot V\,S+V\,\dot S &= D_{in}\,S_{in} -D_{out}\,S - k\,\mu\,V\,X \\ \dot V\,X+V\,\dot X &= \hphantom{D_{in}\,S_{in}}-D_{out}\,X+ \mu\,V\,X \\ \dot V &= D_{in} - D_{out} \end{align*}finalement
\begin{align*} \dot S &= \frac{D_{in}}{V}\,[S_{in}-S] - k\,\mu\,X \\ \dot X &= -\frac{D_{in}}{V}\,X+ \mu\,X \\ \dot V &= D_{in} - D_{out} \end{align*}on introduit le taux de dilution $D:=D_{in}/V$ (en $1/l$):
\begin{align*} \dot S &= D\,[S_{in}-S] - k\,\mu\,X \\ \dot X &= -D\,X+ \mu\,X \\ \dot V &= D_{in} - D_{out} \end{align*}Trois possibilités:
Supposons $D=0$ et $\mu = \rho\,S$
\begin{align*} \dot S &= - k\,\rho\,S\,X \\ \dot X &= \rho\,S\,X \end{align*}donc $\dot S +k\,\dot X$ d'où $S +k\,X$ est une constant, on pose $\gamma:= S +k\, X$, on obtient:
\begin{align*} \dot X &= \rho\,[\gamma-k\,X]\,X \end{align*}c'est la courbe logistique $K=\gamma/k$ est la capacité d'acceuil et $r=\rho\,\gamma$ est la taux de croissance maximal.
On pose $x=(S,X)$ et
\begin{align*} f(x)=f(S,X) = \left(\begin{array}{c}D\,[S_{in}-S] - k\,\mu(S)\,X \\ [\mu(S)-D]\,X\end{array}\right) \end{align*}On cherche les points $(S,X)$ tels que $f(S,X)=0$:
Le point d'équilibre $E^*$ existe et est stable si et seulement si:
\begin{align*} J= \left(\begin{array}{cc} \partial f_1/\partial S & \partial f_1/\partial X \\ \partial f_2/\partial S & \partial f_2/\partial X \end{array}\right) (S^*,X^*) = \left(\begin{array}{cc} D-k\,\mu'(S^*)\,X^* & -k\,D \\ \mu'(S^*)\,X & 0 \end{array}\right) \end{align*}$Tr(J)=-D-k\,\mu'(S^*)\,X^*<0$ et $det(J)=k\,D\,\mu'(S^*)\,X>0$ ainsi les valeurs propres ont des parties réelles négatives (voir ici).
Dans le cas Monod: un seul point d'équilibre stable dans les conditions précédentes
Dans le cas Haldane, l'équation $\mu(S)=D$ peut avoir 2 solutions $S_1^*<S_2^*$