مقدمات کدهای محاسباتی (III) : گرید FFT

در دو جلسه پیش قضیه بلاخ + نظریه‎‌ی تابعی چگالی را شرح دادیم. در این جلسه وقت آن رسیده تا اندکی در مورد منطقه اول بریلوئن و کمیتهایی که باید در آن محاسبه شوند، حرف بزنیم. توابع موج جلسه اول را بیاد بیاورید:

\(\psi_{n}(\mathbf{r})= u_{n}(\mathbf{r})e^{i\mathbf{k}\cdot\mathbf{r}}, \)

عدد موج \(k\) محدود به منطقه اول بریلوئن یا ۱BZ است. بخش دوره‌ای تابع موج نیز دارای تناوب شبکه بود:

\(u_n(\mathbf{r}+\mathbf{R})=u_n(\mathbf{r})\)

که \(\mathbf{R}\) نیز یکی از بردارهای شبکه است. پس بخش دوره‌ای تابع موج را میشد به صورت زیر نوشت:

\(u_n(\mathbf{r})= \sum_{\mathbf{G}} c_{n,\mathbf{G}}e^{i\mathbf{G}\cdot\mathbf{r}},\)

و به صورت معادل تابع موج به صورت زیر درمی‌آید:

\(\psi_n(\mathbf{r})= \sum_{\mathbf{G}}e^{i(\mathbf{k}+ \mathbf{G})\cdot\mathbf{r}},\)

جمع روی \(\mathbf{G}\) باید تا بینهایت باشد. اما از نظر محاسباتی مقدور نیست. پس کافیست جای آن‌را با تعداد گسسته‌ای از نقاط تعویض کنیم. این نکته را هم در نظر بگیرید که هر چقدر \(\mathbf{k+G}\) بزرگتر باشد، ضرایب \( c_{n,\mathbf{k}+\mathbf{G}} \) کوچکتر می‌شود. و این خبر خوبی است. کافیست یک کره در فضای وارون در نظر بگیرید که به اندازه‌ی کافی بزرگ باشد، یا ضرایب در فواصل دور به اندازه‌ی کافی به صفر نزدیک باشند. بهتر است به جای GMAX معادل انرژی آن را استفاده کنیم:

\(E_{cut} \ge\frac{1}{2}\vert\mathbf{k}+\mathbf{G}\vert^2,\)

پس اگر می‌خواهید محاسبات کوانتومی انجام دهید، دو مورد را در نظر بگیرید. (۱) همگرایی GMAX و (۲) همگرایی k-pointها.
مزیت موج‌های تخت به این است که پایه‌های کاملی در فضا ایجاد می‌کند. یعنی همیشه می‌توانید با افزایش موج‌های تخت شکل تابع موج اصلی الکترون را بسازید.
پس اگر برایتان سوال است که این مقادیر را چگونه باید انتخاب کرد، به شکل زیر نگاه کنید.

همگرایی convergence

همگرایی convergence

GRID_FFT

پس دقت محاسبات یک کمیت با استفاده از G-Vector ها و k-point ها به طرز محسوسی قابل تنظیم است. دلیل اینکه از یک کمیت تبدیل فوریه می‌گیرند نیز همین است. با بردن یک کمیت به فضای وارون میتوانید به راحتی ضرایب را انتخاب کنید و ببینید که با افزایش G-vector و kpoint چگونه دقت آن کمیت به دقت مطلوب شما می‌رسد. یکی از این کمیت‌ها که در جلسه پیش هم دیدیم، پتانسیل هارتری است. محاسبه این پتانسیل در فضای متقابل به مراتب ساده تر از فضای مستقیم است.
تنها نقطه ضعف، امواج تخت جایی است که نوسانات یک کمیت زیاد می‌شود. در این صورت به تعداد زیادی موج تخت برای توصیف آن کمیت نیاز است. برای مثال رفتار تابع موج الکترونی در نزدیکی هسته به خاطر داشتن گره و تعامد بشدت نوسانی است. برای اینکه تصویر ذهنی بهتری از نوسانات داشته باشید به تصاویر زیر نگاه کنید:




کاملا مشخص است که با افزایش نوسان به گرید (G-VECTOR) با شعاع بزرگتر نیاز دارید.

تصاویر بالا در مورد تابع موج صادق است. اما آیا چگالی الکترونی به انرژی قطع بیشتری نیاز ندارد؟

 

مزیت استفاده از امواج تخت در این است که با اعمال بسیاری از عملگرها روی آن‌ها، بسیار راحت قابل محاسبه اند. برای مثال اثر عمل \(\nabla^2\) را روی امواج تخت در نظر بگیرید.
در حالت کلی عمل \(\mathbf{H}\mid\psi_{n,\mathbf{k}}\rangle\) با امواج تخت بسیار ساده است:

\(({-\frac{1}{2}\nabla^2+V(\mathbf{r})})\psi_{n\mathbf{k}}(\mathbf{r})\)

انرژی جنشی:

\(\langle\mathbf{G+k}\mid -\frac{1}{2}\nabla^2\mid\psi_{n\mathbf{k}}\rangle=\frac{1}{2}\vert\mathbf{G+k}\vert^2C_{\mathbf{G}n\mathbf{k}} \)

به مجموع همه‌ی پتانسیل‌ها پتانسیل موضعی گفته می‌شود:

\(V=V_H[\rho]+V_{xc}[\rho]+V_{ext} \)

پتانسیل تبادلی همبستگی براحتی در فضای واقعی قابل محاسبه است. هم به دلایل محاسبات عملی و هم محاسبه ساختار نواری همیشه به FFT این کمیت نیاز هست.
از این کمیت FFT گرفته می‌شود و به فضای وارون منتقل می‌شود:

\({V_{xc}(\mathbf{r})}\rightarrow {V_{xc,\mathbf{G}}} \)

پتانسیل هارتری: کلا این پتانسیل را فضای وارون راحتتر است و عملا معادل با چگالی است:

\(V_{H,G}=\frac{4\pi}{\vert\mathbf{G}\vert^2}\rho_{\mathbf{G}} \)

پتانسیل موضعی در فضای متقابل به زیر در می‌آید:

\(V_{\mathbf{G}}= V_{\mathbf{H,G}} + V_{xc,\mathbf{G}} + V_{ext,\mathbf{G}}\)

براحتی می‌توانید از همه این کمیت FFT وارون بگیرید و آنرا به فضای واقعی برگردانید. اما این همه سختی چه لزومی دارد؟
پاسخ:
محاسبه برخی کمیتها در فضای وارون و FFT گرفتن خیلی سریعتر از محاسبه آنها روی گرید مستقیم است (میتوانید مرتبه کدها را در کتابهای مرجع مختلف پیدا کنید).
حالا سوال پیش می‌آید که جملات فوق با چه ترتیبی محاسبه می‌شوند. برای درک بهتر مراحل طرحواره‌ی حل خودسازگار زیر را در نظر بگیرید که برای همه فرمالیسم‌های DFT یکسان است:

DFT نظریع تابعی چگالی

DFT نظریع تابعی چگالی و حل خودسازگار معادله بس ذره‌ای غیربرهمکنشی

دلیل آن حدس اولیه چگالی را در قضایای هوهنبرگ-کان جستجو کنید.
در بیشتر کدهای محاسباتی برای حدس اولیه چگالی اوربیتالهای اتمی استفاده میشود- مگر آنکه خودتان اوربیتالها را بسازید و برنامه بدهید!!!
مباحث مرتبط با تابعی ها و شبه پتانسیلها نیز در ادامه کار بیان می‌شود.

سوال ها