CCINP Modélisation PC 2021Sujet, corrigé et rapport du jury
- Thermodynamique des systèmes ouverts : premier principe industriel
- Gaz parfait : énergie interne, enthalpie, capacités thermiques
- Second principe et identités thermodynamiques
- Calorimétrie
- Méthode d'Euler et méthode de Newton
- Intégration numérique par la méthode des rectangles
- Programmation Python avec numpy et matplotlib
- Systèmes linéaires et matrice de Vandermonde
Téléchargements
Présentation du sujet
DifficileFuite de matière d'un réservoir de dioxyde de carbone gazeux : système ouvert en régime transitoire et méthodes numériquesAfficher ou masquer la section
Présentation du sujet
DifficileLe sujet modélise la vidange d'un réservoir adiabatique de CO2 à travers un orifice, vu comme un système ouvert en régime transitoire. Il comporte trois parties indépendantes de poids comparables : la mise en équation thermodynamique, la résolution numérique du système différentiel par les méthodes d'Euler et de Newton en Python, puis l'ajustement de deux modèles de capacité thermique molaire du CO2 (minimisation d'une fonction objectif et polynôme d'interpolation). Un aide-mémoire numpy est fourni.
- 1Partie I : mise en équation de la fuiteBilans de matière et d'énergie en système ouvert, modèle du gaz parfait, débit massique à travers l'orifice et second principe.
- 2Partie II : traitement numériqueIntégration numérique, méthode de Newton pour la température de sortie et schéma d'Euler pour calculer température, masse et pression au cours du temps.
- 3Partie III : corrélations pour la capacité thermique du CO2Calorimétrie, minimisation d'une fonction objectif par la méthode de Newton avec gradient et hessienne, puis polynôme d'interpolation par inversion d'une matrice de Vandermonde.
Difficile. Le jury juge le sujet plus difficile que les sujets de modélisation des années passées, et la plupart des candidats l'ont trouvé difficile.
L'épreuve en chiffres
Moyenne 9,81 / 20 · écart-type 3,03 · 4 367 présents · où vous situez-vous ?Afficher ou masquer la section
L'épreuve en chiffres
- Moyenne
- 9,81/ 20
- Écart-type
- 3,03
- Présents
- 4 367
- Coefficient
- 8
- Durée
- 4 h
Votre note sur 20 à ce sujet, en conditions de concours.
Source : document officiel du concours, épreuve du 5 mai 2021. Notes publiées par le concours (après harmonisation le cas échéant). Courbe : estimation par une loi normale.
Ce qu'a observé le jury
6 erreurs relevéesPremier principe industriel ignoré · Capacités thermiques confondues · Démonstrations forcées vers le résultatAfficher ou masquer la section
Ce qu'a observé le jury
6 erreurs relevéesLe problème est jugé bien équilibré entre physique, mathématiques et informatique, et raisonnable en longueur, mais plus difficile que d'habitude. La partie thermodynamique a été traitée avec grande difficulté, avec des erreurs de fond sur les systèmes ouverts et les capacités thermiques. Les parties numériques, abordées par moins de candidats, montrent de meilleures connaissances en programmation que les années précédentes.
Les erreurs les plus sanctionnées
- 1Premier principe industriel ignoréQ3
Beaucoup se limitent au premier principe en système fermé et annulent la variation d'énergie interne en régime stationnaire, voire le travail et le transfert thermique.
« L'application du premier principe de la thermodynamique en système ouvert (« premier principe industriel ») est systématiquement malmenée. »
- 2Capacités thermiques confonduesQ6b et Q6d
Les valeurs à pression constante et à volume constant sont interverties, et l'énergie interne est confondue avec l'enthalpie.
« Pour la grande majorité des étudiants dUm= Cpm dT. »
- 3Démonstrations forcées vers le résultatQ7, Q8 et Q10
Pour retrouver les équations de l'énoncé, l'enthalpie massique sert de variable d'ajustement. La dérivée d'un produit et la variation de la masse sont mal gérées.
- 4Méthode de Newton mal adaptéeQ13
Les candidats n'ont pas su adapter l'algorithme fourni, et beaucoup ont recopié la même ligne plusieurs fois.
« Les étudiants n'ont pas su adapter la méthode de Newton. »
- 5Algorithme confondu avec le codeQ14 et Q15
La condition d'arrêt et le calcul de la pression sont souvent oubliés dans l'algorithme d'Euler.
« Comme l'an dernier les étudiants ont eu du mal à faire la distinction entre algorithme (ou logigramme) et code. »
- 6Discussion des modèles superficielleQ20 et Q34
La compensation des erreurs est rarement invoquée pour justifier les carrés, et la comparaison finale des modèles ignore les incertitudes sur les données.
« Très peu d'élèves évoquent des incertitudes sur les données. »
Ce qui a été bien réussi
- Les questions Q1, Q2 et Q4 sont bien traitées, même si la justification manque une fois sur deux pour Q2 et Q4.
- La méthode des rectangles est globalement connue (Q12b) et la méthode d'Euler est mieux maîtrisée que celle de Newton (Q15).
- Les questions Q19, Q21 à Q23, Q25 et Q32 sont globalement bien traitées.
- Les erreurs de syntaxe de base en Python ont fortement baissé par rapport aux années précédentes.
Conseils du jury
- Maîtriser le premier principe en système ouvert et la relation entre énergie interne et enthalpie.
- Connaître les capacités thermiques molaires d'un gaz parfait et leur lien avec les degrés de liberté.
- Justifier les hypothèses, par exemple l'uniformité qui permet de sortir des grandeurs d'une intégrale (Q9).
- Commenter les codes informatiques pour en faciliter la lecture.
- Utiliser des notations générales plutôt que les valeurs numériques pour écrire un système d'équations (Q30 et Q31).
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
ÉPREUVE MUTUALISÉE AVEC E3A-POLYTECH ÉPREUVE SPÉCIFIQUE - FILIÈRE PC
MODÉLISATION DE SYSTÈMES PHYSIQUES OU CHIMIQUES
N.B. : le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut lui sembler être une erreur d'énoncé, il le signalera sur sa copie et devra poursuivre sa composition en expliquant les raisons des initiatives qu'il a été amené à prendre.
RAPPEL DES CONSIGNES
- Utiliser uniquement un stylo noir ou bleu foncé non effaçable pour la rédaction de votre composition ; d'autres couleurs, excepté le vert, peuvent être utilisées, mais exclusivement pour les schémas et la mise en évidence des résultats.
- Ne pas utiliser de correcteur.
- Écrire le mot FIN à la fin de votre composition.
Les calculatrices sont autorisées.
Annexe : page 13 à page 16.
Modélisation de la fuite de matière d'un réservoir rempli de dioxyde de carbone gazeux
Présentation générale
- La première partie est dédiée à l'établissement du modèle thermodynamique du phénomène de fuite de matière contenue dans une cuve à travers un orifice.
- La seconde partie est consacrée à l'étude numérique du problème; la relation entre la capacité thermique molaire
C_(P, m) duCO_2 gaz parfait et la températureT est admise. - La troisième partie est consacrée à l'étude de deux modèles pour décrire la relation entre
C_(P, m) etT dont les coefficients sont déduits de mesures expérimentales.
Traitement numérique et calcul scientifique réalisés à partir d'un programme écrit en langage Python
- Les programmes demandés au candidat seront réalisés dans le langage Python.
- On veillera à apporter les commentaires facilitant la compréhension du programme et à utiliser des noms de variables explicites.
- Il est demandé de répondre précisément aux questions posées (par exemple, on écrira une fonction uniquement lorsque cela est explicitement demandé).
- Une annexe décrivant quelques éléments de langage Python utiles pour ce sujet est fournie en page 13.
| Symbole | Nom | Unité |
|
|
Capacité thermique molaire à pression constante |
|
|
|
Capacité thermique massique à pression constante |
|
|
|
Débit massique |
|
|
|
Enthalpie massique |
|
|
|
Masse molaire |
|
|
|
Masse | kg |
|
|
Pression | Pa |
|
|
Puissance thermique | W |
|
|
Constante des gaz parfaits |
|
|
|
Température | K |
|
|
Température critique | K |
|
|
Énergie interne | J |
| u | Énergie interne massique |
|
|
|
Volume |
|
|
|
Puissance utile | W |
|
|
Vitesse des courants de matière |
|
|
|
Section de fuite |
|
Partie I - Modélisation de la fuite d'un réservoir : mise en équation
Généralités sur les bilans de matière et d'énergie en système ouvert

