CCP Modélisation de systèmes physiques ou chimiques PC 2015

Thème de l'épreuve Simulation numérique du transfert thermique dans un mur en régime transitoire
Principaux outils utilisés diffusion thermique, méthode des différences finies
Mots clefs équation de la chaleur, discrétisation, schémas numériques, équations différentielles, systèmes linéaires, algorithme de Thomas

Corrigé

(c'est payant, sauf le début): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Extrait gratuit du corrigé

(télécharger le PDF)
           

Énoncé complet

(télécharger le PDF)
                                   

Rapport du jury

(télécharger le PDF)
           

Énoncé obtenu par reconnaissance optique des caractères


SESSION 2015 PCMS006 _:â=_ CONCOURS COMMUNS - - POLYTECHNIQUES EPREUVE SPECIFIQUE - FILIERE PC MODELISATION DE SYSTEMES PHYSIQUES OU CHIMIQUES 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. Les calculatrices sont interdites \ Le sujet comporte deux parties indépendantes. Le candidat précisera au début de sa copie le langage de programmation (Python ou Scilab) qu'il a choisi et toutes les questions seront traitées dans le même langage. Un bonus sera accordé aux copies soignées avec des programmes bien commentés. Plusieurs fonctions du langage Scilab sont rappelées en annexe A. Les candidats choisissant le langage Python pourront utiliser les bibliothèques numpy et matplotlib.pyplot. Une documentation simplifiée de plusieurs fonctions de ces bibliothèques est présente en annexes B et C. 1/12 SIMULATION NUMERIQUE DU TRANSFERT THERMIQUE DANS UN MUR EN REGIME TRANSITOIRE On étudie les transferts thermiques dans le mur d'une maison, figure l(a). La température à l'intérieur de la maison est constante dans le temps et égale à Tint = 20 °C. Aux temps négatifs (t < 0), la température extérieure est égale à Text1 = 10 °C. A t = 0, elle chute brusquement à Text2 = --10 °C et elle reste égale à cette valeur aux temps positifs (t > 0), figure l(b). On souhaite étudier l'évolution du profil de température dans le mur au cours du temps. Text Tint ' ur Text T Ëxt z 0 V e x 0 Lx Tâ.. % 0 t (a) (b) Figures 1 (a) - Schéma du mur étudié. (b) - Evolution de la température extérieure au cours du temps. Le mur a une épaisseur 6 = 40 cm. Les propriétés physiques du mur sont constantes : conductivité thermique À = 1,65 W. m'1. K"1, capacité thermique massique cp = 1 000 ].kg'1.K_1, masse volumique p = 2 150 kg. m'3. PARTIE I : ETUDE PRELIMINAIRE Dans cette partie, on établit l'équation gouvernant les variations de la température et on la résout en régime permanent. I.A. Equation gouvernant la température On suppose que la température dans le mur T ne dépend que du temps t et de la coordonnée x. I.A.1. A quelle condition peut-on supposer que la température ne dépend pas des coordonnées )! et z ? I.A.2. Donner l'équation générale qui décrit le transport de chaleur dans un solide en l'absence de source d'énergie. Comment cette équation se simplifie-t-elle sous les hypothèses de la question I.A.l ? I.B. Conditions aux limites On envisage plusieurs types de conditions aux limites. (i) La température est imposée aux limites du système. (ii) La paroi extérieure est isolée par un matériau de très faible conductivité. I.B.1. Traduire chacune de ces conditions aux limites sur la fonction T(x, t) et/ou sa dérivée. 2/12 Dans toute la suite, on adoptera des conditions aux limites de type température imposée. I.C. Solutions en régime permanent I.C.1. Résoudre l'équation obtenue à la question I.A.2. en régime permanent, avec les conditions aux limites de type températures imposées (question I.B.(i)) : - pour un instant particulier négatif t1 < 0, - pour un instant particulier positif t2 > 0, très longtemps après la variation de température extérieure, quand le régime permanent est de nouveau établi dans le mur. I.C.2. Quelle est la nature des profils T(x) obtenus (en régime permanent) à ces deux instants '? Tracer à la main les deux profils sur un même graphique sur la copie. I.C.3. Sur le même graphique, tracer à la main qualitativement les profils intermédiaires à différents instants entre la variation brutale de la température extérieure (t = O) et l'instant t2 où le régime est de nouveau permanent. PARTIE II : RESOLUTION NUMERIQUE II.A. Equation à résoudre On cherche à résoudre numériquement l'équation aux dérivées partielles : âT âZT "a = @ ... où a est une constante. A l'équation (1) sont associées les conditions : T(O, t) = T,... pour tout t > 0 T(e, t) = Text2 pour tout t > 0 T(x, O) = ax + b pour tout x E [O, 6] II.A.1. Quelle est l'expression de a en fonction des paramètres physiques du mur '? II.A.2. Exprimer a et b en fonction de Tim, Text1 et EUR. Pour effectuer la résolution de l'équation (1), nous utiliserons la méthode des différences finies présentée dans la partie II.B. II.B. Méthode des différences finies II.B.1. Discrétisation dans l'espace et dans le temps On divise l'intervalle [O, 6], représentant l'épaisseur du mur, en N + 2 points, numérotés de 0 à N + 1, régulièrement espacés de Ax (figure 2, page suivante). Cette division est appelée << discrétisation >>. La distance Ax est appelée le << pas d'espace >>. A l'intérieur du mur (frontières intérieure et extérieure exclues) se trouvent donc N points. On cherche à obtenir la température en ces points particuliers à chaque instant. 3/12 Figure 2 - Discrétisation spatiale dans la direction x. II.B.1.a. Donner l'expression de Ax en fonction de N et de l'épaisseur du mur e. II.B.1.b. Donner l'abscisse x,- du ie point en fonction de i et Ax, sachant que x0 = 0 et xN+1 = e. Le temps est discrétisé en ItMax intervalles de durée At et on ne s'intéresse au profil de température qu'aux instants particuliers tk = k. At. L'intervalle élémentaire de temps At est appelé le << pas de temps >>. Pour résoudre l'équation (1), deux méthodes sont proposées : -- méthode utilisant un schéma explicite, -- méthode utilisant un schéma implicite. II.B.2. Méthode utilisant un schéma explicite II.B.2.a. A l'aide d'un développement limité de la fonction x l--> T(x, t), donner une expression de T(x + Ax, t) à l'ordre 3 (a (Ax3)) en fonction de T et de ses dérivées partielles par rapport à x évaluées en (x, t). De même, donner une expression de T(x -- Ax, t) à l'ordre 3. 2 II.B.2.b. En déduire une expression approchée à l'ordre 1 (0(Ax)) de % (dérivée partielle x,t spatiale seconde de T évaluée au point x à l'instant t) en fonction de T(x + Ax, t), T(x -- Ax, t) et T (x, t) et Ax. On note Tik la température T(x,-, tk), évaluée au point d'abscisse x,- à l'instant tk. De même, on note T,'fF1 = T(x,- + Ax, tk) et T,"_1 = T(x,- -- Ax, tk). ! ' ' r r - , 62T , . , . II.B.2.c. Dedu1re de la question precedente une express1on approchee de $ (der1vee partielle xi» tk k spatiale seconde de T évaluée en x,- à l'instant tk) en fonction de Tik, Ti+1 et Tik_1 et Ax. La dérivée partielle temporelle de l'équation (l) est maintenant approchée grâce à un développement limité. II.B.2.d. A l'aide d'un développement limité de la fonction t l--> T(x, t), donner une expression de T(x,t + At) à l'ordre 1 (0(At)) en fonction de T et de sa dérivée partielle par rapport à t évaluées en (x, t). ôT II.B.2.c. En déduire une valeur approchée de E (dérivée partielle par rapport au temps de T x,t évaluée au point x à l'instant t) à l'ordre 0 (0(1)) en fonction de T(x, t + At), T(x, t) et At. 4/12 ôT 11. B. 2. f. Donner une expression de-- (dérivée partielle par rapport au temps de T évaluée en 61: xi tk xi à l'instant tk) en fonction de At, E" t T,k+1, avec Tik+1 = T(xi, tk + At). L'équation (l) est valable en chaque point d'abscisse xi et à chaque instant tk. II.B.2.g. Ecrire la forme approchée de cette équation au point i et à l'instant k en approchant 62 ôT % avec la formule obtenue à la question H. B. 2. c. et en approchant-- âtx avec la formule x,t obtenue àla question ll.B.2.f. II.B.2.h. Montrer que l'équation obtenue àla question II.B.2. g peut s'écrire sous la forme : T"+1_ -- rT"_ , + (1 -- 2r)T" + rT"+1 (2) en précisant la valeur du paramètre r en fonction de Ax, At et a. L'équation (2) est appelée schéma numérique explicite. Si on connait la température en tous les points x1,x2, ...,xN_1,xN à l'instant tk, on peut calculer grâce à elle la température en tous les points à l'instant ultérieur tk+1. II.B.2.i. L'équation (2) est-elle valable dans tout le domaine, c'est-à-dire pour toute valeur de l, 0 S i S N+ 1 '?QuevalentTä'c etT]ÿ+1 ? II.B.2.j. Dans cette question, on élabore une fonction schema_explicite permettant de calculer la température en chaque point au cours du temps selon la formule (2). Parmi les variables d'entrée se trouvera un vecteur T0 de dimension N, défini en dehors de la fonction, contenant les valeurs de la température aux points de discrétisation à l'instant initial. Au sein de la fonction, un algorithme calculera itérativement la température avec un nombre maximal d'itérations ItMax. En sortie de la fonction, on récupérera le nombre d'itérations réellement effectuées, anter et une matrice T_tous_k, de dimensions N >< ItMax. Chaque colonne de cette matrice contient le vecteur Tk dont les éléments sont les valeurs de la température aux N points xl, , xN (points à l'intérieur du mur) à l'instant k : T11 T12 T1k ...T1k--1 T1k T"--i/îl k\i { Tâ T2" T2" T2"--1 T2" \. et T_tous_k= | T--l\TN--1 ) \TA1I--1TAZI--l___Tliî--1mTliîîâTliî--1/ Tà Tâ T." Tir--1 Tl' On souhaite arrêter le calcul lorsque la température ne varie presque plus dans le temps. Dans ce but, on évaluera la norme 2 de Tk -- T"'1 à chaque itération. La définition de la norme 2 est rappelée àla question II.B.2.j.(VÜ. II.B.2.j.(i) Ecrire l'en-tête de la fonction en précisant bien les paramètres d'entrée et de sortie. II.B.2.j.(iü Le schéma numérique (2) permet d'approcher avec succès la solution à la condition r < 1/2. Programmer un test qui avertit l'utilisateur si cette condition n'est pas respectée. II.B.2.j.(iü) Affecter la valeur 2 000 à ItMax. Créer la matrice T_tous_k de dimensions N >< I tM ax en la remplissant de zéros. 5/12 II.B.2.j.(iv) Remplacer la première colonne de T_tous_k par le vecteur des valeurs initiales T O. II.B.2.j.(v) Calculer le profil de température à l'instant k = 1 (t = At), en distinguant le cas i= 1, le cas 2 S i S N -- 1 et le cas i= N. Affecter ces valeurs à la deuxième colonne de T_tous_k. II.B.2.j.(vü Ecrire une fonction calc_norme qui calcule la norme 2 d'un vecteur. On rappelle que la norme 2 d'un vecteur V s'écrit : V 1 II.B.2.j.(viÿ Elaborer une boucle permettant de calculer itérativement le profil de température aux instants tk = k.At avec k 2 2. Cette boucle sera interrompue lorsque la norme 2 du vecteur T" -- T""1 deviendra inférieure à 10"2 ou lorsque le nombre d'itérations atteindra la valeur I tM ax (prévoir les deux cas). Utiliser, pour cela, la fonction calc_norme définie à la question II.B.2.j.(VÜ. II.B.2.j.(viü) Ecrire la fm de la fonction afin de renvoyer tous les arguments de sortie définis au début de la question ll.B.2.j. II.B.3. Méthode utilisant un schéma implicite Le schéma explicite (2) ne converge que si le pas de temps At est suffisamment faible par rapport au pas d'espace Ax. Si l'on souhaite effectuer un calcul pour un temps physique long, beaucoup d'itérations seront nécessaires et le temps de calcul sera très long. C'est pourquoi on préfère d'autres types de schémas appelés schémas implicites. Dans cette partie, la dérivée partielle seconde par rapport à x de la température apparaissant dans l'équation (l) est évaluée au point d'abscisse xi et à l'instant k + 1 : 62T 62T 6x2 6x2 N N x,t xirtk+1 et la dérivée partielle par rapport à t est évaluée au point d'abscisse xi et à l'instant k : âT âT ä,...ÿ"ä xfik' II.B.S.a. Donner la nouvelle expression approchée de l'équation (l) définie en page 3. II.B.3.b. Montrer que l'équation obtenue àla question ll.B.3.a. peut être mise sous la forme Tik = --rTik_Ë1 + (1 + 2r)Tik+1 -- r {fifi . (3) L'équation (3) est appelée schéma implicite car la température à l'instant tk est exprimée en fonction de la température à l'instant ultérieur tk+1. 6/12 Le système d'équations ainsi obtenu peut être écrit sous la forme : MTk+1 = Tk + r v (4) où M est une matrice carrée N >< N et Tk et T"'+1 sont les vecteurs de dimension N définis par : T1k T1k+1 T2k T2k+1 Tk = et T"+1 = TIG--1} Tl'îä/ T]Ç,' T,(ÿ+1 et v est un vecteur de taille N faisant intervenir les conditions aux limites. II.B.3.c. Préciser l'expression de la matrice M et l'expression du vecteur |). A chaque pas de temps, il faut inverser le système matriciel : MTk+1 = T" + r |) pour obtenir Tk+1à partir de Tk. II.B.3.d. Le but de cette question est d'écrire une fonction Calchpl qui permet de résoudre un système matriciel tridiagonal en utilisant l'algorithme de Thomas présenté ci-dessous. Algorithme de Thomas : On cherche à résoudre un système matriciel tridiagonal de la forme : Mu=d 6) où M est une matrice de dimensions N >< N tridiagonale, c'est-à-dire une matrice dont tous les éléments sont nuls, sauf sur la diagonale principale, la diagonale supérieure et la diagonale inférieure bl (:1 012 152 C2 0 (13 333 C3 aN bN et où les vecteurs u et d, de dimension N, s'écrivent : "»1 d1 ".3 d,3 ' | ' | u = : et d = : ' | ' | ' | uN--1 dN--1 uN dN 7/12 Dans cet algorithme, on calcule d'abord les coefficients suivants : , C1 C1:-- b ' 1 C' ' 23 N 1 C' = 0 r = ; ; ; _ ' b,--a,-c£ 1 p u l et , d1 d1=b_1 d---a-dL d£='--'fl pour i=2,3,...,N. bi_aici 1 Les inconnues ul, u2, , uN sont alors obtenues par les formules : uN=div ui=d£--c£ui+l pour i=N--1,N--2,...,2,1. II.B.3.d.(i) En utilisant l'algorithme de Thomas, écrire une fonction Calchpl qui permet de calculer le vecteur u, solution du système matriciel (5), à partir de la matrice M et du vecteur d. II.B.3.e. Dans cette question, une fonction schema_implicite est élaborée avec les mêmes arguments d'entrée et de sortie que la fonction schema_explicite (définis à la question ll.B.2.j.) et qui utilise les mêmes critères d'arrêt (définis àla question ll.B.2.j.(viü). II.B.S.e.(i) Ecrire l'en-tête de la fonction en précisant les paramètres d'entrée et de sortie. II.B.3.e.(ü) Affecter la valeur 2 000 à ItMax. Créer la matrice T_t ou s_k dont les dimensions sont N >< I tM ax en la remplissant de zéros. II.B.S.e.(üü Remplacer la 1re colonne de T_t ou s_k par le vecteur des valeurs initiales T O. II.B.S.e.(iv) Définir la matrice M et le vecteur V qui interviennent dans l'équation (4). II.B.3.e.(v) Calculer le profil de température à l'instant k = 1 (t = At). Affecter ces valeurs à la deuxième colonne de T_tous_k. II.B.S.e.(vü Ecrire une boucle permettant de calculer itérativement le profil de température aux instants ultérieurs tk = k >< At avec k 2 2, en prévoyant un arrêt lorsque la norme 2 du vecteur T" -- T"'1 devient inférieure à 10"2 ou lorsque le nombre d'itérations atteint la valeur ItMax (prévoir les deux cas). Utiliser pour cela la fonction calc_norme définie à la question ll.B.2.j.(vü. II.B.S.e.(vü) Ecrire la fin de la fonction afin de renvoyer tous les arguments de sortie définis au début de la question ll.B.2.j. II.C. Programme principal II.C.1. Début du programme II.C.1.a. Définir les variables epais (épaisseur du mur), conclue (conductivité thermique), rho (masse volumique), Cp (capacité thermique massique), Tint (température intérieure), Textl 8/12 (température extérieure pour les instants t < 0), Text2 (température extérieure pour les instants t > O), N (nombre de points de calcul à l'intérieur du mur) et Dt (intervalle de temps élémentaire) et leur affecter les valeurs correspondant au problème physique défini au début de l'énoncé. On prendra un nombre de points de discrétisation N = 60 et un pas de temps At de 25 secondes. II.C.1.b. Calculer les coefficients a et b avec la formule trouvée àla question II.A.2. II.C.1.c. Créer un vecteur X dont les éléments xl, x2, , xN sont définis àla question ll.B.l.b. II.C.1.d. Calculer le vecteur des températures initiales T O. II.C.1.e. Calculer alpha selon la formule trouvée à la question ll.A.l. Calculer r en utilisant la formule calculée àla question ll.B.2.h. II.C.2. Calcul des températures II.C.2.a. Ecrire un morceau de programme qui demande à l'utilisateur quel schéma (explicite ou implicite) il souhaite utiliser et qui appelle la fonction correspondante. II.C.3. Analyse du résultat II.C.3.a. Ecrire un morceau de programme permettant de tracer sur un même graphique le profil de température en fonction de X tous les 100 pas de temps. II.C.S.b. Faire afficher le temps en heures au bout duquel le régime permanent est établi. Fin de l'énoncé 9/12 ANNEXE A : COMMANDES ET FONCTIONS USUELLES DE SCILAB A=[ab cd;e fg h;ij kl] Description : commande permettant de créer une matrice dont la première ligne contient les éléments a, b, c, d, la seconde ligne contient les éléments e, f, g, h et la troisième, les éléments i, j, k, l. Exemple : A=[12 3 4 5;31011 12 20;010 0 2] ® 1. 2. 3. 4. 5. 3. 10. 11. 12. 20. 0. 1. 0. 0. 2. A(i,j) Arguments d'entrée : les coordonnées de l'élément dans le tableau A. Argument de sortie : l'élément (i, j) de la matrice A. Description : fonction qui retourne l'élément (i, j) de la matrice A. Pour obtenir toute la colonne j de la matrice A, on utilise la syntaxe A(: , j). De même, pour accéder à l'intégralité de la ligne L' de la matrice A, on écrit A(i, : ). Exemple: A=[12 3 4 5;31011 12 20;010 0 2] A(2,4) © 12 A(:,3) ® 3. 11. 0. A(2,:) ® 3. 10. 11. 12. 20. x=[x1szzx2] Description : commande permettant de créer un vecteur dont les éléments sont espacés de Dx et dont le premier élément est 361 et le dernier élément est le plus grand multiple de Dx inférieur ou égal à 362. ATTENTION: le vecteur ainsi créé est un vecteur ligne. Pour convertir un vecteur ligne en un vecteur colonne, on le transpose en utilisant l'apostrophe « ' » : x_trans=x'. Exemple : x=[2:0.5:6.3] ® 2. 2.5 3. 3.5 4. 4.5 5. 5.5 6. x_trans=x' ® 2. 2.5 3. 3.5 4. 4.5 5. 5.5 6. zeros(n,m) Arguments d'entrée : deux entiers n et m correspondant aux dimensions de la matrice à créer. Argument de sortie : un tableau (matrice) d'éléments nuls. Description : fonction créant une matrice (tableau) de dimensions n >< m dont tous les éléments sont nuls. 10/12 Exemple : zeros(3,4) plot(x,y) Arguments d'entrée : un vecteur d'abscisses x (tableau de dimension n) et un vecteur d'ordonnées )! (tableau de dimension n). Description : fonction permettant de tracer sur un graphique n points dont les abscisses sont contenues dans le vecteur x et les ordonnées dans le vecteur y. Exemple : x= [3:0.1:5] y=sin(x) plot(X,y) ANNEXE B : BIBLIOTHEQUE NUMPY DE PYTHON Dans les exemples ci-dessous, la bibliothèque numpy a préalablement été importée à l'aide de la commande : import numpy as np On peut alors utiliser les fonctions de la bibliothèque, dont voici quelques exemples : 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). Description : fonction permettant de créer une matrice (de type tableau) à partir d'une liste. EXÆpl_EUR : np.array([4,3,2]) ® [4 3 2] np-âïfäY(ll5lal7lallll) @ [[5] [7] ...] np.array([[3,4,lO],[l,8,7]]) ® [[3 4 10] [l 8 7]] A[i,j]. Arguments d'entrée : un tuple contenant les coordonnées de l'élément dans le tableau A. Argument de sortie : l'élément (i + 1, j + 1) de la matrice A. Description : fonction qui retourne l'élément (i + 1, j + 1) de la matrice A. Pour obtenir toute la colonne j+l de la matrice A, on utilise la syntaxe A[: , j]. De même, pour accéder à l'intégralité de la ligne i+l de la matrice A, on écrit A[i, : ]. ATTENTION : en langage Python, les lignes d'un A de dimension n X 111 sont numérotées de 0 à n -- 1 et les colonnes sont numérotées de 0 à m -- 1 Exemple : A=np.array([[3,4,lO],[l,8,7]]) A[O,2] © 10 A[:,2] © [10 7] A[l,:] ® [1 8 7] 11/12 np.zeros((n,m)) Arguments 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. Description : fonction créant une matrice (tableau) de dimensions n >< m dont tous les éléments sont nuls. Exemple : np.zeros((3,4)) © uooooe [000OE mooon np.linspace(Min,Max,nbElements) Arguments d'entrée : un tuple de 3 entiers. Argument de sortie : un tableau (vecteur). Description : fonction créant un vecteur (tableau) de nbElements nombres espacés régulièrement entre Min et Max. Le 1er élément est égal à M in, le dernier est égal à Max et les éléments sont espacés de (Max -- M in) / (nbE lements -- 1) : Exemple : np.linspace(3,25,5) c>[385141952fl ANNEXE C : BIBLIOTHEQUE MATPLOTLIB.PYPLOT DE PYTHON Cette bibliothèque permet de tracer des graphiques. Dans les exemples ci-dessous, la bibliothèque matplotlib.pyplot a préalablement été importée à l'aide de la commande : import matplotlib.pyplot as plt On peut alors utiliser les fonctions de la bibliothèque, dont voici quelques exemples : plt.plot(x,y) Arguments d'entrée : un vecteur d'abscisses x (tableau de dimension n) et un vecteur d'ordonnées )! (tableau de dimension n). Description : fonction permettant de tracer sur un graphique de n points dont les abscisses sont contenues dans le vecteur x et les ordonnées dans le vecteur y. Cette fonction doit être suivie de la fonction plt.show() pour que le graphique soit affiché. Exemple : x= np.linspace(3,25,5) y=sin(x) plt.plot(x,y) plt.xlabel('x') plt.ylabel('y') plt.show() plt.xlabel(nom) Argument d'entrée : une chaine de caractères. Description : fonction permettant d'afficher le contenu de nom en abscisse d'un graphique. plt.ylabel(nom) Argument d'entrée : une chaine de caractères. Description : fonction permettant d'afficher le contenu de nom en ordonnée d'un graphique. plt.show() Description : fonction réalisant l'affichage d'un graphe préalablement créé par la commande plt.plot(x,y). Elle doit être appelée après la fonction plt.plot et après les fonctions plt.xlabel et plt.ylabel. 12/12 IMPRIMERIE NATIONALE -- 151318 -- D'aprèsdocumentsf0urnis

Extrait du corrigé obtenu par reconnaissance optique des caractères


 CCP Modélisation de systèmes physiques ou chimiques PC 2015 -- Corrigé Ce corrigé est proposé par Virgile Andreani (ENS Ulm) ; il a été relu par Olivier Frantz (Professeur agrégé en école d'ingénieurs) et Julien Dumont (Professeur en CPGE). Ce sujet de modélisation est une nouveauté de cette année. Il a pour but d'évaluer les capacités des candidats à formaliser un problème physique, puis à implémenter plusieurs algorithmes décrits dans le sujet et relatifs à la simulation du système en question. Ici, il s'agit de résoudre numériquement l'équation de la chaleur à une dimension avec les conditions aux limites de Dirichlet (température fixée aux frontières du domaine). Il s'agit d'un problème classique souvent utilisé pour tester des solveurs et schémas numériques car il est relativement simple (équation linéaire, restriction facile à une seule dimension) mais peut s'étendre à la résolution de problèmes plus complexes (plusieurs dimensions, différents types de conditions aux limites, schémas numériques d'ordre supérieur...). · Dans une courte première partie, le sujet pose les bases du problème du point de vue physique et amène à le résoudre analytiquement en régime stationnaire. · La deuxième partie mène à l'implémentation de deux schémas numériques, et du programme principal qui appelle l'un ou l'autre d'entre eux. On discrétise tout d'abord le problème en temps et en espace, ce qui conduit à réécrire les équations sous une forme adaptée à la simulation numérique. Puis on écrit la fonction de simulation utilisant l'un des schémas. Le schéma concerné divergeant dans certains cas, on en développe un deuxième qui nécessite la résolution d'un système linéaire à chaque pas de la simulation. La matrice associée à ce système possède une structure particulière que l'on exploite grâce à un algorithme, fourni par le sujet, dont on ne demande que l'implémentation. Enfin, les dernières questions guident l'élaboration du programme principal. Celui-ci demande à l'utilisateur de choisir l'une ou l'autre des fonction de simulation et trace les graphes correspondants. La difficulté de ce sujet ne réside ni dans l'étude préliminaire du problème, très proche du cours, ni dans la conception d'algorithmes puisque ceux-ci sont élémentaires et fournis. Elle consiste plutôt à écrire des programmes corrects sur papier. Dans le cadre de révisions, on peut s'autoriser l'aide d'un ordinateur à partir de la question II.B.2.j. Ce sujet constitue également une bonne introduction à la résolution numérique d'équations différentielles. Indications Partie I I.C.3 Les profils doivent être intermédiaires entre les deux régimes permanents, pour trouver leur allure se demander dans quel sens se propage la variation de température. Partie II II.B.2.j.(i) D'autres paramètres que ceux mentionnés par l'énoncé peuvent être pertinents, en particulier ceux concernant les conditions aux limites ainsi que la taille des vecteurs. II.B.2.j.(ii) On pourrait utiliser par exemple le système d'exceptions de Python pour interrompre le programme. II.B.2.j.(v) Il serait pertinent de ne pas avoir à réécrire le même code ici qu'à la la question II.B.2.j.(vii) et donc de dès maintenant définir une fonction que l'on appellera aux deux endroits. II.B.3.e.(v) S'aider de l'équation établie par l'énoncé avant la question II.B.3.d. simulation numérique du transfert thermique dans un mur en régime transitoire I.A.1 On peut considérer que la température à l'intérieur du mur est uniforme selon les coordonnées y et z si les dimensions caractéristiques sur ces axes sont très grandes devant l'épaisseur e du mur. I.A.2 Calculons de deux manières différentes la variation d'énergie interne dU d'un volume dV du mur pendant une durée dt. D'une part, dU = cp dT dV et d'autre part, dU = T dt dV T = T t cp d'où Or, par définition, Comme T = T T = = 0, y z 2T 2T 2T + + x2 y 2 z 2 T 2T = t cp x2 () I.B.1 Dans le premier cas, la température est imposée en x = 0 et x = e, aux valeurs respectives Tint et Text , soit T(0, t) = Tint et T(e, t) = Text Dans le second cas, on peut considérer que l'équation de la question précédente s'applique toujours en x = e, mais avec une conductivité beaucoup plus faible que dans le reste du mur, c'est-à-dire avec une valeur de quasiment nulle. Par conséquent, la dérivée temporelle de la température à la limite extérieure du mur est nulle : T(0, t) = Tint et T t =0 e,t I.C.1 En régime permanent, la dérivée temporelle de T est nulle, et l'équation () se simplifie par suite en 2T =0 x2 La température du mur en un point donné de celui-ci est donc constante dans le temps et suit une fonction de x dont la dérivée seconde est nulle : c'est une fonction affine. Par conséquent, T(x, t) = ax + b Pour toute valeur de t, on a T(t, 0) = Tint , soit b = Tint . La température en e valant Text1 ou Text2 selon le signe de t, on a finalement Text - Tint a= e soit T(x, t1 ) = Text1 - Tint x + Tint e et T(x, t2 ) = Text2 - Tint x + Tint e où t1 et t2 , définis dans l'énoncé, sont deux instants respectivement antérieur à t = 0 et très éloigné dans le futur. I.C.2 Ces deux profils sont ceux de fonctions affines. T 20 C t1 < 0 10 C t2 > 0 e 0 x -10 C I.C.3 Entre ces deux régimes permanents, le changement de température se propage de la paroi extérieure du mur vers l'intérieur de la maison, ce qui est représenté sur le graphe par les courbes pointillées. II.A.1 D'après le résultat de la question I.A.2, = cp II.A.2 On détermine b en utilisant T(0, 0) = Tint , puis l'on déduit la valeur de a de l'équation T(e, 0) = Text1 , d'où a= Text1 - Tint e et b = Tint II.B.1.a On compte N + 1 intervalles x dans l'épaisseur e du mur, d'où x = e N+1 II.B.1.b Le ie point se situe en xi = i x. II.B.2.a Le développement de Taylor à l'ordre 3 de la fonction T(x, t) en x s'écrit T(x + x, t) = T(x, t) + x T x + x,t x2 2 T 2 x2 + x,t x3 3 T 3! x3 + o x3 + o x3 x,t Similairement, en remplaçant x par -x, T(x - x, t) = T(x, t) - x T x + x,t x2 2 T 2 x2 - x,t x3 3 T 3! x3 x,t