06 – Simulando sólidos

Cristais, célula unitária e rede de Bravais

Cristais são sólidos formados arranjos periódicos e ordenados de átomos, moléculas ou íons. Para estudar esses materiais, podemos levar em conta a periodicidade da energia potencial, e do operador Hamiltoniano, e estudar apenas uma pequena região no espaço que se repete nas direções de periodicidade do cristal. Essa pequena região é chamada de célula unitária, e pode ser definida (forma e tamanho) por um conjunto de três vetores \mathbf{a}_1, \mathbf{a}_2 e \mathbf{a}_3, vetores da base do cristal. As várias células unitárias que são repetições da nossa primeira célula, são obtidas por vetor:

eq_Bravaisem que n_1, n_2 e n_3 são números inteiros (n_i \in \mathbb{Z}) que rotulam a célula unitária. O conjunto de vetores \mathbf{R} como dados acima são definidos como rede de Bravais.

Há muitos formas que as estruturas cristalinas podem assumir. Muitos cristais com arranjos periódicos diferentes. Uma forma possível e muito comum para os metais são as redes cúbicas de face centrada (fcc). Metais como cobre, prata, níquel e ouro formam esse tipo de cristal em condições ambientes. A célula unitária de uma rede fcc é mostrada na Figura 6.1.

fcc
Figura 6.1. Rede cristalina cúbica de face centrada (fcc), com constante de rede a.

Nesse caso, os vetores da base da rede de Bravais são:

fcc_bravais

No programa SIESTA, os vetores da rede de Bravais são especificados no arquivo de entrada (input.fdf), no bloco LatticeVectors. Para uma rede fcc, com constante de rede a = 4.478392~\mathrm{\AA}, o arquivo de entrada possui o formato:

%block LatticeVectors
        0.000000    2.239196    2.239196
        2.239196    0.000000    2.239196
        2.239196    2.239196    0.000000
%endblock LatticeVectors

Note que a primeira linha do bloco LatticeVectors é formada por três valores que são as três componentes do vetor \mathbf{a}_1 na base canônica. A segunda e terceira linha do bloco são referentes aos vetores \mathbf{a}_2 e \mathbf{a}_3, respectivamente.

Coordenadas cristalográficas

Para um cristal com rede de Bravais especificado no LatticeVectors, ainda é preciso especificar quais são os átomos dentro da célula unitária, e quais são as coordenadas de cada um desses átomos. Essas coordenadas dos átomos dentro da célula unitária são chamadas de coordenadas cristalográficas, ou coordenadas internas. Para uma célula com M átomos na célula unitária, vamos ter um índice n = 1, …, M para escrever as posições. Uma forma de escrever essas coordenadas é como fizemos com as coordenadas dos átomos nas moléculas, em que cada valor essa dado em Å. Esse tipo de coordenadas devem ser escritas quando a chave AtomicCoordinatesFormat é:

AtomicCoordinatesFormat      Ang

Outra forma de escrever essas coordenadas cristalográficas é escalonando elas com os vetores da base da rede de Bravais. Como os átomos estão dentro da célula unitária, então as coordenadas podem ser escritas como

crystal_coordinates

com as coordenadas cristalográficas

crystal_coord2

Para essa opção no dado de entrada das coordenadas cristalográficas, a chave AtomicCoordinatesFormat dever ter o valor ScaledByLatticeVectors. Nesse formato, o bloco para as coordenadas cristalográficas deve ser na forma:

AtomicCoordinatesFormat      ScaledByLatticeVectors

%block AtomicCoordinatesAndAtomicSpecies
    0.00000000    0.00000000    0.00000000 1
%endblock AtomicCoordinatesAndAtomicSpecies

No bloco AtomicCoordinatesAndAtomicSpecies, os três primeiros valores se referem as valores que vão multiplicar os vetores da base da rede de Bravais. O quarto valor é um índice que especifica qual elemento químico possui essa coordenada. Como no exemplo do ouro (Au) com rede fcc só há um átomo por célula unitária, ele pode ser a origem da célula unitária.

