19 votos

Cálculo de integrales de dos electrones con un conjunto de bases STO-3G

Estoy tratando de implementar un cálculo Hartree-Fock restringido utilizando un conjunto de bases STO-3G, por diversión. He conseguido realizar este cálculo en el que sólo $\mathrm{1s}$ están presentes los orbitales ( $\ce{H2}$ y $\ce{HeH+}$ ) como se explica en el libro de Szabo y Ostlund. En este libro, los autores dan fórmulas explícitas para las integrales de solapamiento, cinéticas, nucleares-electrónicas y electrón-electrónicas para $\mathrm{1s}$ orbitales y funcionan correctamente.

Para generalizar mi cálculo a los sistemas que contienen $\mathrm{2s}$ y $\mathrm{2p}$ orbitales (para $\ce{H2O}$ y $\ce{N2}$ ), he utilizado las fórmulas generales que encontré en el libro de Cook para las integrales electrón-nuclear y electrón-electrón. En este caso, obtengo resultados ligeramente diferentes a los del libro de Szabo:

$$E_\text{tot}(\ce{H2O}) = -74.4442002765 \text{ a.u.}$$

en lugar de

$$E_\text{tot}^\text{Szabo}(\ce{H2O}) = -74.963 \text{ a.u.}$$

Esto es obviamente problemático ya que las energías orbitales sufren el mismo error y esto lleva a un potencial de ionización erróneo (0,49289045 a.u. en lugar de 0,391 a.u., una diferencia de aproximadamente 63 kcal $\cdot$ mol $^{-1}$ ).

Como he comprobado mi código varias veces y he escrito el código de cálculo de dos electrones desde cero dos veces, me preguntaba si hay un error tipográfico en el libro de Cook. ¿Hay alguna buena referencia donde pueda encontrar la fórmula (correcta) para calcular las integrales de dos electrones de las funciones gaussianas (en coordenadas cartesianas) con momentos angulares arbitrarios? De momento no estoy buscando un algoritmo (recursivo) muy eficiente para realizar esta tarea, sólo necesito una fórmula exacta como la que se propone en el libro de Cook.

Fuentes:

[1] Szabo y Ostlund, Modern Quantum Chemistry, Dover, 1989.

[2] Cook, Handbook of Computational Chemistry, Oxford University Press, 1998.

11voto

JoshRivers Puntos 2902

En realidad hay un error en la expresión analítica del libro de Cook. En su página web tiene un pdf con la versión corregida

http://spider.shef.ac.uk/

Tal vez esto resuelva tu problema, pero también te recomendaría implementar el esquema Obara-Saika o rys-Quadrature ya que son realmente mucho más eficientes. Si estás programando en Python, podrías echar un vistazo al proyecto PyQuante, que implementa todas estas cosas. En cuanto a Obara-Saika, también puedes leer sobre el esquema Head-Gordon Pople. Es en principio una versión adaptada de Obara-Saika que reduce el número de FLOP.

7voto

Jegschemesch Puntos 4093

Mi consejo es aplicar las fórmulas de recurrencia de Obara-Saika que se describen en "Molecular Electronic-Structure Theory" de Helgakar, et al. Yo me quedaría con Cartesiano ya que a) son más fáciles y b) los armónicos esféricos no importan para las moléculas de todos modos.

Hice esto hace años (en Mathematica) cuando estaba en un lugar similar -- habiendo completado Szabo y Ostlund y queriendo un código de "momento angular" arbitrario.

El libro le costará una pequeña fortuna, pero si puede tomarlo prestado a través del Préstamo Interbibliotecario, es un texto fenomenal.

5voto

Dylan Beattie Puntos 23222

Mi sugerencia sería utilizar otro código existente y realizar el cálculo.

Por ejemplo, si hago un cálculo HF/STO-3G en $\ce{H2O}$ me sale:

$$E_\mathrm{H_2O}=-74.9659011\:\mathrm{a.u.}$$

No tengo el libro de Cook a mano, así que no puedo buscar el error, pero sospecharía de algún error como el tuyo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X