Fiche n°3 : Analyse de réactions chimiques avec Python¶

Le programme Python™ suivant permet de calculer les quantités finales de réactifs et de produits pour la réaction de combustion de méthane (CH4) dans le dioxygène : $$ CH_4 + 2 \, O_2 \rightarrow CO_2 + 2 \, H_2O $$

In [1]:
etat_init = [8.0, 20.0, 0.0, 0.0] #quantités initiales en moles
In [2]:
especes=["CH4","O2","CO2","H2O"]
coefficients=[-1, -2, 1, 2]
etat_inter = etat_init[:] #on initialise l'état intermédiaires
dx = 0.001 #pas
x = 0 #avancement initial

while etat_inter[0]>0 and etat_inter[1]>0: #tant qu'il y a des réactifs
    x = x + dx
    etat_inter[0] = etat_init[0] + coefficients[0]*x
    etat_inter[1] = etat_init[1] + coefficients[1]*x
    etat_inter[2] = etat_init[2] + coefficients[2]*x
    etat_inter[3] = etat_init[3] + coefficients[3]*x
In [3]:
print("====== Etat Maximal ======")
for i in range(4):
    print(especes[i], ": {:.2f}".format(etat_inter[i])) #on affiche le résultat avec 2 chiffres après la virgule

print("")
print("Avancement Maximal : xmax = {:.2f} mol".format(x))
====== Etat Maximal ======
CH4 : -0.00
O2 : 4.00
CO2 : 8.00
H2O : 16.00

Avancement Maximal : xmax = 8.00 mol
  1. Compléter le tableau d’avancement et retrouver les valeurs données par le programme à l’avancement maximal. Description de l'image

  2. La ligne n°2 contient les coefficients stœchiométriques des réactifs et des produits, pourquoi certains sont-ils négatifs ?

  3. Quel est le numéro de la ligne indique au programme que l’avancement maximal a été atteint ? Justifier.

  4. Quelle ligne calcule la quantité de dioxyde de carbone ($CO_2$) qui se forme ?

  5. Comment faut-il modifier le programme pour connaitre l’état final quand on a au départ : 4 mol de $CH_4$ et 8 mol de $O_2$ ?

  6. Comment faut-il modifier le programme pour étudier la réaction suivante : $Al + 3 \, Ag^+ → Al^{3+} + 3 \, Ag$ avec un mélange initial de 0,3 mol d’aluminium et 0,1 mol d’ion argent ?

  7. Comment faut-il modifier le programme pour étudier la réaction de dosage des ions Fe2+ par les ions MnO4– avec un mélange initial de 0,05 mol d’ions Fe2+ , 0,05 mol d’ions MnO4– et 1 mol d’ions H+ ? L’équation de la réaction est : $$MnO_4^– + 8 \, H^+ + 5 \, Fe^{2+} → Mn^{2+} + 4 \, H_2O + 5 \, Fe^{3+}$$

  8. Que faut-il faire si on veut que le programme affiche d’abord l’état initial :

====== Etat Initial ======
CH4 : 8.00
O2 : 20.00
CO2 : 0.00
H2O : 0.00