WikiPrépaLivrets

CCINP Modélisation TPC 2021Sujet

Pas encore noté
  • Premier principe de la thermodynamique en système ouvert
  • Gaz parfait et écoulement isentropique
  • Résolution numérique d'équations différentielles (méthode d'Euler)
  • Résolution numérique d'équations non linéaires (méthode de Newton)
  • Algèbre linéaire numérique avec numpy
  • Algorithmique du tri
  • Langage SQL

Téléchargements

  • Corrigé : pas encore disponible
  • Rapport du jury : non disponible

Présentation du sujet

CCINP, modélisation, TPC 2021 : fuite de dioxyde de carbone gazeux hors d'un réservoir
Afficher ou masquer la section

Sujet de modélisation du concours CCINP filière TPC 2021, qui établit un modèle thermodynamique de la fuite de CO2 gazeux hors d'un réservoir adiabatique, le résout numériquement en Python par la méthode de Newton et le schéma d'Euler, ajuste par régression matricielle un modèle polynomial de la capacité thermique du CO2, puis manipule des données expérimentales en Python et en langage SQL.

  1. 1Partie I - Mise en équationÉtablit, par des bilans de matière et d'énergie en système ouvert, les équations couplées régissant la masse et la température du gaz restant dans le réservoir au cours de la fuite.
  2. 2Partie II - Traitement numériqueProgramme en Python le calcul de la température de sortie du gaz par la méthode de Newton, puis résout le système différentiel obtenu par le schéma d'Euler.
  3. 3Partie III - Corrélations pour la capacité thermique du CO2Détermine, par résolution d'un système linéaire sous forme matricielle, les coefficients d'un polynôme ajustant la capacité thermique molaire du CO2 en fonction de la température.
  4. 4Partie IV - Traitement informatique des donnéesÉtudie un algorithme de tri récursif, puis interroge en langage SQL une base de données de mesures expérimentales de capacité thermique.

L'épreuve en chiffres

Moyenne 7,08 / 20 · écart-type 3,1 · 73 présents · où vous situez-vous ?
Afficher ou masquer la section
Moyenne
7,08/ 20
Écart-type
3,1
Présents
73
Coefficient
7
Durée
4 h
moyenne 7,0805101520
Deux tiers des copies environ (moyenne ± écart-type)

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.

Ces sujets peuvent vous intéresser

Pas encore de corrigé pour ce sujet : voici des sujets proches corrigés.

Lecture du sujet en ligne

L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.
Afficher ou masquer la section

ÉPREUVE SPÉCIFIQUE - FILIÈRE TPC

MODÉLISATION

Durée : 4 heures
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.

Le sujet est composé de quatre parties (pages 2 à 12)
et d'une annexe (page 13).

Modélisation de la fuite de matière d'un réservoir rempli de dioxyde de carbone gazeux

Présentation générale

Ce sujet porte sur l'étude théorique et numérique d'une fuite de matière au sein d'une cuve contenant du dioxyde de carbone ( CO_2 ) gazeux. Il est constitué de quatre parties indépendantes.

Quelques précisions concernant les notations utilisées

Symbole Nom Unité
C_(p, m) Capacité thermique molaire à pression constante J ⋅ K^(− 1) ⋅ mol^(− 1)
c_p Capacité thermique massique à pression constante J ⋅ K^(− 1) ⋅ kg^(− 1)
D_m Débit massique kg ⋅ s^(− 1)
e_c Énergie cinétique massique J ⋅ kg^(− 1)
H Enthalpie J
h Enthalpie massique J ⋅ kg^(− 1)
M Masse molaire kg ⋅ mol^(− 1)
m Masse kg
P Pression Pa
Q˙ = δQ/dt Puissance thermique
R Constante des gaz parfaits J ⋅ K^(− 1) ⋅ mol^(− 1)
S Section de fuite m^2
T Température K
T_c Température critique K
U Énergie interne J
u Énergie interne massique J ⋅ kg^(− 1)
V Volume m^3
v Vitesse des courants de matière m ⋅ s^(− 1)
W˙ = δW/dt Puissance utile
On prendra garde à bien distinguer les grandeurs molaires des grandeurs massiques. Certaines de ces grandeurs peuvent être évaluées en entrée ou en sortie du système, ce que l'on identifie par un indice e en entrée ou s en sortie.

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

