Banque PT Modélisation PT 2024Sujet, corrigé et rapport du jury
- Premier et second principes de la thermodynamique
- Machines thermiques dithermes et efficacité (climatiseur)
- Changement d'état d'un corps pur, diagramme enthalpique (P,h)
- Conduction thermique, équation de la chaleur (ailette de refroidissement)
- Manipulation de fichiers et de chaînes de caractères en Python
- Tracé de courbes avec matplotlib
- Régression linéaire et descente de gradient, calcul matriciel avec numpy
- Méthode de dichotomie
- Résolution numérique d'équations différentielles par la méthode d'Euler explicite
Téléchargements
Présentation du sujet
Difficulté moyenneRégulation thermique et informatique appliquée à une salle blanche de fabrication de batteries : climatiseur, ailette de refroidissement et pilotage d'un ventilateur (FFU)Afficher ou masquer la section
Présentation du sujet
Difficulté moyenneLe sujet part du contrôle de la température et de la qualité de l'air d'une salle blanche servant à la fabrication de batteries. La partie modélisation étudie un climatiseur (monotherme puis ditherme, puis cycle réel sur diagramme enthalpique) et une ailette de refroidissement, tandis que la partie informatique fait dimensionner en Python des ventilateurs de plafond (FFU), traiter des données expérimentales, construire un modèle par régression linéaire et simuler la réponse d'un moteur électrique. Les deux parties sont indépendantes et pèsent respectivement environ 40 % et 60 % du barème.
- 1A. Etude d'un climatiseurEtude d'un climatiseur monotherme puis ditherme, puis analyse d'un cycle de climatiseur réel sur un diagramme enthalpique (P,h) du fluide R404A.
- 2B. Efficacité du refroidissementMise en équation de la température dans une ailette de refroidissement en régime stationnaire.
- 3C. Déterminer le nombre de FFU, leur répartition et ajustement de la vitesse de rotationEcriture de fonctions Python pour calculer le nombre de ventilateurs (FFU) nécessaires et les répartir de façon équilibrée dans la salle blanche.
- 4D. Etude de résultats expérimentaux afin de modéliser le couple résistant ramené sur l'arbre moteurExtraction de données de fichiers texte d'essais, puis construction d'un modèle du couple résistant par régression linéaire avec la méthode de descente de gradient.
- 5E. Etude du comportement du moteur électrique entraînant le ventilateurRecherche par dichotomie du point de fonctionnement du moteur, puis simulation de sa réponse dynamique par la méthode d'Euler explicite.
Difficulté moyenne. Le rapport décrit des résultats très contrastés selon les questions : plusieurs sont qualifiées de bien traitées (Q29, Q30, Q31, Q35, Q50, Q51) alors que d'autres sont peu abordées ou peu convaincantes (Q44, Q45, Q46, Q53), ce qui correspond à un sujet de difficulté intermédiaire, progressif dans ses deux parties.
Ce qu'a observé le jury
6 erreurs relevéesImpossibilité du climatiseur monotherme mal justifiée · Signe du transfert thermique peu relié au fonctionnement du climatiseur · Oubli de convertir les températures en kelvinsAfficher ou masquer la section
Ce qu'a observé le jury
6 erreurs relevéesLe jury juge la qualité des copies correcte dans l'ensemble, avec une présentation du code en informatique plus soignée que les années précédentes. La quasi-totalité des candidats a abordé les deux parties, modélisation et informatique, et beaucoup ont traité une grande part des questions posées. Le jury regrette que certains candidats ne suivent pas l'ordre du sujet, ce qui complique la correction, surtout quand les numéros de question ne sont pas indiqués.
Les erreurs les plus sanctionnées
- 1Impossibilité du climatiseur monotherme mal justifiéeQ1, Q2, Q3
Le raisonnement qui conclut à l'impossibilité de concevoir un climatiseur monotherme est rarement précis. Peu de candidats pensent à préciser que le transfert thermique doit être négatif pour que la machine soit effectivement un climatiseur.
- 2Signe du transfert thermique peu relié au fonctionnement du climatiseurQ15, Q16, Q17
Le signe du transfert thermique avec la source froide n'est pas assez souvent mis en relation avec le fait que la machine fonctionne en climatiseur.
« Le signe du transfert thermique avec la source froide est trop peu souvent mis en relation avec le fonctionnement en climatiseur. »
- 3Oubli de convertir les températures en kelvinsQ16, Q17
Pour calculer les efficacités, certains candidats font un quotient de températures sans les convertir en kelvins, ce qui rend les valeurs trouvées peu fiables et fausse la comparaison demandée.
« quotient de températures sans les convertir en kelvins. »
- 4Confusion entre print et return en PythonQ23, Q24
Sur des questions par ailleurs bien traitées, les copies les plus faibles confondent encore l'instruction print et l'instruction return.
« Questions généralement bien traitées, les moins bonnes copies confondent encore print et return. »
- 5Manipulation de numpy insuffisamment maîtriséeQ38, Q39, Q42
Les questions faisant appel à numpy pour construire les matrices et calculer le coût sont assez peu réussies.
« Assez peu réussi, l’utilisation de numpy pose problème. »
- 6Implémentation imprécise de la méthode d'Euler expliciteQ52
La méthode d'Euler explicite est connue sur le plan théorique, mais sa programmation reste souvent imprécise, en particulier la gestion de la condition d'arrêt et des listes de résultats.
« La méthode d’Euler est connue, son implémentation est souvent imprécise (gestion de la condition d’arrêt et des listes). »
Ce qui a été bien réussi
- Les expressions du premier et du second principe de la thermodynamique sont généralement correctes (Q1 à Q3).
- Le cycle décrit par le fluide frigorigène, avec les points A, B, C et D, est en général correctement retrouvé (Q9 à Q14).
- La recherche par dichotomie est connue et bien comprise par une majorité de candidats (Q48).
- L'algorithme de calcul de la moyenne d'une liste est connu de la plupart des candidats (Q33).
- Les fonctions Python demandées sont dans l'ensemble bien écrites, ce qui montre une bonne préparation à cet exercice.
Conseils du jury
- Traiter les questions dans l'ordre du sujet et numéroter précisément les réponses, plutôt que de laisser le correcteur deviner à quelle question elles se rapportent.
- Convertir systématiquement les températures en kelvins avant de calculer un rapport ou une efficacité.
- Soigner la présentation et l'indentation du code Python, un point explicitement apprécié par le jury.
- Justifier les relations et résultats numériques demandés plutôt que de les admettre sans démonstration.
Synthèse rédigée par WikiPrépa à partir du rapport officiel du jury (à télécharger en PDF). Les citations sont extraites du rapport.
Ces sujets peuvent vous intéresser
Lecture du sujet en ligne
L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.Afficher ou masquer la section
Lecture du sujet en ligne
Epreuve d'Informatique et Modélisation de Systèmes Physiques
L'usage de calculatrices est interdit.
AVERTISSEMENT
CONSIGNES:
- Composer lisiblement sur les copies avec un stylo à bille à encre foncée : bleue ou noire.
- L'usage de stylo à friction, stylo plume, stylo feutre, liquide de correction et dérouleur de ruban correcteur est interdit.
- Remplir sur chaque copie en MAJUSCULES toutes vos informations d'identification : nom, prénom, numéro inscription, date de naissance, le libellé du concours, le libellé de l'épreuve et la session.
- Une feuille, dont l'entête n'a pas été intégralement renseigné, ne sera pas prise en compte.
- Il est interdit aux candidats de signer leur composition ou d'y mettre un signe quelconque pouvant indiquer sa provenance.
Partie Modelisation
A. Etude d'un climatiseur
1. Transferts thermiques
.jpg)
Q1. Exprimer la variation d'énergie interne et d'entropie pour cette machine, en fonction de
Q3. Conclure sur la possibilité de concevoir un tel climatiseur monotherme.
2. Efficacité d'un cycle réversible

