1 minute read

Biblio

  • Diu Thermo p248 :capacités, relations de Mayer
  • BFR thermo chapitre 7 : capacité thermique, valeurs,
  • Physique statistique, Ngô, édition Dunod : théorie cinétique ok,
  • Physique statistique, Texier : Diatomique p162, avec un graphe

Courbes sr ce sujet :Lien du PDF

Je verrais bien un plan du type

Aspect thermo

1) Def capacité thermique et ODG

Avec des propriétés, relations de Mayer (Cv-Cp=nR pour GP, Cv=Cp pour liquide) 2) détermination expérimentale

Avec une expérience de calorimétrie

3) Limites et variation avec T

Loi de Dulong et Petit

Transition : ici, on ne s’est pas intéressé à l’aspect microscopique, juste le macro. Donc on a des lois qui ne dépendent pas

II Interprétation micro : cas du GP

1) Gaz parfait mono : théorie cinétique du gaz

Volume V en contact avec un thermostat. Hamiltonien séparable, théorème équirépartition énergie, C=3/2Nk. Possible car V/Λ^3 grand.

Gaz dia : besoin de MQ pour modéliser les nouveaux DDL

2) Gaz parfait dia et modèle quantique

Voir le Texier.

On n’a toujorus pas expliqué l’expérience de Calo et la loi Dulong et Petit

III Capa d’un solide

1) Modèle Einstein

Diu Page 379

Si le temps, gaz de fermions pour les conducteurs?

Code

Un code qui donne les contributions rotation et vibration aux capacités thermiques.

import numpy as np
import matplotlib.pyplot as plt

k=1.38*10**(-23)

#Fonction qui calcule cv_rot avec les 1000 premiers termes de la somme. On peut modifier le nombre de terme choisi
def Cv(Trot,T):
    A=0
    B=0
    C=0
    D=0
    for l in range(0,1000):
        A+=(l*(l+1))**2*(2*l+1)*k*(Trot/T)**2*np.exp(-(Trot/T)*l*(l+1))
        B+=(2*l+1)*np.exp(-(Trot/T)*l*(l+1))
        C+=l*(l+1)*(2*l+1)*k*Trot*np.exp(-(Trot/T)*l*(l+1))
        D+=l*(l+1)*(2*l+1)*Trot/(T**2)*np.exp(-(Trot/T)*l*(l+1))
    return (A*B-C*D)/(B**2)/k



T=np.linspace(0.01,2,1000)
C=Cv(1,T)
plt.figure()
plt.plot(T,C)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.xlabel('T/Trot', fontsize=15)
plt.ylabel('Cv/(Nkb)', fontsize=15)
#plt.show()

#Fonciton qui calcule cv_rot obtenus en prenant les 2 premiers termes de la somme dans la fonction de partition
def Capprox(Trot,t):
    return 12*(Trot/T)**2*np.exp(-2*Trot/T)

Cprox=Capprox(1,T)
plt.figure()
plt.plot(T,C)
plt.plot(T,Cprox,'red')
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.xlabel('T/Trot', fontsize=15)
plt.ylabel('Cv/(Nkb)', fontsize=15)
plt.legend(['Ordre 1000','Ordre 1'], fontsize=15)
#plt.show()

#Fonction qui calcule cv_vib (résultat exact)
def Cvib(Tvib,T):
    return ((Tvib/(2*T))/(np.sinh(Tvib/(2*T))))**2


T=np.linspace(0.01,2,1000)
C2=Cvib(1,T)
plt.figure()
plt.plot(T,C2)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.xlabel('T/Tvib', fontsize=15)
plt.ylabel('Cv/(Nkb)', fontsize=15)
#plt.show()


#Pour la molécule HD
Tvib=5382
Trot=64

T_bilan=np.linspace(1,10**5,10**5)

C3=3/2+Cvib(Tvib,T_bilan)+Cv(Trot,T_bilan)
plt.figure()
plt.semilogx(T_bilan,C3)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.xlabel('T', fontsize=15)
plt.ylabel('Cv/(Nkb)', fontsize=15)
plt.axvline(x=64,color="black")
plt.axvline(x=5382,color="black")
#plt.xscale('log')
plt.show()