YAMBO-Code - YAMBO code
| Originalautor(en) | Andrea Marini |
|---|---|
| Entwickler | Conor Hogan, Myrta Gruning, Daniele Varsano, Davide Sangalli, Andrea Ferretti, Pedro Melo, Ryan McMillan, Fabio Affinito, Alejandro Molina-Sanchez, Henrique Miranda |
| Erstveröffentlichung | 2008 |
| Stabile Version | 4.5 / 2. Januar 2020
|
| Repository | github |
| Geschrieben in | Fortran , C |
| Betriebssystem | Unix , Unix-ähnlich |
| Plattform | x86 , x86-64 |
| Verfügbar in | Englisch |
| Typ | Vielteilchentheorie |
| Lizenz | GPL |
| Webseite | www |
Yambo ist ein Computer - Software - Paket für das Studium Vielteilchentheorie Aspekte von Feststoffen und Molekül - Systemen. Es berechnet die Eigenschaften des angeregten Zustands physikalischer Systeme aus ersten Prinzipien , zB aus dem Gesetz der Quantenmechanik , ohne empirische Daten zu verwenden. Es ist eine Open-Source-Software, die unter der GNU General Public License (GPL) veröffentlicht wurde. Das Hauptentwicklungs-Repository ist jedoch privat, und nur eine Teilmenge der im privaten Repository verfügbaren Funktionen wird in das öffentliche Repository geklont und somit verteilt.
Aufgeregte Zustandseigenschaften
Yambo kann berechnen:
- Quasiteilchenenergien : Plasmonenpol, COHSEX-Näherung oder reelle Achse
- Lebensdauern innerhalb der GW-Näherung
- Optische Absorption : RPA, Bethe Salpeter mit oder ohne Tamm-Dancoff-Näherung, TDDFT in TD-LDA oder LRC
- Elektronenenergieverlustspektroskopie
- Dynamische Polarisierbarkeit
- Elektron-Phonon-Kopplung (statische und dynamische Störungstheorie)
- magneto-optische Eigenschaften
- Oberflächenspektroskopie
Physikalische Systeme
Yambo kann Moleküle und periodische Systeme (sowohl metallisch als auch isolierend) in drei Dimensionen (kristalline Festkörper), zwei Dimensionen (Oberflächen) und einer Dimension (zB Nanoröhren , Nanodrähte , Polymerketten ) behandeln. Es kann auch kollineare (dh spinpolarisierte Wellenfunktionen ) und nicht-kollineare ( Spinoren ) magnetische Systeme handhaben .
Typische Systeme haben eine Größe von 10–100 Atomen oder 10–400 Elektronen pro Elementarzelle im Fall von periodischen Systemen.
Theoretische Methoden und Näherungen
Yambo stützt sich auf die Vielteilchen-Störungstheorie und die zeitabhängige Dichtefunktionaltheorie . Quasiteilchenenergien werden innerhalb der GW-Näherung für die Eigenenergie berechnet . Optische Eigenschaften werden entweder durch Lösen der Bethe-Salpeter-Gleichung oder durch Anwendung der adiabatischen Näherung der lokalen Dichte im Rahmen der zeitabhängigen Dichtefunktionaltheorie berechnet.
Numerische Angaben
Yambo verwendet einen Basissatz für ebene Wellen , um die elektronischen Wellenfunktionen (Einzelteilchen) darzustellen. Kernelektronen werden mit normerhaltenden Pseudopotentialen beschrieben . Die Wahl eines ebenen Wellenbasissatzes erzwingt die Periodizität der Systeme. Isolierte Systeme und Systeme, die nur in eine oder zwei Richtungen periodisch sind, können unter Verwendung eines Superzellen-Ansatzes behandelt werden. Für solche Systeme bietet Yambo zwei numerische Techniken zur Behandlung der Coulomb-Integrale an: das Cut-off- und das Random-Integration-Verfahren.
Technische Details
- Yambo ist mit Plane-Wave-Dichte-Funktionscodes verbunden: ABINIT , PWscf , CPMD und mit der ETSF-io-Bibliothek. Die Dienstprogramme, die diese Codes mit Yambo verbinden, werden zusammen mit dem Hauptprogramm verteilt.
- Der Quellcode ist in Fortran 95 und C . geschrieben
- Der Code wird mit MPI-Laufbibliotheken parallelisiert
Benutzeroberfläche
- Yambo hat eine Kommandozeilen-Benutzeroberfläche. Das Aufrufen des Programms mit einer bestimmten Option erzeugt die Eingabe mit Standardwerten für die Parameter, die mit den vorliegenden Daten auf dem System übereinstimmen.
- Ein mit dem Hauptprogramm mitgeliefertes Nachbearbeitungstool hilft bei der Analyse und Visualisierung der Ergebnisse.
Systemvoraussetzungen, Portabilität
- Unix- basierte Systeme
- Compiler für die Programmiersprachen Fortran 95 und C
- optional: PGI Fortran-Compiler für GPU- Version (ab Version 4.5)
- optional: netcdf , fftw , mpi (für parallele Ausführung), etsf-io , libxc , hdf5
- Die Hardwareanforderungen hängen stark vom untersuchten physikalischen System und dem gewählten Theorieniveau ab. Für Arbeitsspeicher (RAM) können die Anforderungen je nach Problem von weniger als 1 GB bis zu einigen GB variieren.
Yambo lernen
Das Yambo-Team stellt eine Wiki -Webseite mit einer Liste von Tutorials und Vorlesungsnotizen zur Verfügung . Auf der yambo Web-Site gibt es auch eine Liste aller These mit dem Code.
Nicht verteilter Teil
Ein Teil des YAMBO-Codes wird in einem privaten Repository aufbewahrt. Dies sind die implementierten und noch nicht verteilten Funktionen:
- Gesamtenergie unter Verwendung des Fluktuations-Dissipations-Theorems über adiabatische Verbindungen
- Magnetfeld
- selbstkonsistentes GW
- dynamische Bethe–Salpeter
- endlicher Impuls Bethe-Salpeter
- Echtzeit-Spektroskopie
- fortgeschrittene Kernel für die zeitabhängige Dichtefunktionaltheorie (Nanoquanta-Kernel).