Q6. En déduire le signe du travail
Q7. Définir l'efficacité du climatiseur ditherme, et déterminer son expression en fonction des températures
3. Machine réelle

- la courbe de saturation de l'équilibre liquide-vapeur (en trait fort);
- les isothermes pour des températures comprises entre
− 50^∘C et160^∘ ; - les isentropiques pour des entropies massiques comprises entre
1, 00 kJ ⋅ K^(− 1) ⋅ kg^(− 1) et2, 20 kJ ⋅ K^(− 1) ⋅ kg^(− 1) ; - les isotitres en vapeur sous la courbe de saturation pour des titres massiques en vapeur
x variant de 0 à 1 .
Il est conseillé de placer les points particuliers sur le diagramme ci-dessous pour déterminer les valeurs demandées, mais le diagramme n'est pas à rendre avec la copie.
.jpg)
Q9. A la sortie de l'évaporateur, le fluide est à l'état de vapeur sèche à la température
Q17. Comparer cette valeur à celle d'un climatiseur réversible fonctionnant entre la température de l'évaporateur et la température de liquéfaction du fluide sous la pression
B. Efficacité du refroidissement

Q22. Exprimer la puissance thermique totale évacuée par l'ailette en fonction de
Partie informatique
-
9% en 2020 ; - 38 % en 2025 ;
- 70 % en 2030 ;
- 100 % en 2035.
.jpg)

- taux d'empoussièrement classe ISO5
- taux d'humidité réduit :
− 40^∘ de point de rosée (air très sec comme au pôle Nord) - température régulée à
20^∘C + / − 1^∘C - pression de +40 Pa (surpression)
.jpg)
C. Déterminer le nombre de FFU, leur répartition et ajustement de la vitesse de rotation

