Inscription / Connexion Nouveau Sujet
Niveau école ingénieur
Partager :

Equa diff d'un projectille

Posté par
psyk2
10-09-16 à 18:14

Salut a tous !

Voilas mon problème : Je voudrais résoudre via la programmation (python ici) une équa dif que j'ai posé, mais mes résultats sont un peut incohérent selon moi ...

Soit une balle de tennis de rayon r= 0.03m et masse m = 0.057kg dans un "canon" de longueur L = 0.3m et rayon r.
L'air est assimilé a un gaz parfait avec T = 298.15K. Un gaz est compressé dans cylindre de volume V = 2L à une pression P_ini = 5 bars. On libère le gaz dans le canon.


Système : balle de tennis
Référentiel : terrestre supposé galiléen
Bilan des forces :

- P = -mg.Ux    (pris en compte a la sortie du canon uniquement)
- f = -*v2.Ux  (force de frottement de l'air)
- F = p*S.Ux

n = P_ini*V/(R*T)    car gaz parfait
et S = r^2**x

pour déterminer  j'ai utiliser wikipédia qui ma donner la formule :  = 1/2*Ro*S*Cx
avec Cx = 0.44 et Ro = 1*10^3kg/m^3

Principe fondamental de la dynamique : (pour la partit ou la balle est dans le canon)
m.a = -.v^2 + S*n*R*T/(V+x*S)

 => Vn+1 = Vn + deltaT*(-alpha*Vn^2 + S*n*R*T/(V+Xn*S))
et Xn+1 = Xn + deltaT*Vn

voilas mon programme :

import numpy as np
import pylab as pl

coord = [[0,1.5]]
actu = coord[0]   # coordonnées au rang n

P_ini, V_ini= 5*10**5, 0.002
R, T = 8.3144621, 298.15
n = P_ini*V_ini/(R*T)
L = 0.3     #Longeur canon
S = np.pi*0.03**2
m = 0.057
Ro = 1*10**3
Cx = 0.44

alpha = Ro*S*Cx/(2*m)
beta = S*n*R*T/m

X = [0]
Y = [0]
Vx = [0]
Vy = [0]
Ax = [0]
Ay = [0]

Dt = 0.0001   #delta T
compt = 0 # compteur

while actu[0] < L:
    Vx.append(Vx[compt] + Dt*(beta/(V_ini + S*X[compt]) - alpha*Vx[compt]**2))
    X.append(X[compt] + Dt*Vx[compt + 1])
    Ax.append((Vx[compt+1]-Vx[compt])/Dt)
    
    Y.append(1.5)
    Vy.append(0)
    Ay.append(0)
    
    actu = [X[compt + 1],1.5]
    coord += actu
       compt += 1

while actu[1] > 0: # tant que la balle ne touche pas le sol
    Vx.append(Vx[compt] - Dt*alpha*Vx[compt]**2)
    Vy.append(Vy[compt] - 9.81*Dt)
    
    X.append(X[compt] + Dt*Vx[compt + 1])
    Ax.append((Vx[compt+1]-Vx[compt])/Dt)
    
    Y.append(Y[compt] + Dt*Vy[compt + 1])
    Ay.append(-9.81)
    
    actu = [X[compt + 1],Y[compt +1]]
    coord += actu
    compt += 1

T = [Dt*i for i in range(compt+1)]
pl.plot(T,Vx)

Mais les courbe que j'obtiens juste avec cette partit sont un peut étonnantes ...
Par exemple la vitesse atteint 0 avant 1 seconde de trajet et la balle ne fait pas plus d'un mètre
Vous avez une idée ?
merci

Posté par
vanoise
re : Equa diff d'un projectille 10-09-16 à 19:48

Bonsoir
Je ne suis pas du tout spécialiste du langage Python. Juste trois remarques concernant l'aspect physique.
1° Dans l'expression de la force de frottement exercée par l'air Ro désigne la masse volumique de l'air que l'on peut assimiler à un gaz parfait de masse molaire M=29.10-3kg/mol :
\rho=\frac{P.M}{R.T} ;
à 20°C sous la pression atmosphérique normale cela donne :
\rho=\frac{1,013.10^{5}\cdot29.10^{-3}}{8,314\cdot293}\approx1,20kg.m^{-3}
2° La détente de l'air dans le tube est très rapide alors que les échanges de chaleur (transferts thermiques) sont très lents : l'approximation d'une détente adiabatique est certainement meilleure que celle d'une détente isotherme. Il me semble préférable de poser en cours de détente :

P.V^{\gamma}=constante\quad\text{avec pour l'air :\ensuremath{\quad\gamma=1,4}}
Cela ne va pas vraiment compliquer ton programme.
3° Pour le mouvement de la balle dans l'air, la force de frottement peut s'écrire :

\overrightarrow{F}=-\alpha\cdot\Vert\overrightarrow{V}\Vert\cdot\overrightarrow{V}
Les deux composantes de la force étant ainsi :

\begin{cases}
 \\ F_{x}=-\alpha\cdot\sqrt{V_{x}^{2}+V_{y}^{2}}\cdot V_{x}\\
 \\ F_{y}=-\alpha\cdot\sqrt{V_{x}^{2}+V_{y}^{2}}\cdot V_{y}
 \\ \end{cases}

Posté par
psyk2
re : Equa diff d'un projectille 10-09-16 à 20:14

merci pour la réponse
-Effectivement tiré la balle dans l'eau ou l'air change quelque peut les chose ^^
-Pour la détente adiabatique je me suis juste épargné les équation mais effectivement cela évite de faire intervenir des valeurs inutiles.
-Dans l'écriture de la force, merci de m'avoir fait remarqué  que j'ai oublier les frottement sur y



Mentions légales - Retrouvez cette page sur l'île de la physique - chimie
© digiSchool 2025

Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !