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 $$
etat_init = [8.0, 20.0, 0.0, 0.0] #quantités initiales en moles
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
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
Compléter le tableau d’avancement et retrouver les valeurs données par le programme à l’avancement maximal.
La ligne n°2 contient les coefficients stœchiométriques des réactifs et des produits, pourquoi certains sont-ils négatifs ?
Quel est le numéro de la ligne indique au programme que l’avancement maximal a été atteint ? Justifier.
Quelle ligne calcule la quantité de dioxyde de carbone ($CO_2$) qui se forme ?
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$ ?
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 ?
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+}$$
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