Original Article: Code: Bader Charge Analysis
Author: theory.cm.utexas.edu
Código: Analise do Bader Charge

Notícia

09/25/17 - Versão 1.03 Lançada
Padrão para -vac desligado

Introdução

Richard Bader, da McMaster University, desenvolveu uma maneira intuitiva de dividir moléculas em átomos. Sua definição de um átomo é baseada puramente na densidade de carga eletrônica. Bader usa o que é chamado de superfícies de fluxo zero para dividir átomos. Uma superfície de fluxo zero é uma superfície 2-D.

Além de ser um esquema intuitivo para visualizar átomos em moléculas, a definição de Bader é frequentemente útil para análise de carga. Por exemplo, a carga incluída no volume do Bader é uma boa aproximação da carga eletrônica total de um átomo. A distribuição de carga pode ser usada para determinar momentos multipolar de átomos ou moléculas interativas. A análise de Bader também foi usada para definir a dureza dos átomos, que pode ser usada para quantificar o custo da remoção da carga de um átomo.

Visão geral

Desenvolvemos um algoritmo rápido para fazer a análise de Bader em uma grade de densidade de carga. O programa (veja abaixo) pode ler em densidades de carga no VASP Formato CHGCAR, ou o Gaussian Formato CUBE. O programa exibe a carga total associada a cada átomo e as superfícies de fluxo zero definindo os volumes do Bader.

Download

Selecione a plataforma apropriada para baixar um binário do programa de análise do Bader:

O código fonte F90 também está disponível:

Executando o Programa

O programa pode ser executado com o comando

    bader chargefile

Ele determinará automaticamente se o arquivo de cobrança é um arquivo VASP CHGCAR ou um arquivo Gaussian CUBE. O único argumento de entrada requerido é o nome do arquivo de densidade de carga.

Argumentos de linha de comando e arquivos de saída

As seguintes opções podem ser usadas ao executar o programa de análise do Bader.

    bader [ -c bader | voronoi ]
          [ -n bader | voronoi ]
          [ -b neargrid | ongrid | weight ]
          [ -r refine_edge_method ]
          [ -ref reference_charge ]
          [ -vac off | auto | vacuum_density ]
          [ -p all_atom | all_bader ]
          [ -p sel_atom | sel_bader ] [volume list or range ]
          [ -p sum_atom | sum_bader ] [ volume list or range ]
          [ -p atom_index | bader_index ]
          [ -i cube | chgcar ]
          [ -h ] [ -v ]
          chargefile

Para obter uma descrição das opções, execute 'bader -h'.

Arquivos de saída

Os seguintes arquivos de saída são gerados: ACF.dat, BCF.dat, AtomVolumes.dat.

ACF.dat contém as coordenadas de cada átomo, a carga associada a ele de acordo com o divisor Bader, a porcentagem do conjunto de acordo com a divisão Bader e a distância mínima à superfície. Esta distância deve ser comparada ao raio máximo de corte para a região do núcleo se forem utilizados pseudo potenciais.

BCF.dat contém as coordenadas de cada Bader maxima, a carga dentro desse volume, o átomo mais próximo e a distância desse átomo.

AtomVolumes.dat contém o número de cada volume que foi atribuído a cada átomo. Esses números correspondem ao número dos arquivos BvAtxxxx.dat.

Os volumes do Bader podem ser escritos usando as opções de impressão.

    bader [ -p all_atom | all_bader ] chargefile
    bader [ -p sel_atom | sel_bader ] [ volume list or range ] chargefile
    bader [ -p sum_atom | sum_bader ] [ volume list or range ] chargefile
    bader [ -p atom_index | bader_index ] chargefile

-p none O padrão é escrever sem arquivos de densidade de carga.

-p all_atom Combine todos os volumes associados a um átomo e escreva para o arquivo. Isso é feito para todos os átomos e escrito para arquivos chamados BvAtxxxx.dat. Os volumes associados aos átomos são aqueles para os quais a máxima densidade de carga dentro do volume é mais próxima do átomo.

