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

Thème de l'épreuve Modélisation du mouvement d'une plateforme en mer
Principaux outils utilisés oscillateur harmonique non amorti, oscillateur harmonique amorti, oscillations sinusoïdales forcées, résolution numérique d'équations différentielles, méthode d'Euler
Mots clefs oscillateur harmonique, énergie mécanique, équation harmonique, algorithme d'Euler, algorithme Leapfrog

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)
              

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


 CCINP Modélisation de systèmes physiques ou chimiques PC 2019 -- Corrigé Ce corrigé est proposé par Gaëlle Dumas (professeur agrégé) ; il a été relu par Jean-Christophe Tisserand (professeur en CPGE) et Cyril Ravat (professeur en CPGE). Le sujet porte sur le mouvement d'une plateforme en mer, d'abord modélisé de façon analytique puis simulé numériquement. Le modèle choisi est celui, très simplifié, d'un système masse-ressort à un degré de liberté, avec ou sans amortissement et éventuellement soumis à une excitation extérieure représentant l'action des vagues. · Dans la première partie, on s'intéresse à la résolution analytique du mouvement horizontal de la plateforme. L'étude, très classique, revient à considérer un oscillateur harmonique à l'aide du principe fondamental de la dynamique puis à aborder des aspects énergétiques. Les vagues sont dans un deuxième temps représentées par une force extérieure ajoutée au modèle, ce qui conduit à quelques questions en représentation complexe. L'ensemble est plutôt simple et ne demande aucune connaissance supplémentaire au cours de PCSI, qu'il s'agit de redémontrer avec des notations originales mais non déroutantes. · Dans la deuxième partie, on tente de simuler le mouvement de la plateforme à l'aide de deux méthodes d'intégration numériques : la méthode classique d'Euler et celle, moins classique, de Leapfrog. Si quelques calculs théoriques sont demandés, il s'agit principalement de questions de programmations assez élémentaires, dont la réponse consiste essentiellement à écrire des boucles ou à utiliser des fonctions Numpy qui le font automatiquement. · Enfin, on compare les résultats analytiques et numériques dans une troisième partie, plus courte que les deux premières. On utilise pour cela le critère de l'« erreur maximale absolue », que l'on détermine à la fois d'après des valeurs numériques de simulation et théoriquement. Cela permet de montrer que la méthode d'Euler, pour simple qu'elle soit, n'est pas une panacée et obtient dans ce cas de moins bons résultats que d'autres algorithmes plus complexes. Ce problème utilise uniquement des notions issues des cours de mécanique du point et d'ingénierie numérique. Il est ainsi tout à fait abordable avant la fin de la première année. La première partie est extrêmement proche du cours théorique, et le modèle choisi est assez éloigné du système réel. On aurait préféré étudier par exemple comment la structure de la plateforme peut déterminer la pulsation de résonance. De plus, le raisonnement est haché par un grand nombre de questions, notamment en début d'énoncé, ce qui conduit à une certaine lassitude. Les deux autres parties, qui ne traitent que d'informatique, sont également d'une difficulté raisonnable. Les questions de programmation sont malheureusement un peu répétitives et n'évaluent qu'une très faible partie des notions vues en classe. Le recours au module Numpy semble préconisé par l'annexe mais n'est pas explicitement requis par l'énoncé. L'utilisation des listes implique cependant une augmentation importante de la réflexion aux questions 31, 34 et 35. Ce sujet peut donc permettre de réviser quelque peu l'ingénierie numérique, mais son intérêt est limité. Notons que les épreuves de modélisation au CCINP sont habituellement d'un niveau plus élevé. Indications Partie I 1 Il faut en réalité montrer que ces forces n'interviennent pas dans le mouvement. 6 Attention à tenir le raisonnement dans l'ordre : il faut d'abord déterminer l'énergie mécanique, remarquer qu'elle est constante et enfin justifier cette conservation. 9 Comme à la question 3, il faut utiliser les conditions initiales. 10 Comme à la question 4, développer le cosinus par des formules de trigonométrie. 11 Les conditions initiales sont quelconques : la dérivée initiale est a priori non nulle. 12 On ne doit pas chercher à obtenir une expression parfaite de E(t), mais il est préférable de trouver le plus important facteur multiplicatif commun. Attention, pour le cas = 1, cette expression de E(t) n'est plus valable. 13 Utiliser le théorème de l'énergie mécanique est bien plus rapide que de dériver l'expression obtenue à la question précédente. 14 On peut commencer par écrire le rapport de x(t2 ) et x(t1 ). Un développement limité est nécessaire, sachant que l'amortissement est faible. 19 C'est un calcul de résonance. Il faut dériver le carré du dénominateur. 20 On doit vérifier la proximité de la pulsation forcée et de celle de résonance. Partie II 21 Ne pas oublier que le nombre N doit être entier. 22 On peut utiliser la fonction np.linspace donnée en annexe, ou remplir itérativement un tableau. 24 L'énoncé ne précise pas s'il est préférable d'utiliser des tableau Numpy ou des listes, mais l'utilisation de tableaux Numpy simplifie les réponses ultérieures. 25 La formule de Taylor, appliquée à la fonction x(t) en t et t + t, permet de déterminer le lien entre xn+1 , xn et vn+1/2 . Si l'on procède de même avec v(t), on peut obtenir de plus une relation simple entre vn+1/2 , vn-1/2 et vn , permettant d'exprimer l'accélération. 27 Attention aux indices : xn et vn-1/2 correspondent respectivement à x[n] et v[n]. 28 Veiller à ce que v[i+1] soit affectée avant x[i] dans la boucle. 31 La fonction np.cos permet l'utilisation d'un tableau Numpy comme argument. Elle s'applique alors sur chaque élément du tableau. 34 La soustraction fonctionne élément par élément sur deux tableaux Numpy de même taille. L'utilisation des fonctions np.abs et np.max est recommandée. Partie III 37 L'énoncé demande le lien entre l'erreur et le pas de calcul t. On peut donc comparer comment varie l'erreur de chaque algorithme quand le pas de temps est multiplié par 2, par 5 ou par 10. 38 Il faut commencer par exprimer En+1 en fonction de En , à l'aide des relations de récurrence de l'algorithme sur xn et vn . Ensuite, l'erreur à calculer est la valeur finale de l'écart entre les énergies réelle et simulée. 40 On doit calculer pour chaque algorithme la valeur de xn en partant du couple (xn+1 , vn+1 ) ou (xn+1 , vn+1/2 ), avec un pas négatif. I. Résolution analytique et détermination des paramètres pour la modélisation 1 Le bilan des forces s'appliquant sur la masse m donne -- -- - - - - Ftot = Fexc + Fk + Fd + P + RN - - avec le poids P et la réaction normale au support horizontal RN , portés par l'axe vertical. Or, le mouvement se situe sur l'axe horizontal Ox. La projection de ce bilan sur l'axe Ox s'écrit, avec - ex le vecteur unitaire correspondant, -- - Ftot · ex = Ftot = Fexc + Fk + Fd + 0 + 0 On peut ainsi conclure que le poids et la réaction normale du support n'interviennent pas dans les équations du mouvement. Attention, contrairement à ce que demande l'énoncé, le poids et la réaction normale du support interviennent toujours dans le bilan des forces ! 2 On applique sur la masse le principe fondamental de la dynamique dans le référentiel terrestre, supposé galiléen. Après projection sur l'axe Ox, il vient m x = Fexc + Fk + Fd On considère ici l'amortissement et la force d'excitation nuls. On obtient alors - m x = F avec F =F ·- e = -k k k k x où est l'allongement algébrique du ressort. Cet allongement augmente si x augmente ; à l'équilibre, = 0 et x = 0. Cela signifie que x = . Finalement, m x = -k x ou encore m x + k x = 0 3 D'après l'énoncé, on cherche une solution de cette équation de la forme x(t) = A0 sin(0 t) + B0 cos(0 t) On dérive 2 fois pour avoir l'accélération : x(t) = 0 [A0 cos(0 t) - B0 sin(0 t)] x(t) = -0 2 [A0 sin(0 t) + B0 cos(0 t)] = -0 2 x(t) puis En injectant x dans l'équation différentielle, on obtient -m 0 2 x(t) + k x(t) = 0 La forme de x(t) proposée est donc solution de l'équation différentielle si on pose r k 0 = où 0 représente la pulsation propre du système m Pour déterminer les constantes A0 et B0 , on utilise les conditions initiales x(0) = x0 et x(0) = x0 . En identifiant avec les expressions de x(t) et de x(t) à t = 0, il vient B0 = x0 donc A0 = x0 0 et B0 = x0 et 0 A0 = x0 soit x(t) = x0 cos(0 t) + x0 sin(0 t) 0 L'énoncé découpe beaucoup le raisonnement sur ces premières questions. Il faut en rédiger les réponses proprement et efficacement, ne pas perdre trop de temps tout en montrant au correcteur que l'on a la rigueur nécessaire. 4 On souhaite exprimer x(t) sous la forme x(t) = R0 cos(0 t - 0 ) que l'on peut développer pour obtenir x(t) = R0 [cos (0 t) cos 0 + sin (0 t) sin 0 ] En identifiant avec la forme x(t) = A0 sin (0 t) + B0 cos (0 t), on obtient le système x0 R0 sin 0 = A0 = R cos = B = x 0 0 R 2 0 soit R0 = s 0 2 2 0 2 cos 0 + sin 0 = x0 + tan 0 = On obtient ainsi 0 x0 0 2 + x0 2 x0 0 x0 et x0 0 2 tan 0 = x0 0 x0 5 On représente l'évolution de x(t) en fonction du temps t, à partir de x(0) = x0 , avec x(0) 6= 0. L'amplitude de x(t) est R0 , la période est 2 /0 . R0 x(t) x0 t 0 6 L'énergie potentielle du système n'est due qu'à l'action du ressort, car le mouvement est horizontal. Elle s'écrit 1 1 U(t) = k x2 (t) = k R0 2 cos2 (0 t - 0 ) 2 2 Puisque 0 2 = k/m, l'énergie cinétique est donnée par K(t) = 1 1 1 m x2 (t) = m R0 2 0 2 sin2 (0 t - 0 ) = k R0 2 sin2 (0 t - 0 ) 2 2 2