Como a teoria funcional da densidade é dimensionada com o tamanho do sistema?

11

Teoricamente, como o tempo para fazer um cálculo da teoria funcional da densidade (DFT) com o número de elétrons? Estou interessado em implementações "típicas" de DFT, como VASP, ABINIT, etc., não códigos O (N).

Max Radin
fonte

Respostas:

13

A resposta correta mais simples é que a DFT está em . Isso deriva da ideia de que você está diagonalizando um Hamiltoniano com dimensão proporcional ao número de eleições e a diagonalização é tecnicamente .O ( n 3 )O(Ne3)O(n3)


Na realidade, a DFT é um monte de etapas e etapas diferentes limitam a taxa em diferentes contextos. Se nos restringirmos ao DFT de onda plana (PW) (VASP, ABINIT, QE e outros), poderemos fazer algumas afirmações mais fortes. Uma idéia importante a entender para os códigos PW DFT é que o Hamiltoniano nunca é armazenado como uma grande matriz; em vez disso, a ação do operador hamiltoniano é calculada e usada no que geralmente são diagonalizadores iterativos `internos '(gradiente conjugado, davidson, etc.). Esses diagonalizadores são formalmente , onde é o custo de calcular a ação do Hamiltoniano, mas, dado seu papel em um algoritmo autoconsistente maior, eles tendem a ter um desempenho muito mais rápido.M VO(neMV)MV

O processo de calcular a ação do Hamiltoniano ocorre em algumas etapas:

  • O potencial local no espaço real requer uma FFT,O(nvlnnv)
  • A projeção pode ocorrer no espaço real ou g, ou , respectivamenteO ( n a n p n v )O(nanp)O(nanpnv)
  • O potencial não local é diagonal ou diagonal do bloco, ou , respectivamenteO ( n a n 2 p )O(nanp)O(nanp2)

tudo isso precisa acontecer uma vez por elétron (na verdade, função de onda); portanto, adicione um fator de a todos eles.ne

Por alguns meios (Gram-Schmidt, por exemplo), as funções de onda (funções próprias do Hamiltoniano) devem ser mantidas ortogonais entre si,O(ne2nv)

Finalmente, as funções de onda precisam ser compostas em uma densidade de elétrons. Nos códigos PW, isso é realizado com uma última FFT por função de onda (e uma soma), .O(nenvlnnv)

Observe que eu coloquei alguns 's diferentes : está relacionado ao volume (realmente, é o tamanho da base), é o número de projetores por átomo, é o número de átomos e o número de elétrons. Formalmente , e são linearmente relacionados entre si ( é um número inteiro pequeno), mas você pode imaginar aumentando o volume com número fixo de elétrons (adicionando vácuo nas geometrias da laje / fio) ou aumentando o número de projetores com número fixo de átomos e elétrons (usando um pseudo-potencial mais preciso).n v n p n a n e n v n a n e n pnnvnpnanenvnanenp

É comum que os problemas sejam limitados pela FFT; nesse caso, eles são efetivamente , que é uma resposta um tanto comum na literatura, se não tecnicamente correta.O(n2lnn)

Max Hutchinson
fonte
Você realmente precisa da composição completa do produto, ou apenas de uma pequena parte do espectro?
Victor Liu
Você precisa de funções próprias (geralmente ). n e / 2O(ne)ne/2
precisa
Obrigado pela sua resposta! Você pode recomendar algum artigo que tenha discutido esse problema ou tenha realizado benchmarks?
precisa
1
G. Kresse, Computational Materials Science 6, 15 (1996) é a introdução padrão ao VASP; você pode começar com a seção 6. RM Martin, Estrutura Eletrônica: Teoria Básica e Métodos Práticos (Cambridge Univ Pr, 2004) é uma ótima introdução à DFT (onda plana e outras), mas provavelmente é menos explícita quanto à complexidade.
quer