-p all_bader Escreva todos os volumes do Bader (contendo o limite de carga acima de 0,0001) em um arquivo. A distribuição de carga em cada volume é escrita em um arquivo separado, chamado Bvolxxxx.dat. Ou será de um formato CHGCAR ou um formato de arquivo CUBE, dependendo do formato do arquivo de densidade de carga inicial. Esses arquivos podem ser bastante grandes, então esta opção deve ser usada com cuidado.

-p sel_atom Escreva os volumes atômicos selecionados, lidos na lista subseqüente ou no intervalo de volumes.

-p sel_bader Escreva os volumes Bader selecionados, leia a lista subseqüente ou o intervalo de volumes.

-p sum_atom Escreva a soma dos volumes atômicos selecionados, lidos na lista subseqüente de volumes.

-p sum_bader Escreva a soma dos volumes Bader selecionados, lidos na lista subseqüente de volumes.

-p atom_index Escreva o índice de volume atômico para um arquivo de densidade de carga.

-p bader_index Escreva o índice de volume do Bader para um arquivo de densidade de carga.

Visualização

Os volumes do Bader podem ser escritos e visualizados com o Visualizador de Dados VASP, VMD, Jmol, VESTA, ou um visor de arquivos de cubo (como o GaussView) para arquivos de cubo gaussianos.

Exemplos

  • NaCl crystal (vasp chgcar)
  • NaCl cristal incluindo cargas principais (vasp chgcar)
  • C2H4 molécula, orientação 1 (vasp chgcar)
  • C2H4 molécula, orientação 2 (vasp chgcar)
  • H2O molécula (cubo gaussiano)

Nota para usuários de VASP

Um problema importante com os arquivos de densidade de carga (CHGCAR) do código VASP é que eles apenas contêm a densidade de carga de valência. A análise de Bader assume que os máximos de densidade de carga estão localizados em centros atômicos (ou em pseudoatom). Os pseudopotenciais agressivos removem a carga dos centros atômicos onde é caro calcular e irrelevante para as importantes propriedades de ligação dos átomos.

Recentemente, os desenvolvedores VASP adicionaram um módulo (aedens) que permite que a carga do núcleo seja escrita a partir dos cálculos do PAW. Este módulo está incluído na versão vasp 4.6.31 08Feb07 e posterior. Ao adicionar o LAECHG = .TRUE. para o arquivo INCAR, a corecharge é escrita para AECCAR0 e a taxa de valência para AECCAR2. Esses dois arquivos de densidade de carga podem ser somados usando o chgsum.pl script:

  chgsum.pl AECCAR0 AECCAR2
A carga total será escrita para CHGCAR_sum.

A análise bader pode então ser feita neste arquivo de densidade de carga total:

  bader CHGCAR -ref CHGCAR_sum

Finalmente, nota-se que você precisa de uma grade fft fina para reproduzir com precisão a carga total total correta. É essencial fazer alguns cálculos, aumentando NG (X, Y, Z) F até que a carga total esteja correta.

Nota para os usuários do CASTEP

Aaron Hopkinson e o Dr. Matt Probert da Universidade de York forneceram um den2vasp.tar.gz utilidade para converter a densidade de carga CASTEP para o formato VASP CHGCAR para que possa ser lida pelo programa de análise Bader (atualizado em 25/11/16).

Autores

Este programa foi escrito por Andri Arnaldsson, Wenjie Tang, Sam Chill, Wenrui Chai, and Graeme Henkelman.

As melhorias ao algoritmo original foram desenvolvidas por Ed Sanville (Loughborough University, Reino Unido).

Com contribuições de: Johannes Voss (DTU), Erik McNellis (FHI) e Matthew Dyer (Liverpool)

Código Multipole adicionado por: Sebastien Lebegue, Angyan Janos e Emmanuel Aubert (Institut Jean Barriol, Nan cy-University)

Referências