Código YAMBO - YAMBO code
| Autor (es) original (es) | Andrea Marini |
|---|---|
| Desarrollador (es) | Conor Hogan, Myrta Gruning, Daniele Varsano, Davide Sangalli, Andrea Ferretti, Pedro Melo, Ryan McMillan, Fabio Affinito, Alejandro Molina-Sanchez, Henrique Miranda |
| Versión inicial | 2008 |
| Lanzamiento estable | 4.5 / 2 de enero de 2020
|
| Repositorio | github |
| Escrito en | Fortran , C |
| Sistema operativo | Unix , similar a Unix |
| Plataforma | x86 , x86-64 |
| Disponible en | inglés |
| Escribe | Teoría de muchos cuerpos |
| Licencia | GPL |
| Sitio web | www |
Yambo es un paquete de software de computadora para estudiar aspectos de la teoría de muchos cuerpos de sólidos y sistemas de moléculas . Calcula las propiedades del estado excitado de los sistemas físicos a partir de los primeros principios , por ejemplo, de la ley de la mecánica cuántica sin el uso de datos empíricos. Es un software de código abierto publicado bajo la Licencia Pública General GNU (GPL). Sin embargo, el repositorio de desarrollo principal es privado y solo un subconjunto de las características disponibles en el repositorio privado se clona en el repositorio público y, por lo tanto, se distribuye.
Propiedades estatales emocionadas
Yambo puede calcular:
- Energías de cuasipartículas : polo plasmón, aproximación COHSEX o eje real
- Duración dentro de la aproximación GW
- Absorción óptica : RPA, Bethe Salpeter con o sin aproximación de Tamm-Dancoff, TDDFT en TD-LDA o LRC
- Espectroscopia de pérdida de energía de electrones
- Polarizabilidad dinámica
- acoplamiento electrón-fonón (teoría de perturbación estática y dinámica)
- propiedades magneto ópticas
- espectroscopia de superficie
Sistemas fisicos
Yambo puede tratar moléculas y sistemas periódicos (tanto metálicos como aislantes) en tres dimensiones (sólidos cristalinos), dos dimensiones (superficies) y una dimensión (por ejemplo, nanotubos , nanocables , cadenas de polímeros ). También puede manejar sistemas magnéticos colineales (es decir, funciones de onda con polarización de espín ) y no colineales ( espinores ).
Los sistemas típicos tienen un tamaño de 10 a 100 átomos, o de 10 a 400 electrones, por celda unitaria en el caso de los sistemas periódicos.
Métodos teóricos y aproximaciones.
Yambo se basa en la teoría de la perturbación de muchos cuerpos y la teoría funcional de la densidad dependiente del tiempo . Las energías de las cuasipartículas se calculan dentro de la aproximación de GW para la energía propia. Las propiedades ópticas se calculan resolviendo la ecuación de Bethe-Salpeter o utilizando la aproximación de densidad local adiabática dentro de la teoría funcional de densidad dependiente del tiempo.
Detalles numéricos
Yambo utiliza un conjunto de bases de ondas planas para representar las funciones de onda electrónicas (de una sola partícula). Los electrones del núcleo se describen con pseudopotenciales que conservan las normas . La elección de un conjunto de base de onda plana refuerza la periodicidad de los sistemas. Los sistemas aislados y los sistemas que son periódicos en solo una o dos direcciones pueden tratarse utilizando un enfoque de supercélula. Para tales sistemas, Yambo ofrece dos técnicas numéricas para el tratamiento de las integrales de Coulomb: el método de corte y el método de integración aleatoria.
Detalles técnicos
- Yambo está interconectado con códigos funcionales de densidad de onda plana : ABINIT , PWscf , CPMD y con la biblioteca ETSF-io. Las utilidades que interconectan estos códigos con Yambo se distribuyen junto con el programa principal.
- El código fuente está escrito en Fortran 95 y C
- El código se paraleliza utilizando bibliotecas de ejecución MPI
Interfaz de usuario
- Yambo tiene una interfaz de usuario de línea de comandos. Invocar el programa con opción específica genera la entrada con valores predeterminados para los parámetros consistentes con los datos presentes en el sistema.
- Una herramienta de posprocesamiento, distribuida junto con el programa principal, ayuda con el análisis y visualización de los resultados.
Requisitos del sistema, portabilidad
- Sistemas basados en Unix
- Compiladores para los lenguajes de programación Fortran 95 y C
- opcional: compilador PGI Fortran para la versión GPU (a partir de la versión 4.5)
- opcional: netcdf , fftw , mpi (para ejecución paralela), etsf-io , libxc , hdf5
- Los requisitos de hardware dependen en gran medida del sistema físico en estudio y del nivel teórico elegido. Para la memoria de acceso aleatorio (RAM), los requisitos pueden variar desde menos de 1 GB hasta unos pocos GB, según el problema.
Aprendiendo Yambo
El equipo de Yambo proporciona una página web wiki con una lista de tutoriales y notas de clase . En el sitio web de yambo también hay una lista de todas las tesis realizadas con el código.
Parte no distribuida
Parte del código YAMBO se guarda en un repositorio privado. Estas son las características implementadas y aún no distribuidas:
- energía total usando el teorema de fluctuación-disipación de conexión adiabática
- campo magnético
- GW autoconsistente
- dinámico Bethe-Salpeter
- Bethe-Salpeter de momento finito
- espectroscopia en tiempo real
- núcleos avanzados para la teoría funcional de la densidad dependiente del tiempo (núcleo Nanoquanta).