CCINP 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é

 : 👈 gratuite pour tous les corrigés si tu crées un compte
👈 l'accès aux indications de tous les corrigés ne coûte que 1 € ⬅ clique ici
👈 gratuite pour tous les corrigés si tu crées un compte
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Énoncé complet

(télécharger le PDF)
                             

Rapport du jury

(télécharger le PDF)
              

Énoncé obtenu par reconnaissance optique des caractères


SESSION 2019 PCMS006

INP

CONCOURS
COMMUN
INP

ÉPREUVE SPÉCIFIQUE - FILIÈRE PC

MODÉLISATION DE SYSTÈMES PHYSIQUES OU CHIMIQUES

Jeudi2mai:8h-12h

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 autorisées

Le sujet est composé de trois parties partiellement indépendantes.

1/10
Modélisation du mouvement d'une plateforme en mer

On s'intéresse à la résolution d'équations du mouvement dans une approche 
classique de la méca-
nique afin d'étudier le mouvement d'une plateforme en mer. Le modèle envisagé 
est un système à un
degré de liberté considéré comme oscillateur harmonique : une masse est reliée 
à un ressort, avec ou
sans amortissement, et peut être soumise à une excitation externe.

La résolution est tout d'abord abordée de façon analytique puis de façon 
numérique, avant enfin de
comparer les résultats obtenus.

Les résolutions analytiques et numériques sont largement indépendantes.
Dans la suite de l'énoncé, toutes les grandeurs vectorielles sont indiquées en 
gras.

Un aide-mémoire sur numpy est donné en Annexe.

On considère le mouvement d'une plateforme en mer soumise à un courant marin. 
Sa partie supérieure
de masse m = 110 tonnes est considérée comme rigide et le mouvement principal 
de la plateforme a
lieu suivant x (figure 1(a)).

Afin d'étudier le mouvement de cette plateforme, on la représente par une masse 
m, liée à un ressort
de constante de raideur £ et à un amortisseur de constante d'amortissement y, 
pouvant subir une
excitation externe de force F,., et se déplaçant sur un support (figure 1(b)). 
Le ressort représente la
rigidité de l'ensemble du support de la plateforme. L'amortisseur permet de 
prendre en compte l'eftet
de l'eau environnante et la force d'excitation externe celui des vagues qui 
frappent périodiquement
la plateforme. La masse est supposée se déplacer selon une seule direction 
parallèle à l'axe Ox en
fonction du temps f.

MASSE -- m
SUPPOTT ----
vague
F
m exc
base 4, LDDDDODDDDD

(a) (b)

Figure 1 -- (a) Plateforme en mer soumise aux vagues marines, (b) système masse 
(m), ressort (K),
amortisseur (y) et excitation externe (Fxc)

Les projections sur l'axe Ox de la position, de la vitesse et de l'accélération 
de la masse en fonction du
temps sont notées respectivement x(f), x(f) et X(r). La force totale F},, 
agissant sur la masse correspond
à la réaction normale R\ de la base horizontale, à la force de frottement F4, à 
la force de rappel F4
du ressort, au poids P de la masse et à la force F,.. d'excitation externe. La 
position d'équilibre de
la masse sera choisie à x = 0. En l'absence d'action de l'amortisseur, la masse 
se déplace sur la base
horizontale sans frottements.

2/10
Partie I - Résolution analytique et détermination des paramètres pour la
modélisation

QI. En effectuant une projection sur l'axe Ox, montrer que P et R\ 
n'interviennent pas dans le
bilan des forces.

I.1 - Ressort sans amortissement et sans excitation

Q2. Démontrer que l'équation du mouvement de la masse correspond à l'équation 
différentielle du
second ordre suivante :

mi + kx = (0. (1)

Q3. La solution de cette équation prend la forme générale suivante

x?) = Ao Sin(Wof) + Bo COS(wof) (2)

