در این آموزش نیز مانند دیگر آموزشهای روی وبسایت، یک کد محاسبات کوانتومی بنام VASP آموزش داده میشود. برای تلف نشدن زمان، ابتدا مقدمات مربوط به کدهای محاسباتی بیان میشود. پس به عنوان یک مرجع آموزشی دربارهی نطریههای متداول در کدهای کوانتومی این آموزش را مد نظر قرار دهید. همچنین کسانی که در آموزش کدهای دیگر شرکت کردهاند، میتوانند مشترکاً از این بخش استفاده کنند.
کد وسپ نیز مانند دیگر کدهای مبتنی بر شبه پتانسیل و امواج تخت قادر به انجام محاسبات کوانتومی است، اما از نظر امکانات، افزونههای مختلف و تکنیکهای پیاده شده در آن نسبت به دیگر کدها در اولویت قرار دارد. پس از بیان مقدمات و مثالهای متنوع، موضوعات بروز پژوهشی را نیز در این پکیج میگنجانیم و دست کم دو کار متمایز پژوهشی را به صورت کامل پوشش میدهیم.
فهرست محتوا
بخش 1: معرفی و مقدمه
01- مقدمات مربوط به کدهای محاسباتی (I)
Lecture<!-- wp:paragraph --> <p>یک تکه بلور از هر مادهای را در دست خود بگیرید. به نظرتان چند عدد الکترون در آن وجود دارد؟ حتما می گویید پاسخش بدیهی است. از مرتبه عدد آووگادرو. اکنون فرض کنید بخواهید معادلهی مربوط به این تعداد الکترون، یعنی با این همه درجه آزادی انتقالی را حل کنید. به نظر نشدنی است. حتی فرض کنید مکانیزمی در دست داشته باشید که میتوانید با آن کوپلشدگی بین الکترونها را به صورت ظاهری از بین ببرید یا بعبارتی حرکت یک الکترون روی دیگری بی تاثیر باشد. بازهم حل مساله بدون داشتن هیچ تقارنی بی معنی است. پس آیا مکانیزمی برای حل آن وجود دارد؟<br>فعلا مشهورترین فرمالیسم DFT ( نظریه تابعی چگالی ) است که باید با مفاهیم مربوط به قضیه بلاخ و شرایط مرزی دورهای ترکیب شود. DFT ( نظریه تابعی چگالی ) ذرات را غیربرهمکنشی میکند، اما به جای آن ذرات یک محیط دارای اصطکاک (البته نه به معنای کلاسیکی آن که سرعت را کاهش میدهد) ؛یا بهتر بگوییم یک محیط موثر؛ را تجربه میکنند. معادلهی N ذرهای به N تا معادلهی تک ذرهای کاهش مییابد. بعد از اعمال همه چیز بر حسب DFT ( نظریه تابعی چگالی ) نوبت به کاهش تعداد ذرات میرسد.<br>برای فهم بهتر، هر جایگاه اتمی را معادل با یک الکترون در نظر بگیرید. پس N جایگاه، N الکترون دارد و بلور N الکترونی است که N از مرتبهی عدد آووگادرو است. معادلهی حاکم بر آن یک معادلهی N الکترونی است که با اعمال DFT آن را به N معادله تک الکترونی تبدیل میکنیم و از طریق یک کمیت مهم بهم مربوط میشوند.<br>نحوه اعمال قضیه بلاخ به این صورت است که پتانسیل و در نتیجه چگالی الکترونی در یک بلور دورهای، دارای تناوب بلور است ولی خود تابع موج دورهای نیست. شکل تابع موج یک الکترون درون این بلور به صورت زیر است:[latex]\psi ({\mathbf {r}})={\mathrm {e}}^{{{\mathrm {i}}{\mathbf {k}}\cdot {\mathbf {r}}}}u({\mathbf {r}})[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>حاصلضرب یک بخش دورهای در یک بخش تخت. بخش دورهای دارای تناوب بلور است:[latex] u_n({\mathbf {r+R}}) = u_n({\mathbf {r}}) [/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>اندیس n نشاندهنده شماره نوار و بخش k عدد موج است که محدود به منطقهی اول بریلوئن (1BZ) است ( مقادیر خارج از منطقه اول معادل با درون منطقه میشوند، کافیست تفاضل اعداد موج یک بردار شبکه وارون باشند).<br>بخش دورهای تابع موج یا حتی پتانسیل دورهای این تصور را ایجاد میکند که میتوان آنها را به صورت حاصلجمع امواج تخت نوشت (همان ترکیب سینوس و کسینوسها). به صورت زیر:[latex]u_n({\mathbf{r}})=\sum_{\mathbf{G}}{c_{n,\mathbf{G}}}e^{i\mathbf{G}\cdot\mathbf{r}}[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>همین عبارت برای بخش پتانسیل نیز قابل نوشتن است.<br>اما فرمولبندیهای فوق، تا زمانی که مفهوم آن را متوجه نشویم، کاملا بی معنی است. شما سیستمی الکترونی در اختیار دارید که دارای بینهایت ذره است. قضیه بلاخ به شما اجازه میدهد تا تنها معادله را به ازای هر k، برای تعداد محدودی الکترون حل کنید. اما باز هم بینهایت عدد موج دارید و باید معادله را به ازای این بینهایت عدد موج، تک تک حل کنید. یا بعبارتی منطقه اول بریلوئن را بروبید. این بینهایت عدد موج با تعداد کل الکترونهای بلور یکسان است.<br>پس به ازای هر نوار یا (اندیس n) بینهایت عدد موج وجود دارد که با تعداد الکترونها یکسان است. اما تعداد اندیسهای نواری یا n با تعداد الکترونهای درون یک یاخته نسبت دارد. در نتیجه در هر k، تعداد محدودی حالت کوانتومی برای اشغال وجود دارد که این حالتهای کوانتومی را با n برچسب میزنند و با الکترونهای مثلا لایه والانس یکی است (یا حتی نصف آنها).<br>پس گویا بینهایت الکترون جای خودشان را به بینهایت k دادهاند. خوشبختانه در اینجا تقریب جایز است. یک نوار پر شده را در نظر بگیرید که دارای بینهایت k در منطقه اول بریلوئن است. در هر k یک تابع موج الکترونی قرار دارد. با تغییر k این تابع موج تغییرات بسیار اندکی چه در قالب پروفایل تابع موج و چه انرژی دارد. یعنی ثابت میشود که پاشندگی انرژی هر نوار دارای حد بالا و پایین است که این بازه خیلی هم بزرگ نیست. پس بجای آنکه منطقه اول بریلوئن را با بینهایت k نمونه برداری کنیم، کافیست نمونه برداری را محدود به تعداد مشخصی k-point کنیم. هم میتوانید انرژی و هم چگالی الکترونی یا هر کمیتی وابسته به k را تا یک آستانه مشخص تعیین کنید.<br>یک تفاوت بین k و G وجود دارد. k ها همین مقادیری بودند که بخش تخت تابع موج را میساختند.<br><strong>اما در مورد G:</strong><br>وقتی پتانسیل یا تابع موج را برحسب امواج تخت بسط میدهید، مولفههای فوریهای G را وارد بسط میکنید. هر چقدر نوسانات بخش دورهای در فضای واقعی یا مستقیم بیشتر باشد، به مولفههای بیشتری برای توصیف آن نیاز دارید و ضرایب بسط برد بیشتری دارند. اما یک بیشینه برای هر سیستمی که توصیف میکنید وجود دارد که به آن GMax یا Ecut میگویند. نوسان کمتر بخش دورهای تابع موج معادل با عدم نیاز به GMax بزرگتر است، و محاسبات سبکتر است.<br>برای یادآوری یک موج مربعی متناوب را با بسط تخت ایجاد کنید.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>در جلسات آینده شکل دقیق معادلات کان-شم و شیوه معمول حل و رفتار با آنها را دنبال میکنیم.</p> <!-- /wp:paragraph -->
02- معادلهی بس ذرهای یا معادلهی تک ذرهای؟
Lecture<!-- wp:paragraph --> <p>ظاهر تابع موج یک سامانهی برهمکنشی بس ذرهای به صورت زیر است:[latex]\mathbf{\Psi}= \mathbf{\Psi}(\mathbf{r_1}, \mathbf{r_2}, … , \mathbf{r_N}; \mathbf{R_1} , \mathbf{R_2} , … , \mathbf{R_N}) [/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>فرض کنید میخواهید مساله را برای بلور سیلییم با ساختار الماسی درون یاختهاش حل کنید.<br>ثابت شبکه این بلور 5.43 آنگستروم و حجم یاخته [latex]\frac{a^3}{4}[/latex] است. اگر مشبندی یاخته را روی [latex]\Delta{x}=0.1A[/latex] قرار دهید، گرید درون یاخته شامل [latex]N_P=\frac{\frac{a^3}{4}}{\Delta{x}}\sim 4000[/latex] نقطه است. مجموع تعداد هستهها و الکترونهای درون این یاخته هم برابر با [latex]N+M=10[/latex]تاست. اگر از دیدگاه دامنهی احتمال یافتن ذرات به آن نگاه کنید برای تعیین کامل [latex]\mathbf{\Psi}=\mathbf{\Psi}(\mathbf{r_1}, \mathbf{r_2}, … , \mathbf{r_8}; \mathbf{R_1} , \mathbf{R_2}) [/latex] باید [latex](N_P)^{10} \sim 10^{46} [/latex] عدد مختلط را در حافظه رایانه ذخیره کنید. بعلاوه اینها را که کنار بگذارید ابعاد ماتریسهای عملگری چندین برابر افزایش مییابد و ضرب ماتریسی بین این عملگرها و آرایهها غیرممکن میشود. سایز سامانه را هم افزایش دهید تعداد محاسبات به صورت نمایی افزایش مییابد. برای گذر از این دیوار نمایی راههای مختلفی پیشنهاد شده که فراگیرترین آن نظریهی تابعی چگالی است.<br>البته استفاده از این روش برای محاسبات اتمی خیلی هم بد نیست.<br>در محاسبات بسذرهای دیدیم که برای تعیین کامل تابع موج به تعداد [latex](NUMGRID)^N[/latex] عدد باید ذخیره کنید. برای سادهسازی هستهها را فریز کنید چون جرم بینهایتی نسبت به الکترونها دارند. اما به هرحال این هستهها تابع موج بس الکترونی را با اعوجاج مواجه میکنند (فاز بری – اثر جان تلر). پس از تقریب CALMPED NUCLEI برای جداسازی بخش هستهای و الکترونی استفاده میشود و شما دیگر یک معادلهی بس الکترونی خواهید داشت. البته این صرفاً یک تقریب است چون از اصل عدم قطعیت میدانیم که جایگزیدگی کامل در مکان بی معنی است.<br>در مرحله بعد از تقریب الکترون مستقل برای نوشتن تابع موج کلی سامانه به صورت حاصلضرب تابع موج تک ذرهها استفاده کنید (independent electron approximation)- اما در تقریب الکترون مستقل یک مشکل وجود دارد که باید مرتفع شود: باید جملهی برهمکنش کولنی و اصل طرد پائولی را وارد هامیلتونی کنیم. دترمینان اسلیتر و تقریب MEAN-FIELD پاسخهای این مساله هستند. با اضافه شدن پتانسیل هارتری، نوبت به پتانسیل تبادلی و همبستگی میرسد که هدف نظریهی DFT است.<br>پس از اعمال نظریهی تابعی چگالی به مسالهی غیربدیهی بسذرهای، تابع موج کلی سامانه:[latex]\mathbf{\Psi}= \mathbf{\Psi}(\mathbf{r_1}, \mathbf{r_2}, …\mathbf{r_N}) = \prod_{i}^N\psi_i(\mathbf{r}_i)[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>شکل عملگری معادلات کان-شم:[latex]E(\rho)= T_s[{\psi_i[\rho]}] + E_H[\rho] + E_{XC}[\rho] + E_{ext} [/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>بخش تبادلی همبستگی (XC) طرفداران زیادی دارد: LDA-GGA-metaGGA, … هر کدام هم ناشری دارد که میتوانید در اکثر کتابخانههای شبه پتانسیلی آنها را بیابید (در ساختن شبه پتانسیل اطلاعات تابعی نیز وارد میشود).<br>بعد از این همه حرف به این نتیجه میرسیم که:[latex]\mathbf{\Psi}=\mathbf{\Psi}(\mathbf{r_1}, \mathbf{r_2}, …\mathbf{r_N}) \rightarrow \psi_1(\mathbf{r}), \psi_2(\mathbf{r}), … , \psi_N(\mathbf{r})[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>یعنی[latex](NUMGRID)^N \rightarrow N\times(NUMGRID)[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>برای مسالهی سیلیکون این تعداد به[latex]10\times4000[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>کاهش مییابد. البته اگر شرایط مرزی دورهای اعمال نکنید هنوز [latex]N=10^{23}[/latex] که باید 4000 ضرب شود. برای اتمها و مولکولهای منزوی بسیار ایدهآل است معادله را غیردورهای حل کنیم. اما بلور هنوز جای صحبت دارد.<br>منتظر توضیحات بیشتر برای جلسه بعد باشید.</p> <!-- /wp:paragraph -->
03- گرید FFT
Lecture<!-- wp:paragraph --> <p>در دو جلسه پیش قضیه بلاخ + نظریهی تابعی چگالی را شرح دادیم. در این جلسه وقت آن رسیده تا اندکی در مورد منطقه اول بریلوئن و کمیتهایی که باید در آن محاسبه شوند، حرف بزنیم. توابع موج جلسه اول را بیاد بیاورید:[latex]\psi_{n}(\mathbf{r})= u_{n}(\mathbf{r})e^{i\mathbf{k}\cdot\mathbf{r}}, [/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>عدد موج [latex]k[/latex] محدود به منطقه اول بریلوئن یا 1BZ است. بخش دورهای تابع موج نیز دارای تناوب شبکه بود:[latex]u_n(\mathbf{r}+\mathbf{R})=u_n(\mathbf{r})[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>که [latex]\mathbf{R}[/latex] نیز یکی از بردارهای شبکه است. پس بخش دورهای تابع موج را میشد به صورت زیر نوشت:[latex]u_n(\mathbf{r})= \sum_{\mathbf{G}} c_{n,\mathbf{G}}e^{i\mathbf{G}\cdot\mathbf{r}},[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>و به صورت معادل تابع موج به صورت زیر درمیآید:[latex]\psi_n(\mathbf{r})= \sum_{\mathbf{G}}e^{i(\mathbf{k}+ \mathbf{G})\cdot\mathbf{r}},[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>جمع روی [latex]\mathbf{G}[/latex] باید تا بینهایت باشد. اما از نظر محاسباتی مقدور نیست. پس کافیست جای آنرا با تعداد گسستهای از نقاط تعویض کنیم. این نکته را هم در نظر بگیرید که هر چقدر [latex]\mathbf{k+G}[/latex] بزرگتر باشد، ضرایب [latex] c_{n,\mathbf{k}+\mathbf{G}} [/latex] کوچکتر میشود. و این خبر خوبی است. کافیست یک کره در فضای وارون در نظر بگیرید که به اندازهی کافی بزرگ باشد، یا ضرایب در فواصل دور به اندازهی کافی به صفر نزدیک باشند. بهتر است به جای GMAX معادل انرژی آن را استفاده کنیم:[latex]E_{cut} \ge\frac{1}{2}\vert\mathbf{k}+\mathbf{G}\vert^2,[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>پس اگر میخواهید محاسبات کوانتومی انجام دهید، دو مورد را در نظر بگیرید. (1) همگرایی GMAX و (2) همگرایی k-pointها.<br>مزیت موجهای تخت به این است که پایههای کاملی در فضا ایجاد میکند. یعنی همیشه میتوانید با افزایش موجهای تخت شکل تابع موج اصلی الکترون را بسازید.<br>پس اگر برایتان سوال است که این مقادیر را چگونه باید انتخاب کرد، به شکل زیر نگاه کنید.<br><!-- wp:image {"id":10583} --><img src="//blob.maharatgostar.com/shop/original/10583_98ccc8b0.png" alt="" width="3125" height="2085"><!-- /wp:image --><br><!-- wp:image {"id":10584} --><img src="//blob.maharatgostar.com/shop/original/10584_443f0a0c.png" alt="" width="2993" height="2093"><!-- /wp:image --><br>پس دقت محاسبات یک کمیت با استفاده از G-Vector ها و k-point ها به طرز محسوسی قابل تنظیم است. دلیل اینکه از یک کمیت تبدیل فوریه میگیرند نیز همین است. با بردن یک کمیت به فضای وارون میتوانید به راحتی ضرایب را انتخاب کنید و ببینید که با افزایش G-vector و kpoint چگونه دقت آن کمیت به دقت مطلوب شما میرسد. یکی از این کمیتها که در جلسه پیش هم دیدیم، پتانسیل هارتری است. محاسبه این پتانسیل در فضای متقابل به مراتب ساده تر از فضای مستقیم است.<br>تنها نقطه ضعف، امواج تخت جایی است که نوسانات یک کمیت زیاد میشود. در این صورت به تعداد زیادی موج تخت برای توصیف آن کمیت نیاز است. برای مثال رفتار تابع موج الکترونی در نزدیکی هسته به خاطر داشتن گره و تعامد بشدت نوسانی است. برای اینکه تصویر ذهنی بهتری از نوسانات داشته باشید به تصاویر زیر نگاه کنید:</p> <!-- /wp:paragraph --> <!-- wp:image {"id":10585} --> <figure class="wp-block-image"><img src="//blob.maharatgostar.com/shop/original/10585_0ea91235.png" alt="" class="wp-image-2092"/></figure> <!-- /wp:image --> <!-- wp:image {"id":10586} --> <figure class="wp-block-image"><img src="//blob.maharatgostar.com/shop/original/10586_07d25297.png" alt="" class="wp-image-2093"/></figure> <!-- /wp:image --> <!-- wp:paragraph --> <p>کاملا مشخص است که با افزایش نوسان به گرید (G-VECTOR) با شعاع بزرگتر نیاز دارید.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>تصاویر بالا در مورد تابع موج صادق است. اما آیا چگالی الکترونی به انرژی قطع بیشتری نیاز ندارد؟</p> <!-- /wp:paragraph --> <!-- wp:image {"id":10587} --><img src="//blob.maharatgostar.com/shop/original/10587_abbcb6f6.png" alt="" width="900" height="670"><!-- /wp:image --> <!-- wp:image {"id":10588} --><img src="//blob.maharatgostar.com/shop/original/10588_146f0276.png" alt="" width="919" height="657"><!-- /wp:image --> <!-- wp:image {"id":10589} --><img src="//blob.maharatgostar.com/shop/original/10589_bb806f17.png" alt="" width="836" height="617"><!-- /wp:image --> <!-- wp:paragraph --> <p>مزیت استفاده از امواج تخت در این است که با اعمال بسیاری از عملگرها روی آنها، بسیار راحت قابل محاسبه اند. برای مثال اثر عمل [latex]\nabla^2[/latex] را روی امواج تخت در نظر بگیرید.<br>در حالت کلی عمل [latex]\mathbf{H}\mid\psi_{n,\mathbf{k}}\rangle[/latex] با امواج تخت بسیار ساده است:[latex]({-\frac{1}{2}\nabla^2+V(\mathbf{r})})\psi_{n\mathbf{k}}(\mathbf{r})[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>انرژی جنشی:</strong>[latex]\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}} [/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>به مجموع همهی پتانسیلها پتانسیل موضعی گفته میشود:</strong>[latex]V=V_H[\rho]+V_{xc}[\rho]+V_{ext} [/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>پتانسیل تبادلی همبستگی</strong> براحتی در فضای واقعی قابل محاسبه است. هم به دلایل محاسبات عملی و هم محاسبه ساختار نواری همیشه به FFT این کمیت نیاز هست.<br>از این کمیت FFT گرفته میشود و به فضای وارون منتقل میشود:[latex]{V_{xc}(\mathbf{r})}\rightarrow {V_{xc,\mathbf{G}}} [/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>پتانسیل هارتری</strong>: کلا این پتانسیل را فضای وارون راحتتر است و عملا معادل با چگالی است:[latex]V_{H,G}=\frac{4\pi}{\vert\mathbf{G}\vert^2}\rho_{\mathbf{G}} [/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>پتانسیل موضعی در فضای متقابل به زیر در میآید:[latex]V_{\mathbf{G}}= V_{\mathbf{H,G}} + V_{xc,\mathbf{G}} + V_{ext,\mathbf{G}}[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>براحتی میتوانید از همه این کمیت FFT وارون بگیرید و آنرا به فضای واقعی برگردانید. اما این همه سختی چه لزومی دارد؟<br>پاسخ:<br>محاسبه برخی کمیتها در فضای وارون و FFT گرفتن خیلی سریعتر از محاسبه آنها روی گرید مستقیم است (میتوانید مرتبه کدها را در کتابهای مرجع مختلف پیدا کنید).<br>حالا سوال پیش میآید که جملات فوق با چه ترتیبی محاسبه میشوند. برای درک بهتر مراحل طرحوارهی حل خودسازگار زیر را در نظر بگیرید که برای همه فرمالیسمهای DFT یکسان است:</p> <!-- /wp:paragraph --> <!-- wp:image {"id":10590,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="//blob.maharatgostar.com/shop/original/10590_a2253f91.png" alt="" class="wp-image-10590"/></figure> <!-- /wp:image --> <!-- wp:paragraph --> <p>دلیل آن حدس اولیه چگالی را در قضایای هوهنبرگ-کان جستجو کنید.<br>در بیشتر کدهای محاسباتی برای حدس اولیه چگالی اوربیتالهای اتمی استفاده میشود- مگر آنکه خودتان اوربیتالها را بسازید و برنامه بدهید!!!<br>مباحث مرتبط با تابعی ها و شبه پتانسیلها نیز در ادامه کار بیان میشود.</p> <!-- /wp:paragraph -->
04- تابعیهای تبادلی-همبستگی Exchange-Correlation Potential + MEAN FIELD APPROX.-POISSON SOLVER
Lecture<!-- wp:heading --> <h2>تابعیهای تبادلی همبستگی Exchange-Correlation Potential + MEAN FIELD APPROX.-POISSON SOLVER - تقریب میدان میانگین</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>بهتر است کمی دربارهی جملاتی که در هامیلتونی بسالکترونی ظاهر شدند صحبت کنیم:<br><img src="http://sci-course.ir/wp-content/uploads/2019/09/img77.png" alt="" width="279" height="40"><img src="http://sci-course.ir/wp-content/uploads/2019/09/img76.png" alt="" width="214" height="59"><br><strong>1)جملات تک الکترونی</strong> = انرژی جنبشی تک الکترونها ( [latex]T[/latex]) + انرژی پتانسیل خارجی( [latex]E_{EXT}[/latex]):<br>این جملات چیزی شبیه پهنای یک نوار مثلا پهنای نوار 4s (یا با کاراکتر 4S) هستند.<br><strong>2)انرژی هارتری – پتانسیل هارتری:</strong><br>از کتاب الکترودینامیک جکسون میتوان به یک دید شهودی و عددی برای محاسبه بخش همبسته و بسیار پیچیدهی برهمکنش کولنی الکترونها رسید. کافیست از حرفهای جلسات پیش بیاد بیاورید که میخواستیم مساله را تک ذرهای و غیربرهمکنشی حل کنیم. جوری که الکترونها یکدیگر را نبینند. اینکار با معادله پواسون شدنی است:[latex]\nabla^2 V_H(\mathbf{r})=-4\pi n(\mathbf{r}) , [/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>پاسخ معادله بالا به شکل زیر است:[latex]V_H(\mathbf{r})=\int d\mathbf{r^{\prime}} \frac{n(\mathbf{r^{\prime}})}{\vert \mathbf{r-r^{\prime}}\vert} ,[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>یا عبارتی مشابه برای انرژی:[latex]E_H(\mathbf{r})=\int d\mathbf{r} d\mathbf{r^{\prime}} \frac{n(\mathbf{r}) n(\mathbf{r^{\prime}})}{\vert \mathbf{r-r^{\prime}}\vert} ,[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>هر [latex]d\mathbf{r^{\prime}}[/latex] را یک جعبه بسیار کوچک در نظر بگیرید که دارای بار [latex]dQ=-n(\mathbf{r^{\prime}})d\mathbf{r^{\prime}}[/latex] است و میتواند در نقطهی [latex]\mathbf{r}[/latex] یک پتانسیل به اندازهی [latex]\frac{dQ}{\vert \mathbf{r-r^{\prime}}\vert}[/latex] ایجاد کند. با توجه به اینکه متغیر [latex]\mathbf{r^{\prime}}[/latex] کل فضا را میروبد، پس اثر تمامی بارهای درون کل فضای بلور در نقطه [latex]\mathbf{r}[/latex] به حساب میآید. پس عملا هر الکترون، یک پتانسیل میانگین، ناشی همه ابرهای الکترونی را حس میکند. به این تقریب MEAN-FIELD-APPROX. گفته میشود. فقط این نکته را در نظر بگیرید که تقریب الکترون مستقل است و مکان قرارگیری یک جعبه روی مکان دیگری تاثیر ندارد. پس اگر در فرمالیسم DFT یک چگالی الکترونی اولیه حدس بزنید (مثلا ATOMIC) باید آنرا درون معادلهی پواسون قرار دهید و پاسخ را که پتانسیل هارتری است بیابید.<br>دوباره باید پتانسیل هارتری را درون معادله شرودینگر قرار دهید و توابع موج جدیدی بدست آورید. این توابع موج جدید، یک چگالی الکترونی جدید به شما میدهند که باید دوباره در معادله پواسون قرار گیرد و پتانسیل جدیدی تولید کند. پس عملا این یک سیکل همیشگی است که به آن میدان خودسازگار میگویند. برای قطع این سیکل خودسازگار یک شرط خودسازگار روی آن قرار میدهند که در بیشتر کدهای محاسباتی به آستانه مشهور است (برای مثال در QE – etot_conv_thr) یا انواع مختلف دیگر آستانهها.<br>این سادهسازیها باید بهایی داشته باشد. همبستگی بین این الکترونها را چطور باید بازیابی کرد؟<br>نکته پیچیدهی دیگر اینست که رقابت بین بخش کولنی و جنبشی باعث میشود که یک الکترون سیار (Itinerant) باشد و دیگری جایگزیده(LOCALIZED) باشد. یعنی این محاسبات باید برای یک نوار صورت گیرد.<br>به هرحال تصاویری مختلفی در ذهن دانشمندان ایجاد شده است: تصویر <strong>الکترونی تقریبا آزاد - تصویر یونی و تصویری مخلوط</strong> که بین این دو قرار دارد. مثل سامانههای همبستهی قوی.<br><strong>3)برهمنکش تبادلی:</strong> جملات هارتری کاملاً کلاسیکی بود و اجتماعی از بارها را به شکل چگالی الکترونی در نظر میگرفت. اما توابع موجی که در تولید این چگالی بار استفاده میشد، میبایست دارای یک ویژگی فرمیونی باشند. یعنی تابع موجشان باید از اصل طرد پائولی پیروی کند. اما مشکل اصلی آن در غیر موضعی بودن آن است. یعنی انتگرالده وابسته به دو متغیر فضایی است.<br>اما معنای برهمکنش تبادلی چیست؟ آیا دو الکترون با اعداد مغناطیسی یا اسپین یکسان میتوانند یک مکان را اشغال کنند؟<br>پس در جاهایی که اسپین الکترونها یکی است و توابع موج همپوشانی دارند را باید از پتانسیل هارتری که پیش از این به صورت ناخواسته این برهمکنش ها را وارد کرده، کم کنیم. پس با این کار الکترونهایی با اسپین یکسان همبسته میشوند. منطقی است که شکل برهمکنش تبادلی به صورت حاصلضرب دوتابع موج باشد-یعنی همپوشانی را نشان دهد.</p> <!-- /wp:paragraph --> <!-- wp:image {"id":10591,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="//blob.maharatgostar.com/shop/original/10591_45071bde.png" alt="" class="wp-image-10591"/></figure> <!-- /wp:image --> <!-- wp:paragraph --> <p>پس این نوع الکترونها چون نمیتوانند کنار هم قرار گیرند، یکدیگر را دور میکنند- پس همبسته میشوند. به همین دلیل به آن اصل طرد پائولی یا دافعهی پائولی میگویند. پس عملاً یک همبستگی مکانیک کوانتومی روی میدهد.<br>نکته دیگر اینست که عملا این یک برهمکنش نیست و ما برای جبران مشکلات ساده سازی هارتری آن را وارد کردهایم و این ذاتی توابع موج است.<br><strong>4)پتانسیل همبستگی:</strong> الکترونی که در میدان موثر کولنی پواسون حرکت میکند، آنهم بی اعتنا به محیط اطرافش، هنوز توصیف درستی نیست. پتانسیل همبستگی میخواهد این نقیصه را نیز رفع کند. مثلا یک مورد قابل تصورش را فرض کنید. الکترونی که حرکت میکند به خاطر دافعهی کولنی با الکترونهای دیگر آنها را از هم خودش دور میکند. آیا در پتانسیل هارتری (پتاانسیلی الکترواستاتیک) آن را به حساب آوردهایم؟؟؟ پس این الکترون یک حفره دور خودش ایجاد میکند و سعی میکند تا یک محدودهی کوتاه (SHORT-RANGED) احتمال حضور دیگر الکترونها را به صفر برساند. اصطلاحاً به آن <strong>حفره تبادلی همبستگی</strong> میگویند. که این حفرهها میتواند منشاهای فوقالعاده جذاب و پیچیدهای داشته باشد.<br>اگر پتانسیل تبادلی همبستگی را که مرتبه آن نسبت به دیگر جملات کوچکتر هم هست، بدانیم رفتار جمعی الکترونها دقیقاً قابل پیشبینی است. اما این کار خیلی شدنی نیست و خیلیها اعتقاد دارند بسیاری از پدیدهها با کاراکتر تک ذرهای قابل توجیه نیستند.<br>------------------------------------<br>سادهترین تابعی تبادلی همبستگی در DFT، تقریب چگالی موضعی یا LDA است (CEPERLY, ALDER). در این تقریب چگالی انرژی تبادلی همبستگی در هر نقطهای برابر با همتای گاز الکترونی یکنواخت (HEG) است. همین تقریب را میتوان به سامانههای اسپینی نیز اعمال کرد (LSDA یا LOACAL DENSITY APPROXIMATION).<br>انرژی تبادلی همبستگی در تقریب LSDA:[latex]E^{LSDA}_{XC}[n_{\uparrow},n_{\downarrow}] = \int n (\mathbf{r}) \varepsilon_{XC}^{LDA} [n_{\uparrow}(\mathbf{r}), n_{\downarrow}(\mathbf{r})]d\mathbf{r},[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>انرژی تبادلی همبستگی به ازای هر الکترون در یک گاز یکنواخت با چگالی اسپینی [latex]n_{\uparrow}[/latex] و [latex]n_{\downarrow}[/latex] به شکل زیر بدست میآید:[latex]\varepsilon_{XC}^{LDA} [n_{\uparrow}(\mathbf{r}), n_{\downarrow}(\mathbf{r})]=\frac{1}{2}\int n(\mathbf{r^{\prime}})(\bar{g}^{HEG}[\vert \mathbf{r} - \mathbf{r^{\prime}}\vert , n\uparrow (\mathbf{r}) , n\downarrow (\mathbf{r})]-1)d\mathbf{r^{\prime}}[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>برای اینکه بهتر بفمیم این عبارت به چه صورتی محاسبه میشود، گاز الکترونی یکنواخت را در نظر بگیرید. انرژی تبادلی این گاز به صورت تحلیلی قابل محاسبه است. اما بخش همبستگی آن با حل معادله بس ذره ای با روشهای آشوبناک بدست میآید ([latex]E_X+E_C[/latex] ). (مونت کارلوی کوانتومی)<br>اگر چگالی الکترونی در بلور کندتغییر باشد، یعنی نوسانات خیلی شدیدی نداشته باشد، میتوان در هر موضعی به صورت یک مستطیل چگالیها الکترونی بلور را با چگالی الکترونی گاز یکنواخت جایگزین کرد. به این شکل نگاه کنید:</p> <!-- /wp:paragraph --> <!-- wp:image {"id":10581,"sizeSlug":"large","linkDestination":"none"} --> <figure class="wp-block-image size-large"><img src="//blob.maharatgostar.com/shop/original/10581_440f8c30.png" alt="" class="wp-image-10581"/></figure> <!-- /wp:image --> <!-- wp:paragraph --> <p>پس طبق این شکل نمیتوان از LDA در سامانههای مولکولی و کلاستری استفاده کرد. چون چگالی الکترونی این سامانهها بسیار پرنوسان است.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>LDA طول پیوندها را کمتر مقدار تجربی تخمین میزند.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>تابعی بهتر GGA است که بهترین آن PBE (PERDEW,BURKE & ERNZERHOF) است. در این تقریب شیب چگالی نیز وارد میشود:[latex]E^{LSDA}_{XC}[n_{\uparrow},n_{\downarrow}] = \int n (\mathbf{r})\varepsilon_{XC}^{LDA} [n_{\uparrow}(\mathbf{r}), n_{\downarrow}(\mathbf{r}),\nabla n_{\uparrow}(\mathbf{r}) , \nabla n_{\downarrow}(\mathbf{r})]d\mathbf{r},[/latex]</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>علاوه بر تقریب GGA، در تقریب META-GGA، مشتق دوم چگالی نیز در نظر گرفته میشود.<br>پس در این جلسه مفاهیمی را یاد گرفتید که نیاز به تحقیق بیشتر و خواندن مقالات بسیار است. باز هم برای درک بهتر میتوانید به LETTER های اصلی ناشرین این تابعیها مراجعه کنید و پارامترهایی که استفاده کردهاند را بفهمید و در محاسبات تغییر دهید.</p> <!-- /wp:paragraph -->
بخش 2
05- نصب کد وسپ + makefile.include + نسخه ۵.۴.۴ کد vasp
Video خصوصیاز «پیوست/نصب» پروندههای makefile.include و vasp دریافت شود.
06- ساختن فایلهای ورودی برای VASP
Video خصوصی<p>در این جلسه فایلهای ورودی INCAR, POSCAR, POTCAR, KPOINTS بررسی شدهاند و برای ترکیب FCC آلومینیم نوشته شدهاند.</p> <p>توضیحات نسبتاً مفصلی هم برای تگ های مختلفی که استفاده شده، ارائه دادهایم تا با محیط اولیه VASP آشنا شوید.</p>
07- اجرای اولیه + ساختار نواری + چگالی حالتها + تعیین ثابت شبکه
Video خصوصی08- بهینهسازی پارامترها (II) – تگ ENCUT و مقادیر KPOINT
Video خصوصی<p>در این جلسه نیز 2 اسکریپت آموزشی را معرفی میکنیم که براحتی میتوانید با آنها کمیتهای مختلف نظیر ENCUT و KPOINT را بهینه کنید. در جلسه پیش نیز کدی مشابه برای پیدا کردن کمینه انرژی با تغییر طول پیوند ارائه شد. درصورتی که در کدنویسیهای BASH SCRIPT مشکل دارید، به لینک زیر بروید، مقدمهای کاربردی برای کدنویسی BASH ارائه شده است: <a href="/objects/10354">برنامهنویسی پوستهی لینوکس Bash Scripting</a></p> <p>تمریناتی نیز برای این جلسه در نظر گرفته شده که روی سایت قرار میگیرد.</p>
09- کدنویسی برای استخراج ساختار نواری از فایل vasprun.xml + بهینه کردن پارامترها با awk و bash
Lecture خصوصی<p>در این جلسه تمرینی پکیجی از تمرینات که تابحال آموزش داده شده، را به صورت صحیح و کدنویسی شده در اختیار شما قرار دادهایم.</p><p>هر کدام از فایلهای zip شده، دارای یک فایل README است که بسادگی میتوانید مثالها را برای ترکیب FCC آلومینیم اجرا کنید.</p><p>در هر فایل zip - ورودیها از جمله INCAR, POSCAR, POTCAR, KPOINTS قرار گرفته اند و کافیست طبق README فایلها را اجرا کنید.</p><p>این مجموعه از تمرینات به این دلیل ایجاد شدهاند تا شما با روند کدنویسی برای استخراج دادههای علمی آشنا شوید.</p><p>فایل اول مربوط به دریافت دادههای BAND STRUCTURE از روی فایل vasprun.xml است. تگ eigenvalues به عنوان نقطه شروع این کد در نظر گرفته شده که میتوانید برای بیشتر ترکیبات از آن استفاده کنید. کافیست اسکریپت را مانند مثال در کنار فایلهای ورودی قرار دهید و آنرا اجرا کنید. در صورتی که فرمت xml در طول ارائه نسخههای vasp تغییر نکند، میتوانید از آن استفاده کنید. یک فایل خروجی بنام band.txt تولید میشود که میتوانید آنرا با gnuplot رسم کنید. مثلا از دستور زیر استفاده کنید:</p><div style="direction: ltr;">gnuplot<br />$> plot "band.txt" us 2:1 w p</div><div>البته انرژی فرمی هم را در خروجی چاپ میکند که کافیست مقدار آن را از ستون انرژی کم کنید. اگر با w l رسم کنید متوجه میشوید که نوارها را به هم چسبیده میکشد، برای حل این مشکل یا به صورت دستی فایل band.txt را باز کنید و بین هر نوار یک خط فاصله ایجاد کنید یا اینکه کد را باز کنید و در انتهای حلقه یک خط جدید ایجاد کنید.</div><div>مابقی فایلها (2-3-4) مربوط به بهینه سازی ENCUT, kpoints, lattice constant است که در ویدئوهای پیشین نحوه نوشتن آن توضیح داده شد.</div><div>مزیت کدنویسی نسبت به استفاده از برنامههای گرافیکی اینست که هم بهتر با فیزیک مساله درگیر میشوید و هم وابستگی شما به رابطهای گرافیکی کم میشود. البته همه چیز قابلیت کدنویسی ندارد، اما بهتر است این شیوه را استفاده کنید تا کدهای دیگر را بسادگی بیاموزید.</div><div>برای فهم کدها باید اندکی با awk و bash آشنا باشید و کمی دربارهی حلقهها بدانید که پایهای ترین مفاهیم برنامهنویسی هستند.</div><div>پس از فهمیدن این کدها، یک نمونه کد برای رسم داس بنویسید. پس مشخصا خواندن فایل vasprun.xml الزامی است، چون باید دادهها را از آن استخراج کنید.</div><div>چند کمیت دیگر نیز وجود دارد که باید آنها را بهینه کنید. ENAUG ، SIGMA و تگهای FFT .</div><div>ENAUG باید حداقل 2 تا سه برابر ENCUT باشد. اما باید آن را بهینه کنید. پس از بهینه سازی آن به سراغ تگ SIGMA بروید و در نهایت KPOINTS.</div><div>پس به صورت کلی این کمیتها را بهینه کنید:</div><div style="direction: ltr;">ENCUT<br />ENAUG<br />SIGMA<br />KPOINTS<br />NGX<br />...</div><div>البته بهینه سازی FFT الزامی نیست، فقط در صورتی که دچار خطا در محاسبات شدید به سراغ آن بروید.</div><div>در جلسه پیش یکی از کمیتهایی که بهینه شد، ثابت شبکه بود. به نظرتان علاوه ثابت شبکه زاویهی بین پیوندها نیز قابل بهینه سازی است؟</div><div>اگر ساختار پیچیده باشد، مثلا سطح یا یک بزرگ مولکول، چگونه آن را بهینه میکنید و شکل تعادلی آن را بدست میآورید. در جلسه آینده این سوال شما پاسخ داده خواهد شد ----> Relaxation</div><div>کدهایی را که مینویسید در گروه مطرح کنید یا در بخش نظرات همین جلسه الحاق کنید.</div> <div>دریافت فایلها:</div> <p>از بخش scripts پروندههای Band_structure.zip و encut.zip و optimize_kpoints.zip و vol_opt.zip دریافت شود.</p>
10- محاسبه انرژی تشکیل تهی جا (بخش اول) Formation energy of vacancies
Video خصوصی<p>موضوع این سلسه از جلسات محاسبه انرژی های تشکیل در بلورهاست که نکاتی نظیر ریلکس و بهینه سازی کامل پارامترها را خواهید آموخت.</p> <p>در این جلسه ابتدا فایلهای ورودی ایجاد شده، ساختار نواری رسم شده و در نهایت سیستم انبوهه ریلکس شده است.</p> <p>در جلسات آتی ادامه محاسبات انرژی های تشکیل بیان میشود که شامل ساختن سوپرسل نیز میشود.</p> <p>در طول ریلکس میتوانید از تگ EDIFFG نیز استفاده کنید نشان دهنده آستانه دقت در اجرای ریلکس است. هر چه این مقدار کمتر باشد محاسبات دقیقتر است.</p>
11- محاسبه انرژی تشکیل تهی جا (بخش دوم) Formation energy of vacancies
Video خصوصی12- اپتیک با DFPT
Video خصوصی13- ماتریس ایستای دیالکتریک با RPA یا تقریب فاز کاتورهای
Video خصوصی14- محاسبه سهم یونی در ماتریس دی الکتریک ایستا (Ionic Contribution)
Video خصوصی15- محاسبه ماتریس دی الکتریک وابسته به فرکانس با تقریب IPA
Video خصوصی16- محاسبه ماتریس دی الکتریک وابسته به فرکانس با RPA
Video خصوصی17- محاسبه انرژی جذب مولکول روی سطح و سد پراکندگی سطحی (surface Diffusion Barrier) با NEB (بخش I)
Video خصوصی18- محاسبه انرژی جذب مولکول روی سطح و سد پراکندگی سطحی (surface Diffusion Barrier) با NEB (بخش 2)
Video خصوصی19- دستورکار جامع محاسبه گر Vasp در کتابخانهی ASE + به همراه فایل ژوپیتر با توضیحات پارسی (بخش اول)
Video 15:44 خصوصیاز پیوست «VASP_general.ipynb» و «VASP_general.html» دریافت شود.
20- دستورکار جامع محاسبه گر Vasp در کتابخانهی ASE + ساختار نواری و چگالی حالتها + به همراه فایل ژوپیتر با توضیحات پارسی (بخش دوم)
Video خصوصیاز پیوست «VASP_general_2.ipynb» و «VASP_general_2.html» دریافت شود.
21- ساخت مولکولها به صورت دستی و از پایگاه داده ASE
Video خصوصیاز دستنوشته پروندههای «molecules_1.ipynb» و «isobutane.xyz» دریافت شود.
22- نمایش مولکولها و چرخش آنها درون یاخته با کمک rotate
Video 11:21 خصوصیاز بخش «دستنوشته» پرونده «molecules_2.ipynb» دریافت شود.
23- محاسبه مرکز جرم و ممان اینرسی (گشتاور ماند) مولکولها
Video خصوصیاز بخش «دستنوشته» پرونده «molecules_3.ipynb» دریافت شود.
24- محاسبه فاصله بین اتمها و زاویه بین آنها + محاسبه زاویهی dihedral
Video خصوصیاز بخش «دستنوشته» پرونده «molecules_4.zip» دریافت شود.
25- محاسبه انرژی و نیرو + بهینهسازی طول یاخته
Video خصوصیاز بخش «دستنوشته» پرونده «molecules_5.ipynb» دریافت شود.
26- بهینه سازی انرژی قطع (ENCUT) و clone کردن محاسبات پیشین
Video خصوصیاز بخش «دستنوشته» پرونده «molecules_6.ipynb» دریافت شود.
27- رسم چگالی الکترونی (Charge Density) با کتابخانه mayavi و محاسبه گر Vasp
Video 13:49 خصوصیاز بخش «دستنوشته» پرونده «maya.py» و »co-cd.png« دریافت شود.
28- چگونه می توان ADOS را به کمک محاسبه گر وسپ بدست آورد؟ (Atom-projected DOS)
Video 12:22 خصوصیاز بخش «دستنوشته» پرونده «molecules_8.ipynb» دریافت شود.
29- پچ کردن کد اصلی محاسبه گر وسپ و افزودن چند متد کارا به آن + رسم پتانسیل موضعی و چگالی الکترونی با کتابخانهی مایاوی
Video 13:36 خصوصیاز بخش «دستنوشته» پرونده «molecules_9.ipynb» دریافت شود.
دستنوشته
Band_structure.zip
خصوصیco-cd.png
خصوصیچگالی الکترونی مولکول CO
encut.zip
خصوصیisobutane.xyz
خصوصیkpoint_optimize.zip
خصوصیmolecules_1.ipynb
خصوصیmolecules_2.ipynb
خصوصیmolecules_3.ipynb
خصوصیmolecules_4.zip
خصوصیmolecules_5.ipynb
خصوصیmolecules_6.ipynb
خصوصیvol_opt.zip
خصوصیپیوست
VASP_general.html
خصوصیVASP_general.ipynb
خصوصیVASP_general_2.html
خصوصیVASP_general_2.ipynb
خصوصینصب makefile.include
خصوصینصب vasp 5.4.4.zip
خصوصیمدرس
کارشناس ارشد فیزیک حالت جامد از دانشگاه اصفهان متخصص شبیهسازی در نرمافزارهای کوانتوم اسپرسو، open mx، vasp و ... متخصص برنامهنویسی پایتون دارای کارت مربیگری فنیوحرفهای و مدرس آموزشگاههای آزاد فنیوحرفهای
دیدگاهها (0)
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.