On s'intéresse au système ouvert décrit par la figure 1. Ce système possède une entrée et une sortie de matière où la température T, la pression P, la vitesse v, le débit massique D_m et l'enthalpie massique h sont définis. Le système échange algébriquement, avec le milieu extérieur, la puissance thermique Q˙ et la puissance utile W˙. Les débits massiques D_(m, e) et D_(m, s) sont positifs. Il n'y a pas de travaux dérivant d'une énergie potentielle.
Figure 1 - Représentation schématique d'un système ouvert
Q1. Rappeler l'unité des grandeurs W˙, Q˙ et D_m mentionnées sur la figure 1 .
Q2. Par une méthode de votre choix (issue de la thermodynamique ou de la mécanique des fluides ou autres), établir l'équation locale de conservation de la matière :
(dm)/(dt) = D_(m, e) − D_(m, s).
Q3. À l'aide d'un bilan énergétique, établir l'expression du premier principe de la thermodynamique en régime stationnaire pour le système ouvert représenté sur la figure 1. On mettra le résultat sous la forme :
D_m(Δh + Δe_c) = Q˙ + W˙.
Donner la relation liant D_m, D_(m, e) et D_(m, s) et expliciter Δe_c en fonction des données.
On admet dans la suite l'écriture du premier principe en système ouvert, étendue aux systèmes en régime transitoire :
(dU)/(dt) = ((Débit d'énergie)/(entrant)) − ((Débit d'énergie)/(sortant))
où dU/dt désigne la dérivée de l'énergie interne du système étudié par rapport au temps.
Q4. Proposer une interprétation qualitative du bilan d'énergie traduit par l'équation (3).

Écriture d'un modèle décrivant la fuite d'un réservoir adiabatique contenant du CO_2

On s'intéresse à présent à un réservoir contenant un gaz supposé parfait. Ce réservoir indéformable (donc de volume V constant) est le siège d'une fuite vers le milieu environnant à la température T_(ext) et à la pression P_(ext) supposées constantes dans tout le problème. Il n'est pas agité mécaniquement. Toutefois, les propriétés du gaz dans le réservoir sont supposées uniformes à chaque instant. Ce réservoir est représenté sur la figure 2.
Réservoir adiabatique
Figure 2 - Réservoir adiabatique renfermant du gaz et sujet à une fuite de gaz vers le milieu environnant
Q5. On suppose que les grandeurs intensives du gaz dans le réservoir sont uniformes et que celles du gaz sortant sont identiques à celles du réservoir. On suppose négligeable l'énergie cinétique massique de la matière quittant le système. On s'intéresse au système {volume contenant le gaz à T et P dans le réservoir, paroi non comprise} représenté par des pointillés sur la figure 2. Justifier que l'application du bilan de matière et du premier principe (équations (1) et (3)) au système en pointillés, décrit par la figure 2, permet d'obtenir le système d'équations :
{(dm)/(dt) = − D_(m, s); (dU)/(dt) = − D_(m, s)h.

Q6. Le modèle gaz parfait

a) Dans quelle situation limite un gaz réel s'identifie-t-il exactement à un gaz parfait?
b) Donner la valeur du rapport C_(P, m)/R pour un gaz parfait monoatomique.
c) On observe expérimentalement que pour le CO_2 gaz parfait, le rapport C_(P, m)/R dépend de la température. Donner un argument physique expliquant pourquoi.
d) On note u l'énergie interne massique du gaz parfait, n le nombre de moles de gaz, m sa masse et M sa masse molaire. Justifier la relation h = u + (nRT)/m et en déduire l'équation :
(du)/(dT) = R/M[f(T) − 1]
dans laquelle f(T) = C_(P, m)/R.
Q7. À partir de la relation u = U/m liant l'énergie interne massique u, l'énergie interne U et la masse m du système étudié, montrer que le système d'équations (4) se ramène à l'équation :
(du)/(dt) = (RT)/M1/m(dm)/(dt).
Déduire alors de l'équation (5) la relation :
[f(T) − 1](dT)/(dt) = T/m(dm)/(dt).
On cherche à présent à estimer le débit D_(m, s) de gaz quittant le réservoir. Pour ce faire, on s'intéresse à la zone de l'espace dans laquelle se produit la fuite.
Figure 3 - Fuite de CO_2 gazeux à travers l'orifice dans la paroi du réservoir
On considère le système {gaz dans la paroi du réservoir} (figure 3) et on suppose que :
  • 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 v_s en sortie;
  • la température et la pression du gaz en entrée sont notées T et P (ce sont celles du gaz à l'intérieur du réservoir); en sortie, elles sont notées T_s et P_s = P_(ext).
Q8. Montrer que le débit massique D_(m, s) de fluide à travers la section de l'orifice est donné par :
D_(m, s) = (Sv_s MP_(ext))/(RT_s)
où S désigne la section de passage du fluide à travers l'orifice.
Q9. On s'intéresse au système {gaz contenu dans la paroi du réservoir}. Justifier que l'équation (2) s'écrit alors Δh + Δe_c = 0 et en déduire que la vitesse de sortie du CO_2 a pour expression :
v_s = √(2R/M∫_(T_s)^T f(T)dT).
Q10. Méthode de calcul de T_s
a) L'écoulement de fuite du gaz est supposé isentropique. Expliquer comment procéder expérimentalement pour rendre un écoulement pratiquement isentropique.
b) L'isentropicité permet d'obtenir l'équation admise (C_(P, m))/R(dT)/T − (dP)/P = 0.
En utilisant l'équation d'état des gaz parfaits, en déduire que T_s est solution de l'équation :
∫_T^(T_s)(f(T))/T dT + ln((mRT)/(MVP_(ext))) = 0.