Para um mesmo cristal, podemos escrever uma célula unitária diferente, com rede de Bravais diferente. Entretanto, em alguns casos, o número de átomos por célula unitária pode mudar, e as coordenadas cristalográficas desses átomos também devem mudar. Por exemplo, a rede fcc do ouro também pode ser especificada no arquivo de entrada como:

%block LatticeVectors
        4.478392    0.000000    0.000000
        0.000000    4.478392    0.000000
        0.000000    0.000000    4.478392
%endblock LatticeVectors

Nesse caso, os três vetores da base da rede de Bravais são ortogonais, com normas dadas pela constante de rede a = 4.478392 Å. As coordenadas cristalográficas nesse caso são:

AtomicCoordinatesFormat      ScaledByLatticeVectors

%block AtomicCoordinatesAndAtomicSpecies
    0.00000000    0.00000000    0.00000000 1
    0.50000000    0.50000000    0.00000000 1
    0.50000000    0.00000000    0.50000000 1
    0.00000000    0.50000000    0.50000000 1
%endblock AtomicCoordinatesAndAtomicSpecies

Note que agora há quatro átomos por célula unitária, um átomo localizado no canto do cubo, e outros três localizados no centro das faces do cubo. A energia total dessa simulação é quatro vezes maior do que a simulação anterior, e o volume da célula unitária também é quatro vezes maior. No exemplo07 do repositório do tutorial do github, há um diretório cubic com os dados da simulação do cristal de ouro com a célula unitária cúbica.

A menor célula unitária, com o menor volume é chamada de célula primitiva. Em geral, para estudar as propriedades eletrônicas, precisamos especificar o cristal por sua célula primitiva.

Teorema de Bloch

periodic_potential

A função de onda de Bloch, autofunção do Hamiltoniano periódico, pode ser fatorada em uma onda plana com vetor de onde \mathbf{k} e uma função periódica.

eq_Bloch1

eq_Bloch2

Hamiltoniano de Bloch

bands_bloch

Bloch_function
Figura 6.2. Exemplo de funções de onda de Bloch em uma dimensão.

Rede recíproca e Zona de Brillouin

T6_eq6

T6_eq7

reciprocal_lattice

fcc_BZ
Figura 6.3. Primeira Zona de Brillouin da rede cúbica de face centrada (fcc).

 

Algoritmo de Monkhorst-Pack

%block kgrid.MonkhorstPack
  17   0   0   0.0
   0  17   0   0.0
   0   0  17   0.0
%endblock kgrid.MonkhorstPack

Algoritmo de Moreno-Soler

..

kgrid.Cutoff                  20.0 Ang

Paralelização em pontos-k

Diag.ParallelOverK           true 

Relaxação de célula unitária

Exemplo da prata

MD.VariableCell              true
MD.MaxStressTol              0.01 GPa

 

Materiais bidimensionais

Exemplo XX (Grafeno)

%block LatticeVectors 
        2.153849    1.243526    0.000000
        2.153849   -1.243526    0.000000
        0.000000    0.000000   20.000000
%endblock LatticeVectors

AtomicCoordinatesFormat      ScaledByLatticeVectors

%block AtomicCoordinatesAndAtomicSpecies
    0.00000000    0.00000000    0.50000000  1
    0.33333333    0.33333333    0.50000000  1
%endblock AtomicCoordinatesAndAtomicSpecies

Amostragem de pontos-k da zona de Brillouin do grafeno:

%block kgrid.MonkhorstPack
  19   0   0   0.0
   0  19   0   0.0
   0   0   1   0.0
%endblock kgrid.MonkhorstPack

 

 

 

Estrutura de bandas

Anterior: 05 – Análise de dados volumétricos

Próximo: 07 – Otimizando simulações