Etude d’un mouvement à force centrale
Contents
La page ci-présente existe en version notebook téléchargeable grâce au bouton (choisir le format
.ipynb
). On rappelle qu’l faut ensuite l’enregistrer dans un répertoire adéquat sur votre ordinateur (capa_num
par exemple dans votre répertoire personnel) puis lancer Jupyter Notebook depuis Anaconda pour accéder au notebook, le modifier et exécutez les cellules de code adéquates.
6. Etude d’un mouvement à force centrale#
But : obtenir des trajectoires d’un point matériel soumis à un champ de force centrale conservatif
6.1. Position du problème#
On se propose d’étudier l’expérience de Rutherford où des particules alpha (charge
Dans la modélisation habituelle, les particules sont initialement à l’infini et l’interaction entre le noyau et la particule est coulombienne :
Nous allons :
Etablir une condition sur la distance initiale pour pouvoir considérer que les particules sont initialement sur une trajectoire de diffusion.
Déterminer et tracer la trajectoire des particules alpha pour plusieurs paramètres d’impact
à énergie cinétique fixée.Déterminer l’angle de diffusion en fonction du paramètre d’impact
et vérifier la cohérence avec la loi attendue.Simuler un bombardement homogène et vérifier que la loi sur la section efficace attendue est correcte.
Etudier la dépendance de la précédente loi à l’énergie cinétique des particules alpha.
6.2. Modélisation du problème.#
On suppose la particules alpha initialement à une distance
6.2.1. Considération sur les unités#
Comme dans le cas de l’étude de la vibration moléculaire, on va se placer dans un système d’unités évitant des puissances de 10 trop grandes. On va donc travailler avec comme unité de référence :
la charge élémentaire devient
la masse atomique
devientla distance
(taille typique du noyau) devientl’énergie
(1eV) devient
Dans ces conditions, les données numériques utiles deviennent :
Masse des particules alpha :
Energie cinétique initiale
(cette valeur sera susceptible de changer ensuite).Constante
un pas de temps de
correspondra à
6.2.2. Mise en équation#
Il s’agit d’un problème classique de force centrale coulombienne, la conservation du moment cinétique et le principe fondamental de la dynamique permettent de se ramener à un problème à trois inconnues :
6.2.3. Schéma d’Euler#
On utlisera directement la fonction native odeint
de la bibliothèque scipy.integrate
.
6.2.4. Conditions initiales#
Les conditions initiales ne sont pas directement
avec
Il faudra donc déterminer
Pour qu’on puisse considérer que la particules est à l’infini et proche de l’axe Ox, il faut deux conditions sur
avec le rayon limite à pour lequel la particule alpha est placée dans un état de diffusion.
On choisira donc
6.2.5. Temps d’observation#
En supposant
Pour se donner un peu de marge on choisira un un durée totale de simulation égale
6.3. Bibliothèques utiles#
import numpy as np
import matplotlib.pyplot as plt
import numpy.random as rd
from scipy.integrate import odeint
6.4. Travail sur les conditions initiales#
Exercice 1 :
Trouver par le calcul une condition sur
pour que la particule alpha, possédant une énergie cinétique soit dans un état de diffusion. On note la valeur minimale trouvée. Pour pouvoir négliger l’énergie potentielle et donc l’interaction à l’instant initiale, on prend comme condition initiale. En vous aidant de la figure et du calcul précédent, écrire une fonction
CI(b, Ec0)
qui prend comme argument les conditions initialesb
etEc0
et qui renvoient les conditions initialessous forme d’un vecteur numpy. On considèrera que est de signe quelconque et que est positif pour un vecteur vitesse suivant .
6.5. Détermination de la trajectoire#
L’implémentation du schéma d’Euler sera ici un peut particulière : on ne va pas arrêter l’intégration à un temps fixé mais lorsque la particule aura atteint à nouveau la distance
Vous ne connaîtrez donc pas à l’avance la taille des ensembles de points tk
(temps), thetak
, rk
et rpointk
.
Exercice 2 :
Ecrire la fonction
F(Y, t, C)
introduite dans le schéma d’Euler explicite. Attention, Y est ici un vecteur à 3 coordonnées.Ecrire la fonction
deviation(b, Ec0, N)
qui doit, à partir du paramètre d’impactb
, de l’énergie cinétique initialeEc0
et du nombre de points de calculsN
:
calculer les conditions initiales
créer un vecteur
temps
contenant les instants où on veut estimer les coordonnées polaires.utiliser la fonction
odeint
pour réaliser l’intégration numériquerenvoyer le veceur
temps
et le tableau du résultat de l’intégrationEcrire une fonction
pol_to_cart(r, theta)
qui prend comme arguments deux vecteursr
ettheta
correspondant à des coordonnées polaires et qui renvoie les vecteurs de coordonnéesx
ety
cartésiennes associées.Pour la valeur d’énergie cinétique donnée dans l’énoncé, déterminer puis tracer la trajectoire pour des paramètres d’impacts
allant de 0.01 (inclus) à 1000 (inclus, 16 valeurs, on utilisera logspace
pour répartir les valeurs sur une échelle logarithmique) et commenter l’allure des trajectoires et l’angle de déviation observé. On choisira N = 10000 points. Est-ce qu’on attend ?
Indications utiles :
Pour rappel, la signature est
logspace(start, stop, Np)
pour créer Np point entre et inclus.
6.6. Paramètre d’impact et diffusion#
On va étudier la relation entre le paramètre d’impact et l’angle de diffusion (
On veut tester la relation théorique :
avec
Exercice 3 :
Ecrire une fonction
D_th(b, Ec0)
qui renvoie l’angle de diffusion pour un paramètre d’impactb
et une énergie cinétique initialeEc0
(la particule étant initialement à l’infini.Ecrire une fonction
D_sim(Y)
qui, partant du vecteurY
renvoyé par odeint, renvoie une estimation de l’angle de diffusion.Représenter l’angle de diffusion en fonction b suivant la relation théorique et l’intégration numérique puis représenter
en fonction de . Utiliser ces graphiques pour commenter la fiabilité de l’intégration numérique.
6.7. Statistique des angles de diffusion#
En pratique, on n’envoie pas une particule alpha mais un jet uniformément répartie dans le plan
Les détecteur de l’expérience de Rutherford, répartie sur une sphère autour de l’échantillons n’ont pas accès à
Sur la figure, l’angle de diffusion est noté
On peut assez facilement calculer théoriquement ce nombre de particule
où
est le nombre de particules émis par unité de surface.
On se propose de réaliser une simulation (de Monte-Carlo) pour vérifier l’expression théorique de la section efficace différentielle :
Le principe est :
On tire aléatoirement (tirage uniforme) deux coordonnées
et .On calcule
et s’il est inférieur à un fixé (on prendra ), on déterminer l’angle de diffusion associé par intégration.On détermine alors la statistique des angles de diffusion et on calcule la section efficace différentielle en fonction de
.
On réalisera bins
pour la statistique des angles des fréquences statistiques. De plus, on calcule
Exercice 4 :
Ecrire une fonction
tir
qui prend comme argumentEc0
,b_max
,N
etnbins
et qui renvoie les fréquences des occurences (vecteur) des angles de diffusion en respectant les règles imposées par la simulation précédente et les valeurs d’angle de diffusion associées à chaque fréquence (vecteur).Obtenir à partir de ces deux vecteurs la section efficace différentielle en fonction
et la tracé graphiquement. Tracer son expression théorique et comparer.
Indications utiles :
On utilisera la fonction histogram
de la bibliothèque numpy
dont la signature est :
hist, bins = np.histogram(a, bins=Nd)
et qui renvoie pour un vecteur de valeurs a
le fréquences hist
associées aux valeurs bins
. Le nobmre de bacs de valeurs et donné par bins
.