Q2. Le système considéré est supposé évoluer en régime stationnaire. Quelle est la relation entre les débits des courants de matière entrant
Q3. Appliquer le premier principe de la thermodynamique au système ouvert stationnaire de la figure 1. Montrer qu'il peut se mettre sous la forme :
Q4. Le système étudié de la figure 1 est supposé évoluer en régime transitoire. On note
On admet dans la suite l'écriture du premier principe en système ouvert, étendue aux systèmes immobiles en régime transitoire :
Écriture d'un modèle décrivant la fuite d'un réservoir adiabatique contenant du
CO_2
Réservoir adiabatique

Q6. Le modèle gaz parfait
b) Donner la valeur du rapport
c) Pour le
Donner un argument physique expliquant pourquoi, pour le
d) Donner la relation unissant les variations d'énergie interne molaire
Q7. On suppose que les propriétés intensives du gaz dans le réservoir (entre autres, sa température

- l'écoulement de gaz à travers l'orifice est adiabatique et stationnaire;
- la vitesse du gaz en entrée du système est nulle; elle est notée
ω_B en sortie; - la température et la pression du gaz en entrée sont notées
T etP (ce sont celles du gaz à l'intérieur du réservoir); en sortie, elles sont notéesT_B etP_B = P_(ext) = 1, 01 bar.
Q10. Expression de
En appliquant l'expression du premier principe en système ouvert stationnaire, donnée par l'équation (1), au système {orifice dans la paroi du réservoir} délimité par des pointillés sur la figure 3, montrer que la vitesse de sortie du
a) En négligeant les frottements au sein du système considéré, on peut supposer l'écoulement réversible. Montrer, par application du second principe, que cette hypothèse amène à supposer l'écoulement isentropique massique (ou molaire) (i.e., à entropie massique - ou molaire constante).
b) Montrer que la variation d'entropie massique d'un gaz parfait pur s'écrit :
Partie II - Modélisation de la fuite d'un réservoir : traitement numérique
Données numériques utiles pour cette partie :
a) Donner le code de la fonction integ1(
b) Donner le code de la fonction integ2 (
La méthode des rectangles sera adoptée pour estimer l'intégrale; l'intervalle des températures sera divisé en 100 sous-intervalles).
Ces deux fonctions pourront être appelées autant de fois que nécessaire par la suite.
Q13. La fonction chercheTB (T,m) fournie ci-dessous renvoie, pour des valeurs connues des variables
import numpy as np
A1 = 8.303; A2 = -2810.; A3 = 485.6
T0 = 473.15; m0 = 11.0
Pext = 1.01e5; Mw = 44e-3; Volume = 1.0; Text = 293.
R = 8.3144
def chercheTB(T,m):
TB = 300.
[instruction1]
while residu > 1e-10:
eq = [instruction2]
deq = [instruction3]
TBold = TB
TB = TB - eq/deq
residu = [instruction4]
return TB
Pour résoudre une équation différentielle mise sous la forme
Cet algorithme sera fourni sous la forme d'un logigramme. On veillera à mentionner les procédures d'initialisation des processus itératifs ainsi que leurs critères d'arrêt. Quand cela sera nécessaire, on fera appel à la fonction cherche
Q15. Écrire le code mettant en œuvre l'algorithme proposé à la question précédente. On pourra faire appel à toutes les fonctions programmées précédemment.
Q16. Intuitivement, quand la fuite s'arrêtera-t-elle en pratique?
Partie III - Développement de corrélations pour la capacité thermique à pression constante molaire du dioxyde de carbone
Ces mesures (au nombre de 6) sont consignées dans un fichier cP. txt (voir tableau 1). La première colonne donne la température en K , la seconde fournit les mesures expérimentales de la quantité
| 100.0 | 3.513 |
| 500.0 | 5.367 |
| 1000.0 | 6.532 |
| 2000.0 | 7.257 |
| 3000.0 | 7.475 |
| 4000.0 | 7.586 |
- un premier modèle de la forme :
- un second modèle de forme polynomiale :
Q18. Montrer par une analyse dimensionnelle que le rapport
Q19. Programme de lecture des données
De plus, déterminer automatiquement le nombre de points expérimentaux
III. 1 - Développement du premier modèle
Ces coefficients sont inconnus dans cette partie. Pour ce faire, on va utiliser une technique de minimisation. L'idée générale est la suivante :
- on forme une fonction dite objectif, notée
f_(obj) rendant compte des écarts entre les prédictions du modèle et les valeurs expérimentales; - on va chercher à minimiser cette fonction en jouant sur les valeurs des coefficients
A_1, A_2 etA_3 .
On range les coefficients recherchés dans le vecteur
Q21. Écrire la syntaxe de la fonction delta(vecA, temp, CpR_exp) qui prend comme argument d'entrée un jeu quelconque de coefficients a (vecA désigne le tableau contenant les éléments du vecteur
Q22. Écrire la syntaxe de la fonction fobj (vecA,temp, CpR_exp) permettant l'estimation de la fonction-objectif pour un jeu quelconque de coefficients a (vecA désigne le tableau contenant les éléments du vecteur a). On pourra utiliser la fonction delta définie à la question précédente.
Un extremum local de la fonction objectif vérifie :
Q24. Montrer que les expressions analytiques des dérivées
On note
Q25. Écrire la syntaxe d'une fonction deriv_fobj (vecA, temp, CpR_exp) permettant l'estimation de
Pour résoudre l'équation (18), une méthode de type Newton est envisagée. Les valeurs de a minimisant la fonction-objectif sont obtenues à partir du schéma itératif suivant :
Par exemple, si
Q26. Écrire la syntaxe d'une fonction hessienne_fobj (vecA,temp,CpR_exp) permettant l'estimation de la matrice hessienne de la fonction-objectif en un point a quelconque. Cette fonction pourra faire appel aux fonctions programmées précédemment. On prendra
Q27. On choisit comme point de départ de la procédure itérative :
Écrire un code permettant de mettre en œuvre le calcul du a optimal (noté
III. 2 - Développement du second modèle : le modèle polynomial
Q30. Écrire le système d'équations que doivent vérifier les coefficients
Q31. Montrer que ce système est linéaire en le mettant sous la forme :
Q32. Mathématiquement, quelle opération algébrique faut-il effectuer pour accéder aux valeurs des coefficients
Q34. Commentez le graphe de la figure 4. Finalement, parmi les deux modèles proposés, lequel retiendriez-vous et pourquoi?
Vous pourrez prendre en considération l'influence des incertitudes expérimentales sur les valeurs des paramètres des deux modèles considérés précédemment.

ANNEXE
Quelques commandes utiles en langage Python
C - Bibliothèque MATPLOTLIB.PYPLOT de Python (gestion des graphes) 16
A - Bibliothèque NUMPY de Python (gestion des tableaux, matrices, vecteurs et fichiers)
np.array(liste)
Argument d'entrée : une liste définissant un tableau à 1 dimension (vecteur) ou 2 dimensions (matrice).
Argument de sortie : un tableau (matrice).
| Exemples : | Commande | Résultat |
| np.array
|
|
|
| np.array
|
|
|
|
|
||
| np.array
|
|
|
|
|
Argument d'entrée : une liste contenant les coordonnées de l'élément dans le tableau
Arguments de sortie : l'élément
RAPPEL : en langage Python, les lignes d'un tableau
| Exemples : | Commande | Résultat |
|
|
10 | |
|
|
|
|
|
|
|
np.zeros((n,m))
Argument d'entrée : un tuple de deux entiers correspondant aux dimensions de la matrice à créer.
Argument de sortie : un tableau (matrice) d'éléments nuls.
|
|
|
| np.zeros
|
|
|
|
np.dot(mat1,mat2)
Argument d'entrée : matrices mat1 et mat2.
Argument de sortie: la matrice produit de mat1 et mat2.
np.linalg.inv(mat)
Argument d'entrée : matrice mat.
Argument de sortie: la matrice inverse de mat.
np.linalg.eig(mat)
Argument d'entrée : matrice mat.
Argument de sortie: c'est un tuple dont le premier élément correspond aux valeurs propres tandis que le second élément contient les vecteurs propres.
Pour accéder aux valeurs propres de mat, on écrira :
np.linalg.eig(mat)[0]
np.linspace(Min,Max,nbElements)
Argument d'entrée : un tuple de 3 entiers.
Argument de sortie: un tableau (vecteur).
Exemple:
np.loadtxt('nom_fichier',delimiter='string',usecols=[n])
Argument d'entrée : le nom du fichier qui contient les données à charger, le type de caractère utilisé dans ce fichier pour séparer les données (par exemple, une espace ou une virgule) et le numéro de la colonne à charger (RAPPEL : la première colonne est affectée du numéro 0 ).
Argument de sortie: un tableau.
Exemple :
data=np.loadtxt('fichier.txt', delimiter=' ', usecols=[0])
B - Résolution d'une équation non linéaire à une inconnue
L'équation à résoudre est mise sous la forme :
Exemple : si l'équation à résoudre s'écrit
return
La fonction root peut alors être utilisée pour résoudre l'équation. La variable
# Valeur initiale de x :
Xinit = 1.
# jac = None signifie que la dérivée de f (dont se sert
# la fonction root pour effectuer la résolution)
# n'est pas fournie par l'utilisateur mais estimée
# numériquement par Python.
Xsol = root(f,Xinit,jac=None)
Xsol.x[0]
C - Bibliothèque MATPLOTLIB.PYPLOT de Python (gestion des graphes)
import matplotlib.pyplot as plt
plt.plot(
La chaîne de caractères 'SC' précise le style et la couleur de la courbe tracée. Des valeurs possibles pour ces deux critères sont :
| Description | Ligne continue | Ligne traitillée | Marqueur rond | Marqueur plus |
| Symbole S | - | -- | o | + |
| Valeurs possibles pour C (couleur) : | ||||
| Description | bleu | rouge | vert | noir |
| Symbole C | b | r | g | k |
Exemple: x= np.linspace(3,25,5)
y=sin(x)
plt.plot(x,y,'-b') # tracé d'une ligne bleue continue
plt.title('titre_graphique') # titre du graphe
plt.xlabel('x') # titre de l'axe des abscisses
plt.ylabel('y') # titre de l'axe des ordonnées
plt.show()
FIN
Questions fréquentes
4 questionsSur quoi porte le sujet de modélisation CCINP PC 2021 ?Afficher ou masquer la section
Questions fréquentes
4 questionsSur quoi porte le sujet de modélisation CCINP PC 2021 ?
Sur la fuite d'un réservoir de CO2 gazeux : bilans thermodynamiques en système ouvert, résolution numérique par les méthodes d'Euler et de Newton en Python, puis ajustement de modèles de capacité thermique du CO2.
L'épreuve de modélisation CCINP PC 2021 était-elle difficile ?
Oui : le jury la juge plus difficile que les sujets des années passées, tout en la trouvant équilibrée et raisonnable en longueur. La partie de thermodynamique a posé le plus de problèmes.
Quelles erreurs le jury a-t-il relevées en modélisation CCINP PC 2021 ?
Le premier principe en système ouvert mal appliqué, la confusion entre capacités thermiques à pression et à volume constants, des démonstrations forcées vers le résultat, la méthode de Newton mal adaptée et des algorithmes confondus avec du code.
Comment réussir la partie Python de modélisation CCINP PC 2021 ?
Selon le rapport, penser à importer les bibliothèques et à affecter les variables, distinguer algorithme et code, ne pas oublier la condition d'arrêt et commenter les programmes.
Pas de description pour le moment
