X_ENS 2015 Trajectoire d'un volant de badminton

But: en prenant les mêmes conditions initiales que sur la chronophotographie prososée par l'énoncé, tracer la trajectoire obtenue par résolution numérique de l'équation du mouvement avec frottement quadratique.

In [1]:
%display latex
In [2]:
g=9.81; vo=58; alpha=n((52*pi)/180);    # angle initial 52°
vl=6.7    #vitesse limte

On cherche à resoudre l'équation du mouvement:

$$m\frac{{\rm d}\vec{v}}{{\rm d}{\rm t}}= m\vec{g}-\beta v \vec{v}$$

Le mouvement admet une vitesse limite telle que

$$m\vec{g}=\frac{\beta}{m} v_l \vec{v}_l $$$$v_l^2=\frac{mg}{\beta}$$

En projetant sur $\vec{u}_x$ et $\vec{u}_z$ on obtient un système de deux équations différentielles d'ordre 2 couplées:

$$ \left\lbrace \begin{array}{l} \ddot{x}=-\frac{\beta}{m} \sqrt{\dot{x}^2+\dot{z}^2}\, \dot{x} \\ \ddot{z}=-\frac{\beta}{m} \sqrt{\dot{x}^2+\dot{z}^2}\, \dot{z} -g \end{array} \right. $$

que l'on peut adimensionner

$$ \left\lbrace \begin{array}{l} \frac{\ddot{x}}{g}=-\frac{1}{v_l^2}\sqrt{\dot{x}^2+\dot{z}^2} \dot{x} \\ \frac{\ddot{z}}{g}=-\frac{1}{v_l^2}\sqrt{\dot{x}^2+\dot{z}^2}\, \dot{z} -1 \end{array} \right. $$

et que l'on transforme en un système de quatre équations couplées du premier ordre, afin d'utiliser une méthode de réolution numérique (Runge-Kunta d'ordre 4)

$$ \left\lbrace \begin{array}{ll} \dot{x}=v_x& (1)\\ \dot{z}=v_z& (2)\\ \dot{v_x}=-g\frac{1}{v_l^2} \sqrt{v_x^2+v_z^2}\, v_x & (3)\\ \dot{v_z}=-g\frac{1}{v_l^2} \sqrt{v_x^2+v_z^2}\, v_z -g& (4)\\ \end{array} \right. $$

On introduit alors les quatre variables $x$, $z$, $v_x$, $v_z$ ainsi que la variable $t$.

Si on note rhs(i) le membre de droite de l'équation (i) et var[i] la ième variable de la liste $[x,z,v_x,v_z]$ ( on a donc $\frac{{\rm d}{\rm var}[i]}{{\rm d}{\rm t}}=$rhs(i) ) , on utilise la commande:

desolve_system_rk4( [rhs(1),rhs(2),rhs(3),rhs(4)] , [var[1],var[2],var[3],var[4]) , ics=[conditions initiales], end_points= instant final, step= pas de temps, ivar=t)

Les conditions initiales correspondent à une liste de 5 éléments: [$t_i$ (instant initial), $x(t_i)$, $z(t_i)$, $v_x(t_i)$, $v_z(t_i)$].

In [3]:
var('t')
(x,z,vx,vz)=var('x,z,vx,vz')
sol1 = desolve_system_rk4([vx,vz,-(g/vl^2)*sqrt(vx^2+vz^2)*vx,-g-(g/vl^2)*sqrt(vx^2+vz^2)*vz],
                          [x,z,vx,vz],
                          ics=[0,0,0,vo*cos(alpha),vo*sin(alpha)],
                          end_points=2.4,step=2.4/100,ivar=t)  #duree totale 2.4s

La solution renvoie une liste dont chaque élément est de la forme: $[t_i,x(t_i),z(t_i),vx(t_i),vz(t_i)]$. On peut le vérifier sur les cinq premiers termes.

In [4]:
sol1[:5]
Out[4]:
In [5]:
graph1=line([(sol1[i][1],sol1[i][2]) for i in range(len(sol1))],color='blue',gridlines='minors')
In [6]:
show(graph1)

On ne trouve pas tout à fait la même trajectoire que celle proposée sur la chronophotographie.

On peut représenter la norme de la vitesse en fonction du temps.

In [7]:
g1v=line([(sol1[i][0],sqrt(sol1[i][3]^2+sol1[i][4]^2)) for i in range(len(sol1))],color='blue',thickness=2,
         gridlines='minor',axes_labels=['$t$','$v$'],ymin=0)
asympt1=plot(vl,1,2.4,color='red',thickness=2)
In [8]:
show(g1v+asympt1)

Calcul du nombre de Reynolds pour $v_{min}=4\ m.s^{-1}$

In [9]:
Re=(4*0.06)/1.5e-5
In [10]:
n(Re)
Out[10]:

$R_e>2.10^3$ le modèle frottement quadratique s'applique.

On reprend la résolution avec un vitesse limite plus faible.

In [11]:
vl=6.25
In [12]:
sol2 = desolve_system_rk4([vx,vz,-(g/vl^2)*sqrt(vx^2+vz^2)*vx,-g-(g/vl^2)*sqrt(vx^2+vz^2)*vz],
                          [x,z,vx,vz],
                          ics=[0,0,0,vo*cos(alpha),vo*sin(alpha)],
                          end_points=2.25,step=2.25/100,ivar=t)  #duree totale 2.25s correspondant à celle de la figure
In [13]:
graph2=line([(sol2[i][1],sol2[i][2]) for i in range(len(sol2))],color='blue',gridlines='minors')
In [14]:
show(graph2)

La courbe semble plus proche de la courbe fournie par l'énoncé. Le régime limite n'étant pas tout à fait atteint en fon de trajectoire, le vitesse limite a pu être sur-estimée.

In [15]:
g2v=line([(sol2[i][0],sqrt(sol2[i][3]^2+sol2[i][4]^2)) for i in range(len(sol2))],color='blue',thickness=2,
         gridlines='minor',axes_labels=['$t$','$v$'],ymin=0)
In [18]:
asympt2=plot(vl,1,2.25,color='red',thickness=2)
In [19]:
show(g2v+asympt2)
In [ ]: