Propagación Temporal de un Paquete de Ondas
libres
En esta parte analizaremos como se propaga un paquete de ondas libres, o
sea, bajo un Hamiltoneano cuyo potencial es V(x)=0.
Utilizaremos el programa
explicit.for
el cual resuelve la ecuación de Schrödinger dependiente del
tiempo en forma explícita:
subroutine propagation
c.......explicit propagation
c Fi(n+1) = [1 - i/h Dt*H] [Fi(n)]
parameter (mxpts=100,mxtime=10000)
complex fin(0:mxpts),fin1(0:mxpts)
common/bkmesh/ timef,dx,dt,width,rk0,x0,nxpts,ntpts
common/bkwave/ fin,fin1
complex op(mxpts+1,mxpts+1)
common/bkop /op
do 100 i=0,nxpts
fin1(i) = 0
do 50 j=0,nxpts
fin1(i) = fin1(i) + op(i+1,j+1)*fin(j)
50 continue
100 continue
do 200 i=0,nxpts
fin(i) = fin1(i)
200 continue
return
|
Este programa requiere de
schrod.inp como input file, y genera
wave0.out (la función inicial),
wavef.out (la función propagada final) y
wavean.out (la función propagada teórica).
Si podés trabajar con librerías
lapack (from Netlib)), hay una versión mejorada
de este problema que utiliza una propagación implícita
(
implicit.for), o mejor aún un algoritmo implícito-
explícito (Crank-Nicolson algorithm)
(
impexplicit.for). Las subrutinas/funciones auxiliares necesarias
para correr estos programas están en
cgesv.tar.gz.
El procedimiento en este caso es::
gunzip cgesv.tar.gz
tar -xvf cgesv.tar
g77 -c *.f
g77 implicit.for *.o -o implicit.x
|
Un ejemplo de propagación temporal lo tenemos en el siguiente
gráfico:
Preguntas y Problemas:
Demostrar que la función de propagación teórica
dada en el programa es correcta.
Modificar los parámetros y obtener distintas velocidades de
propagación.
Calcular la velocidad con la que se desplaza el paquete de ondas, y
el tiempo que tarda en llegar hasta la pared. En ese instante, generar
un paquete de ondas que se desplace con la misma velocidad que el
paquete incidente, pero en dirección contraria. Comparar el
desplazamiento de este nuevo paquete de ondas, con el paquete original
(que ahora estara siendo reflejado por la pared). Existe un frenado
("time delay")?
Avanzado: Agregar una subrutina que calcule la velocidad de
desplazamiento.
Colisión de un paquete de ondas
Ahora modificaremos el programa anterior, y le agregaremos un potencial
(en principio, un escalón).
Preguntas y Problemas:
Hallar las velocidades de desplazamiento de las distintas ondas.
Verificar si existe algún frenado de ondas.
Comparar la amplitud y el ancho de los paquetes de onda reflejados y
transmitidos con los resultados teóricos.
Avanzado: Agregar una subrutina que calcule las ondas en forma
teórica.
Cambiar el potencial por un pozo, y buscar alguna resonancia en
baja energía (variando la altura del pozo). En este caso verificar
el comportamiento del desplazamiento de fase (phase shift).
Oscilador Armónico:
Cambiar el potencial por el de un oscilador armónico.
Partir de un paquete en el centro del potencial, con velocidad inicial
igual a v(t=0)=0.
Qué sucede con la función de onda.
Verificar el comportamiento de la parte real de la función.
Caja Permeable
La caja permeable es una caja que en lugar de estar limitada por un
potencial infinito, está limitada por dos funciones delta.
Disparar la partícula desde la izquierda y comprobar qué
sucede cuando ésta tiene
una energía cercana a la de un estado ligado del sistema.
Molécula de H2+
Utilizar el ejemplo anterior para simular una
molécula de H2+.
En este caso, en lugar de propagar un paquete de ondas, se puede propagar
una función propia de este potencial (y verificar que no ocurre nada,
o sea: es un estado estacionario).
Luego, se puede propagar una autofunción del
"atomo" de Hidrógeno (modelado con
un pozo), y comprobar que oscila entre los dos centros tal como lo
muestra la Figura:
Lecturas Auxiliares Recomendadas:
Quantum Movies - by Francis Robicheaux
.
| |