Tính tích phân 2e với PySCF
Câu hỏi
Trong lý thuyết Hartree-Fock, tích phân hai electron được cho bởi:
$[ij|kl]$ = $\int dx_{1}dx_{2}(\chi_{i}(x_{1})\chi_{j}(x_{1})\frac{1}{r_{12}}\chi_{k}^{*}(x_2)\chi_{l}(x_{2})$
Tôi quan tâm đến việc viết ra tích phân 2e cho nguyên tử Heli (cho một tập cơ sở nhất định) trong PySCF. Tôi muốn làm điều này với và không có điều chỉnh mật độ (DF) / độ phân giải của danh tính (RI).
Cố gắng
Trong nỗ lực của tôi để tạo ra tích phân 2e từ PySCF (không có DF / RI), tôi đã sử dụng mã sau:
from pyscf import gto
mol = gto.M(atom='He 0 0 0', basis='6-31g')
eri = mol.intor('int2e', aosym='s8')
print(eri)
>> [1.54393568 0.78544719 0.42702546 0.80395186 0.47618957 0.61593794]
Nơi tôi có một tệp khác để so sánh, tôi đã mong đợi một tập dữ liệu lớn hơn nhiều. Tôi cũng đã tưởng tượng rằng phải có một vòng lặp SCF; tuy nhiên, điều này không được chỉ ra bởi tài liệu PySCF.
Cảm ơn bạn trước cho bất kỳ sự giúp đỡ.
Lưu ý: Câu hỏi này liên quan đến các câu hỏi trước đó sau:
- Tích phân hai điện tử một tâm giữa 1s STO
- Những chương trình nào có thể thực hiện các phép tính tích phân electron và SCF với nhiều hơn một CPU?
- Tích phân hai electron tương quan trao đổi
Trả lời
Tôi nhận ra rằng có thể đáng giá để giải quyết một số quan niệm sai lầm trong câu hỏi, vì chúng có lẽ khá phổ biến.
Không có SCF trước
Tích phân hai electron AO (và thực tế là tất cả các tích phân AO được sử dụng trong quy trình SCF) có thể được tạo ra trước khi thực hiện bất kỳ chu kỳ nào. Điều này là do chúng nằm trong số các obitan nguyên tử mà chúng ta đã biết ngay từ đầu tính toán. Trong thực tế, bạn có thể sẽ thấy tích phân hai điện tử được tính toán lại trong chu kỳ SCF, nhưng điều này chỉ để tránh lưu trữ ~$N^4$ những giá trị như vậy, trở nên cắt cổ đối với các phép tính thậm chí khá nhỏ.
Để tính tích phân MO, bạn cần phải hoàn thành tất cả các chu trình SCF, nhưng miễn là bạn không thực hiện bất kỳ phương pháp Hậu SCF nào, bạn thực sự không cần phải biến đổi tích phân AO thành MO một cách rõ ràng để tính toán năng lượng.
Ít tích phân hơn mong đợi
Điều này chỉ đi xuống đối xứng. Đối với$\ce{He}$ với bộ cơ sở 6-31G, bạn có hai obitan nguyên tử, điều này sẽ dẫn đến $2^4=16$tích phân hai electron. Tuy nhiên, vì các tích phân có đối xứng hoán vị (xem câu hỏi này trên Chem SE ), thực tế chỉ có 6 tích phân duy nhất mà bạn đã viết trong câu hỏi của mình.