L’acétylène est un gaz très utilisé en soudure, notamment en raison de la température élevée de la flamme qu’il produit lorsqu’il brûle en présence d’oxygène.
1/ Écrire l’équation de la réaction de combustion complète de l’acétylène en présence de dioxygène. Les états physiques des espèces chimiques seront précisés et on prendra un coefficient stœchiométrique relatif égal à pour l’acétylène.
La réaction de combustion complète de l’acétylène s’écrit :
2/ Calculer l’enthalpie standard de formation de .
La vaporisation de l’eau a pour équation bilan :
Son enthalpie standard de réaction est . D’après la loi de Hess, elle s’écrit également .
On en déduit donc que
3/ Calculer l’enthalpie standard de la réaction de combustion de l’acétylène.
La loi de Hess permet d’écrire l’enthalpie standard de la réaction de combustion de l’acétylène comme
car l’enthalpie standard de formation du dioxygène est nulle (corps simple dans son état standard).
La capacité thermique molaire à pression constante de l’eau et du dioxyde de carbone change beaucoup entre la température ambiante (prise à ) et la température de flamme. Pour rendre compte de cette variation, on introduit les polynômes NASA dont les coefficients ont été déterminés expérimentalement pour coller au mieux aux données expérimentales :
Les coefficients sont répertoriés dans les données à la fin de l’exercice.
4/ Définir les fonctions cpm_CO2(T) et cpm_H2O(T) qui renvoient la capacité thermique molaire à pression constante du dioxyde de carbone et de l’eau, respectivement, en fonction de la température (en Kelvin). On utilisera les polynômes NASA pour les calculer.
R = 8.314 # J/mol/K
coefs_co2_basse = [4.94e4, -6.26e2, 5.30, 2.50e-3, -2.13e-7, -7.69e-10, 2.85e-13]
coefs_co2_haute = [1.18e5, -1.79e3, 8.29, -9.22e-5, 4.86e-9, -1.89e-12, 6.33e-16]
coefs_h2o_basse = [-3.95e4, 5.76e2, 9.32e-1, 7.22e-3, -7.34e-6, 4.96e-9, -1.34e-12]
coefs_h2o_haute = [1.03e6, -2.41e3, 4.65, 2.29e-3, -6.84e-7, 9.43e-11, -4.82e-15]
def cpm_CO2(T):
s = 0
if T <=1000:
for i in range(-2, 5):
s += coefs_co2_basse[i + 2] * T**i
else:
for i in range(-2, 5):
s += coefs_co2_haute[i + 2] * T**i
return s*R
def cpm_H2O(T):
s = 0
if T <=1000:
for i in range(-2, 5):
s += coefs_h2o_basse[i + 2] * T**i
else:
for i in range(-2, 5):
s += coefs_h2o_haute[i + 2] * T**i
return s*R5/ On considère un mélange de de et de passant de la température à une température . Écrire l’expression de la variation d’enthalpie du mélange comme une intégrale faisant intervenir , , et .
La variation d’enthalpie du mélange s’écrit
6/ En exhibant un cycle, montrer que la température de flamme d’un mélange de dioxygène et d’acétylène dans les proportions stœchiométriques vérifie l’équation
La transformation de l’état initial à l’état final est adiabatique, donc .
La transformation de l’état initial à l’état intermédiaire fictif correspond à la combustion isotherme de l’acétylène, donc .
La transformation de l’état intermédiaire fictif à l’état final correspond au chauffage du mélange de et de la température à la température , donc
L’enthalpie est une fonction d’état, sa variation ne dépend pas du chemin suivi. On en déduit que
soit, en simplifiant par ,
On note la fonction définie par
On cherche à évaluer numériquement le zéro de cette fonction, qui correspond à la température de flamme.
7/ Exprimer .
8/ Définir les fonctions Python df(theta) et f(theta) qui calculent respectivement et . On pourra utiliser la fonction quad(f, a, b) du module scipy.integrate qui renvoie un couple dont le premier élément est l’intégrale de la fonction f entre les bornes a et b.
from scipy.integrate import quad
DfH_H2O_g = -286e3 + 2257e3 * 18.0e-3 # établi à la question 2
DrH = 2 * -394e3 + 1 * DfH_H2O_g - 1 * 227e3 - 5/2 * 0
def df(theta):
return 2 * cpm_CO2(theta) + cpm_H2O(theta)
def f(theta):
T_i = 25 + 273.15 # K
intégrale, _ = quad(df, T_i, theta)
return intégrale + DrH9/ En utilisant la méthode de Newton, déterminer une valeur approchée de la température de flamme du mélange acétylène/dioxygène. On arrêtera l’itération lorsque la différence entre deux estimations successives de la température sera inférieure à .
xk = 0
xk1 = 1000
while abs(xk1 - xk) >= 0.1:
xk = xk1
xk1 = xk - f(xk) / df(xk)
print(f"Température de flamme approchée : {xk1} K")10/ La température de flamme oxyacétylénique mesurée est d’environ . Commenter l’écart avec le modèle.
Le modèle donne une température près de deux fois trop grande, pour deux raisons.
Données
| espèce | ||||
| () | … |
Chaleur latente de vaporisation de l’eau :
Masse molaire de l’eau :
Constante des gaz parfaits :
entre et | |||||||
entre et | |||||||
entre et | |||||||
entre et |
On pourra copier-coller les listes python suivantes pour ne pas avoir à recopier les coefficients manuellement :
coefs_co2_basse = [4.94e4, -6.26e2, 5.30, 2.50e-3, -2.13e-7, -7.69e-10, 2.85e-13]
coefs_co2_haute = [1.18e5, -1.79e3, 8.29, -9.22e-5, 4.86e-9, -1.89e-12, 6.33e-16]
coefs_h2o_basse = [-3.95e4, 5.76e2, 9.32e-1, 7.22e-3, -7.34e-6, 4.96e-9, -1.34e-12]
coefs_h2o_haute = [1.03e6, -2.41e3, 4.65, 2.29e-3, -6.84e-7, 9.43e-11, -4.82e-15]