Path: blob/master/projects/Proyecto_2018_1_1038414799.ipynb
934 views
Introducción
En el presente proyecto se realiza una aplicación interactiva que permita visualizar el espectro de radiación de un cuerpo conforme se varía la temperatura de este, graficando la intensidad en función de la longitud de onda. Además, se genera una pequeña aplicación interactiva en la cual el usario puede variar la temperatura del cuerpo negro y un rango de longitudes de onda para saber la intensidad en ese intervalo.
Marco teórico
Variables que se usarán:
: Longitud de onda (nm)
: Temperatura absoluta (K)
: Velocidad de la -luz
: Constante de Planck
: Constante de Boltzman
Ley de desplazamiento de Wein (Posición máximo de radiación)
La longitud de onda con el máximo de radiación asociado de un cuerpo negro la podemos hallar calculando la primera derivada de la distribución de Plank en terminos de la longitud de onda:
Obteniendo la ecuación trascendental:
con:
Hallamos la raíz de la ecuación usando scipy.optimize.newton
:
Ahora con el valor de podemos resolver para la euación :
Ley de Stefan-Boltzman (Intensidad)
La intensidad de onda por unidad de onde de un cuerpo negro está dada por:
Para calcular la intensidad total de la radiación que emite un cuerpo negro integramos la ecuación para todas las longitudes de ondas:
haciendo el cambio de variable en ecuación :
obtenemos la ecuación:
La cual resolvemos usando integrate.quad
:
Cambiando límites de integración de ecuación podemos hallar también la intensidad total entre dos longitudes de onda deseadas:
Gráficas y resultados
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-14-eb961ad94f7c> in <module>()
3 plt.suptitle('Black body radiation spectrum', size=13, style='italic' )
4 if True:
----> 5 ax.plot(λ*1e9, dW_dλ(λ,S),
6 label='Temperatura Abs: {}K'.format(S)) #Gráfico intensidad vs longitud de onda
7
<ipython-input-5-c83945537a75> in dW_dλ(λ, T, args)
1 def dW_dλ(λ,T,args=(params,)):
----> 2 return 2*np.pi*h*(c**2)/((λ**5)*(np.exp(h*c/(λ*k*T))-1))
TypeError: unsupported operand type(s) for *: 'float' and 'IntSlider'
Bibliografía y cibergrafía
[1] La radiación del cuerpo negro: http://www.sc.ehu.es/sbweb/fisica/cuantica/negro/radiacion/radiacion.htm
[2] Learn Jupyter Notebooks (pt.4) Using Interactive Widgets: https://www.youtube.com/watch?v=SN0Bflf14C4
[3] Widgets_example.ipynb:https://github.com/markjay4k/fourier-transform/blob/master/widgets_example.ipynb
[4] Sears Zemansky, Física universitaria 12 ed, Vol 2 . Pag 1336-1337
[5] Black body radiation simulation: http://physics.bu.edu/~duffy/classroom.html