Partie II - Modélisation de la fuite d'un réservoir : traitement numérique

On suppose que le code suivant (figure 4) est écrit en préambule de toute réponse s'appuyant sur l'écriture d'un code Python. Il est inutile de le recopier. Toutes les variables définies sont globales et accessibles dans toutes les fonctions, sans avoir à être passées en argument.
from math import log, sqrt # logarithme népérien, racine carrée
# constantes générales
M = 44.01e-3 # Masse molaire du CO2 (kg/mol)
Pext = 1.013e5 # Pression extérieure (Pa)
R = 8.314 # Constante des gaz parfaits (J/K/mol)
S = 1.000e-4 # Section de l'orifice de fuite (m^2)
Text = 293.0 # Température extérieure (K)
V = 1.000 # Volume de l'enceinte (m^3)
K = S * Pext * sqrt(2 * M / R) # constante présente dans les équations du
    ~ modèle
# constantes pour le modèle A de f(T)
A1 = 8.303
A2 = -2810
A3 = 485.6
# initialisation
m0 = 11.00 # Masse initiale du CO2 dans l'enceinte (kg)
T0 = 473.2 # Température initiale du CO2 dans l'enceinte (K)
Figure 4 - Préambule 1 Python
On s'intéresse ici à la fuite du gaz dans le réservoir et plus précisément à la température et la masse du gaz en sortie. Pour cela, on dispose des équations suivantes issues du modèle précédent :
g(T, T_s, m) = ∫_T^(T_s)(f(T))/T dT + ln((mRT)/(MVP_(ext))) = 0
et
{(dm)/(dt) = − K/(T_s)√(∫_(T_s)^T f(T)dT) avec K = SP_(ext)√((2M)/R); (dT)/(dt) = T/(m[f(T) − 1])(dm)/(dt)
On associe à ce modèle la fonction f(T) = C_(p, m)/R qui suit la loi du modèle A :
f(T) = A_1 + (A_2)/(T + A_3) avec T en K et {A_1 = 8, 303; A_2 = − 2810 K; A_3 = 485, 6 K.
Pour déterminer les paramètres du gaz en sortie de l'enceinte, il nous faut d'abord trouver la température de sortie T_s, ce que nous allons faire grâce à l'équation (11), en 4 étapes:
  • définir la fonction f(T);
  • calculer l'intégrale ∫[f(T)/T]dT par la méthode des rectangles;
  • définir la fonction g(T, T_s, m);
  • résoudre l'équation g(T, T_s, m) = 0 par la méthode de Newton pour obtenir T_s.
Q11. Écrire le code Python de la fonction f(T) associée à l'équation (13), qui prend en argument la température T et renvoie la valeur f(T) à cette température.
Q12. On souhaite déterminer numériquement l'expression ∫_(T_1)^(T_2)(f(T))/T dT en utilisant la méthode des
rectangles sur un ensemble de N sous-intervalles. rectangles sur un ensemble de N sous-intervalles.
a) À l'aide d'une représentation graphique, justifier que l'expression (T_2 − T_1)/N × (f(T))/T correspond à l'aire d'un des rectangles dont un coin est commun à la courbe représentative de la fonction f(T)/T. Donner la valeur de N pour un calcul sur 100 sous-intervalles.
b) En déduire le code de la fonction Python integ1(T1, T2) qui prend en argument 2 températures T1 et T2 correspondant aux bornes de l'intervalle d'intégration et renvoie la valeur numérique de l'intégrale de f(T)/T calculée par la méthode des rectangles, sur un ensemble de 100 sous-intervalles.
Q13. Donner le code Python de la fonction g(T, Ts, m) qui prend en argument les températures T, Ts et la masse m et renvoie la valeur de la fonction g définie par l'équation (11). On pourra utiliser toutes les fonctions déjà définies.
Q14. Enfin, pour déterminer la valeur numérique de T_s, on va résoudre l'équation (11) par la méthode de Newton. Les variables T et m sont constantes pour l'étude de la fonction g(T, T_s, m), qui se comporte donc comme une fonction d'une seule variable, T_s.
Pour implémenter la méthode de Newton, on utilise la suite T_(n + 1) = T_n − g(T_n)/g^′(T_n), fabriquée à partir de la fonction g et de sa dérivée g^′, dont on admet qu'elle converge vers un zéro de la fonction g qui est la valeur de T_s recherchée.
a) À l'aide d'une représentation graphique la plus complète possible, illustrer quelques étapes du principe de convergence de la suite T_n vers un zéro de la fonction g.
b) La fonction chercheTs(T, m) partiellement fournie ci-dessous renvoie, pour des valeurs connues des variables T et m , la valeur correspondante de Ts obtenue par résolution de l'équation (11) selon la méthode de Newton.
def chercheTs(T, m):
    "Résolution de l'équation g(T, Ts, m) = 0 par la méthode de
        - Newton"
    Ts = 300.0
    [instruction1] # À modifier
    while residu > 1e-10:
        gn = [instruction2] # À modifier
        gpn = f(Ts) / Ts
        Tsold = Ts
        Ts = [instruction3] # À modifier
        residu = abs(Ts - Tsold)
    return Ts
