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)
              

É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

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