03 – Relaxando geometrias

Em nosso primeiro exemplo, as posições dos átomos na molécula, comumente conhecida como geometria da molécula, foram já dadas em uma configuração de mínimo local de energia. Entretanto, geralmente não é o caso nos nossos dados de entradas. Geralmente é dado uma aproximação inicial da geometria da molécula, mas com distâncias e ângulos não precisos. Nessas situações, nós podemos usar simulações atomísticas para encontrar um mínimo de energia local. Esse processo, variando distâncias e ângulos das geometrias são chamados de relaxação da geometria, ou optimização da geometria. Para moléculas maiores, há muito mais distâncias e ângulos que precisam ser levados em conta. Por exemplo, para uma única molécula de H2O (água), há nove graus de liberdade, três coordenadas de cada átomo. Entretanto, três desses graus de liberdade estão relacionados ao movimento de translação da molécula, e outros três graus estão associados a rotação da molécula. Dessa forma, restam apenas três graus de liberdade para movimentos internos, que podem ser identificados como duas distâncias H-O, e um ângulo H-O-H. A energia total dessa molécula é uma função dessas duas distâncias e desse ângulo. Essa função energia de três variáveis formam uma hiper-superfície no espaço formado pelos graus de liberdade da molécula. A geometria relaxada da molécula é encontrada pela minimização dessa função energia, e para encontrar esse mínimo de energia podemos empregar métodos numéricos de minimização. Para moléculas maiores, há muitos mais graus de liberdade, e podem haver também vários mínimos locais de energia. O processo de relaxação da geometria leva para um dos mínimos locais da energia, mas não garante que esse mínimo é global. Outros algoritmos devem ser empregados para esse fim.

No programa SIESTA, há pelo menos três algoritmos que podem ser usados para relaxar uma geometria molecular. Os métodos implementos no programa são: Gradiente Conjugado (CG), Broyden, e Fast Inertial Relaxation Engine (FIRE). Esse algoritmos são iterativos, sendo formado por loops externos ao loop do ciclo de auto-consistência para resolver as equação de Kohn-Sham. Para cada passo da relaxação, primeiro são solucionadas as equações de Kohn-Sham, e depois são encontras as forças atuando em cada átomo através do gradiente da energia total.

EXEMPLO 02 (Água)

Para relaxar a geometria de uma molécula de H2O, nós vamos partir de uma geometria não relaxada, com a molécula H2O com distância H-O de 1.0 Å, e ângulo H-O-H de 90°, como mostrado na Figura 3.2. Nós vamos incluir o “novo bloco” no nosso arquivo de entrada (input.fdf) com especificações de qual algoritmo será usado (CG, Broyden, FIRE) [MD.TypeOfRun], o número máximo de passos (iterações) para minimizar as forças máximas toleradas [MD.NumCGsteps], e o critério de tolerância da força máxima [MD.MaxForceTol]. A geometria molecular será dita relaxada ser todas as forças atuando em todos os átomos forem menor do que o critério de tolerância especificado no arquivo de entrada.

O bloco “molecular dynamics” que será incluído no input.fdf é:

# in file: input.fdf

    # -- MOLECULAR DYNAMICS --

MD.TypeOfRun Broyden
MD.NumCGsteps 1000
MD.MaxForceTol 0.01 eV/Ang
initial-final
Figura 3.2. Geometria da molécula H2O inicial e final.

Comparando algoritmos

Nós podemos comparar o desempenho dos três algoritmos implementos do SIESTA com a convergência das forças com o número de passos. Como pode ser visto na Figura 3.3, o algoritmo Broyden foi o mais eficiente para a molécula de água, atingindo o critério de tolerância das forças antes dos outros algoritmos. Para outras moléculas e sólidos, o algoritmo FIRE ou CG podem ser mais eficientes. O algoritmo FIRE é mais eficiente quando há muitos átomos de massas atômicas muitos próximas.

relax
Figura 3.3. Evolução da força máxima com o número de passos do processo de minimização.

Anterior: 02 – Primeiras simulações com o SIESTA

Próximo: 04 – Energia de ligação