Cod: Bader Charge Analiză

Sursă originală: http://theory.cm.utexas.edu/henkelman/code/bader/

Știri

09/25/17 – Versiunea 1.03 Lansat
implicit la -vac off

Introducere

Richard Bader , de la Universitatea McMaster, a dezvoltat o modalitate intuitivă de a diviza moleculele în atomi. Definirea lui de atom se bazează exclusiv pe densitatea electronică a sarcinii. Bader folosește ceea ce se numește suprafețe de flux zero pentru a diviza atomii. O suprafață cu flux zero este o suprafață 2-D pe care densitatea de încărcare este minimă perpendiculară pe suprafață. De obicei, în sistemele moleculare, densitatea sarcinii ajunge la un minim între atomi și acesta este un loc natural pentru a separa atomii unul de celălalt.

Pe lângă faptul că este o schemă intuitivă pentru vizualizarea atomilor în molecule, definiția lui Bader este adesea utilă pentru analiza încărcării. De exemplu, încărcarea cuprinsă în volumul Bader este o aproximare bună față de sarcina electronică totală a unui atom. Distribuția încărcării poate fi utilizată pentru a determina momentele multiple de interacțiune a atomilor sau a moleculelor. Analiza Bader a fost de asemenea utilizată pentru a defini duritatea atomilor, care poate fi folosită pentru a cuantifica costul de eliminare a încărcării de la un atom.

Prezentare generală a programului

Am dezvoltat un algoritm rapid pentru a face analiza Bader pe o grilă de densitate a sarcinii. Programul (vezi mai jos) poate citi densitățile în format VASP CHGCAR sau formatul Gaussian CUBE. Programul emite sarcina totală asociată cu fiecare atom și suprafețele de flux zero care definesc volumele Bader.

Descarca

Selectați platforma potrivită pentru a descărca un program binar al programului de analiză Bader:

De asemenea, este disponibil codul sursă F90:

Rularea programului

Programul poate fi rulat cu comanda

    bader chargefile

Se va determina automat dacă fișierul de încărcare este un fișier VASP CHGCAR sau un fișier Gaussian CUBE. Singurul argument de intrare necesar este numele fișierului densității de încărcare.

Argumentele liniei de comandă și fișierele de ieșire

Următoarele opțiuni pot fi utilizate la rularea programului de analiză Bader.

    bader [-c bader | Voronoi]
          

[mai puțin Voronoi]

[-b neargrid | ongrid | greutate] [-r refine_edge_method] [-ref reference_charge] [-vac off | auto | vacuum_density] [-p all_atom | all_bader] [-p sel_atom | sel_bader] [lista de volum sau interval] [-p sum_atom | sum_bader] [listă de volum sau interval] [-p atom_index | bader_index] [-i cub | chgcar] [-h] [-v] chargefile

Pentru a obține o descriere a opțiunilor, executați “bader -h”.

Fișierele de ieșire

Sunt generate următoarele fișiere de ieșire: ACF.dat, BCF.dat, AtomVolumes.dat.

ACF.dat conține coordonatele fiecărui atom, încărcătura asociată cu acesta conform partiției Bader, procentul întregului în funcție de partiția Bader și distanța minimă de la suprafață. Această distanță trebuie comparată cu raza maximă de decupare pentru regiunea de bază dacă s-au folosit pseudo potențiale.

BCF.dat conține coordonatele fiecărui maxim Bader, încărcătura din acel volum, cel mai apropiat atom și distanța față de acel atom.

AtomVolumes.dat conține numărul fiecărui volum care a fost atribuit fiecărui atom. Aceste numere corespund numărului de fișiere BvAtxxxx.dat.

Volumele Bader pot fi scrise folosind opțiunile de imprimare.

    bader [-p toate_atom | all_bader] chargefile
    bader [-p sel_atom | sel_bader] [listă volum sau interval] chargefile
    bader [-p sum_atom | sum_bader] [listă de volum sau interval] taxă
    bader [-p atom_index | bader_index] chargefile

-p none Implicit este să nu scrieți fișiere cu densitate de încărcare.