avec A, et Bo deux coeïlicients réels. Exprimer &w, en fonction des grandeurs 
caractéristiques
du système et donner sa signification physique. De plus, en remarquant qu'à f = 
0 : x(f) = x
et X(f) = ïo, déterminer les expressions de À, et de B, en fonction de xo, à et 
de wo.

Q4. On cherche à reformuler l'équation précédente sous une forme plus compacte 
du type :

X(1) = Ro CoS(wot -- bo). (3)

Donner les expressions de À, et de 4, en fonction de xs, X et de wo.

Q5. Représenter qualitativement x(f) en fonction de f et indiquer sur le tracé 
Ro, xo et 27/wo.

Q6. En utilisant les expressions des énergies cinétique X(r) et potentielle 
U(r) du système, montrer
que l'énergie totale E(f) du système est alors :

E(D = (4)

Justifier le résultat obtenu.

Q7. Représenter qualitativement E(f), K(r) et U(r) en fonction de f.

1.2 - Ressort avec amortissement et sans excitation

QS. La force de frottement que l'amortisseur exerce sur la masse est considérée 
comme linéaire,
c'est-à-dire proportionnelle au vecteur vitesse v de celle-ci : F4 = --7v, avec 
y constante
d'amortissement (> 0). En considérant une projection sur l'axe Ox, démontrer 
que la position
de la masse en fonction du temps suit l'équation du mouvement ci-après

À + 2 wi + wEx = 0 (5)
avec &, défini en question Q3 et / à exprimer en fonction de y, &k et m.

3/10
Q9.

Q10.

Q11.

Q12.

Q13.

Q14.

Q15.

Dans le cas où £ < 1, x(f) prend la forme suivante : x?) = eV (Aa cos(wat) + Ba Sin(waf)) : (6) Déterminer les deux coefficients réels A, et B; en fonction de xo, *o, &, wo et &g = wo: V1 --- &. On utilisera pour cela les mêmes conditions initiales que celles utilisées en question Q3. Montrer alors que l'on peut obtenir une forme du type X(t) = Rje {2 COS(&@gf -- Da) (7) avec Ra et Da à préciser. Représenter qualitativement x(#) en fonction de f et indiquer sur le tracé Rae", xo et 27/wu. Donner l'expression de E(f) et commenter les cas où {Z = 0 et" = I. Montrer de façon simple que E est une fonction décroissante de r. À quoi cela est-il dû ? On envisage deux temps successifs 7, et # pour lesquels les déplacements sont x; et x, tels que f > ti et -- fi = Ta, aVec TA : période des oscillations amorties. En 
utilisant l'équation (7)
et en considérant que Y 1, montrer que :

In(xi/x2) & 276. (8)

Le relevé du déplacement horizontal de la plateforme en fonction du temps est 
représenté en
figure 2.

En utilisant les deux points qui sont indiqués sur la figure, déterminer k, £ 
et y.

Comment ce tracé serait modifié en fonction de la valeur de 7?

0,03

0.02 (8,008008 ; 0,010661) |
| (4,004004 : 0,014602

0,01 |

MU VV

--0,02 CL | | Lt 1 | |
0 2 4 6 8 10 12 14
[(s)

x(m)

Figure 2 -- Relevé du déplacement horizontal x (en m) de la plateforme de masse 
m = 110 tonnes en
fonction du temps f (en s). Les deux temps f, et f mentionnés en question Q14 
sont indiqués

4/10
1.3 - Ressort avec amortissement et avec excitation

On envisage enfin le cas où le système est soumis à la fois aux effets 
d'amortissement et d'excitation.

On se limite 1c1 à la réponse à une excitation harmonique sinusoïdale de 
fréquence w produite par une
force extérieure au système
Fexe() = Fo cos(wt)e, (9)

avec e, vecteur unitaire sur l'axe Ox et on se place dans le cas traité 
précédemment pour l'étude de
l'amortisseur, c'est-à-dire £ < 1 (I.2). On admet de plus dans ce qui suit que la réponse du système dans le cas où amortisseur et excitation sont pris en compte peut s'écrire comme somme de la solution donnée par l'équation (6) et de la contribution due à l'excitation : Xexc(f) = X cCos(wf -- ). (10) Q16. Montrer que l'équation différentielle caractérisant le système devient alors : F X + 2Ë 0x + OX -- _ COS(wf). (11) Q17. En utilisant l'équation (10) et en privilégiant une représentation complexe, vérifier que : | Fo 1 X = ©. m 2 _, 22 2 2 tan ® -- Lo U &O; -- & X Q18. Exprimer la grandeur M = F en fonction de r = w/«, et expliciter le sens physique de M. 0 Q19. Trouver la condition sur r puis sur w pour laquelle M est maximale. Q20. Si l'on considère une période moyenne des vagues en mer de 8 s, que peut-on conclure sur le mouvement de la plateforme ? 5/10 Partie II - Modélisation : codage On souhaite maintenant obtenir x(f) et E(f) de façon numérique et comparer les résultats obtenus à ceux fournis par les solutions analytiques précédentes pour x({f). On rappelle que x{f) et E(f) repré- sentent respectivement la position de la masse et l'énergie mécanique totale en fonction du temps. Pour cela, le temps est discrétisé en N points f = 0, Af,2Af, ...,(N -- 1)Af avec un pas de temps constant Af. Les N -- I pas sont effectués pendant la simulation de durée totale f,,,. On note respecti- vement Xn, Vns Ans En EURt F, les valeurs de x(#), x(r), X(r), E(r) et Fee) à 1 = nAt. À chaque pas, les équations du mouvement reliant x,,, et v,:1 à x, et v, sont utilisées afin d'obtenir les valeurs de x, v et E. Les conditions initiales x, et v, Sont connues et permettent de démarrer le processus d'intégration numérique. Deux algorithmes distincts (Euler et Leapfrog) vont être utilisés dans la suite. Pour l'écriture du code, on se place dans le cas le plus général, c'est-à-dire avec amortissement et excitation harmonique externe. Les variables et tableaux suivants sont notamment choisis : N nombre de points sur l'axe des temps utilisés pendant toute la simulation t[] tableau des temps (s), de dimension N x[] tableau des positions (m), de dimension N v[] tableau des vitesses (m.s_!), de dimension N E[] tableau des énergies totales (J), de dimension N F[] tableau des forces d'excitation (N), de dimension N dt pas de temps (s) tmax temps total de la simulation (s) k constante de raideur du ressort (N.m |) m masse du système (kg) om  wp(s |) zeta (sans unité) Tableau 1 -- Principaux tableaux et principales variables utilisés pour la résolution numérique On rappelle qu'un aide-mémoire sur numpy est fourni en Annexe, page 10. Q21. Écrire les lignes de code permettant de définir l'entier N. On suppose fnax et Af connus et fixés par l'utilisateur en début de code. Q22. Écrire alors l'instruction permettant de définir le tableau t qui contient toutes les valeurs de f telles que : 0 < f < 1%. On rappelle que le temps est discrétisé en N points t= 0, Af,2Af, ...,(N -- 1 )Af avec un pas de temps constant Af et que N -- I pas sont effectués. Q23. En effectuant des développements de Taylor de x et v tronqués à l'ordre 1, on obtient l'al- corithme d'Euler, où x et v sont évalués au même temps f selon le schéma donné figure 3, page 7 : Xn41 À Xn +Vn NM 13 Val © Vn + dy: Nt 3) Donner les expressions de x,,, et v,., en fonction de x,, v, et F;. 6/10 TO; V0 T1; V1 T2; V2 to t to Figure 3 -- Discrétisation en temps utilisée dans le cas de l'algorithme d'Euler. Les conditions initiales correspondent à (Xo; vo) Q24. Q25. Q26. Q27. Q28. Q29. Écrire la boucle en i permettant d'obtenir toutes les valeurs de x[1+1], v[1+1] et E[1+1] où 1 correspond à un point sur l'axe des temps. On précisera les variables éventuellement introduites en supposant qu'elles ont été définies dans le code. Dans  l'algorithme de Leapfrog, les x sont évalués aux temps entiers, c'est-à-dire à f--=0,Af,2A1,...,(N --I)Af, alors que les v sont évalués à t = --A\t/2,\t/2,3At/2,...,(N --1)Ar---At/2 selon le schéma donné figure 4. Ainsi, pour cet algorithme, x[1i] représente de façon approchée la position à l'instant if, et v[1] représente de façon approchée la vitesse à l'instant (1 -- 1/2)Ar. U_1/2 Zoo  V1/2 ZX: 03/2  Z2  U5/2 O FN TS FN PS oo PS +" L +" d +" L Y CR t_yo to 172 t t3/2 to 5/2 Figure 4 -- Discrétisation en temps utilisée dans le cas de l'algorithme de Leapfrog. Les condi- tions initiales correspondent à (xo; v_112) Pour le système considéré, montrer alors que x,,1 et v:,1/2 prennent les formes suivantes : Xn+1 À Xn + Va+192 * AT 2 At 1 -- CwpAt F (14) 1 + ÊwoAt 1 + ÊwoAt m(1 + ÊwoAf) Vn+1/2 © Quel problème pose l'évaluation de E[1+11] ? Dans la suite, on préfèrera ainsi évaluer ET1]. Comment obtenir E[1] à partir de x[1] et v[1] ? En introduisant deux variables fac1 et fac2 correspondant respectivement à 1 -- ZwoAf et T+ cor écrire la boucle en i permettant d'obtenir toutes les valeurs de x[1+1] et v[1i+1]. &0 Compléter la boucle de la question Q28 avec le calcul du terme d'énergie totale. 7/10 Q30. Écrire une fonction integration(F) qui prend en argument le tableau F[] des forces d'ex- citation et renvoie les tableaux x[], v[] et E[] complétés. On introduira pour cela une variable algo supposée définie en global, permettant d'appliquer l'algorithme d'Euler si algo==® ou de Leapfrog si algo==1. On considèrera également le cas f = 0. Q31. Écrire une fonction force(f£,t,w) qui prend en argument F9, f, et w de l'équation (9) et retourne la valeur de FX pour un temps t donné. Q32. Écrire une fonction force_exc() qui complète et retourne le tableau F[] des forces d'excita- tion en fonction du booléen exc défini globalement valant True si une excitation est appliquée au système, False sinon. Dans le cas où exc==True, on appellera la fonction force définie précédemment en ques- ton Q31. Dans le cas où exc==False, on prendra alors : F[1]=06, Vi. Q33. Donner alors les lignes de code permettant de réaliser la simulation numérique à partir des fonctions précédentes. Q34. On souhaite désormais estimer la qualité des résultats numériques par rapport aux données analytiques de référence. Écrire une fonction ema(d, dref) qui calcule l'erreur maximale ab- solue entre un jeu de données numériques dn et analytiques da. On supposera que les tableaux dn et da sont de même dimension n. Q35. Pour le problème particulier qui nous intéresse, si l'on souhaite appliquer cette fonction aux tableaux contenant les données numériques et analytiques pour E, quel est l'indice maximal de ces tableaux à considérer ? Réécrire alors la fonction ema pour qu'elle soit applicable aux deux algorithmes considérés. Partie III - Modélisation : analyse des résultats d'un cas simple Toutes les données numériques suivantes ont été obtenues avec : fa, = 10 $s, m = 110 tonnes, xo = 0,02 m et vo = 0 m.s ! et la valeur de k obtenue en question Q15, dans le cas d'un système sans amortissement et sans excitation externe. Le tableau 2 en page 9 présente les erreurs maximales absolues (EMA) calculées avec la fonction ema des énergies obtenues numériquement par rapport à celles obtenues analytiquement, pour les deux algorithmes envisagés et divers pas de temps. Q36. Justifier l'ordre de grandeur des Af considérés du tableau 2 pour la discrétisation en temps utilisée. Q37. En utilisant les données numériques du tableau 2 donner l'ordre approximatif de l'erreur glo- bale sur E des deux algorithmes considérés. Justifier votre réponse. Q38. Dans le cas simple de l'algorithme d'Euler, comment augmente E lorsqu'on passe de f, à f,,1 ? Relier alors ce résultat aux données du tableau 2. 8/10 Af (s) EMA Euler Leapirog 0,050 128,0203160 0,0837314 0,010 15,1373529  0,0033484 0,005  7,1159053  0,0008371 0,001  1,3556230  0,0000335 Tableau 2 --- EMA obtenues pour E (en J) par rapport à la valeur analytique, pour différents pas de temps Af, dans le cas où 1l n'y a pas d'amortissement et d'excitation externe Une propriété importante que devrait vérifier un algorithme d'intégration est la réversibilité dans le temps : en partant des positions et vitesses d'un temps f + Af et en appliquant un pas de temps --Af, un algorithme réversible en temps devrait redonner les positions et vitesses du temps f. En pratique, en partant d'un couple (x,; v,), on applique donc tout d'abord un pas Af pour déter- miner (Xi4153 Vnr1), PUIS On applique un pas --Af afin d'obtenir (%,; VA). S1 (Xi; vu) = (x; Mn), alors l'algorithme est dit réversible en temps. Q39. Pourquoi s'agit-1l d'une propriété importante à vérifier pour le problème considéré ? Q40. Donner l'expression de x, en fonction de x, pour les deux algorithmes considérés. Peut-on déjà conclure sur la réversibilité en temps de chacun de ces algorithmes ? Q41. Donner alors l'expression de v, en fonction de v, lorsque nécessaire et conclure sur la réversi- bilité en temps. Q42. On s'intéresse enfin à une simulation de plus grande durée (4,4 = 60 s). La figure 5 donne l'évolution de l'erreur absolue sur x entre données numériques et analytiques (le,l) pour les deux algorithmes choisis. Que peut-on mettre en évidence sur cette figure ? Figure 5 -- Erreurs absolues calculées sur la position de la masse à Af -- algorithmes considérés 0,0015} |... Euler | -- Leapfrog ; 0,0010 | TR À À 0,0005 | : ë 0,0000 FRERE RL RER O 10 20 30 40 50 16) 0,001 s, pour les deux Q43. Conclure sur les avantages et les inconvénients de chacun de ces algorithmes et sur leur adé- quation pour le traitement numérique de ce problème dans le cas où on envisage une simulation de plusieurs heures. 9/10 ANNEXE Aide-mémoire sur numpy Les bibliothèques sont importées de la façon suivante : from math import + import numpy as np La création d'un tableau numpy tab à une dimension possédant n éléments, tous initialisés à 0, est réalisée à l'aide de l'instruction : >>> tab=np.zeros(n)

Celle d'un tableau numpy tab à une dimension possédant n éléments, uniformément 
répartis entre
deux valeurs debut et fin, se fait avec :

>>> debut=0; fin =10; n=s5

>>> tab=np.linspace(debut , fin ,n)
>>> print tab

array ([ 0.0 2.5 5.0 7.5 10.0 ])

L'accès à un élément du tableau tab (en lecture ou en écriture) se fait par 
tab[1], la numérotation
des indices se faisant à partir de 0 :

>>> tab=np.zeros(4)
[ 0.0 0.0 0.0 0.0 ]
>>> tab[1]=2; tab[2]=6; print tab
[ 0.0 2.0 6.0 0.0 ]

La sélection de l'ensemble des j premiers éléments du tableau tab est possible 
avec :

>>> print tab[:3]
[ 0.0 2.0 6.0 ]

Le maximum des éléments d'un tableau tab s'obtient avec :

>>> np.max(tab)

FIN

10/10