diff --git a/LabAvanzado1/DifraccionElectrones/code/difraccionElectrones.ipynb b/LabAvanzado1/DifraccionElectrones/code/difraccionElectrones.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..fc5b8a8ab146abc2a8155e1d61a4b3034c847c92 --- /dev/null +++ b/LabAvanzado1/DifraccionElectrones/code/difraccionElectrones.ipynb @@ -0,0 +1,126 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Difracción de Electrones y AnalogÃa Óptica" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "# Importamos las librerias necesarias\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Cargamos los datos obtenidos\n", + "anillos_electron = pd.read_csv('../data/diametro_anillos_electron.csv', names=[\"U\", \"D1\", \"D2\"], skiprows=1)\n", + "red_laser = pd.read_csv('../data/red_laser_data.csv', names=[\"Color\", \"D1\", \"D2\"], skiprows=1)\n", + "white_light = pd.read_csv('../data/white_ligth_data.csv', names=[\"Color\", \"D1\"], skiprows=1)\n", + "\n", + "# Convertimos todo a MKS\n", + "anillos_electron[\"U\"] = anillos_electron[\"U\"] * 1e3\n", + "anillos_electron[\"D1\"] = anillos_electron[\"D1\"] * 1e-2\n", + "anillos_electron[\"D2\"] = anillos_electron[\"D2\"] * 1e-2\n", + "red_laser[\"D1\"] = red_laser[\"D1\"] * 1e-2\n", + "red_laser[\"D2\"] = red_laser[\"D2\"] * 1e-2\n", + "white_light[\"D1\"] = white_light[\"D1\"] * 1e-2\n", + "\n", + "# Definimos constantes\n", + "h = 6.626e-34 # Constante de Planck\n", + "dh = 0.001e-34 # Error en la constante de Planck\n", + "e = 1.602e-19 # Carga del electron\n", + "de = 0.001e-19 # Error en la carga del electron\n", + "m = 9.109e-31 # Masa del electron\n", + "dm = 0.001e-31 # Error en la masa del electron\n", + "# d1 = 3/2 * distancia inter atomica del hexagono, d2 = distancia entre atomos intercalados /2\n", + "d = [3/2*(1.42e-10), (2.46/2)*1e-10] # Distancia entre planos del grafito [d1, d2]\n", + "dd = 0.01e-10\n", + "\n", + "Le = 13.1e-2 # Distancia grafito - pantalla\n", + "Ll = 21.0e-2 # Distancia red difractiva - pantalla\n", + "dL = 0.1e-2 # Error en la distancia\n", + "dU = 0.1e3 # Error en el voltaje" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Difracción de Electrones" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "# Longitud de onda del electron (Bragg)\n", + "lambda_B = np.zeros((len(anillos_electron), 2))\n", + "error_lambda_B = np.zeros((len(anillos_electron), 2))\n", + "for i in range(len(anillos_electron)):\n", + " lambda_B[i,0] = d[0]*anillos_electron.D1[i]/(2*Le)\n", + " lambda_B[i,1] = d[0]*anillos_electron.D2[i]/(4*Le)\n", + " error_lambda_B[i,0] = anillos_electron.D1[i]*dd/(2*Le) + d[0]*dL/(2*Le) + d[0]*anillos_electron.D1[i]*dL/(2*Le**2)\n", + " error_lambda_B[i,1] = anillos_electron.D2[i]*dd/(4*Le) + d[0]*dL/(4*Le) + d[0]*anillos_electron.D2[i]*dL/(4*Le**2)\n", + " \n", + "\n", + "# Longitud de onda del electron (De Broglie)\n", + "lambda_D = h/np.sqrt(2*e*m*anillos_electron[\"U\"]) \n", + "error_lambda_D = dh/np.sqrt(2*e*m*anillos_electron[\"U\"]) + h/2 * de/(2*m*anillos_electron[\"U\"])**0.5 / e**1.5 + h/2 * dm/(2*e*anillos_electron[\"U\"])**0.5 / m**1.5 + h/2 * dU/(2*e*m)**0.5 / anillos_electron[\"U\"]**1.5" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[3.65839695e-11, 2.80477099e-11],\n", + " [3.17061069e-11, 2.56087786e-11],\n", + " [2.92671756e-11, 2.47958015e-11],\n", + " [2.76412214e-11, 2.35763359e-11],\n", + " [2.60152672e-11, 2.15438931e-11],\n", + " [2.35763359e-11, 2.07309160e-11]])" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lambda_B" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "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.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/LabAvanzado1/DifraccionElectrones/data/diametro_anillos_electron.csv b/LabAvanzado1/DifraccionElectrones/data/diametro_anillos_electron.csv new file mode 100644 index 0000000000000000000000000000000000000000..610ed149238c2baab129f5a01b88411c1cf36454 --- /dev/null +++ b/LabAvanzado1/DifraccionElectrones/data/diametro_anillos_electron.csv @@ -0,0 +1,7 @@ +Voltaje,Diametro 1,Diametro 2 +1.4,4.5,6.9 +1.7,3.9,6.3 +2,3.6,6.1 +2.3,3.4,5.8 +2.6,3.2,5.3 +2.9,2.9,5.1 diff --git a/LabAvanzado1/DifraccionElectrones/data/red_laser_data.csv b/LabAvanzado1/DifraccionElectrones/data/red_laser_data.csv new file mode 100644 index 0000000000000000000000000000000000000000..e63362e324fb3ea9e0d69ca64d7ad30411bd2dea --- /dev/null +++ b/LabAvanzado1/DifraccionElectrones/data/red_laser_data.csv @@ -0,0 +1,2 @@ +Color ,Anillo 1,Anillo 2 +Rojo,15.2,22.6 diff --git a/LabAvanzado1/DifraccionElectrones/data/white_ligth_data.csv b/LabAvanzado1/DifraccionElectrones/data/white_ligth_data.csv new file mode 100644 index 0000000000000000000000000000000000000000..94918c71b86f105e85d8ac6a22e590e192508f28 --- /dev/null +++ b/LabAvanzado1/DifraccionElectrones/data/white_ligth_data.csv @@ -0,0 +1,4 @@ +Color,Diametro +Azul,11.6 +Verde,13.6 +Rojo,16.6