Octopus es un paquete de software para realizar cálculos de la teoría funcional de la densidad (DFT) de Kohn–Sham y de la teoría funcional de la densidad dependiente del tiempo (TDDFT). [1]
Octopus emplea pseudopotenciales y cuadrículas numéricas en el espacio real para propagar los orbitales Kohn–Sham en tiempo real bajo la influencia de campos electromagnéticos que varían con el tiempo. Se proporciona una funcionalidad específica para simular sistemas unidimensionales, bidimensionales y tridimensionales. Octopus puede calcular polarizabilidades estáticas y dinámicas y primeras hiperpolarizabilidades , susceptibilidades magnéticas estáticas , espectros de absorción y realizar simulaciones de dinámica molecular con métodos de Ehrenfest y Car–Parrinello .
El código está escrito predominantemente en Fortran y se publica bajo la GPL .
La última versión 13.0 se lanzó el 28 de junio de 2023.
Problemas de objetivos
- Respuesta óptica lineal (es decir, electrónica) de moléculas o grupos, también respuesta no lineal de segundo orden.
- Respuesta no lineal a campos electromagnéticos clásicos de alta intensidad, teniendo en cuenta los grados de libertad iónicos y electrónicos.
- Propiedades electrónicas del estado fundamental y del estado excitado de sistemas con menor dimensionalidad, como los puntos cuánticos.
- Reacciones fotoinducidas de moléculas (por ejemplo, fotodisociación, fotoisomerización, etc.).
- En un futuro inmediato, se pretende extender estos procedimientos a sistemas infinitos y periódicos en una o más dimensiones ( polímeros , slabs, nanotubos , sólidos), y al transporte electrónico.
Fundamento teórico
- Las teorías subyacentes son DFT y TDDFT. Además, el código puede realizar dinámicas considerando la aproximación clásica (es decir, partícula puntual) para los núcleos. Estas dinámicas pueden ser no adiabáticas, ya que el sistema evoluciona siguiendo la trayectoria de Ehrenfest. Sin embargo, se trata de un enfoque de campo medio.
- Respecto a TDDFT, se pueden utilizar tres enfoques diferentes:
- la teoría de respuesta lineal basada en TDDFT estándar de Casida, que proporciona las energías de excitación y las intensidades del oscilador para las transiciones del estado fundamental al estado excitado.
- la propagación temporal explícita de las ecuaciones TDDFT, que permite el uso de grandes potenciales externos, mucho más allá del rango de validez de la teoría de perturbaciones .
- la ecuación de Sternheimer (teoría de perturbación funcional de la densidad) en el dominio de la frecuencia, utilizando solo estados ocupados.
Metodología
- Como representación numérica, el código trabaja sin un conjunto base , apoyándose en mallas numéricas. No obstante, se utilizan conjuntos base auxiliares ( ondas planas , orbitales atómicos ) cuando es necesario. Recientemente, el código ofrece la posibilidad de trabajar con mallas no uniformes, que se adaptan a la inhomogeneidad del problema, y de hacer uso de técnicas multimalla para acelerar los cálculos.
- Para la mayoría de los cálculos, el código se basa en el uso de pseudopotenciales [2] de dos tipos: Troullier-Martins, [3] y Hartwigsen-Goedecker-Hutter. [4]
- Además de poder tratar sistemas en las 3 dimensiones estándar, también están disponibles los modos 2D y 1D, que son útiles para estudiar, por ejemplo, el gas de electrones bidimensional que caracteriza a una amplia clase de puntos cuánticos.
Aspectos técnicos
- El código ha sido diseñado con énfasis en la escalabilidad paralela. En consecuencia, permite múltiples divisiones de tareas, para lo cual se utilizan software de división en malla, MPI y OpenMP .
- El lenguaje de la mayor parte del código es Fortran 90. También se utilizan otros lenguajes, como C.
- El paquete está licenciado bajo la Licencia Pública General GNU (GPL). En consecuencia, está disponible para su uso, inspección y modificación por parte de cualquier persona en el repositorio git de Octopus.
Véase también
Referencias
- ^ Castro, Alberto; Heiko Appel; Micael Oliveira; Carlo A. Rozzi; Xavier Andrade; Florian Lorenzen; MAL Marques; EKU Gross; Angel Rubio (2006). "Octopus: una herramienta para la aplicación de la teoría funcional de la densidad dependiente del tiempo". Physica Status Solidi B . 243 (11): 2465–2488. Bibcode :2006PSSBR.243.2465C. doi :10.1002/pssb.200642067. hdl : 10316/8208 . S2CID 55356805.
- ^ Pickett, Warren E. (1989). "Métodos pseudopotenciales en aplicaciones de materia condensada". Computer Physics Reports . 9 (3). Elsevier BV: 115–197. Bibcode :1989CoPhR...9..115P. doi :10.1016/0167-7977(89)90002-6. ISSN 0167-7977.
- ^ Troullier, N.; Martins, José Luriaas (15 de enero de 1991). "Pseudopotenciales eficientes para cálculos de ondas planas". Physical Review B . 43 (3). American Physical Society (APS): 1993–2006. Bibcode :1991PhRvB..43.1993T. doi :10.1103/physrevb.43.1993. ISSN 0163-1829. PMID 9997467.
- ^ Hartwigsen, C.; Goedecker, S.; Hutter, J. (15 de agosto de 1998). "Pseudopotenciales gaussianos relativistas separables en el espacio dual de H a Rn". Physical Review B . 58 (7). American Physical Society (APS): 3641–3662. arXiv : cond-mat/9803286 . Código Bibliográfico :1998PhRvB..58.3641H. doi :10.1103/physrevb.58.3641. ISSN 0163-1829. S2CID 119450371.
Enlaces externos