Comparación de las funciones de Wannier resultantes de diferentes esquemas de minimización en arseniuro de galio (las esferas rosadas más grandes son átomos de catión Ga y las esferas amarillas son aniones As). Crédito:Valerio Vitale @Imperial College London.
Las funciones de Wannier fueron introducidas por primera vez por Gregory Wannier en 1937 como una forma alternativa de describir el estado fundamental electrónico de los sistemas periódicos. Estaban vinculados a los orbitales de Bloch, el método estándar para describir estos estados fundamentales, por familias de transformaciones en un espacio continuo de matrices unitarias. Desafortunadamente, esto estaba vinculado a un alto grado de arbitrariedad.
En 1996, Nicola Marzari, directora de NCCR MARVEL, luego un postdoctorado en la Universidad de Rutgers, y el Prof. David Vanderbilt, también en Rutgers, desarrolló un método novedoso que permite a los investigadores transformar iterativamente los orbitales de Bloch extendidos de un cálculo de primeros principios en un conjunto único de funciones de Wannier "localizadas al máximo". Estas funciones ortogonales localizadas pueden representar con mucha precisión los estados propios de Bloch de un sistema periódico a un costo computacional muy bajo. gracias al tamaño mínimo del juego básico de Wannier. Además, Las funciones de Wannier se pueden utilizar para analizar la naturaleza de los enlaces químicos, o como sonda local de fenómenos relacionados con la polarización eléctrica y la magnetización orbital. También se pueden construir y utilizar fuera del contexto de la teoría de la estructura electrónica, por ejemplo, en casos que incluyen excitaciones fonónicas, cristales fotónicos, y redes ópticas de átomos fríos.
La historia del desarrollo del código se puede encontrar aquí. Es de destacar que hace ya 20 años una colaboración con el Prof. Alfonso Baldereschi y el Dr. Michel Posternak, aquí en EPFL, fue clave para hacer que el código fuera verdaderamente independiente de cualquier software de primeros principios, y por lo tanto ampliamente utilizable e interoperable. Su uso y popularidad pueden medirse por las estadísticas de los artículos que describen la v1.0 o la v2.0, recogiendo alrededor de 500 artículos publicados solo en 2019.
En su encarnación Fortran90, Wannier90 ahora ha pasado de ser desarrollado por una pequeña comunidad de investigadores a un modelo donde los desarrollos son impulsados por la comunidad. Esto se ha logrado principalmente alojando el código fuente y los esfuerzos de desarrollo asociados en un repositorio público de GitHub, creando una comunidad de desarrolladores Wannier90 comprometidos y recompensados con nuevos lanzamientos y documentos asociados, y facilitar interacciones personales entre individuos a través de talleres comunitarios, el más reciente en San Sebastián en 2016, que sentó las bases para el presente documento.
Gracias a esta transición, la versión 3.0 del programa incluye varias funcionalidades nuevas y mejoras que lo hacen muy robusto, eficiente y rico en funciones. Estos incluyen nuevos métodos para el cálculo de WF y para la generación de las proyecciones iniciales; paralelización y optimizaciones; interfaces con nuevos códigos, métodos e infraestructuras; nueva funcionalidad de usuario; documentación mejorada y varias correcciones de errores. La ampliación de la comunidad de desarrolladores también tuvo un efecto visible en términos de las prácticas modernas de ingeniería de software que se han implementado. Ayudan a mejorar la solidez y confiabilidad del código y facilitan su mantenimiento por parte del grupo principal de desarrolladores de Wannier90, así como su sostenibilidad a largo plazo.