Click here to load reader

Pendule élastique vertical · PDF file 2012. 6. 7. · Pendule élastique vertical 7 juin 2012 1 Introduction Gilbert Gastebois, dans une étude remarquable sur le pendule élastique1,

  • View
    0

  • Download
    0

Embed Size (px)

Text of Pendule élastique vertical · PDF file 2012. 6. 7. · Pendule...

  • Pendule élastique vertical

    7 juin 2012

    1 Introduction

    Gilbert Gastebois, dans une étude remarquable sur le pendule élastique 1, commence par cette très judicieuse remarque :

    « Tout élève qui a mesuré la période d’un pendule élastique a été confronté à un problème irritant : pour certaine valeur de la masse accrochée au pendule et malgré tout le soin mis à le faire osciller verticalement, le

    pendule se met à balancer de droite à gauche avant de revenir à la verticale, puis à se remettre à balancer et

    ainsi de suite.

    On interprète souvent ce phénomène par un couplage entre l’oscillation verticale et latérale qui se traduirait

    par des battements, mais si c’était le cas, cela devrait toujours exister car les deux périodes sont toujours assez

    proches, or le phénomène n’existe que pour des masses voisines de la valeur qui donne une fréquence verticale

    double de la fréquence latérale. » L’étude des oscillations du pendule est très complète dans le document de Gilbert Gastebois, aussi nous

    vous invitons à vous y reporter car elle est vraiment unique : impossible de trouver mieux sur le Web ! C’est pourquoi nous n’écrirons que les calculs aboutissant à l’établissement des équations différentielles indispensables à la simulation du phénomène.

    Je rappelle que but premier de tous les documents de ce site est d’illustrer un phénomène physique par l’utilisation de PSTricks et du package animate. La résolution numérique des équations différentielles est faite avec la macro \psplotDiffEqn du package pstricks-add. Un point très important : les données sont écrites dans un fichier sur le disque, mais cela ne peut se passer correctement que par la modification dans le fichier pstricks-add.tex de la ligne 1600 :

    \[email protected]{\[email protected] [email protected] closefile \fi}

    Que l’on remplacera par celle-ci : %\[email protected]{\[email protected] [email protected] closefile \fi}

    Le % permettant de désactiver cette commande. Nous donnerons à la fin du document des détails sur l’utilisation de la macro \psplotDiffEqn.

    2 Le pendule élastique

    2.1 Équations différentielles

    x

    y

    l0 + r

    k

    m

    θ

    O

    1. http://gilbert.gastebois.pagesperso-orange.fr/java/pend_danse/theorie_pendule_dansant.htm

    1

  • Données : l0 est la longueur initiale du ressort (non étiré ni comprimé) et r son allongement (ou son raccourcis- sement). À un instant quelconque les coordonnées de G, centre de masse de l’objet attaché à l’extrémité libre du ressort, sont :

    x = (l0 + r) sin θ

    y = −(l0 + r) cos θ

    On suppose l’objet ponctuel et les frottements négligeables. Coordonnées de la vitesse :

    ẋ = ṙ sin θ + (l0 + r)θ̇ cos θ

    ẏ = −ṙ cos θ + (l0 + r)θ̇ sin θ

    v2 = ẋ2 + ẏ2 = (ṙ sin θ + (l0 + r)θ̇ cos θ) 2 + (−ṙ cos θ + (l0 + r)θ̇ sin θ)

    2

    = ṙ2 + (l0 + r) 2θ̇2

    Énergie cinétique :

    T = 1

    2 mv2 =

    1

    2 m(ẋ2 + ẏ2)

    = 1

    2 m(ṙ2 + (l0 + r)

    2θ̇2)

    Énergie potentielle de pesanteur et élastique :

    U = 1

    2 kr2 +mgy

    = 1

    2 kr2 −mg(l0 + r) cos θ

    Lagrangien du système :

    L = T − U

    = 1

    2 m(ṙ2 + (l0 + r)

    2θ̇2)− 1

    2 kr2 +mg(l0 + r) cos θ

    Pour la variable θ :

    ∂L

    ∂θ = −mg(l0 + r) sin θ

    ∂L

    ∂θ̇ = m(l0 + r)

    2θ̇

    d dt

    ∂L

    ∂θ̇ = 2m(l0 + r)ṙθ̇ +m(l0 + r)

    2θ̈

    l’équation de Lagrange s’écrit :

    m(l0 + r) 2θ̈ + 2m(l0 + r)ṙθ̇ +mg(l0 + r) sin θ = 0

    Soit en divisant par m(l0 + r)2

    θ̈ + 2ṙθ̇

    l0 + r +

    g

    l0 + r sin θ = 0

    Pour la variable r :

    ∂L

    ∂r = m(l0 + r)θ̇

    2 − kr +mg cos θ

    ∂L

    ∂ṙ = mṙ

    d dt

    ∂L

    ∂ṙ = mr̈

    mr̈ −m(l0 + r)θ̇ 2 + kr −mg cos θ = 0

    r̈ − (l0 + r)θ̇ 2 +

    k

    m r − g cos θ = 0

    2

  • 3 Les courbes

    Toutes les courbes ci-après ont été obtenues avec les données suivantes, qui sont celles choisies par Gilbert Gastebois pour son animation :

    \newcommand\parameters{ % Gastebois

    /M1 0.1 def % masse en kg

    /l0 0.15 def % longueur à vide en m

    /K 20 def % raideur du ressort en N/m

    /G 9.8 def

    /r0 0.1 def % élongation initiale du ressort en m

    /theta0 0.02 def % angle initial en rad

    % pulsation du pendule élastique sqrt(K/m)

    /wr K M1 div def % wr^2

    }%

    0,1

    0,2

    0 0,4 0,8−0,4−0,8

    θ(t)

    r(t)

    0.1

    0 1 2 3 4 5 6 7 8 9 10−1

    t(s)

    r(t)

    r0

    3

  • 1

    2

    −1

    −2

    1 2 3 4 5 6 7 8 9 10−1

    t(s)

    ṙ(t)

    0.5

    1.0

    −0.5

    −1.0

    1 2 3 4 5 6 7 8 9 10−1

    t(s)

    θ(t)

    1

    2

    3

    −1

    −2

    −3

    1 2 3 4 5 6 7 8 9 10−1

    t(s)

    θ̇(t)

    4

  • −0.1

    −0.2

    0.1−0.1

    x

    y

    1

    2

    3

    4

    5

    −1

    −2

    −3

    −4

    −5

    0.4 0.8−0.4−0.8

    θ(t)

    θ̇(t)

    5

  • 0.5

    1.0

    −0.5

    −1.0

    0.1

    r(t)

    ṙ(t)

    6

  • 4 L’animation

    7

  • 5 Les macros de PSTricks

    Les courbes et l’écriture du fichier de données (x, y) pour l’animation sont réalisées par la macro de pstricks- add : \psplotDiffEqn. En notation algébrique, nous écrivons :

    \newcommand\SpringPendulum{

    y[2]|

    y[3]|

    (l0+y[0])*y[3]^2+G*cos(y[1])-wr*y[0]|

    -2*y[2]*y[3]/(l0+y[0])-G*sin(y[1])/(l0+y[0])

    }

    \newcommand\conditionsInitiales{r0 theta0 0 0}

    Sur la pile, les grandeurs sont stockées dans cet ordre :

    y[0] y[1] y[2] y[3]

    r theta r’ theta’

    La sauvegarde des données pour l’animation se fait avec l’option saveData :

    \begin{center}

    \begin{pspicture}(-5,-13)(5,1)

    \psgrid[subgriddiv=0,griddots=10,gridlabels=0pt](-5,-13)(5,1)

    \psaxes[dx=5,Dx=0.1,dy=5,Dy=.1](0,0)(-5,-13)(5,1)

    \uput[r](5,0){$x$}

    \uput[u](0,1){$y$}

    \psline{}(5,0)(0,0)(0,1)

    \pstVerb{ /Pi 3.1415926 def

    /deg2rad {180 div Pi mul} def

    /rad2deg {180 mul Pi div} def

    \parameters}%

    \psplotDiffEqn[plotfuncx=y dup 0 get l0 add exch 1 get rad2deg sin mul,

    plotfuncy=dup 0 get l0 add exch 1 get rad2deg cos mul neg,

    linecolor=blue, method=rk4,unit=50,

    saveData,filename=SPXYG.dat,

    plotpoints=1200,algebraic]{0}{12}{\conditionsInitiales}{\SpringPendulum}

    \end{pspicture}

    \end{center}

    8

    0.0: 0.1: 0.2: 0.3: 0.4: 0.5: 0.6: 0.7: 0.8: 0.9: 0.10: 0.11: 0.12: 0.13: 0.14: 0.15: 0.16: 0.17: 0.18: 0.19: 0.20: 0.21: 0.22: 0.23: 0.24: 0.25: 0.26: 0.27: 0.28: 0.29: 0.30: 0.31: 0.32: 0.33: 0.34: 0.35: 0.36: 0.37: 0.38: 0.39: 0.40: 0.41: 0.42: 0.43: 0.44: 0.45: 0.46: 0.47: 0.48: 0.49: 0.50: 0.51: 0.52: 0.53: 0.54: 0.55: 0.56: 0.57: 0.58: 0.59: 0.60: 0.61: 0.62: 0.63: 0.64: 0.65: 0.66: 0.67: 0.68: 0.69: 0.70: 0.71: 0.72: 0.73: 0.74: 0.75: 0.76: 0.77: 0.78: 0.79: 0.80: 0.81: 0.82: 0.83: 0.84: 0.85: 0.86: 0.87: 0.88: 0.89: 0.90: 0.91: 0.92: 0.93: 0.94: 0.95: 0.96: 0.97: 0.98: 0.99: 0.100: 0.101: 0.102: 0.103: 0.104: 0.105: 0.106: 0.107: 0.108: 0.109: 0.110: 0.111: 0.112: 0.113: 0.114: 0.115: 0.116: 0.117: 0.118: 0.119: 0.120: 0.121: 0.122: 0.123: 0.124: 0.125: 0.126: 0.127: 0.128: 0.129: 0.130: 0.131: 0.132: 0.133: 0.134: 0.135: 0.136: 0.137: 0.138: 0.139: 0.140: 0.141: 0.142: 0.143: 0.144: 0.145: 0.146: 0.147: 0.148: 0.149: 0.150: 0.151: 0.152: 0.153: 0.154: 0.155: 0.156: 0.157: 0.158: 0.159: 0.160: 0.161: 0.162: 0.163: 0.164: 0.165: 0.166: 0.167: 0.168: 0.169: 0.170: 0.171: 0.172: 0.173: 0.174: 0.175: 0.176: 0.177: 0.178: 0.179: 0.180: 0.181: 0.182: 0.183: 0.184: 0.185: 0.186: 0.187: 0.188: 0.189: 0.190: 0.191: 0.192: 0.193: 0.194: 0.195: 0.196: 0.197: 0.198: 0.199: 0.200: 0.201: 0.202: 0.203: 0.204: 0.205: 0.206: 0.207: 0.208: 0.209: 0.210: 0.211: 0.212: 0.213: 0.214: 0.215: 0.216: 0.217: 0.218: 0.219: 0.220: 0.221: 0.222: 0.223: 0.224: 0.225: 0.226: 0.227: 0.228: 0.229: 0.230: 0.231: 0.232: 0.233: 0.234: 0.235: 0.236: 0.237: 0.238: 0.239: anm0: 0.EndLeft: 0.StepLeft: 0.PlayPauseLeft: 0.PlayPauseRight: 0.StepRight: 0.EndRight: 0.Minus: 0.Reset: 0.Plus:

Search related