From b64ddae22dc7d70805da74b1f55d769cbb041ba4 Mon Sep 17 00:00:00 2001
From: Nicolas Mantilla <nicolas2210707@correo.uis.edu.co>
Date: Sun, 10 Nov 2024 19:21:57 -0500
Subject: [PATCH] semi empirical mass
---
AtomicPhysics/EmpiricalMass.ipynb | 107 ++++++++++++++++++++++++++++++
1 file changed, 107 insertions(+)
create mode 100644 AtomicPhysics/EmpiricalMass.ipynb
diff --git a/AtomicPhysics/EmpiricalMass.ipynb b/AtomicPhysics/EmpiricalMass.ipynb
new file mode 100644
index 0000000..7d64990
--- /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
+}
--
GitLab