Indiquer par quelles instructions il convient de remplacer les séquences [instruction1], [instruction2] et [instruction3] présentes dans le code ci-dessus.
Ensuite, pour résoudre le système d'équations (12), il faut:
  • calculer l'intégrale ∫f(T)dT qui intervient dans l'une d'elles;
  • déterminer les solutions des 2 équations différentielles par la méthode d'Euler.
Q15.
a) Déterminer l'expression littérale de I = ∫_(T_1)^(T_2)f(T)dT.
b) Donner le code de la fonction integ2(T1, T2) retournant la valeur de I en fonction des arguments d'entrée T1, T2 et des variables globales A1, A2 et A3.
Pour résoudre une équation différentielle mise sous la forme y^′(t) = f(t, y(t)), on utilise le schéma d'Euler suivant :
y(t + Δt) = y(t) + f(t, y(t)) × Δt.
Ce schéma est implémenté au sein de l'algorithme 1 présenté ci-dessous, que l'on souhaite appliquer pour résoudre le système d'équations (12) entre les dates t = 0 s et t = 10 s avec un pas de temps de Δt = 0, 10 s :
- Initialisation des variables dt, N, T, m et P
- Début d'une boucle avec test d'un ou plusieurs critères d'arrêt
    - calcul de Ts
    - calcul de mp et Tp par le schéma d'Euler
    - actualisation des variables
- Renvoie des grandeurs attendues
Algorithme 1 - Résolution du système d'équations (12) par la méthode d'Euler
Q16. Préciser la signification et les valeurs initiales des variables présentes dans la phase d'initialisation de l'algorithme 1 (on fera référence au préambule Python).
Q17. Préciser la signification des variables mp et Tp présentes dans la boucle de l'algorithme 1. Donner la syntaxe Python du calcul de mp et Tp respectant le schéma d'Euler proposé. On pourra faire appel à toute fonction précédemment définie, ainsi qu'au préambule Python.
Q18. Écrire le code Python de la fonction Euler() traduisant l'algorithme 1 proposé ci-dessus. On pourra faire appel à toute fonction précédemment définie.
Q19. 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

On s'intéresse maintenant au modèle B pour la fonction f(T) = C_(p, m)/R, dont on suppose qu'elle suit une loi polynomiale de la forme suivante :
f(T) = ∑_(i = 0)^n B_i(T/(T_c))^i
dans laquelle T_c est la température critique connue du CO_2. Pour déterminer les coefficients réels B_i de ce polynôme de degré n, on dispose de 6 données expérimentales de la valeur de C_(p, m)/R en fonction de la température T en kelvin (voir tableau 1).
T C_(P, m)/R
T_1 = 100, 0 C_1 = 3, 513
T_2 = 500, 0 C_2 = 5, 367
T_3 = 1000 C_3 = 6, 532
T_4 = 2000 C_4 = 7, 257
T_5 = 3000 C_5 = 7, 475
T_6 = 4000 C_6 = 7, 586
Tableau 1 - Série de 6 données expérimentales pour le CO_2 gazeux

