Ce document s'intéresse à la modélisation cinétique d'une transformation modélisée par deux actes élémentaires opposés, c'est-à-dire que deux processus élémentaires coexistent :
\begin{align} \mathsf{ A \xrightarrow{\text{$k_{d}$}} \mathsf B \\ B \xrightarrow{\text{$k_{i}$}} \mathsf A } \end{align}où $\mathsf{k_d}$ et $\mathsf{k_i}$ représentent les constantes de vitesse de l'acte élémentaire "sens direct" et de l'acte élémentaire "sens inverse".
Les lois de vitesse des actes élémentaires peuvent s'écrire : \begin{align} \mathsf{ v_d=k_d [A] \\ v_i=k_i [B]} \end{align} L'acte élémentaire "direct" contribue à augmenter la concentration de l'expèce $\mathsf{A}$, alors que l'acte élémentaire "inverse" contribue à la diminuer. Ainsi, les variations temporelles de la concentration de l'espèce $\mathsf{A}$ sont régies par l'équation différentielle : \begin{align}\mathsf{ \frac{d[A]}{dt} = -v_d + v_i \\ \frac{d[A]}{dt}= -k_d[A] + k_i [B]\\} \end{align} De la même façon, les variations temporelles de la concentration de l'espèce $\mathsf{B}$ sont régies par l'équation différentielle : \begin{align} \mathsf{ \frac{d[B]}{dt} = +k_d[A] - k_i [B] } \end{align}
La méthode d'Euler utilisée ici pour intégrer l'équation différentielle est la méthode d'Euler. Celle-ci utilise la formule de Taylor qui permet d'écrire pour $\mathsf{h\to 0}$ : \begin{equation} \mathsf{f(t_0+h)=f(t_0)+ \left(\frac{df}{dt}\right)_{t_0}\cdot h} \end{equation}
Cette relation permet de calculer la concentration d'une espèce à un instant $\mathsf{t_0+h}$ connaissant sa valeur à l'instant $\mathsf{t_0}$ et la valeur de la dérivée à l'instant $\mathsf{t_0}$. Par exemple, pour la concentration de l'espèce $\mathsf{A}$ : \begin{equation} \mathsf{[A]_{t_0+h}=[A]_{t_0}+ \left(\frac{d[A]}{dt}\right)_{t=t_0} \cdot h} \end{equation}
\begin{equation} \mathsf{[A]_{t_0+h}=[A]_{t_0}+ \left(-k_d[A]_{t_0} + k_i [B]_{t_0}\right) \cdot h} \end{equation}La méthode d'Euler nécessite :
En outre, sur le plan chimique, les concentrations des réactifs ne peuvent devenir négatives, ce qui impose une condition supplémentaire dans la boucle de calcul.
A l'état initial, la concentration de l'espèce $\mathsf{A}$ est notée $\mathsf{a}$ et celle de l'espèce $\mathsf{B}$ est notée $\mathsf{b}$.
La bibliothèque matplolib
est utilisée pour tracer des graphiques.
Les paramètres suivants peuvent être modifiés :
import matplotlib.pyplot as plt
"""Conditions initiales"""
a=1 # en mol/L
b=0 # en mol/L
"""Paramètres de la méthode d'intégration"""
h=0.001 # en s
duree = 1 # en s
"""Valeurs des constantes de vitesse"""
kd=10 # en s^(-1)
ki=2 # en s^(-1)
"""Listes des valeurs calculées des concentrations"""
LT=[0] # liste des instants t
LA=[a] # liste des concentrations successives de A
LB=[b] # liste des concentrations successives de B
""" Boucle d'intégration"""
nbpts =duree/h
i=1
while i<=nbpts and LA[-1] >= 0 and LB[-1] >= 0 :
A=LA[-1]
B=LB[-1]
LT.append(i*h)
LA.append(A - kd*A*h + ki*B*h)
LB.append(B + kd*A*h - ki*B*h)
i=i+1
"""Tracé des courbes des concentrations calculées en fonction du temps"""
plt.figure(1)
plt.plot(LT,LA,'b--', label='réactif A')
plt.plot(LT,LB,'g--', label='produit B')
plt.xlabel('t en s')
plt.ylabel('Concentrations en $mol.L^{-1}$')
plt.title(f"kd = {kd} s^(-1) et ki = {ki} s^(-1) ")
plt.legend()
plt.grid()
plt.show()
Après une certaine durée de réaction, les concentrations des espèces $\mathsf A$ et $\mathsf B$ tendent à ne plus varier. Cela permet d'affirmer que les réactions en sens direct et en sens inverse tendent à devenir égales : \begin{equation} \mathsf{ 0=\frac{d[A]}{dt}_\infty = -v_d + v_i } \end{equation}
\begin{equation} \mathsf{ v_d = v_i \\ } \end{equation}\begin{equation} \mathsf{ k_d\cdot [A]_{\infty} = k_i \cdot [B]_{\infty} \\ } \end{equation}\begin{equation} \mathsf{ \frac{[B]_{\infty}}{[A]_{\infty}} = \frac{k_d}{k_i} } \end{equation}On s'intéresse cette fois à la modélisation cinétique d'une transformation modélisée par trois actes élémentaires, dont deux opposés, pouvant ou non atteindre l'état d'équilibre chimique :
\begin{align} \mathsf{ A \xrightarrow{\text{$k_{1d}$}} B\\ B \xrightarrow{\text{$k_{1i}$}} A \\ B \xrightarrow{\text{$k_{2}$}} C } \end{align}L'évolution temporelle des concentrations est régie par les équations différentielles suivantes : \begin{equation} \mathsf{ \frac{d[A]}{dt} = -k_{1d}[A] + k_{1i} [B] \\ \frac{d[B]}{dt} = +k_{1d}[A] - k_{1i} [B] - k_2 [B] \\ \frac{d[C]}{dt} = + k_2 [B] } \end{equation}
La question ici est de savoir s'il est possible de considérer le rapport des concentrations $\mathsf{\frac{[B]}{[A]}}$ constant.
A l'état initial, la concentration de l'espèce $\mathsf{A}$ est notée $\mathsf{a}$, celle de l'espèce $\mathsf{B}$, $\mathsf{b}$, et celle de l'espèce $\mathsf{C}$, $\mathsf{c}$.
Les paramètres suivants peuvent être modifiés :
import matplotlib.pyplot as plt
"""Conditions initiales""" # en mol/L
a=1
b=0
c=0
"""Paramètres de la méthode d'intégration"""
h=0.001 # en s
duree = 5 # en s
"""Constantes de vitesse"""
k1d=10 # en s^(-1)
k1i=2 # en s^(-1)
k2=.5 # en s^(-1)
"""Listes des valeurs des concentrations, des instants t et du rapport des
concentrations [B]/[A]"""
LT=[0]
LA=[a]
LB=[b]
LC=[c]
LR=[b/a]
""" Boucle d'intégration"""
nbpts=duree/h
i=1
while i<=nbpts and LA[-1] >= 0 and LB[-1] >= 0 :
A=LA[-1]
B=LB[-1]
C=LC[-1]
LT.append(i*h)
LA.append(A - k1d*A*h + k1i*B*h)
LB.append(B + k1d*A*h - k1i*B*h - k2*B*h)
LC.append(C+ k2*B*h)
LR.append(B/A)
i=i+1
"""Tracé des courbes des concentrations calculées en fonction du temps"""
plt.figure(1)
plt.title(f"k1d = {k1d} s^{-1} \n k1i = {k1i} s^{-1} \n k2 = {k2} s^{-1}")
plt.plot(LT,LA,'b--', label='réactif A')
plt.plot(LT,LB,'g--', label='intermédiaire B')
plt.plot(LT,LC,'k--', label='produit C')
plt.xlabel('t en s')
plt.ylabel('Concentrations en $mol.L^{-1}$')
plt.grid()
plt.legend()
plt.figure(2)
plt.plot(LT,LR,'b--')
plt.xlabel('t en s')
plt.ylabel('Rapport [B]/[A] ')
plt.grid()
plt.show()