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