Chapitre 21

Activités Python

Transferts thermiques et refroidissement

Activité

Modéliser les données d’un TP

Consigne

Ouvrez la page des scripts du chapitre pour consulter le code et télécharger les fichiers .py.

Au chapitre 19, Python simulait l’équation différentielle (méthode d’Euler). Ici, l’angle est celui de la capacité expérimentale : modéliser des mesures — superposer un modèle à des points expérimentaux et ajuster son paramètre τ\tau.

Le script Ch21_temperature.py (dossier scripts/) contient les mesures de l’E.C.E. dans deux listes t_mes et T_mes, construit le modèle du cours, puis trace les deux sur le même graphique — listes et boucles, sans aucune bibliothèque de calcul. Il s’exécute tel quel, à une ligne près (# À COMPLÉTER).

Questions :

  1. Compléter la ligne du modèle : chaque élément de T_mod doit valoir T0+(TiT0)et/τT_0 + (T_i - T_0)\,e^{-t/\tau} à la date t correspondante.
  2. Exécuter le script pour tau = 20, tau = 47 puis tau = 80 (en minutes). Décrire ce que l’on observe dans chaque cas, et conclure sur la valeur de τ\tau qui modélise les mesures.
  3. Pour que le logarithme porte sur un nombre sans dimension, on note ΔT0=1K\Delta T_0=1\ \text{K} et on étudie ln[(T0T)/ΔT0]\ln[(T_0-T)/\Delta T_0]. Montrer que la loi du cours implique ln(T0TΔT0)=ln(T0TiΔT0)tτ.\ln\!\left(\frac{T_0-T}{\Delta T_0}\right) = \ln\!\left(\frac{T_0-T_i}{\Delta T_0}\right) - \frac{t}{\tau}. Quelle courbe trace-t-on pour obtenir une droite, et que vaut sa pente ? Vérifier avec les points t=0t = 0 et t=44t = 44 min du tableau, puis en déduire une seconde estimation de τ\tau. En Python, les écarts de température exprimés en °C ont la même valeur numérique qu’en K : la division par 1K1\ \text{K} ne change donc pas la formule numérique math.log(T_0 - T).

Fiche O5 — Python (listes, boucles, append) : tout y est rappelé.

Script élève

# Chapitre 21 -- Exploiter les donnees du TP : modeliser T(t)
# Une eau froide se rechauffe vers la temperature ambiante.
# Completer la ligne signalee, puis executer (EduPython : F5).
import math
import matplotlib.pyplot as plt

# mesures du TP : une eau froide se rechauffe vers l'ambiante
t_mes = [0, 1, 2, 3, 4, 6, 7.25, 10.75, 11.5, 13,
         16, 17, 30, 33, 44, 58]                     # dates (min)
T_mes = [10.7, 10.9, 11.1, 11.3, 11.5, 11.9, 12.1, 12.8, 13.0, 13.2,
         13.7, 13.9, 15.4, 15.8, 16.7, 17.6]         # temperatures (degC)

T_0 = 20.7     # temperature du thermostat (degC)
T_i = 10.7     # temperature initiale de l'eau (degC)
tau = 20.0     # temps caracteristique (min) -- valeur d'essai, a ajuster

t_mod = []
for k in range(121):
    t_mod.append(0.5 * k)
T_mod = []
for t in t_mod:
    T_mod.append(0)                      # À COMPLÉTER : modèle du cours

plt.plot(t_mes, T_mes, "o", label="points mesurés")
plt.plot(t_mod, T_mod, "-", label="modèle du cours")
plt.xlabel("temps (min)")
plt.ylabel("température (°C)")
plt.legend()
plt.show()

← Retour au portail du chapitre