Skip to content
Snippets Groups Projects
Commit 5d28ea1a authored by Nicolas Mantilla Molina's avatar Nicolas Mantilla Molina
Browse files

Black body radiation

parent b64ddae2
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
# Formula de Masa Semi Empírica (Semi-Empirical Mass Formula - SEMF) # Formula de Masa Semi Empírica (Semi-Empirical Mass Formula - SEMF)
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# Importamos las librerias necesarias # Importamos las librerias necesarias
import numpy as np import numpy as np
import pandas as pd import pandas as pd
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
``` ```
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# Definimos constantes # Definimos constantes
e = 1.602e-19 # Carga del electrón en Coulombs e = 1.602e-19 # Carga del electrón en Coulombs
mn = 1.675e-27 # Masa del neutrón en kg mn = 1.675e-27 # Masa del neutrón en kg
mp = 1.673e-27 # Masa del protón en kg mp = 1.673e-27 # Masa del protón en kg
c = 3.0e8 # Velocidad de la luz en m/s c = 3.0e8 # Velocidad de la luz en m/s
a_v = 15.56e6*e # J a_v = 15.56e6*e # J
a_s = 17.23e6*e # J a_s = 17.23e6*e # J
a_c = 0.7e6*e # J a_c = 0.7e6*e # J
a_a = 23.28e6*e # J a_a = 23.28e6*e # J
a_p = 12.0e6*e # J a_p = 12.0e6*e # J
# Hacemos una función para la masa semiempirica # Hacemos una función para la masa semiempirica
def SEMF(Z, A): def SEMF(Z, A):
# Verificamos la paridad # Verificamos la paridad
d = 1 d = 1
if A%2 != 0: if A%2 != 0:
d = 0 d = 0
elif (A-Z)%2 != 0: elif (A-Z)%2 != 0:
d = -1 d = -1
# Calculamos la energía de enlace # Calculamos la energía de enlace
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) 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)
# Devolvemos la masa y la energía de enlace # Devolvemos la masa y la energía de enlace
return [Z*mp + (A-Z)*mn - B/c**2, B] return [Z*mp + (A-Z)*mn - B/c**2, B]
# Hacemos una función para el Z donde la masa es mínima # Hacemos una función para el Z donde la masa es mínima
def Zmin(A): def Zmin(A):
return round((mn - mp + 4*a_a/c**2)/(2*a_c/(c**2*A**(1/3)) + 8*a_a/c**2/A)) return round((mn - mp + 4*a_a/c**2)/(2*a_c/(c**2*A**(1/3)) + 8*a_a/c**2/A),1)
``` ```
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# Calculamos los valores minimos de Z para A = 16, 121, 122 y 208 # Calculamos los valores minimos de Z para A = 16, 121, 122 y 208
A = [16, 121, 122, 208] A = [16, 121, 122, 208]
Z = [Zmin(a) for a in A] Z = [Zmin(a) for a in A]
# Imprimimos los valores # Imprimimos los valores
for i in range(4): for i in range(4):
print(f"Para A = {A[i]} el valor de Z es {Z[i]}") print(f"Para A = {A[i]} el valor de Z es {Z[i]}")
``` ```
%% Output %% Output
Para A = 16 el valor de Z es 8 Para A = 16 el valor de Z es 7.7
Para A = 121 el valor de Z es 52 Para A = 121 el valor de Z es 51.7
Para A = 122 el valor de Z es 52 Para A = 122 el valor de Z es 52.1
Para A = 208 el valor de Z es 83 Para A = 208 el valor de Z es 83.3
......
This diff is collapsed.
File added
File added
...@@ -378,7 +378,7 @@ ...@@ -378,7 +378,7 @@
], ],
"metadata": { "metadata": {
"kernelspec": { "kernelspec": {
"display_name": "Python 3 (ipykernel)", "display_name": "base",
"language": "python", "language": "python",
"name": "python3" "name": "python3"
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment