Secara teoritis, bagaimana waktu melakukan skala perhitungan teori fungsional kerapatan (DFT) dengan jumlah elektron? Saya tertarik pada implementasi DFT "tipikal" seperti VASP, ABINIT, dll., Bukan kode O (N).
sumber
Secara teoritis, bagaimana waktu melakukan skala perhitungan teori fungsional kerapatan (DFT) dengan jumlah elektron? Saya tertarik pada implementasi DFT "tipikal" seperti VASP, ABINIT, dll., Bukan kode O (N).
Jawaban benar yang paling sederhana adalah bahwa DFT dalam . Ini berasal dari gagasan bahwa Anda pada akhirnya mendiagonalkan seorang Hamiltonian dengan dimensi yang sebanding dengan jumlah pemilihan dan diagonalisasi secara teknis O ( n 3 ) .
Pada kenyataannya, DFT adalah sekelompok langkah dan langkah-langkah berbeda membatasi tingkat dalam konteks yang berbeda. Jika kita membatasi diri pada pesawat-gelombang (PW) DFT (VASP, ABINIT, QE, dan lainnya), kita dapat membuat beberapa pernyataan yang lebih kuat. Gagasan penting untuk dipahami untuk kode DFT PW adalah bahwa Hamiltonian tidak pernah disimpan sebagai matriks besar; sebaliknya, tindakan operator Hamiltonian dihitung dan digunakan dalam apa yang umumnya diagonaler iteratif 'in-house' (gradien konjugasi, davidson, dll). Diagonalizer ini secara resmi , di mana M V adalah biaya komputasi tindakan Hamiltonian, tetapi mengingat peran mereka dalam algoritme konsisten-diri yang lebih besar, mereka cenderung berkinerja lebih cepat.
Proses perhitungan tindakan Hamilton terjadi dalam beberapa langkah:
semua ini harus terjadi sekali per elektron (sebenarnya, fungsi gelombang), jadi tambahkan faktor ke semuanya.
Melalui beberapa cara (Gram-Schmidt, misalnya) fungsi gelombang (fungsi eigen dari Hamiltonian) harus dijaga agar tetap ortogonal satu sama lain,
Akhirnya, fungsi gelombang perlu disusun menjadi kerapatan elektron. Dalam kode PW, ini dilakukan dengan satu FFT terakhir per fungsi gelombang (dan jumlah), .
Perhatikan bahwa saya sudah dimasukkan ke dalam yang berbeda 's: n v berkaitan dengan volume (benar-benar, itu adalah dasar ukuran), n p adalah jumlah proyektor per atom, n suatu adalah jumlah atom, dan n e jumlah elektron. Secara formal n v , n seorang , dan n e semua linier terkait satu sama lain ( n p adalah bilangan bulat kecil), tetapi Anda dapat membayangkan meningkatkan volume dengan jumlah elektron tetap (menambahkan vakum dalam geometri slab / kawat) atau meningkatkan jumlah proyektor dengan jumlah atom dan elektron tetap (menggunakan potensi semu yang lebih akurat).