LC18 : Corps purs et mélange binaire

6 minute read

Bibliographie

  • Chimie PC/PC*, RIBEYRE, de BOECK
  • H-Prépa, Chimie

Niveau

CPGE

Prérequis

  • fraction massique et molaire
  • Changement d’état
  • potentiel chimique

Introduction

Manip : On introduit dans un bécher 1,1 gramme de menthol et 0,6 gramme d’acide laurique. On mélange avec une spatule, le solide commence à se liquéfier. Même si à l’oeil il n’y pas moyen de le savoir, c’est bien un changement d’état et pas une réaction chimique. On pourrait caractériser le mélange par spectroscopie pour s’en assurer.

En métallurgie on utilise souvent des alliages pourquoi ? Cela permet de jouer sur les propriétés et avoir celle que l’on souhaite. Par exemple on va allier l’or avec d’autres métaux pour avoir des bijoux plus résistant car l’or est un métal mou (pirate qui morde les pièces). Cela va également permettre d’utiliser des température moins forte pour faire fondre l’alliage. On va étudier tout cela dans la leçon.

Avant d’étudier tout cela, on va étudier le corps pur pour étudier qqch de simple.

I. Etude de changement d’état du corps purs

1) Corps pur

Définir ce que c’est qu’un corps .

Condition d’équilibre, égalité des potentiels chimiques.

Présentation du diagramme (P,T), présenter les noms des pentes. Bien noter que les courbes correspondent aux situations d’équilibre entre phases donc aux changement d’état.

2) Variance

Définir ce que c’est : la variance est le nombre maximal de paramètres intensifs que l’on peut choisir sans remettre en cause l’existence de l’équilibre thermodynamique du système.

v=nombre de paramètre intensif-nombre de relation qui les lie.

Calcul de variance pour les différents domaines du diagramme (P,T) et à leur frontière.

Comment on voit expérimentalement que l’on a une variance qui change ?

3) Courbe d’analyse thermique

Bien préciser que l’on se place en condition isobare.

C’esrt l’évolution de la température en fonction du temps lors de la chauffe ou du refroidissement du mélange. C’est une courbe que l’on obtient expérimentalement

Manip : Faire en direct la prise de la courbe d’analyse thermique de l’acide palmitique. On voit bien le plateau, où la variance réduite est à 0 (elle se fait pour une seule température) et à 1 sur les pentes. On fait l’acquisition avec picolog, il faut bien mélanger en même temps. On fait l’acquisition sur la descente en température.

Il faut bien appuyer sur la présence d’un plateau et dire que c’est une caractéristique du corps pur.

Transition : La plus part du temps on est confronté à des mélanges et non pas à des corps purs. On va donc s’intéresser au changement de phases de deux composants que l’on appelle : mélange bianire.

II. Mélange miscible à l’état solide

1) Courbes d’analyse thermique du mélange

On fait la remarque que l’on va parler en fraction molaire ou massique car cela va permettre de ne pas dépendre de la constitution du système que l’on étudie.

On regarde une courbe et on l’analyse. On appuie bien sur le fait que l’on a pas de plateau comme précédemment, on a juste un changement de pente. Et on l’analyse en terme de variance (v=3 ; v=2 ; v=3). [H-Prépa]

On prend l’exemple sur l’alliage Cu-Au (on peut dire que c’est parce que l’or est un métal très mou).

2) Tracé et lecture du diagramme

On trace le diagramme à l’aide des courbes d’analyse thermique. On donne le nom des courbes (solidus et liquidus). Bien appuyer sur la forme des courbes.

On donne le théorème de l’horizontale permet d’avoir la constitution de la phase liquide et de la phase solide.

On donne le théorème des moments : permet d’avoir accès à la quantité de matière de chaque phase.

Transition : Que se passe-t-il si pas miscible ?

III. Mélange binaire à miscibilité

1) Courbe d’analyse thermique

Manip : On fait l’acquisition de la courbe d’analyse thermique d’un mélange thymol/ acide palmitique.

On observe cette courbe, on voit qu’on a présence d’un palier. Qu’est-ce que c’est qu’un palier c’est une variance réduite de 0, on refait le calcul de la variance. Cela se comporte comme un corps pur, mais ce n’en est pas un.

Ce plateau (variance nulle) s’appelle un eutectique.

2) Diagramme binaire non miscible

Montrer la tête du diagramme non miscible (eau-NaCl). On montre toutes les parties. Montrer le palier Eutectique. Et on dit en quoi ça peut-être utile : salage des routes. Cela permet d’avoir un eutectique beaucoup plus bas que 0 degré et donc d’avoir de l’eau salé liquide à la température extérieure négative.

Conclusion

Diapo

LC18 (2).pptx

Fractions massiques

Copie_de_bibaires_masses.xlsx

Python : construire le diagramme binaire

#-----------------------------------------------------------------------
# Diagramme binaire
#-----------------------------------------------------------------------
# Renseignements/bugs : Guillaume Dewaele <agreg(at)sci-phy.org>
#-----------------------------------------------------------------------

# Paramètres modifiables

titre = "Diagramme binaire thymol et acide palmitique"

# Espèce 1

E1 = r"$Thy_{sol}$"  # Nom
M1 = 150.22e-3        # Masse molaire, g/mol
Tf1 = 51          # Température de fusion, °C
DH1 = 17.54e3          # Enthalpie de fusion, kJ/kg
col1 = 'g'             # Couleur sur le graphe

