{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# Analyse de spectres de l'hydrog\u00e8ne\n", "\n", "Les donn\u00e9es que nous allons analyser sont des donn\u00e9es de spectroscopie de l'atome de deut\u00e9rieum (l'isotope de l'hydrog\u00e8ne de masse atomique 2). Dans le mod\u00e8le simple de Bohr, les niveaux d'\u00e9nergies sont donn\u00e9s par : \n", "\n", "$$\n", "E_n = -hc\\frac{R_D}{n^2}\n", "$$\n", "\n", "o\u00f9 $h$ et la constante de Planck, $c$ la c\u00e9l\u00e9rit\u00e9 de la lumi\u00e8re et $R_D$ la constante de Rydberg du deut\u00e9rium qui est reli\u00e9e \u00e0 la constante de Rydberg $R_\\infty$ par : \n", "\n", "$$ \n", "R_D = \\frac{R_\\infty}{1+\\frac{m_e}{m_D}}\n", "$$\n", "\n", "o\u00f9 $m_e$ est la masse de l'\u00e9lectron et $m_D$ celle du Deuteron (Noyau de l'atome de deut\u00e9rium : un proton et un neutron). La constante $R_\\infty$ correspond \u00e0 la constante de Rydberg pour un noyau de masse infinie.\n", "\n", "La transition que l'on \u00e9tudie est la transition entre les niveau $n=1$ et $n=3$. Sa fr\u00e9quence vaut : \n", "\n", "$$\n", "\\nu_\\mathrm{Bohr} = \\frac{E_3 - E_1}{h}\n", "$$\n", "\n", "* Constante de rydberg : $R_\\infty = 10973731.56816$ m$^{-1}$\n", "* Rapport de masse : $\\frac{m_D}{m_e} = 3670.4829679$\n", "* Vitesse de la lumi\u00e8re dans le vide: $c = 299792458$ m/s\n", "\n", "\n", "1. Calculer la fr\u00e9quence de la transition dans le mod\u00e8le de Bohr et donner sa valeur en MHz. On formatera la valeur pour avoir trois chiffres apr\u00e8s la virgule (pr\u00e9cision au kHz)."]}, {"cell_type": "markdown", "metadata": {}, "source": ["Le principe de la spectroscopie consiste a illuminer un jet d'atomes \u00e0 l'aide d'un laser dont on connait la fr\u00e9quence et \u00e0 mesurer la fluorescence des atomes. Cette fluorescence \u00e9tant tr\u00e8s faible, on utilise un compteur de photon pour la mesurer.\n", "\n", "Les donn\u00e9es sont dans le fichier {download}`data/data_hydrogene_simple.txt`. Il s'agit d'un fichier texte simple. Il comprend une colonne qui correspond \u00e0 la fr\u00e9quence (mesur\u00e9e) du laser de spectroscopie et une colonne qui correspond au nombre de photons d\u00e9tect\u00e9s sur une seconde de mesure. Ce nombre est proportionnel au nombre de photons absorb\u00e9s par les atomes d'hydrog\u00e8nes. \n", "\n", "2. Lire et afficher les donn\u00e9es."]}, {"cell_type": "markdown", "metadata": {}, "source": ["On va ajuster le profile par une fonction lorentzienne : \n", "\n", "$$ \n", "a + \\frac{b}{1+ \\left(\\frac{f-f_0}{\\Delta f}\\right)^2}\n", "$$\n", "\n", "o\u00f9 $a$ est un offset, $b$ une amplitude, $f_0$ la fr\u00e9quence centrale et $\\Delta f$ la largeur en fr\u00e9quence. \n", "\n", "3. Faire un ajustement des donn\u00e9es par une lorentzienne (que l'on repr\u00e9sentera graphiquement)."]}, {"cell_type": "markdown", "metadata": {}, "source": ["Les donn\u00e9es sont prises par rapport \u00e0 une fr\u00e9quence de r\u00e9f\u00e9rence, c'est \u00e0 dire que la fr\u00e9quence du laser est la somme entre la fr\u00e9quence de r\u00e9f\u00e9rence ($f_\\mathrm{ref} = 2923538429.3$ MHz) et la fr\u00e9quence des donn\u00e9es. \n", "\n", "4. Donner la valeur de la fr\u00e9quence absolue $\\nu$ ainsi que l'incertitude absolue $\\sigma_\\nu$ et relative $\\sigma \\nu / \\nu$) de la mesure du pic. La diff\u00e9rence par rapport \u00e0 la valeur du mod\u00e8le de Bohr est d\u00fbe a des corrections suppl\u00e9mentaires (effet du spin de l'\u00e9lectron, de la taille fini du noyau, effets relativistes, ou encore de la polarization du vide qui peuvent \u00eatre calcul\u00e9s \u00e0 l'aide de l'Electrodynamique Quantique). Calculer cet \u00e9cart."]}, {"cell_type": "markdown", "metadata": {}, "source": ["5. Les donn\u00e9es correspondent en r\u00e9alit\u00e9 \u00e0 6 spectres de N points qui ont \u00e9t\u00e9 enregistr\u00e9s \u00e0 la suite. Ajuster chacun des 6 spectres pour en d\u00e9duire leurs fr\u00e9quences absolues et leurs incertitudes que l'on affichera. \n", "\n", "6. Tracer avec des barres d'erreurs les points sur un graphique ayant comme axe des abscisses le num\u00e9ro du spectre (1, 2, .., 6). Repr\u00e9senter sur ce m\u00eame graphique la valeur moyenne des fr\u00e9quences $\\bar{\\nu}$ et son \u00e9cart type $\\sigma_{\\nu}$ (on utilisera une ligne continue rouge pour la moyenne et des lignes discontinues noires pour $\\bar{\\nu}\\pm\\sigma_{\\nu}$). Est-ce que l'\u00e9cart type des 6 fr\u00e9quences est en accord avec l'incertitude obtenue \u00e0 partir de l'ajustement de l'ensemble des donn\u00e9es (\u00e0 la question 4)."]}, {"cell_type": "markdown", "metadata": {}, "source": ["Les donn\u00e9es du fichier `data_hydrogene_simple.txt` sont en fait le centre d'un spectre plus large. Le fichier {download}`data/data_complete.dat ` contient tous les points de mesures. Ce fichier est format\u00e9 l\u00e9g\u00e8rement diff\u00e9rement (il contient un en-t\u00eate et un ';' comme s\u00e9parateur). \n", "\n", "7. En utilsant les options de `np.loadtxt` lire le fichier et tracer les points. "]}, {"cell_type": "markdown", "metadata": {}, "source": ["Ce spectre peut \u00eatre mod\u00e9lis\u00e9 par la somme d'une gaussienne (fond large) et d'une lorentzienne (\u00e9troite). \n", "\n", "8. Faire l'ajustement. Donner la valeur de la position du centre de la lorentzienne \u00e9troite et son \u00e9cart type. Comparer ces r\u00e9sultats \u00e0 ceux obtenus \u00e0 la question 4."]}, {"cell_type": "markdown", "metadata": {}, "source": ["8. A l'aide d'un masque, ajuster \u00e0 l'aide d'une lorentizienne uniquement les points obtenus pour une fr\u00e9quence laser comprise entre -2 et 2 MHz. Comparez avec la question 4."]}, {"cell_type": "markdown", "metadata": {}, "source": ["**Fonctions utilis\u00e9es**"]}, {"cell_type": "code", "execution_count": 13, "metadata": {"tags": ["keep"]}, "outputs": [], "source": ["from scipy.integrate import solve_ivp\n", "from matplotlib.pyplot import errorbar\n", "# ou ax.errorbar"]}], "metadata": {"celltoolbar": "Tags", "kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8"}, "varInspector": {"cols": {"lenName": 16, "lenType": 16, "lenVar": 40}, "kernels_config": {"python": {"delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())"}, "r": {"delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) "}}, "types_to_exclude": ["module", "function", "builtin_function_or_method", "instance", "_Feature"], "window_display": false}}, "nbformat": 4, "nbformat_minor": 4}