Confronto delle funzioni di Wannier risultanti da diversi schemi di minimizzazione nell'arseniuro di gallio (le sfere rosa più grandi sono atomi di cationi Ga e le sfere gialle sono anioni As). Credito:Valerio Vitale @Imperial College London.
Le funzioni Wannier furono introdotte per la prima volta da Gregory Wannier nel 1937 come un modo alternativo di descrivere lo stato fondamentale elettronico dei sistemi periodici. Erano collegati agli orbitali di Bloch, il metodo standard per descrivere questi stati fondamentali, per famiglie di trasformazioni in uno spazio continuo di matrici unitarie. Sfortunatamente, questo era legato a un ampio grado di arbitrarietà.
Nel 1996, Nicola Marzari, direttore del NCCR MARVEL, poi un postdoc alla Rutgers University, e il prof. David Vanderbilt, anche a Rutgers, ha sviluppato un nuovo metodo che consente ai ricercatori di trasformare in modo iterativo gli orbitali di Bloch estesi di un calcolo dei primi principi in un insieme unico di funzioni di Wannier "localizzate al massimo". Queste funzioni ortogonali localizzate possono rappresentare molto accuratamente gli autostati di Bloch di un sistema periodico ad un costo computazionale molto basso, grazie alle dimensioni minime del set base Wannier. Inoltre, Le funzioni più deboli possono essere utilizzate per analizzare la natura del legame chimico, o come sonda locale di fenomeni legati alla polarizzazione elettrica e alla magnetizzazione orbitale. Possono anche essere costruiti e utilizzati al di fuori del contesto della teoria della struttura elettronica, per esempio nei casi che includono eccitazioni fononiche, cristalli fotonici, e reticoli ottici ad atomi freddi.
La storia dello sviluppo del codice può essere trovata qui. Da notare che già 20 anni fa una collaborazione con il Prof. Alfonso Baldereschi e il Dott. Michel Posternak, qui all'EPFL, è stata la chiave per rendere il codice veramente agnostico rispetto a qualsiasi software basato sui principi primi, e quindi ampiamente utilizzabile e interoperabile. Il suo utilizzo e la sua popolarità possono essere misurati dalle statistiche sui giornali che descrivono v1.0 o v2.0, raccogliendo circa 500 paper pubblicati solo nel 2019.
Nella sua incarnazione Fortran90, Wannier90 è ora passato dall'essere sviluppato da una piccola comunità di ricercatori a un modello in cui gli sviluppi sono guidati dalla comunità. Ciò è stato ottenuto principalmente ospitando il codice sorgente e gli sforzi di sviluppo associati su un repository GitHub pubblico, costruendo una comunità di sviluppatori Wannier90 impegnati e ricompensati da nuove versioni e documenti associati, e facilitare le interazioni personali tra gli individui attraverso laboratori comunitari, il più recente a San Sebastian nel 2016, che ha posto le basi per il presente lavoro.
Grazie a questo passaggio, la versione 3.0 del programma include diverse nuove funzionalità e miglioramenti che lo rendono molto robusto, efficiente e ricco di funzionalità. Questi includono nuovi metodi per il calcolo dei WF e per la generazione delle proiezioni iniziali; parallelizzazione e ottimizzazioni; si interfaccia con nuovi codici, metodi e infrastrutture; nuova funzionalità utente; documentazione migliorata e varie correzioni di bug. L'allargamento della comunità di sviluppatori ha avuto anche un effetto visibile in termini di moderne pratiche di ingegneria del software che sono state messe in atto. Aiutano a migliorare la robustezza e l'affidabilità del codice e facilitano la sua manutenzione da parte del gruppo di sviluppatori Wannier90, nonché la sua sostenibilità a lungo termine.