# Espèce 2

E2 = r"$APal_{sol}$" # Nom
E2r = r"$APal$"     # Nom (abscisses)
M2 = 256.4241e-3        # Masse molaire, g/mol
Tf2 = 63           # Température de fusion, °C
DH2 = 51.02e3          # Enthalpie de fusion, kJ/kg
col2 = 'b'             # Couleur sur le graphe

# Solide

col3 = 'r'             # Couleur sur le graphe

# Utiliser fraction massique ?

massique = False

# Annotation liquidus

xsol = [0.1, 0.9]

# Points supplémentaires
# (fraction, température, err_fraction, err_temperature, couleur)

points = [('k', [(0,49.91, 0.05, 4.0),(0.15, 41.28, 0.05, 3.0),(0.5,48.01,0.05,3.0),(0.75, 58, 0.05, 3.0), (1, 61.88, 0.05, 2.0)]),
  ('b', [ (0.5, 40.02, 0.05, 3.5),(0.15, 40.02, 0.05, 3.5),(0.24,42,0.05,3.0) ])]

#-----------------------------------------------------------------------

# Bibliothèques utilisées

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import bisect
import matplotlib.pylab as plb

#-----------------------------------------------------------------------

memParams = plb.rcParams

plb.rcParams.update(
  { 'legend.fontsize' : 'medium',
    'axes.labelsize' : 'medium',
    'axes.titlesize' : 'medium',
    'xtick.labelsize' : 'medium',
    'ytick.labelsize' : 'medium',
    'font.size' : 12 })

# Détection utilisation hors Pyzo

if '__iep__' not in globals() :
    matplotlib.interactive(False)

#-----------------------------------------------------------------------

R = 8.314

def _id(x) :
    return x

def _w(x) :
    return x*M2/(M1+x*(M2-M1))

w = _w if massique else _id

def T1(x) :
    return (Tf1+273.15)/(1-np.log(1-x)*R*(Tf1+273.15)/DH1)-273.15

def T2(x) :
    return (Tf2+273.15)/(1-np.log(x)*R*(Tf2+273.15)/DH2)-273.15

def DeltaT(x) :
    return T1(x) - T2(x)

# Calcul du point E

xE = bisect(DeltaT, 0, 1)
TE = T1(xE)

# Calcul de l'échelle verticale

Tmin = (round(T1(xE)/5)-3)*5
Tmax = (round(max(Tf1,Tf2)/5)+1)*5

# Calcul des fractions molaires pour chaque courbe

X = np.linspace(0.0, 1.0)
X1 = np.linspace(0.0, xE)
X2 = np.linspace(xE, 1.0)

# Tracé

plt.figure(figsize=(10, 8))

plt.fill_between(X, Tmin*np.ones(X.shape), TE*np.ones(X.shape), color=col3, alpha=0.2)
plt.fill_between(w(X1), TE*np.ones(X1.shape), T1(X1), color=col1, alpha=0.2)
plt.fill_between(w(X2), TE*np.ones(X2.shape), T2(X2), color=col2, alpha=0.2)

plt.text(0.5, (TE+Tmin)/2.0, E1+"+"+E2, fontsize=16, ha="center", va="center", color='r')
plt.text(w(xE)/3.0, (3*TE+Tf1)/4.0, "L+"+E1, fontsize=16, ha="center", va="center", color='g')
plt.text((2+w(xE))/3.0, (3*TE+Tf2)/4.0, "L+"+E2, fontsize=16, ha="center", va="center", color='b')
plt.text(w(xE), (2*max(Tf1, Tf2)+min(Tf1, Tf2))/3.0, "L", fontsize=16, ha="center", va="center")

for x in xsol :
    if x < xE :
        plt.annotate("liquidus", (w(x), T1(x)),(w(x)+0.1, T1(x)+2), arrowprops=dict(facecolor='black', alpha=0.3, shrink=0.1), ha='left', va='bottom', alpha=0.5, fontsize=12)
    else :
        plt.annotate("liquidus", (w(x), T2(x)),(w(x)-0.1, T2(x)+2), arrowprops=dict(facecolor='black', alpha=0.3, shrink=0.1), ha='right', va='bottom', alpha=0.5, fontsize=12)

# Point E

plt.plot([w(xE)], [TE], "ko", markersize=8)
plt.text(w(xE)+0.008, TE-2.5, "E", fontsize=12)

# Points

for col, lst in points :
    plt.errorbar([ e[0] for e in lst ],
                 [ e[1] for e in lst ],
                 [ e[3] for e in lst ],
                 [ e[2] for e in lst ],
                 fmt='s', color=col)

# Fignolage

plt.gca().tick_params(right=True, labelright=True)

plt.grid(alpha=0.3)
plt.xlim(0, 1)
plt.ylim(Tmin, Tmax)

plt.ylabel(r"Température $T$ ($°C$)")
plt.xlabel(r"Fraction massique $w$ en "+E2r if massique else r"Fraction molaire $x$ en "+E2r)

plt.title(titre, pad=30)

#-----------------------------------------------------------------------

plb.rcParams.update(memParams)

# Détection utilisation hors Pyzo

if '__iep__' not in globals() :
    plt.show()