diff --git a/AtomicPhysics/EmpiricalMass.ipynb b/AtomicPhysics/EmpiricalMass.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..7d649902755e1f45d34e025d7fb536c1093a0aa8
--- /dev/null
+++ b/AtomicPhysics/EmpiricalMass.ipynb
@@ -0,0 +1,107 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Formula de Masa Semi Empírica (Semi-Empirical Mass Formula - SEMF)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Importamos las librerias necesarias\n",
+    "import numpy as np\n",
+    "import pandas as pd\n",
+    "import matplotlib.pyplot as plt"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Definimos constantes\n",
+    "e = 1.602e-19 # Carga del electrón en Coulombs\n",
+    "mn = 1.675e-27 # Masa del neutrón en kg\n",
+    "mp = 1.673e-27 # Masa del protón en kg\n",
+    "c = 3.0e8 # Velocidad de la luz en m/s\n",
+    "a_v = 15.56e6*e # J\n",
+    "a_s = 17.23e6*e # J\n",
+    "a_c = 0.7e6*e # J\n",
+    "a_a = 23.28e6*e # J\n",
+    "a_p = 12.0e6*e # J\n",
+    "\n",
+    "# Hacemos una función para la masa semiempirica\n",
+    "def SEMF(Z, A):\n",
+    "    # Verificamos la paridad\n",
+    "    d = 1\n",
+    "    if A%2 != 0:\n",
+    "        d = 0\n",
+    "    elif (A-Z)%2 != 0:\n",
+    "        d = -1\n",
+    "\n",
+    "    # Calculamos la energía de enlace\n",
+    "    B = a_v*A - a_s*A**(2/3) - a_c*Z**2/A**(1/3) - a_a*(A-2*Z)**2/A + d*a_p/A**(1/2)\n",
+    "\n",
+    "    # Devolvemos la masa y la energía de enlace\n",
+    "    return [Z*mp + (A-Z)*mn - B/c**2, B]\n",
+    "\n",
+    "# Hacemos una función para el Z donde la masa es mínima\n",
+    "def Zmin(A):\n",
+    "    return round((mn - mp + 4*a_a/c**2)/(2*a_c/(c**2*A**(1/3)) + 8*a_a/c**2/A))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Para A = 16 el valor de Z es 8\n",
+      "Para A = 121 el valor de Z es 52\n",
+      "Para A = 122 el valor de Z es 52\n",
+      "Para A = 208 el valor de Z es 83\n"
+     ]
+    }
+   ],
+   "source": [
+    "# Calculamos los valores minimos de Z para A = 16, 121, 122 y 208\n",
+    "A = [16, 121, 122, 208]\n",
+    "Z = [Zmin(a) for a in A]\n",
+    "\n",
+    "# Imprimimos los valores\n",
+    "for i in range(4):\n",
+    "    print(f\"Para A = {A[i]} el valor de Z es {Z[i]}\")"
+   ]
+  }
+ ],
+ "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
+}