tx_renew : taux de renouvellement d'air indique le nombre de fois à l'heure que l'air total d'une pièce doit être renouvelé ;

L’espacement
def repartition(l,L,n):
initialisation de nx, ny, u et v
while COND1 :
ny=ny+1
nx=n//ny
u=EXP2
v=EXP3
return nx,ny,a,b
script fonction repartition(L,\ell,n)

def coeff(Q,V,nx,ny,tx_renew):
Qreel=V*tx_renew/(nx*ny)
return Qreel/Q
D. Etude de résultats expérimentaux afin de modéliser le couple résistant ramené sur l'arbre moteur
1. Extraction des résultats expérimentaux d'un essai
- Ligne 1 : date de l'essai ;
- Ligne 2 : heure de l'essai;
- Ligne 3 : fréquence d'échantillonnage de la mesure ici 1000 Hz ;
- Ligne 4 : Système FFU ;
- Ligne 5 : Loi de pilotage : ici la consigne est une loi de vitesse en trapèze avec une phase1 d’accélération - une phase2 à vitesse constante et une phase3 de décélération ;
- Ligne 6 : Nombre de cycles effectués. Ici 1 seul cycle de consigne de vitesse en trapèze ;
- Ligne 7 : durée de la phase d'accélération 30 s ;
- Ligne 8 : consigne de vitesse pour la phase à vitesse constante (différente pour chacun des essais expérimentaux) ;
- Ligne 9 : Durée de la phase à vitesse constante : 50 s ;
- Ligne 10 : : durée de la phase de décélération 30 s ;
- Ligne 11 : indique le nombre de points en lequel est découpé le trapèze de consigne ici 360 points ;
- Ligne 12 : indique l'intervalle de temps entre deux points du trapèze « numérique » précédent ici
0, 3 s . Comme la fréquence d'échantillonnage est de10 Hz = 0, 1 s , cela signifie que la consigne est identique pour 3 points de mesure consécutifs.
- Ligne 13 : titres des grandeurs mesurées séparés par des tabulations : le temps (s) - la consigne (tr/min) - la vitesse du moteur mesurée (tr/min) - le courant moteur mesuré (Ampère) ;
- Ligne 14 et suivantes : les valeurs mesurées à chaque instant. Chaque ligne est une liste de 4 chaines de caractères séparées par des tabulations /t.
nom_fichier="essai11.txt"
fichier=open(nom_fichier,"r")
for i in range(0,26):
ligne=fichier.readline()
print(ligne)
fichier.close()
Date Essai 07/02/2023
Heure Essai 14:45
Frequence (Hz) 10
Fonctionnement ffu
Type Pilotage Trapeze
Nb cycles 1
Duree acceleration (s) 30
Vitesse (tr/min) 2200
Temps maintien (s) 50
Duree deceleration (s) 30
Nb points de consigne 365
dt consigne 0,3
Temps (s) Consigne (tr/min) Vitesse du moteur (tr/min) Courant (A)
0 22 -0,884 0
0,1 22 -9,96 0,041
0,2 22 -12,924 0,057
0,3 44 -12,924 0,079
4 44 -9,96 0,144
0,5 44 -0,884 0,151
0,6 66 3,744 0,255
0,7 66 3,744 0,349
0.8 66 13.748 0.349
- L'instruction ligne.split("\t") renvoie une liste de chaînes de caractères obtenue en divisant la chaîne de caractères ligne à chaque apparition du séparateur tabulation : "\t".
fichier=open("essai11.txt","r")
for i in range(13):
ligne=fichier.readline()
for ligne in fichier:
ligne2=remplace_virgule_par_point(ligne)
liste=ligne2.split("\t")
print(liste)
['0', '22', '-0.884', '0\n']
['0.1', '22', '-9.96', '0.041\n']
['0.2', '22', '-12.924', '0.057\n']
['0.3', '44', '-12.924', '0.079\n']
['0.4', '44', '-9.96', '0.144\n']
['0.5', '44', '-0.884', '0.151\n'] etc...
- L'instruction fichier.readline() permet d'obtenir une ligne d'un fichier puis de passer à la ligne suivante, ce qui va permettre de passer les 13 premières lignes du fichier essai11.txt
- L'instruction float("3.14") permet d'obtenir le flottant 3.14 correspondant à la chaine de caractères "3.14".Par contre, float("3,14") renvoie un message d'erreur, car Python ne gère pas les flottants avec des virgules.
def extraction_resultats_essai(chemin_fichier):
#initilisation des listes vides
Ltemps=[]
Lconsigne=[]
Lvitesse=[]
Lcourant=[]
fichier=open(chemin_fichier,"r")
#pour passer les 13 premières lignes
for i in range(13):
ligne=fichier.readline()
#pour traiter les lignes suivantes
for ligne in fichier:
ligne2=remplace_virgule_par_point(ARGS1)
liste=ligne2.split("\t")
#remplissage des données en transformant les str en float
Ltemps.append(ARGS2)
Lconsigne.append(ARGS3)
Lvitesse.append(ARGS4)
Lcourant.append(ARGS5)
fichier.close()
return Ltemps, Lconsigne, Lvitesse, Lcourant
dico={"temps":Ltemps,"consigne":Lconsigne,"vitesse":Lvitesse,"courant
":Lcourant}
return dico
import matplotlib.pyplot as plt

2. Détermination du couple résistant
3. Analyse de l'ensemble des essais

.jpg)