Préambule

Q20. Les valeurs des capacités thermiques données dans le tableau 1 ont été mesurées par calorimétrie. Expliquer, à l'aide d'un schéma, comment réaliser expérimentalement cette mesure pour un liquide ou un gaz. Préciser comment la valeur de la capacité thermique est déduite de la mesure.
Q21. Montrer, par une analyse dimensionnelle, que le rapport C_(P, m)/R est sans dimension.

Développement du modèle polynomial

On souhaite déterminer les coefficients B_i d'un polynôme f(T) de degré n = 5 donné par l'équation (15) dont la courbe représentative passe exactement par les 6 points expérimentaux.
Q22. Écrire l'expression littérale de l'équation que doivent vérifier les coefficients B_i (pour 0 ⩽ i ⩽ 5 ) du polynôme pour passer par le point expérimental ( T_3, C_3 ).
Q23. En déduire que l'on peut rassembler les données expérimentales sous la forme du produit matriciel :
Y = M B
où Y est le vecteur des mesures expérimentales de C_(P, m)/R, B celui des coefficients B_i (pour 0 ⩽ i ⩽ 5 ) du polynôme et M une matrice carrée dont les coefficients ne dépendent que des valeurs expérimentales T_j/T_c (pour 1 ⩽ j ⩽ 6 ).
Donner l'expression d'une des lignes de la matrice M en fonction de T_c, T_j et C_j pour 1 ⩽ j ⩽ 6.
Q24. Quelle opération mathématique faut-il effectuer sur la matrice M pour accéder au vecteur B ?
On suppose que le code suivant (figure 5) est écrit en préambule de toute réponse s'appuyant sur l'écriture d'un code Python. Il est inutile de le recopier. Toutes les variables définies sont globales et accessibles dans toutes les fonctions, sans avoir à être passées en argument.
import matplotlib.pyplot as plt # tracés
import numpy as np # travail matriciel
# Données expérimentales
T = np.array([100.0, 500.0, ...]) # température (K)
CpmR = np.array([3.513, 5.367, ...]) # Cpm/R
# modèle B
Tc = 304.2 # Température critique du CO2 (K)
Y = np.array(...) # Vecteur Y du modèle B
M = np.array(...) # Matrice M du modèle B
Figure 5 - Préambule 2 Python
Q25. On suppose que la matrice M et le vecteur Y ont été entièrement saisis sous forme de tableaux numpy (voir figure 5). Donner le code Python permettant d'en déduire le vecteur B contenant les coefficients B_i à l'aide d'une fonction du module numpy.
Les points expérimentaux ainsi que les deux courbes associées aux modèles A et B ont été représentés sur la figure 6.
Figure 6 - Confrontation des points expérimentaux et des deux modèles
Q26. Donner le code permettant de représenter le nuage des points expérimentaux ou le modèle A ou le modèle B, en précisant quel est le tracé choisi.
Q27. Commenter le graphe de la figure 6. Finalement, parmi les deux modèles proposés, lequel retiendriez-vous et pourquoi?

Partie IV - Traitement informatique des données expérimentales

On suppose que le code suivant (figure 7) est écrit en préambule de toute réponse s'appuyant sur l'écriture d'un code Python. Il est inutile de le recopier.
def tri(L):
    "Trie la liste L"
    n = len(L)
    if n <= 1:
        return L
    a = L[-1]
    L1 = []
    L2 = []
    for i in range(n - 1):
        if L[i] <= a:
            L1.append(L[i])
        else:
            L2.append(L[i])
    return tri(L1) + ... + ... # À compléter
