YAMBO-Code - YAMBO code

Yambo
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 ; vor 13 Jahren ( 2008 )
Stabile Version
4.5 / 2. Januar 2020 ; vor 20 Monaten ( 2020-01-02 )
Repository github .com /yambo-code /yambo
Geschrieben in Fortran , C
Betriebssystem Unix , Unix-ähnlich
Plattform x86 , x86-64
Verfügbar in Englisch
Typ Vielteilchentheorie
Lizenz GPL
Webseite www .yambo-Code .org

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:

  • 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).

Verweise

Externe Links