4. Modélisation du comportement couple résistant Cr en fonction de la vitesse du moteur
N par une régression linéaire.
La méthode utilisée pour construire la régression est la méthode de descente de gradient utilisée en intelligence artificielle. Celle-ci est utilisée dans notre étude simplifiée pour réaliser une régression linéaire simple mais son champ d'utilisation est bien plus large et permet de réaliser une régression linéaire multiple sur une base de données à plusieurs paramètres. Par exemple on aurait pu ajouter dans le modèle les paramètres : température, humidité et nombre d'heures d'utilisation.
- la base contient
m observations;
- une valeur explicative
x^((k)) , carré de la vitesse de rotationω^2 enrad^2/s^2 stockée dans un vecteurV_−N2 de dimension (m × 1 ); - une réponse
y^((k)) , couple résistant en Nm , stockée dans un vecteurY de dimension (m × 1 ).
import numpy as np
On rappelle :
- La fonction np.hstack((M,N)) permet de concaténer deux tableaux pour former une matrice ;
- La fonction np. ones (
[i, j] ) permet de créer un tableau rempli de 1 dei lignes etj colonnes ; - La fonction np.
dot(M, N) renvoie le produit de deux matricesM etN ; - La fonction np.transpose(M) renvoie la matrice transposée de M ;
- La fonction np. sum(V) renvoie la somme des composantes du vecteur V.
Pour calculer ce vecteur, on utilise la relation :
La fonction de coût
Q41. Ecrire la fonction coût
Q42. Ecrire en python la fonction cout qui prend en argument trois vecteurs
Q46. Ecrire la fonction descente_gradient(

E. Etude du comportement du moteur électrique entraînant le ventilateur
1. Etude du régime établi: recherche de la tension de commande moteur
Le couple résistant

def f(w,U):
a1=5.3e-6
a0=0.05
return a1*w*w+a0-0.839*(U-1.17*w)
2. Etude en régime dynamique: prévision des caractéristiques de la réponse du FFU à un échelon de courant.
On néglige désormais la résistance de l'induit
On note
Le moteur est couplé directement au ventilateur, on lui applique un échelon de courant
Il est donc nécessaire de résoudre l'équation différentielle non linéaire suivante :
Q49. Ecrire l'équation différentielle régissant la vitesse de rotation du rotor sous la forme
On note
On note

Questions fréquentes
4 questionsSur quels chapitres porte l'épreuve de modélisation banque PT 2024 ?Afficher ou masquer la section
Questions fréquentes
4 questionsSur quels chapitres porte l'épreuve de modélisation banque PT 2024 ?
La partie modélisation porte sur les machines thermiques dithermes (climatiseur), le changement d'état d'un fluide sur un diagramme enthalpique et la conduction thermique dans une ailette de refroidissement. La partie informatique porte sur la programmation Python : traitement de fichiers, tracé de courbes, régression linéaire par descente de gradient et résolution numérique d'une équation différentielle par la méthode d'Euler.
Quelles erreurs le jury a-t-il le plus relevées à l'épreuve de modélisation banque PT 2024 ?
Le jury pointe surtout un manque de rigueur dans la justification de l'impossibilité du climatiseur monotherme, des oublis de conversion des températures en kelvins, des confusions entre print et return en Python, et une utilisation encore fragile de numpy et de la méthode d'Euler explicite.
L'épreuve informatique et modélisation banque PT 2024 est-elle plutôt de la thermodynamique ou de la programmation Python ?
Les deux, sur un pied d'inégal poids : la partie modélisation (thermodynamique, climatiseur, ailette) et la partie informatique (Python) sont indépendantes et comptent respectivement pour environ 40 % et 60 % du barème.
Faut-il bien maîtriser Python pour réussir l'épreuve modélisation banque PT 2024 ?
Oui. La partie informatique, qui pèse environ 60 % du barème, demande d'écrire des fonctions Python pour dimensionner des ventilateurs, extraire des données de fichiers texte, mener une régression linéaire avec numpy et implémenter une méthode d'Euler explicite.
Pas de description pour le moment