Figure 7 - Préambule 3 Python
Les données expérimentales doivent éventuellement être triées. Pour cela, on utilise la fonction tri (L) qui prend en argument la liste à trier (voir figure 7).
Q28. Préciser, sans justification, s'il s'agit du tri rapide, du tri par fusion ou du tri par insertion. Expliquer pourquoi ce tri est récursif. Donner sa complexité temporelle dans le meilleur cas.
Q29. Les variables a, L1 et L2 ont une signification bien précise que l'on ne retrouve pas dans leur nom. Donner le nom usuel de la variable a et expliquer ce qui différencie les listes L1 et L2. Proposer des noms plus pertinents pour ces 3 variables.
Q30. Compléter la dernière ligne de la fonction tri.
Après leur acquisition, les résultats expérimentaux sont stockés dans une base de données. Les molécules y sont identifiées par une clé primaire appelée idcas.
On s'intéresse aux 2 tables suivantes contenues dans la base de données :
  • la table general contenant des informations diverses sur les molécules;
  • la table capa contenant les données expérimentales de mesure du rapport C_(p, m)/R en fonction de la température pour différentes molécules.
idcas nom symbole Tc Pc
7727-37-9 diazote N2 126.19 33.978
124-38-9 dioxyde de carbone C02 304.18 73.825
…
Table 1 - Extrait de la table general
idcas CpmR T
124 − 38 − 9 5.367 500.0
124 − 38 − 9 7.475 3000.0
7727 − 37 − 9 3.499 500.0
124 − 38 − 9 3.513 100.0
…
Table 2 - Extrait de la table capa
Q31. Donner le code SQL permettant d'afficher le nom et le symbole de toutes les molécules.
Q32. Donner le code SQL permettant d'afficher toutes les informations de la table capa pour le dioxyde de carbone (repéré par son idcas).
Q33. Expliquer ce que renvoie la requête suivante :
    SELECT g.symbole, count(*) AS nb
        FROM general AS g
        JOIN capa AS c ON g.idcas = c.idcas
GROUP BY c.idcas
Q34. Donner le code SQL permettant d'afficher, pour chaque molécule, son identifiant et la valeur moyenne de C_(p, m)/R pour les températures inférieures ou égales à 500, 0 K.

ANNEXE

Bibliothèque numpy de Python

La bibliothèque numpy est importée de la façon suivante :
>>> import numpy as np
La création d'un tableau numpy à 2 lignes et 3 colonnes, appelé M , est réalisée ainsi :
>>> tab = np.array([[1.5, 2, 3], [4, 5, 6]])
>>> print(M)
[[1.5 2. 3.]
    [4. 5. 6. ]]
L'inversion d'une matrice M carrée se fait à l'aide de la commande np.linalg.inv(M) :
>>> M = np.array([1.5, 2], [4, 5])
>>> N = np.linalg.inv(M)
>>> print(N)
[[-10., 4.],
    [ 8., -3.]]

Bibliothèque matplotlib de Python

La bibliothèque matplotlib est importée de la façon suivante :
>>> import matplotlib.pyplot as plt
La courbe représentative de la fonction x ↦ x^2 peut être tracée de la façon suivante :
>>> X = [0, 1, 2, 3, 4, 5]
>>> Y = [0, 1, 4, 9, 16, 25]
>>> plt.plot(X, Y)
>>> plt.show()

Mémento de commandes sql

SELECT ... - sélection d'attributs
FROM ... - choix de tables
JOIN ... ON ... - jointure entre tables
WHERE ... - condition
GROUP BY ... - groupements
HAVING ... - condition sur les agrégations
ORDER BY ... - classement
AVG(...), MIN(...), MAX(...), SUM(...), COUNT(...) - commandes d'agrégation
AS - renommage

Questions fréquentes

4 questions
Sur quoi porte le sujet de modélisation CCINP TPC 2021 ?
Afficher ou masquer la section

Sur quoi porte le sujet de modélisation CCINP TPC 2021 ?

Sur la fuite de dioxyde de carbone gazeux hors d'un réservoir, modélisée en thermodynamique puis résolue numériquement en Python, avec une partie sur les bases de données SQL.

Le sujet de modélisation CCINP TPC 2021 demande-t-il de programmer en Python ?

Oui, plusieurs questions demandent d'écrire des fonctions Python : calcul d'intégrale, méthode de Newton, schéma d'Euler et régression matricielle avec numpy.

Quelles notions de thermodynamique sont mobilisées dans ce sujet CCINP TPC 2021 ?

Le premier principe en système ouvert, le modèle du gaz parfait et l'écoulement isentropique à travers un orifice.

Le sujet CCINP modélisation TPC 2021 contient-il du langage SQL ?

Oui, la dernière partie demande d'écrire des requêtes SQL (SELECT, JOIN, GROUP BY) sur une base de données de mesures expérimentales.

Pas de description pour le moment