Vous êtes sur la page 1sur 5

#############################################################################

# Étude de la trajectoire d’une particule chargée entre les armatures d’un condensateur plan
#############################################################################
import numpy as np
import matplotlib.pyplot as plt
#############################################################################
# Constantes fixes connues
#############################################################################
e = 1.602176634e-19 #Coulomb
m_electron = 9.11e-31 #kg
m_proton = 1.67e-27 #kg

x = np.arange(0,0.1,0.001)
#############################################################################
# Constantes à fixer
#############################################################################
choice = int(input("Choisir une particule :\n 1=Électron / 2=Positon / 3=Proton "))
if choice == 1:
print("La particule choisie est un electron")
q=-1*e
m = m_electron
elif choice == 2:
print("La particule choisie est un positon")
q=1*e
m = m_electron
elif choice == 3:
print("La particule choisie est un proton")
q=1*e
m = m_proton
else:
print("Le choix que vous avez fait n'est pas dans la liste")

E = np.float(input("Donner la valeur du champ électrique E compris entre 1e4 et 3e4 V.m-1:"))


V0 = np.float(input("Donner la valeur de la vitesse initiale de la particule V0 comprise entre 1e7 et 3e7 m.s-1 :"))
alpha = np.float(input("Donner l'angle de tir en degré:"))

#############################################################################
# Établissement de la trajectoire de la particule
#############################################################################
y = ((q*E*x**2)/(2*m*(V0*np.cos(alpha*np.pi/180))**2))+(np.tan(alpha*np.pi/180)*x)

#############################################################################
# Tracé
#############################################################################
plt.figure(figsize=(12,8))
#Axes x et y
plt.axhline(0,c='k'); plt.axvline(0,c='k');
plt.text(-0.005,-0.005,'O',color='k',fontsize=16)
plt.text(0.095,-0.005,'x',color='k',fontsize=16)
plt.text(-0.006,0.047,'y',color='k',fontsize=16)
#Axes i et j et k
plt.arrow(0,0,0.02,0,color='k',width=7e-4,head_width=3e-3,length_includes_head=True)
plt.text(0.013,-0.012,'$\overrightarrow{i}$',color='k',fontsize=16)
plt.arrow(0,0,0,0.02,color='k',width=7e-4,head_width=3e-3,length_includes_head=True)
plt.text(-0.008,0.01,'$\overrightarrow{j}$',color='k',fontsize=16)
#Ligne Orange représentative des limites du condensateur
plt.plot([0,0.1],[0.05,0.05],c='#E6A32E',linewidth=3)
plt.plot([0,0.1],[-0.05,-0.05],c='#E6A32E',linewidth=3)
#Tracer de - et + au limites du condensateur
for i in range(int(x.shape[0]/10)-1):
plt.text(x[::10][i+1],0.0465,'-',color="#E6A32E",fontsize=25)
plt.text(x[::10][i+1],-0.0485,'+',color="#E6A32E",fontsize=15)
#Tracer la trajectoire
plt.plot(x,y,'b')
#Tracer Vecteur champ électrique
plt.quiver(x[-30],0,0,E,color='g',scale=1e5,width=0.005)
plt.text(x[-30]+0.003,0.005,'$\overrightarrow{E}$',color='g',fontsize=16)
#Tracer Vecteur V0
plt.quiver(0,0,V0*np.cos((alpha*np.pi)/180),V0*np.sin((alpha*np.pi)/180),color='r',scale=1.5e8,width=0.005)
plt.text(0.004,0.01,'$\overrightarrow{V_0}$',color='r',fontsize=16)
#Parmaètres du tracé
plt.grid(True)
ax = plt.gca()
ax.set_aspect('equal',adjustable='box')
plt.ylim([-0.0503,0.0505])
plt.xlim([-0.02,0.1])
plt.show()

Vous aimerez peut-être aussi