Resolución de la ecuación de Schrödinger
monodimensional
1 Fundamento Teórico
En Mecánica cuántica, el estado físico de un sistema unidimensional de una partícula viene
descrito completamente por una función de onda compleja Φ(x,t) que obedece la denominada ecuación
de Schrödinger
iħ |
∂Φ(x,t)
∂t
|
= | ⎡ ⎣
|
− |
ħ2
2m
|
|
∂2
∂x2
|
+ V(x) | ⎤ ⎦
|
Φ(x,t) = HΦ |
| (1) |
donde V(x) es el potencial al que está sometida la partícula,
que supondremos que tiene una masa m independiente del tiempo, ħ es la constante
de Planck reducida y H es el operador Hamiltoniano, que es hermítico.
La densidad de probabilidad de encontrar a la partícula en un volumen dV alrededor del
punto x y en el instante t es
Para un sistema compuesto únicamente por una partícula, como es el nuestro, la
probabilidad total de encontrar la partícula en algún punto del espacio,
en cualquier instante t, es igual la unidad,
Nótese que la integral de probabilidad es constante durante la evolución
temporal, lo que habrá que tenerse en cuenta al plantear la resolución
numérica del problema.
Podemos observar que la ecuación de Schrödinger es lineal y
que se trata de una ecuación diferencial de primer orden en el tiempo.
Para evitar el uso continuado de m y ħ, haremos el cambio de variable t→ tħ
en el tiempo y x→ x ħ/√{2m} en
el espacio, lo que conduce a una ecuación equivalente a (1) pero en la que ħ = 1 y
m=1/2:
−HΦ ≡ | ⎡ ⎣
|
∂2
∂x2
|
− V(x) | ⎤ ⎦
|
Φ(x,t) = −i |
∂Φ
∂t
|
. |
| (4) |
Esta ecuación puede resolverse términos de las autofunciones del hamiltoniano H,
que, recordemos, es independiente del tiempo. Llamando un a los estados acotados y
uk a los estados del continuo, entonces la solución dependiente del tiempo viene
dada de forma rigurosa por
Φ(x,t)= |
∑
n
|
an e−iEn t un(x) + | ⌠ ⌡
|
dk a(k) e−iE(k)t uk(x), |
| (5) |
con
an=〈un,ϕ(x,0)〉, a(k)=〈uk,ϕ(x,0)〉, |
| (6) |
donde Φ(x,0) es el estado inicial del sistema (y por lo tanto an y
a(k) son los coeficientes Φ en las bases {un} y {uk}, respectivamente).
De seguir este procedimiento, toparíamos con los inconvenientes de que:
- En la mayoría de los casos, las autofunciones y los autovalores del hamiltoniano no se pueden calcular
analíticamente y han de determinarse numéricamente.
- Por motivos numéricos, el estado inicial debe restringirse necesariamente a una combinación lineal
finita de autofunciones y, en cualquier caso, el número de éstas debe ser el menor
posible para reducir el trabajo computacional. Truncar la base tiene como inconveniente aƱadido
que la evolución deja de ser unitaria.
Por todo ello, en lugar de seguir el procedimiento anterior integrararemos directamente la ecuación (4).
Pero hay que ser muy cuidadosos con el método numérico porque, en general, la discretización provoca que no
se conserve la normalización de la función de onda (ecuación 3).
La solución formal de la ecuación de Schroedinger es
Φ(x,t)=e−i(t−t0)H Φ(x,t0) |
| (7) |
donde el operador e−itH es unitario (su inverso coindice con su adjunto) por ser H hermítico. Esta última
propiedad será de utilidad a la hora de hallar la discretización más adecuada para resolver el problema
numéricamente como veremos a continuación.
2 Problemas
- Obligatorio: resolver la ecuación de Schroedinger unidimensional para un potencial cuadrado.
- Voluntario: estudiar el coeficiente de transmisión (la probabilidad de encontrar a la partícula al
otro lado del obstáculo para tiempos largos pero antes de que se refleje en la pared derecha) en función
del parámetro del potencial λ (véase más adelante), para valores positivos y negativos. Estudiar lo mismo para un
potencial escalón y uno triangular. Comparar con la teoría.
3 Método numérico
Discretizaremos el espacio y el tiempo tomando
xj=jh y tn=ns, con j=0,1,...,N y n=0,1,2,...N,
donde h es el espaciado en la discretización espacial y s es el
espaciado temporal. La función de onda viene dada en cada punto del
retículo espacio-temporal por:
Φ(xj,tn)→Φ(jh,ns)=Φj,n con j=0,1,...,N y n=0,1,2,...,N . |
| (8) |
Supondremos que las condiciones de contorno para la función de onda en j=0 y j=N son las correspondientes
a la existencia de un potencial infinito en esos puntos, esto es, la densidad
de probabilidad de encontrar la partícula en dichos puntos es cero.
Así, Φ0,n=ΦN,n=0, en cualquier instante. Puede definirse
de forma inmediata un primer algoritmo a partir de la expresión
Si s es muy pequeño, el operador de evolución exp(−isH)
puede aproximarse por su desarrollo de Taylor a primer orden en t. Si además observamos
que el operador Hamiltoniano no es más que la aplicación de una derivada segunda, su discretización espacial es
obvia y en total obtenemos el siguiente algoritmo
Φj,n+1=(1−isHD+O(sHD)2)Φj,n, |
| (10) |
donde
Φj′′ ≡ |
∂2 Φ
∂x2
|
= |
1
h2
|
(Φj+1−2Φj+Φj−1)+O(h2) |
| (11) |
y HD viene dado por
HD fj=− |
1
h2
|
(fj+1−2fj+fj−1)+Vjfj |
| (12) |
y Vj=V(jh). Este algoritmo tan simple y natural adolece de un grave problema: el operador
(1−isH) no es unitario. Esto implica que durante la iteración del algoritmo para encontrar la evolución de la
función de onda, la
normalización, ∑j h |Φj,n|2, irá variando con el tiempo, lo que es incompatible
con la restricción de normalización a la unidad expresada en (3) y viola la interpretación de Born.
Así pues, el objetivo será encontrar un operador evolución similar al anterior pero que sea unitario. Esto
se consigue haciendo uso de la aproximación de Cayley para el operador evolución temporal
e−isH ≈ |
1−isHD/2
1+isHD/2
|
, |
| (13) |
que conduce al algoritmo
Φj,n+1= |
1−isHD/2
1+isHD/2
|
Φj,n. |
| (14) |
Nótese que además de ser unitario, este operador es exacto hasta orden (sHD)2.
Para completar el algoritmo, sólo resta diseñar la estrategia para utilizar eficazmente el operador 1/(1+isHD).
Para ello reescribimos la anterior ecuación como
Φj,n+1= | ⎡ ⎣
|
2
1+isHD/2
|
−1 | ⎤ ⎦
|
Φj,n=χj,n−Φj,n, |
| (15) |
donde
o lo que es lo mismo, dada Φj,n, j=0,..,N, χj,n es la solución de la ecuación
que en forma explícita puede escribirse como
χj+1,n+ | ⎡ ⎢
⎣
|
−2+ |
2i
|
− |
~
V
|
j
| ⎤ ⎥
⎦
|
χj,n+χj−1,n= |
4i
|
Φj,n |
| (18) |
donde ~s=s/h2 y ~Vj=h2Vj.
De esta forma, el algoritmo de evolución es claro: dada una función de onda en el instante n para
toda posición j se resuelve el conjunto de ecuaciones (18) y se obtiene χj,n (j=0,..,N). Con esta
solución
se recurre a la ecuación (15) para obtener las nuevas Φj,n+1 (j=0,...,N), iterándose el proceso.
Sólo falta por conocer cómo resolver ecuaciones del tipo (18), es decir, cómo invertir
matrices tridiagonales.
En este caso, hemos de resolver un conjunto de ecuaciones del tipo
Aj−χj−1,n+Aj0χj,n+Aj+χj+1,n=bj,n j=1,…,N−1 |
| (19) |
donde Aj−=1, Aj0=−2+2i/~s−~Vj, Aj+=1 y bj,n=4iΦj,n/~s.
Las condiciones de contorno son χ0=χN=0 (notemos que estas condiciones de contorno implican que en (15)
Φ0 y ΦN son nulas en cualquier instante).
Para resolver la recurrencia (19) suponemos que su solución es del tipo
χj+1,n=αjχj,n+βj,n j=0,…,N−1 |
| (20) |
donde, para garantizar que se cumple χN,n=0, tomaremos αN−1=βN−1,n=0. Sustituyendo esta
expresión en (19) obtenemos
χj,n=− |
Aj−
Aj0+Aj+αj
|
χj−1+ |
bj,n−Aj+βj,n
Aj0+Aj+αj
|
. |
| (21) |
Si identificamos las ecuaciones (20) y (21) podemos definir las recurrencias para los coeficientes α y
β así
αj−1=−Aj −γj, βj−1,n=γj(bj,n−Aj+βj,n ). |
| (22) |
donde γj−1=Aj0+Aj+αj. Estas ecuaciones nos dan la forma de obtener todas las α y β
partiendo de j=N−1 y obteniendo en orden decreciente αj y
βj,n con j=N−2, …,1,0. Obsérvese que α no depende del tiempo y sólo es necesario calcularlas una vez.
Una vez obtenidas las α y β, se usa la recurrencia (20) para hallar las χj en orden de j
crecientes.
Conocida χj,n, y con ella Φj,n+1, queda discutir qué función de onda inicial se usa
y con qué potencial. La función de onda inicial que vamos a usar es una onda plana con una amplitud gaussiana, esto es,
Φ(x,0)=eik0xe−(x−x0)2/2σ2. |
| (23) |
Notemos que con esta elección, la densidad de probabilidad de encontrar inicialmente la partícula en un punto x es
una gaussiana centrada en x0 y de anchura σ. El número de oscilaciones completas que la función de onda tiene
sobre la red depende de k0, así k0Nh=2πnciclos. En lugar de dar como parámetro inicial k0, daremos
nciclos. Obviamente nciclos=0,1,....,N. Pero físicamente no tendría mucho sentido que se produjese una
oscilación completa de la función de onda entre dos puntos del retículo, pues querría decir que la
discretización no es suficientemente fina. Así pues, restringiremos el parámetro nciclos a los valores
1,...,N/4.
De esta forma, un ciclo tendrá 4 puntos como mínimo. La posición media inicial y la anchura de
la gaussiana serán x0=Nh/4 y σ = Nh/16.
Por útimo, el potencial que usaremos tendrá una anchura N/5, estará entrado en N/2 y su altura será proporcional a
la
energía de la función de onda incidente: λk02 (puede usarse, por ejemplo, λ = 0.3).
En resumen, utilizando las constantes reescaladas, la función de onda en el retículo se tomará
Φj,0=ei~k0 j e−2(4j−N)2/N2, |
| (24) |
donde ~k0=k0 h=2πnciclos/N donde nciclos=1,...,N/4. El potencial es
Sólo queda por fijar el parámetro ~s=s/h2. Puesto que la energía es proporcional a k02
y el operador dinámico discreto tiende a ser exacto en potencias de H s, lo óptimo es elegir
||H||s < 1, esto es, k02 s < 1. Así deducimos que ~s < 1/~k02. En particular tomaremos ~s=1/4~k02.
Resumiendo, los parámetro que se han de fijar inicialmente son N, nciclos y λ, pues todos
los demás se determinan a partir de ellos.
Por lo tanto, el algoritmo para resolver la ecuación de Schrödinger
unidimensional puede esquematizarse del siguiente modo:
- Dar los parámetros iniciales: N, nciclos y λ. Generar ~s, ~k0, ~Vj,
Φj,0 (incluyendo las condiciones de contorno Φ0,0=ΦN,0=0) y α.
- Calcular β utilizando la recurrencia (22).
- Calcular χ a partir de (20).
- Calcular Φj,n+1 de (15).
- n=n+1, ir a al paso 2.
Figure 1: Dispersión de un paquete gaussiano por un pozo cuadrado. La energía
media es la mitad de la profundidad del pozo. Los números
denotan el tiempo de cada configuración en unidades arbitrarias.
Figure 2: Dispersión de un paquete gaussiano por un pozo cuadrado. La energía
promedio es igual a la profundidad del pozo. Los números
denotan el tiempo de cada configuración en unidades arbitrarias.
Figure 3: Dispersión de un paquete gaussiano por una barrera cuadrada. La
energía promedio es la mitad de la altura de la barrera. Los números
denotan el tiempo de cada configuración en unidades arbitrarias.
Figure 4: Dispersión de un paquete gaussiano por una barrera cuadrada. La
energía promedio es igual a la altura de la barrera. Los números
denotan el tiempo de cada configuración en unidades arbitrarias.
Figure 5: Dispersión de un paquete gaussiano por un pozo cuadrado. La energía
promedio es dos veces la altura de la barrera. Los números
denotan el tiempo de cada configuración en unidades arbitrarias.
Números complejos en Fortran.
- Declaración: implicit double complex (h)
- Asignación de valores constantes: h=(1.0d+0,0.3d+0) (=1+i0.3).
- Asignación de variables: h=complex(a,b) (=a+ib).
File translated from
TEX
by
TTH,
version 4.03.
On 3 Feb 2014, 13:21.