Codice YAMBO - YAMBO code

Yambo
Autori originali Andrea Marini
Sviluppatore/i Conor Hogan, Myrta Gruning, Daniele Varsano, Davide Sangalli, Andrea Ferretti, Pedro Melo, Ryan McMillan, Fabio Affinito, Alejandro Molina-Sanchez, Henrique Miranda
Versione iniziale 2008 ; 13 anni fa ( 2008 )
Rilascio stabile
4.5 / 2 gennaio 2020 ; 20 mesi fa ( 2020-01-02 )
Repository github .com /yambo-code /yambo
Scritto in Fortran , C
Sistema operativo Unix , simile a Unix
piattaforma x86 , x86-64
Disponibile in inglese
Tipo Teoria dei molti corpi
Licenza GPL
Sito web www .yambo-code .org

Yambo è un pacchetto software per computer per lo studio degli aspetti della teoria a molti corpi dei solidi e dei sistemi molecolari . Calcola le proprietà dello stato eccitato dei sistemi fisici dai principi primi , ad esempio dalla legge della meccanica quantistica senza l'uso di dati empirici. È un software open source rilasciato sotto la GNU General Public License (GPL). Tuttavia, il repository di sviluppo principale è privato e solo un sottoinsieme delle funzionalità disponibili nel repository privato viene clonato nel repository pubblico e quindi distribuito.

Proprietà dello stato eccitato

Yambo può calcolare:

  • accoppiamento elettrone-fonone (teoria delle perturbazioni statiche e dinamiche)
  • proprietà magneto-ottiche
  • spettroscopia di superficie


Sistemi fisici

Yambo può trattare molecole e sistemi periodici (sia metallici che isolanti) in tre dimensioni (solidi cristallini) due dimensioni (superfici) e una dimensione (es. nanotubi , nanofili , catene polimeriche ). Può anche gestire sistemi magnetici collineari (cioè funzioni d'onda spin-polarizzate ) e non collineari ( spinori ).

I sistemi tipici sono della dimensione di 10-100 atomi, o 10-400 elettroni, per cella unitaria nel caso di sistemi periodici.

Metodi teorici e approssimazioni

Yambo si basa sulla teoria delle perturbazioni a molti corpi e sulla teoria del funzionale della densità dipendente dal tempo . Le energie quasiparticellari sono calcolate all'interno dell'approssimazione GW per l'energia propria. Le proprietà ottiche vengono calcolate risolvendo l' equazione di Bethe-Salpeter o utilizzando l'approssimazione adiabatica della densità locale all'interno della teoria del funzionale della densità dipendente dal tempo.

Dettagli numerici

Yambo utilizza una base di onde piane per rappresentare le funzioni d'onda elettroniche (a particella singola). Gli elettroni del nucleo sono descritti con pseudopotenziali che conservano la norma . La scelta di un set di basi per onde piane impone la periodicità dei sistemi. I sistemi isolati e i sistemi periodici solo in una o due direzioni possono essere trattati utilizzando un approccio a supercella. Per tali sistemi Yambo offre due tecniche numeriche per il trattamento degli integrali di Coulomb: il metodo del cut-off e dell'integrazione casuale.

Dettagli tecnici

  • Yambo è interfacciato con i codici densità-funzionali d'onda piana : ABINIT , PWscf , CPMD e con la libreria ETSF-io. Le utilità che interfacciano questi codici con Yambo sono distribuite insieme al programma principale.
  • Il codice sorgente è scritto in Fortran 95 e C
  • Il codice viene parallelizzato utilizzando le librerie in esecuzione MPI

Interfaccia utente

  • Yambo ha un'interfaccia utente a riga di comando. Richiamando il programma con opzione specifica si genera l'input con valori di default per i parametri coerenti con i dati presenti sul sistema.
  • Uno strumento di post-elaborazione, distribuito insieme al programma principale, aiuta con l'analisi e la visualizzazione dei risultati.

Requisiti di sistema, portabilità

  • Sistemi basati su Unix
  • Compilatori per i linguaggi di programmazione Fortran 95 e C
  • opzionale: compilatore PGI Fortran per versione GPU (a partire dalla versione 4.5)
  • opzionale: netcdf , fftw , mpi (per l'esecuzione parallela), etsf-io , libxc , hdf5
  • I requisiti hardware dipendono molto dal sistema fisico in studio e dal livello teorico scelto. Per la memoria ad accesso casuale (RAM) i requisiti possono variare da meno di 1 GB a pochi GB, a seconda del problema.

Imparare Yambo

Il team di Yambo fornisce una pagina Web wiki con un elenco di tutorial e note di lezione . Sul sito di yambo c'è anche un elenco di tutte le tesi fatte con il codice.

Parte non distribuita

Parte del codice YAMBO è conservata in un repository privato. Queste le funzionalità implementate e non ancora distribuite:

  • energia totale usando il teorema di fluttuazione-dissipazione della connessione adiabatica
  • campo magnetico
  • GW autoconsistente
  • dinamica Bethe-Salpeter
  • momento finito Bethe-Salpeter
  • spettroscopia in tempo reale
  • kernel avanzati per la teoria del funzionale della densità dipendente dal tempo (kernel Nanoquanta).

Riferimenti

link esterno