Documente Academic
Documente Profesional
Documente Cultură
OBJETIVOS:
5. Conocer de manera somera métodos de cálculo más precisos que HF la para un sistema
de N electrones (configuración de interacciones, métodos Monte-Carlo, métodos pertur-
bativos)
LECTURAS COMPLEMENTARIAS:
15
16 TEMA 2. CONCEPTOS FUNDAMENTALES II: ALGUNOS MÉTODOS DE CÁLCULO
A pesar de ello, vamos a empezar este segundo tema explicando de manera somera (aunque
práctica) algunos métodos [no todos] para resolver la ecuación de Schrödinger de una partícu-
la. Esto puede parecer extraño. Sin embargo, una estrategia habitual es intentar reducir el
problema de N electrones interactuantes a M (M no necesariamente igual que N ) problemas
monopartícula. La ventaja, y este es el primer mensaje importante, es que consideraremos que
la resolución de la ecuación de Schrödinger de una partícula es un problema trivial
cuya solución se da por supuesta. Ahora bien, es muy importante que dicha resolución se
haga de manera eficiente ya que en problemas reales buena parte del esfuerzo computacional
se dedicará a resolver ecuaciones de Schrödinger de un electrón.
b 1~ 2
tφn (~r) = − ∇ φn (~r)
2
(nótese que usamos unidades atómicas), mientras que la actuación del operador asociado a la
energía potencial es
1~ 2
P
X
b
tφ (~ri ) = − ∇ φ (~ri ) ' tij φj
2 j=1
es decir, la segunda derivada de φ en el punto ~ri (salvo el factor −1/2) se calcula a partir
del conocimiento de los valores que toma la función en todos los puntos (esto es, simplemente
hacemos las derivadas numéricamente y las expresamos matricialmente). Obsérvese que tij va
a ser cero si i es muy distinto de j. De hecho, de toda la matriz T = [tij ] sólo unos pocos
elementos, alrededor de la diagonal principal, van a ser nulos. Naturalmente, cuanto más
preciso sea el cálculo de la derivada, mayor va a ser el número de elementos no nulos en T.
2.1. RESOLUCIÓN DE LA ECUACIÓN DE SCHRÖDINGER PARA UN ELECTRÓN 17
X
P
b
h φ (~r) = ε φ (~r) ⇒ Hφ = (T + V) φ = εφ ⇒ (tij + δ ij vi ) φj = εφi ; i = 1, ..., P
j=1
es decir, equivalente a la diagonalización de una matriz P × P simétrica real para el que existen
multitud de técnicas numéricas muy eficientes.
§ 4. Veamos un ejemplo ilustrativo, aunque restringido a una dimensión (para tres dimen-
siones espaciales la estrategia es similar). Consideremos un electrón sometido a un potencial
v (x). Lo primero que tenemos que hacer es discretizar el espacio, lo que implica dos aproxi-
maciones: el tamaño del sistema (en principio es infinito) y la densidad del mallado que, para
simplificar, supondremos uniforme1 . Supondremos que el sistema está dentro de un segmento
[−Lmax /2, Lmax /2] (por tanto Lmax , el tamaño efectivo del sistema, es el primer parámetro de
convergencia) y consideraremos un número impar P de puntos equiespaciados que, por tanto,
incluyen los extremos y el origen x = 0. La densidad del mallado es, evidentemente
Lmax
∆x =
P −1
1
φ00 (xi ) ' [φ (xi−1 ) − 2φ (xi ) + φ (xi+1 )]
(∆x)2
−2 1
1 −2 1
−1 1 −2 1
T= 1 −2 1 .
2 (∆x)2
.
1 −2 . .
... ...
(nótese cómo T es simétrica). Esta fórmula para la segunda derivada supone que la función se
porta como un polinomio de segundo grado. También podemos usar una regla de cinco puntos
(se supone que la función se porta como un polinomio de cuarto grado alrededor del punto en
el que evaluamos la derivada):
1
φ00 (xi ) ' [−φ (xi−2 ) + 16φ (xi−1 ) − 30φ (xi ) + 16φ (xi+1 ) − φ (x)]
12 (∆x)2
1
En muchos casos el mallado no es uniforme, pero aunque esto implique complicaciones técnicas, no cambia
la idea general del método.
18 TEMA 2. CONCEPTOS FUNDAMENTALES II: ALGUNOS MÉTODOS DE CÁLCULO
Así, fijado el orden en el que se calculan las derivadas, tenemos dos parámetros de convergencia:
Lmax y P (el número de puntos).
1
v (x) = x2
2
Una vez solucionada la ecuacion de Schrödinger, las autoenergías aparecen en pantalla, mientras
que las autofunciones se almacenan en el fichero simple1s.out para su representación (por
ejemplo, usando gnuplot).
Como ilustración calculemos las tres primeras autoenergías del oscilador armónico de pul-
sación unidad. El valor Lmax = 10 es suficiente (aunque habría que incrementarlo si quisiéramos
calcular más energías), por lo que nos centraremos en la convergencia con el número de puntos.
Empecemos con un valor muy bajo: P = 11, lo que implica que el fichero de entrada es:
10.d0 # Lmax (unidades atomicas)
11 # Numero de puntos
3 # Numero de autoestados calculados (0 < neigen < 6)
0 # Caracter del potencial (solo si es 0 es local)
El resultado del programa es
================================================================================
2
Evidentemente el programa principal se puede escribir en F90 o F95.
3
No es, ni mucho menos, lo mejor que hay. Sin embargo son las subrutinas que se usan en el libroNumerical
Recipes, por lo que a efectos didácticos es mejor usar estas.
2.1. RESOLUCIÓN DE LA ECUACIÓN DE SCHRÖDINGER PARA UN ELECTRÓN 19
Observamos que el operador de energía cinética es diagonal en esta representación. Para resolver
numéricamente la ecuación anterior basta discretizar el espacio de momentos. La ventaja es
evidente, ya que la fuente de error principal en los métodos de espacio real (la evaluación de la
segunda derivada) ha desaparecido.
Para discretizar el espacio recíproco se usa una estrategia que, en principio, puede parecer
barroca pero que es tremendamente sencilla de implementar. Como es una técnica muy habitual
merece la pena explicarla con detalle. En primer lugar suponemos que nuestro sistema físico
está contenido en una caja de volumen Ω = L×L×L y que se ha procedido a una discretización
uniforme del espacio real,4 de igual manera a como se hacía en el método anterior:
L
~r = (nx , ny , nz ) ; nx,y,z ∈ Z (N par)
N
A esta caja la denominaremos supercelda (SC). A continuación, de manera artificial, suponemos
que el sistema físico se repite periódicamente en el espacio. Es decir, llenamos el espacio con
réplicas de la supercelda. De este modo, la supercelda y el mallado en el espacio real define de
manera automática un mallado en el espacio recíproco. En efecto, como estamos suponiendo
una periodicidad definida por la SC, los valores permitidos para vectores del espacio recíproco
son
~k = 2π (nx, ny , nz ) ; nx,y,z ∈ Z
L
A su vez, puesto que el espacio en la supercelda está discretizado, los vectores de la forma
~k = 2π (nx , ny , nz ) ; ~k 0 = 2π (nx + N, ny + N, nz + N )
L L
son equivalentes, ya que para cualquier punto ~r del mallado se cumple que
³ ´ ³ ´
exp i~k · ~r = exp i~k 0 · ~r
y, a efectos de transformación de Fourier, toda la información está contenida en los valores que
toman las funciones en espacio recíproco para los puntos
µ ¸
~k = 2π (nx , ny , nz ) ; nx,y,z ∈ − N , N ⊂ Z
L 2 2
tamaño de la supercelda (esto es, L) y una energía máxima (energy cutoff ) Emax . A partir de
Emax se obtiene el valor de
¯ ¯2N que es el máximo que garantiza que todos los puntos del espacio
¯ ¯
recíproco satisfacen que ¯~k ¯ /2 ≤ Emax . Dos son, entonces, los parámetros de convergencia del
método numérico.
De esta manera, la ecuación de Schrödinger discretizada es, a primera vista,
¯ ¯2
¯~ ¯ µ ¶3 X
¯k ¯ 1 2π
φ~k + 3/2
v~k−~q φ~q = ε φ~k
2 (2π) L
q
~
que se diagonaliza con las herramientas adecuadas. Obtenidos los autoestados, su repre-
sentación en espacio real es simplemente
X ³ ´
φ (~r) ∝ φ~k exp +i~k · ~r
~k
es decir, φ (~r) se obtiene como una combinación lineal de ondas planas. Es por ello por lo que
a este método se le denomina, habitualmente, resolución en ondas planas.
Es decir, empezamos desde el origen hacia la derecha y cuando llegamos al máximo valor
.
continuamos con el mínimo. Naturalmente, para cualquier función en espacio real, g (~rn ) = gn
y lo mismo en espacio recíproco. La ventaja de esta asignación, en principio tan rara, es que
simplifica enormemente la implementación numérica, ya que
µ ¶
1 X
SC
1 X
N−1
e . 2πi
Vn = vekn = v (x) exp (−ikn · x) = vm exp − nm
N x N m=0 N
siendo la última cantidad la que se evalua en una FFT. A su vez, si mantenemos esta asignación
de indices en la matriz hamiltoniana, se cumple que
(
Ven−m si n − m ≥ 0
Vn,m = ve~kn −~km =
Ven−m+N si n − m < 0
no se van a realizar más que una docena de veces.5 El fichero de entrada es simple1k.ini, que
contiene como datos el tamaño de la supercelda (L), el cutoff de energía (Emax ) y el número
de autoestados que se desean calcular. En el programa principal se ha definido el potencial
armónico
1
v (x) = x2
2
y, si se cambiase el potencial habría que recompilar el programa. Una vez solucionada la
ecuacion de Schrödinger, las autoenergías aparecen en pantalla, mientras que las autofunciones
(en espacio real) se almacenan en el fichero simple1k.out para su representación (por ejemplo,
usando gnuplot).
Como ilustración calculemos las tres primeras autoenergías del oscilador armónico de pul-
sación unidad. Al igual que sucedía anteriormente, valor Lmax = 10 es suficiente (aunque habría
que incrementarlo si quisiéramos calcular energías más altas), por lo que nos centraremos en la
convergencia frente a Emax . Empecemos con el valor: Emax = 5, lo que implica que el fichero
5
En principio, la evaluación de Ven para todos los n’s escala como N 2 . Sin embargo, usando subrutinas FFT
dicha evaluación escala como N log N . De ahí la importancia de los algoritmos FFT.
2.1. RESOLUCIÓN DE LA ECUACIÓN DE SCHRÖDINGER PARA UN ELECTRÓN 23
de entrada es:
10.d0 # Lmax (unidades atomicas)
5.d0 # Emax (unidades atomicas)
3 # Numero de autoestados calculados (0 < neigen < 6)
El resultado del programa es
================================================================================
Resolucion en ondas planas de la Ec. de Schrodinger 1D
--------------------------------------------------------------------------------
Lmax 10.0000
Emax 4.9348
Ondas planas 10
--------------------------------------------------------------------------------
Energias: 0.499826 1.502895 2.475740
********************************************************************************
Nótese que únicamente diagonalizando una matriz 10 × 10 hemos obtenido una energía para
el estado fundamental con un error del 0,04%. De hecho, si incrementamos el cutoff hasta 14,
lo que obtenemos es lo siguiente:
================================================================================
Resolucion en ondas planas de la Ec. de Schrodinger 1D
--------------------------------------------------------------------------------
Lmax 10.0000
Emax 12.6331
Ondas planas 16
--------------------------------------------------------------------------------
Energias: 0.500000 1.500000 2.500000
********************************************************************************
Sobran comentarios: diagonalizando una matriz 16 × 16 reproducimos los resultados exactos
con una precisión de la millonésima de Hartree.
Obtenga las energías de los cuatro primeros niveles energéticos del sistema. ¿Cuáles
serían estas energías si d À 0?
nos restringimos a un número finito de elementos de la base B. Así, si sólo tomamos los N
primeros elementos de la base, estaríamos diagonalizando el hamiltoniano pero en su restricción
al subespacio de los estados generados por esos N primeros elementos de la base. Así, el único
parámetro de convergencia es N . Puesto que la diagonalización numérica de la matriz
Hm,n = hξ m | b
t + vb |ξ n i
§ 10. Por ejemplo, para resolver el problema planteado en el ejercicio 2.4, se pueden obtener
resultados muy precisos usando únicamente una base de ocho elementos construida a partir de
las siguientes funciones de onda no normalizadas:
µ µ ¶¶ µ µ ¶¶
2 d 2 d
ζ 0i (x) = exp −α x + ; ζ 0d (x) = exp −α x −
2 2
µ ¶ µ µ ¶¶ µ ¶ µ µ ¶¶
d 2 d d 2 d
ζ 1i (x) = x+ exp −α x + ; ζ 1d (x) = x − exp −α x −
2 2 2 2
µ ¶2 µ µ ¶¶ µ ¶2 µ µ ¶¶
d 2 d d 2 d
ζ 2i (x) = x+ exp −α x + ; ζ 2d (x) = x − exp −α x −
2 2 2 2
µ ¶3 µ µ ¶¶ µ ¶3 µ µ ¶¶
d 2 d d 2 d
ζ 3i (x) = x+ exp −α x + ; ζ 3d (x) = x − exp −α x −
2 2 2 2
siempre y cuando, claro está, que el coeficiente α se escoga adecuadamente. Es fácil comprobar
que el proceso de ortonormalización y el cálculo de elementos de matriz es enteramente analítico,
por lo que el esfuerzo computacional se reduce a diagonalizar una matriz 8×8, muchísimo menor
que el necesario para resolver el ejemplo usando los métodos de ondas planas o de espacio real.