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
∂Φ(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
dP=|Φ(x,t)|2 dV.
(2)
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,



V 
|Φ(x,t)|2 dV=1.
(3)
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:
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

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,nN,n=0, en cualquier instante. Puede definirse de forma inmediata un primer algoritmo a partir de la expresión
Φj,n+1 = e−i s HΦj,n.
(9)
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)2j,n,
(10)
donde
Φj′′2 Φ

∂x2
= 1

h2
j+1−2Φjj−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,nj,n−Φj,n,
(15)
donde
χj,n 2

1+isHD/2
Φj,n,
(16)
o lo que es lo mismo, dada Φj,n, j=0,..,N, χj,n es la solución de la ecuación
[ 1+isHD/2 ]χj,n=2Φj,n,
(17)
que en forma explícita puede escribirse como
χj+1,n+

−2+ 2i

~
s
~
V
 

j 


χj,nj−1,n= 4i

~
s
Φ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 χ0N=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,njχj,nj,n    j=0,…,N−1
(20)
donde, para garantizar que se cumple χN,n=0, tomaremos αN−1N−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,nj(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

~
V
 

j 
=Vj h2 =



0
si j[2N/5,3N/5],
λ
~
k
 
2
0 
si j[2N/5,3N/5].
(25)
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:
  1. Dar los parámetros iniciales: N, nciclos y λ. Generar ~s, ~k0, ~Vj, Φj,0 (incluyendo las condiciones de contorno Φ0,0N,0=0) y α.
  2. Calcular β utilizando la recurrencia (22).
  3. Calcular χ a partir de (20).
  4. Calcular Φj,n+1 de (15).
  5. n=n+1, ir a al paso 2.
goldberg1.jpg
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.


goldberg2.jpg
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.


goldberg3.jpg
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.


goldberg4.jpg
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.


goldberg5.jpg
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.




File translated from TEX by TTH, version 4.03.
On 3 Feb 2014, 13:21.