-p all_atom Combină toate volume asociate unui atom și scrie în fișier. Aceasta se face pentru toți atomii și se scrie în fișiere numite BvAtxxxx.dat. Volumele asociate cu atomii sunt cele pentru care densitatea maximă în sarcină din volum este cea mai apropiată de atom.

-p all_bader Scrieți toate volumele Bader (conținând încărcare peste pragul de 0,0001) într-un fișier. Distribuția de taxe în fiecare volum este scrisă într-un fișier separat, numit Bvolxxxx.dat. Va fi fie format CHGCAR, fie format de fișier CUBE, în funcție de formatul fișierului inițial de densitate de încărcare. Aceste fișiere pot fi destul de mari, deci această opțiune ar trebui utilizată cu prudență.

-p sel_atom Scrie volumele atomice selectate, citite din lista ulterioară sau din intervalul de volume.

-p sel_bader Scrieți volumele Bader selectate, citite din lista următoare sau din intervalul de volume.

-p sum_atom Scrie suma volumelor atomice selectate, citite din lista ulterioară a volumelor.

-p sum_bader Scrie suma volumelor Bader selectate, citite din lista următoare a volumelor.

-p atom_index Scrie indicele de volum atomic la un fișier de densitate de încărcare.

-p bader_index Scrie indicele de volum Bader la un fișier de densitate de încărcare.

Vizualizare

Volumele Bader pot fi scrise și vizualizate cu VASP de date Viewer , VMD , Jmol , VESTA , sau un vizualizator de fișiere cub (cum ar fi GaussView) pentru fișierele cub gaussiene.

Exemple

  • NaCI cristal (vasc chgcar)
  • Cristal de NaCl incluzând încărcături de bază (chgcar vasp)
  • 2 H 4 molecule, orientare 1 (vasp chgcar)
  • 2 H 4 molecule, orientare 2 (vasp chgcar)
  • 2 O molecula (cub Gaussian)

Notă pentru utilizatorii VASP

O problemă majoră cu fișierele densității de încărcare (CHGCAR) din codul VASP este că ele conțin doar densitatea de încărcare a supapei. Analiza Bader presupune că maxima densității de încărcare se află la centrele atomice (sau la pseudoatomi). Pseudopotențialii agresivi elimină încărcarea din centrele atomice unde este atât de costisitor de calculat, cât și irelevant pentru proprietățile importante de legătură ale atomilor.

Recent, dezvoltatorii VASP au adăugat un modul (aedens) care permite încărcarea de bază să fie scos din calculele PAW. Acest modul este inclus în versiunea vasp 4.6.31 08Feb07 și ulterior. Adăugând LAECHG = .TRUE. la fișierul INCAR, sarcina de bază este scrisă la AECCAR0 și taxa de valtare pentru AECCAR2. Aceste două fișiere de densitate de încărcare pot fi însumate utilizând scriptul chgsum.pl :

  chgsum.pl AECCAR0 AECCAR2

Taxa totală va fi scrisă la CHGCAR_sum.

Analiza bader poate fi făcută pe acest fișier de densitate totală de încărcare:

  badger CHGCAR -ref CHGCAR_sum

O notă în cele din urmă este că aveți nevoie de o grilă fină pentru a reproduce corect încărcarea corectă de bază. Este esențial să faceți câteva calcule, crescând NG (X, Y, Z) F până când încărcarea totală este corectă.

Notă pentru utilizatorii CASTEP

Aaron Hopkinson și Dr. Matt Probert de la Universitatea din York au oferit un utilitar den2vasp.tar.gz pentru a converti de la densitatea de încărcare CASTEP la formatul VASP CHGCAR astfel încât să poată fi citit de programul de analiză Bader (actualizat 25/11 / 16).

Autori

Acest program a fost scris de Andri Arnaldsson , Wenjie Tang , Sam Chill , Wenrui Chai și Graeme Henkelman .

Îmbunătățirile algoritmului inițial au fost dezvoltate de Ed Sanville (Universitatea Loughborough, Marea Britanie).

Cu contribuții: Johannes Voss (DTU), Erik McNellis (FHI) și Matthew Dyer (Liverpool)

Cod multiplu adăugat de: Sebastien Lebegue, Angyan Janos și Emmanuel Aubert (Institutul Jean Barriol, Universitatea Nan-cy)

Referințe