فروشگاه سامانه مهارت گستر
فیزیک

آموزش کوانتوم اسپرسو (Quantum Espresso)


Warning: ltrim() expects parameter 1 to be string, object given in /home/maharatg/shop.maharatgostar.com/wp-includes/formatting.php on line 4482
فروش
45
تعداد دیدگاه‌ها
0

کوانتوم اسپرسو ( Quantum Espresso ) نیز همچون Wien2k یک کد محاسبات کوانتومی است. اما این‌بار به جای رهیافت پتاسیل کامل (Full Potential) از شبه پتانسیل ( PseudoPotential ) استفاده می‌شود. در نتیجه دقت محاسبات بشدت به شبه‌پتاسیل‌هایی که استفاده می‌کنید، وابسته است. اما در غالب مواقع سرعت اجرا بسیار بیشتر از رهیافت پتانسیل کامل است. طبق تحقیقات دقت محاسبات شاید در چند ده هزارم اعشار اندکی تفاوت داشته باشد.

این کد نه تنها برای دانشجویان ارشد مناسب است، بلکه نیاز دانشجویان دکتری یا پست دکتری را نیز تامین می‌کند. با توجه به متن باز بودن این نرم‌افزار و استفاده‌ی غیرتجاری آن، مورد اقبال و توجه بسیاری از علم‌دوستان نیز هست. سالانه افراد و دانشمندان زیادی امکانات فوق‌العاده قدرتمند و پیشرفته‌ای به آن اضافه می‌کنند. این کد بسیار دقیق و قابل اعتماد است.

این کد در ایران نیز تقریبا در همه‌ی دانشگاه‌ها مورد توجه است. و مقالات بیشماری با این کد در سطح جهان ارائه شده است.

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

آیا دوره اسپرسو نیاز ما را برطرف می‌کند؟

نوشته‌ها درباره کوانتوم اسپرسو ( Quantum Espresso ) بسیار زیاد است. اما ویدئوهای آموزشی زیادی را در اینترنت پیدا نخواهید کرد. به علاوه نوشته‌های مربوط نه تنها به زبان لاتین هستند، بلکه بسیار پراکنده هستند- عملا اگر خودتان بخواهید بدون کمک کسی یاد بگیرید، اگر دانشجوی خوبی باشید، حداقل دو سال زمان نیاز دارید تا حرفه‌ای شوید. بنابر درخواست برخی از دوستان و کاربران این دوره را شروع کرده‌ایم که امیدوارم مورد اقبال باشد و از نظر علمی هم راهگشا باشد.

تقویم آموزشی این دوره

احتمالا این دوره سر دراز دارد. چون هر چه از کدهای کوانتومی بگوییم و بنویسیم هنوز مطالب بسیاری برای یادگیری باقی می‌ماند.

هر سه شنبه یک آموزش جدید روی سایت قرار میگیرد.

نصب برنامه را روی همه سیسم عامل‌ها آموزش می دهیم در صورتی که چیزی از قلم افتاد، می‌توانید در بخش ارسال نظر زیر پست‌ها از ما بپرسید تا شما را راهنمایی کنیم.
در ادامه نکاتی درباره‌ی موازی‌سازی و ترفندهای آن در اختیارتان قرار می‌دهیم و اصلاً معنی واقعی موازی‌سازی را روشن می‌کنیم. آرام آرام با ارائه‌ی مثال‌ها، مفاهیم اصلی DFT، اپتیک و مقدمه ای بر فونون‌ها و نکات ناب بسیاری را تشریح می‌کنیم.

نیازمندی‌ها

فهرست محتوا
01- آموزش نصب کوانتوم اسپرسو
ویدئو پیش نمایش

<h2>آموزش نصب کوانتوم اسپرسو روی لینوکس، مک و ویندوز</h2> <p>کوانتوم اسپرسو یک نرم‌افزار حرفه‌ای برای انجام محاسبات کوانتومی است. در این جلسه یعنی جلسه اول به آموزش نصب کوانتوم اسپرسو روی پلتفرم‌های مختلف پرداختیم. و این دقیقا همان چیزی است که بیشتر دانشجویان به آن نیاز دارند. در ابتدا به معرفی دایرکتوری‌های مختلف موجود در پوشه‌ی کوانتوم اسپرسو پرداخته شد و معنای هر کدام را توضیح دادیم. در ادامه به نصب تک تک ملزومات نصب اختصاص داده شد.</p> <h2>ملزومات نصب</h2> <p>این ملزومات شامل یک کامپایلر فورترن و یک کامپایلر C است. و همچنین محیطی برای وارد کردن دستورات لینوکس است. با این کامپایلرها کوانتوم اسپرسو را آماده‌ی اجراهای کوانتومی می‌کنیم. و از ترمینال BASH برای وارد کردن دستورات استفاده میکنیم.</p> <h3>کتابخانه ها</h3> <p>نصب کتابخانه‌های جبری و … نیز بخش مهمی است که کوانتوم اسپرسو باید به آن دسترسی داشته باشد.</p> <h3>اجرای موازی</h3> <p>در نهایت به دو پارادایم برای گذاشتن اجراهای موازی رو چندین CPU نیاز خواهیم داشت. یکی از این‌ها MPI و دیگری OpenMP است. کوانتوم اسپرسو از هر دو به صورت ترکیبی استفاده می‌کند. MPI بسیار قدرتمند است. اما برنامه‌نویسی‌هایش بسیار سنگین است. که نقاط قوت و ضعفش به حساب می‌آیند. MPI هر پروسه را روی یک پردازشگر تقسیم می‌کند. و وظیفه‌ی ایجاد دسترسی به کتابخانه‌های موازی را برای تبادل داده بین پردازشگرهای مختلف مهیا می‌کند. چون پروسه‌های مختلفی که روی هر پردازشگر قرار دارند باید به متغیرهای دیگر پروسه‌ها دسترسی داشته باشند.</p> <p>OpenMP رایگان است، اما وقتی تعداد پردازشگرها بالا می‌رود از قانون آمدال (قانونی که سرعت اجراهای کوانتومی روی پردازشگرهای موازی را پیش‌بینی می‌کند) دور می‌شود. اما ترکیب MPI و OpenMP بسیار قدرتمند است.</p> <p>یک توضیح درباره OpenMP: اوپن ام پی، هر پروسه را به چند زیر پروسه تقسیم می‌کند و هسته‌های مختلف پخش می‌کند. به همین دلیل ترکیب OpenMP و MPI قدرتمند است. در روند پیکربندی کوانتوم اسپرسو، هر دو پارادیم را لحاظ کردیم.</p> <p>از کامپایر GFORTRAN نیز استفاده کردیم. و کتابخانه‌های FFTW، BLAS و LAPACK را نیز در پیکربندی وارد کردیم.<br> فکر می‌کنم همه چیز برای نصب کوانتوم اسپرسو آماده است، پس ویدئوی زیر خواهید دید که چگونه کوانتوم اسپرسو را نصب کنیم :</p> <div style="text-align: left;">sudo apt-get update<br> sudo apt-get install autotools<br> sudo apt-get install debhelper<br> sudo apt-get install gfortran<br> sudo apt-get install libblacs-mpi-dev<br> sudo apt-get install libblas-dev<br> sudo apt-get install libelpa-dev<br> sudo apt-get install libfftw3-dev<br> sudo apt-get install liblapack-dev<br> sudo apt-get install libscalapack-mpi-dev<br> sudo apt-get install mpi-default-dev<br> sudo apt-get install tcl<br> sudo apt-get install tcllib<br> sudo apt-get install quantum-espresso</div>

02- معرفی برنامه به Bash + اجرای موازی
ویدئو پیش نمایش

<h2>معرفی برنامه به Bash</h2> <p>Bashrc نام فایلی است که Bash اجباراً باید آنرا بخواند. پس اگر متغیر یا مسیری در آن تعریف کنیم، بلافاصله در پنجره‌ی خط فرمان Bash قابل اجراست.<br> وقتی برنامه‌ای مثل Quantum Espresso ( کوانتوم اسپرسو ) را نصب می‌کنیم، باید مسیر فایل‌های اجرایی مثل پکیج pw.x یا Plane-Wave را به Bash معرفی کنیم. در اینصورت این پکیج در هر دایرکتوری دلخواهی که یک Terminal باز کنیم، قابلیت فراخوانی دارد. اما در صورت عدم معرفی آن به Bash، در محیط ترمینال قابل شناسایی نیست و خطای Command not Found را دریافت خواهید کرد.<br> در این ویدئو نحوه‌ی دسترسی و ایجاد تغییر در فایل Bashrc را معرفی کردیم. علاوه بر معرفی کلیه‌ی پکیج‌های درون بسته‌ی محاسباتی کوانتوم اسپرسو ، برنامه‌ی PWGui را نیز به Bash معرفی کردیم.</p> <h2>PWGUI</h2> <p>این برنامه یک رابط گرافیکی است. که می‌تواند برای پکیج‌های مختلف کوانتوم اسپرسو، ورودی بسازد. ورودی‌ها البته به ۲ صورت ساخته می‌شوند:</p> <p>۱-خودتان آن‌ها را در یک فایل تکست بنویسید (روش خوبی است و به شما کنترل زیادی حول namelistها و متیرها می‌دهد، اما زمانبر است).<br> ۲-استفاده از رابط گرافیکی pwgui</p> <h2>چگونه در کوانتوم اسپرسو اجرای موازی بگذاریم  یا موازی سازی کنیم ؟</h2> <p>در جلسه‌ی نیز توضیحاتی اندک پیرامون نصب پارادایم‌های موازی‌سازی روی رایانه ارائه کردیم. MPI چیزی است که به تعداد از آن استفاده خواهیم کرد. اجرای موازی در کوانتوم اسپرسو به صورت زیر است.<br> ۶ روش برای اجراهای موازی وجود دارد (یا بعبارتی ۷ روش که یکی از آنها در حال توسعه است):<br> ۱- image parallelizaion<br> ۲- k-points parallelization<br> ۲-۵- Kohn-Sham state (در دست راه اندازی. نام دیگر آن band group است)<br> ۳- Plane Waves<br> ۴- Linear Algebra<br> ۵- Kohn-Sham states in FFT ( که به آن Task Group هم گفته می‌شود )<br> ۶- OpenMP.</p> <h4>دستورات متناظر با هر یک از Schemeهای فوق نیز به این صورت هستند:</h4> <p>۱- برای موازی‌سازی image: بعنوان مثال برای پکیج: neb.x<br> mpirun -np 64 neb.x -nimage 4 -inp input file<br> ۲-برای موازی‌سازی k-point: بعنوان نمونه برای پیکیج pw.x<br> mpirun -np 16 pw.x -npool 4 -inp input file<br> ۳- روش band Group:<br> mpirun -np 64 pw.x -npool 2 -bgrp 4 -inp input file<br> ۴- موازی سازی PW<br> mpirun -np 16 pw.x -npool 4 -inp input file<br> ۵- موازی سازی linear Algebra:<br> mpirun -np 64 pw.x -ndiag 25 -inp input file<br> ۶- موازی سازی task Group<br> mpirun -np 1024 pw.x -npool 4 -ntg 8 -ndiag 144<br> ۷- موازی سازی OpenMP</p> <h2>روش‌های فوق روی کدامیک از پکیج‌ها پیاده شده‌اند؟</h2> <p>NEB: با همه‌ی روش‌ها کار می‌کند.<br> پکیج خودسازگار pw.x<br> k-points, plane-waves, tasks, linearalgebra, OpenMP, bands<br> پکیج cp.x:<br> plane-waves, tasks, linear-algebra, OpenMP, bands<br> پکیج ph.x:<br> images, k-points, plane-waves<br> مابقی پکیج‌ها:<br> k-points, plane-waves<br> اگر از توضیحات بالا سر در نیاوردید ایرادی ندارد، بهتر است ابتدا ویدئو را ببینید.<br> </p>

03- نظریه تابعی چگالی + رهیافت امواج تخت با استفاده از شبه پتانسیل ها + نقطه‌های شبکه‌ی وارون
ویدئو پیش نمایش

<h2>نظریه تابعی چگالی، رهیافت امواج تخت با استفاده از شبه پتانسیل ها و نقطه‌های شبکه‌ی وارون</h2> <p>فیزیک ماده چگال عمیق‌ترین و پیچیده‌ترین بخش دنیای طبیعی اطراف ماست. توصیف دنیایی مملو از ذرات کوانتومی که در آرایه‌های دارای نظم یا شبه‌نظم قرار گرفته‌اند، بر عهده‌ی این بخش است.<br> در ابتدای آموزش این جلسه، مقدمه‌ای کاربردی بر آثار ارائه شده در این زمینه داشتیم. درباره‌ی نظریه‌ جنبشی گازها و مکانیک آماری کلاسیک و عدم توانایی آن‌ها در توجیه ویژگی‌های عجیب ساده‌ترین گازها صحبت شد. در ادامه به مکانیک آماری کوانتومی و پیروزی آن در توصیف گازهای ایده‌آل فرمیونی و بوزونی پرداخته شد.<br> نظریه تابعی چگالی جز ارکان اصلی فیزیک حالت جامد است. این نظریه قدرت بسیار زیادی در ساده‌سازی و قابل محاسبه‌کردن معادله‌ی بس‌ذره‌ای یک بلور دارد. بر اساس این نظریه می‌توان یک سامانه‌ی برهمکنشی از ذرات را به یک سامانه‌ی غیر از ذرات نگاشت داد. که کل این نظریه مبتنی بر دو قضیه‌ی معروف هوهنبرگ و کان است.<br> کان و شم نیز دو دانشمندی بودند که ایده‌ی قضایای هوهنبرگ-کان را به بار نشاندند و مسیری عملی برای پیاده‌سازی آن ارائه دادند. در حال حاضر بن مایه‌ی بیشتر کدهای کوانتومی همین است.<br> کد محاسباتی کوانتوم اسپرسو ، نیز از نظریه تابعی چگالی ( Density Functional Theory ) پیروی می‌کند. مبتنی بر شبه پتاسیل هاست و توابع موج بلاخ را بر اساس امواج تخت بسط می‌دهد.<br> به صورت کلی سه دسته تابع پایه برای توصیف اوربیتال‌های مختلف استفاده می‌شود که امواج تخت جز دسته‌ی غیرجایگزیده (رهیافت موجود در کوانتوم اسپرسو ) است. دسته‌ای دیگری از توابع پایه روی یک اتم و یا اوربیتال خاص با بسط تنها چند جمله قله‌ی دقیقی می‌دهند.<br> دسته‌ی غیرجایگزیده برای توصیف الکترون‌های والانس مناسب بوده و دسته‌ی جایگزیده مثل توابع موج اتمی خطی (LCAO) برای الکترون‌های مغزه مناسب است.<br> برای حل مشکل عدم توانایی توابع موج تخت در توصیف الکترون‌های مغزه از شبه پتانسیل ها استفاده می‌شود.<br> در نهایت بحث کوتاه و بسیار مفیدی در ارتباط با فضای وارون ارائه شد. این بحث از آن جهت مهم است که دارای تکنیک‌های محاسباتی مهمی است که در خلال آموزش بکار خواهد آمد.<br> ویدئوی آموزشی را ببینید.</p>

04- شبه پتانسیل‌ها (PseudoPotential) در Quantum Espresso
ویدئو خصوصی

<h2>شبه پتانسیل ها (PseudoPotential) در Quantum Espresso</h2> <p>شما می‌توانید شبه پتانسیل ها را از آدرس <a href="http://www.quantum-espresso.org/pseudopotentials/">http://www.quantum-espresso.org/pseudopotentials </a>دریافت کنید. فهم شبه پتانسیل ها ( pseudopotential ) شما را در جایگاه بالاتری نسبت به دیگران در درک عمیق درباره‌ی علم کوانتومی مواد قرار می‌دهد. شاید اگر 100 ها کتاب کوانتوم درباره‌ی مواد را بخوانید، آنقدر که تولید شبه پتانسیل ها به شما می‌آموزد، یاد نگیرید. بعلاوه یادگیری شبه پتانسیل ها در کوانتوم اسپرسو ( Quantum Espresso ) ضروری است. چون بسیاری از شبه پتانسیلها قابل اعتماد نیستند. چه بهتر که خودتان با تولید آن، نیازهای خاص را برآورده کنید.</p> <p>چون هر شبه پتانسیلی را با اندکی تغییرات میتوانید برای کاربرد خودتان بهینه کنید.</p> <h2>شبه پتانسیل ها در کوانتوم اسپرسو ( quantum espresso ) و ارتباط با آن توابع موج تخت</h2> <p>در این آموزش البته موارد مقدماتی شبه پتانسیلها را خواهید آموخت. اما در ادامه با ارائه‌ی یک جلسه‌ی ویدئویی مختصر، پکیجی به نام Atomic را معرفی خواهیم کرد که با آن اقدام به تولید شبه پتانسیلها میکنیم.</p> <p>شبه پتانسیلها با هدف کاهش حجم محاسباتی ایجاد می‌شوند. چون اوربیتالهای نزدیک به هسته چه ناشی از الکترونهای مغزه و چه ناشی از الکترونهای والانس، دارای نوسانات و قله‌های تیزی هستند. با نرم کردن یا هموار کردن توابع در این ناحیه‌ی مغزه ، میتوان تعداد امواج تخت توصیف کننده‌ی ناحیه‌ی مغزه را کاملا از محاسبات خارج کند.</p> <h2>روش‌های مختلف شبه پتانسیل ها ( Atomic for pseudopotential )</h2> <p>شبه پتانسیلها را باید با یک تابعی مخشص و معلوم از همان ایتدا آغاز کنید و دیگر تغییرش ندهید. مثلاً اگر GGA یا Meta-GGA است، همان را باید تا انتها پیش ببرید. هموار ساختن توابع موج روش‌های متفاوتی دارد که نقشه‌اش را در زیر قرار خواهیم داد. یکی از تازه‌ترین روش‌ها Troullier and Martins است که با شیوه‌ی Norm Conserving کار می‌کند. یکی از دیگر از همین روش‌ها RRKJ است. پکیج Atomic نیز این دو روش استفاده می‌کند که در جای خودش به آن خواهیم پرداخت.</p>

05- ساختار یک فایل ورودی + معرفی Nameliast ها، Input_card ها و متغیرهای وابسته (I)
ویدئو خصوصی

<h2>ساختن فایل ورودی برای کوانتوم اسپرسو | Quantum espresso input pw</h2> <p>ساختن فایل ورودی برای کوانتوم اسپرسو برای ترکیبهای مختلف ( Quantum espresso input pw )، به 2 شیوه انجام می‌شود. بهترین شیوه‌ی آن نوشتن دستی آن در یک فایل است. هر فایل ورودی دارای یک ساختار است:</p> <ul> <li>Nameliast ها</li> <li>Input_card ها</li> </ul> <p>Namelist ها دارای 5 انتخاب هستند:</p> <p style="text-align: left;">CONTROL& SYSTEM&</p> <p style="text-align: left;">ELECTRON&</p> <p style="text-align: left;">IONS&<br /> CELL&</p> <p>سه مورد ابتدایی در اجراهای خودسازگار مبتنی بر سامانه های الکترونی نقشی محوری دارند. دو مورد آخر را بیشتر در اجراهای relax و md ظاهر می‌شوند. کنترل دارای متغیرهای زیر است:</p> <p style="text-align: left;">calculation | title | verbosity | restart_mode | wf_collect | nstep | iprint | tstress | tprnfor | dt | outdir | wfcdir | prefix | lkpoint_dir | max_seconds | etot_conv_thr | forc_conv_thr | disk_io | pseudo_dir | tefield | dipfield | lelfield | nberrycyc | lorbm | lberry | gdir | nppstr | lfcpopt | monopole</p> <p>متغیری همچون calculation را در نظر بگیرید. این متغیر نوع اجرای کوانتومی شما را مشخص می‌کند و می‌تواند دارای مقادیر زیر باشد:</p> <p style="text-align: left;">'scf'<br /> 'nscf'<br /> 'bands'<br /> 'relax'<br /> 'md'<br /> 'vc-relax'<br /> 'vc-md'</p> موارد استفاده از هر کدام، در جلسات مخصوص به خودش ارائه می‌شود. اما به عنوان نمونه string همچون scf نشانگر محاسبات خودسازگار است.<br /> SYSTEM& دارای متغیرهای زیر است :<br /> <p style="text-align: left;">ibrav | celldm | A | B | C | cosAB | cosAC | cosBC | nat | ntyp | nbnd | tot_charge | tot_magnetization | starting_magnetization | ecutwfc | ecutrho | ecutfock | nr1 | nr2 | nr3 | nr1s | nr2s | nr3s | nosym | nosym_evc | noinv | no_t_rev | force_symmorphic | use_all_frac | occupations | one_atom_occupations | starting_spin_angle | degauss | smearing | nspin | noncolin | ecfixed | qcutz | q2sigma | input_dft | exx_fraction | screening_parameter | exxdiv_treatment | x_gamma_extrapolation | ecutvcut | nqx1 | nqx2 | nqx3 | lda_plus_u | lda_plus_u_kind | Hubbard_U | Hubbard_J0 | Hubbard_alpha | Hubbard_beta | Hubbard_J(i,ityp) | starting_ns_eigenvalue(m,ispin,I) | U_projection_type | edir | emaxpos | eopreg | eamp | angle1 | angle2 | constrained_magnetization | fixed_magnetization | lambda | report | lspinorb | assume_isolated | esm_bc | esm_w | esm_efield | esm_nfit | fcp_mu | vdw_corr | london | london_s6 | london_c6 | london_rvdw | london_rcut | ts_vdw_econv_thr | ts_vdw_isolated | xdm | xdm_a1 | xdm_a2 | space_group | uniqueb | origin_choice | rhombohedral | zmon | realxz | block | block_1 | block_2 | block_height</p> که بیشترین متغیرهای ممکن را نیز دارد. برخی از این متغیرها در طول کل پروسه آموزش بکار گرفته می‌شوند. اما در هر حال استفاده از همه‌ی آن‌ها به منظور مشاهده‌ی عملکرد آن‌ها مقدور نیست. جهت آشنایی بیشتر متغیری همچون ibrave نوع شبکه‌ی براوه را تعیین می‌کند. و پشت سر آن باید ثابت‌های شبکه وارد در قالب دو عبارت:<br /> <p style="text-align: left;">| A | B | C | cosAB | cosAC | cosBC</p> یا <p style="text-align: left;">(celldm(i</p> <p>شکل ساختاری ترکیب را مشخص می‌کنند. بعلاوه متغیری همچون ecutwfc را در نظر بگیرید. این همان متغیری که قطع انرژی جنبشی بسط G-برداری توابع موج بر اساس موج های تخت را مشخص میکند.<br /> در ELECTRON</p> <p style="text-align: left;">electron_maxstep | scf_must_converge | conv_thr | adaptive_thr | conv_thr_init | conv_thr_multi | mixing_mode | mixing_beta | mixing_ndim | mixing_fixed_ns | diagonalization | ortho_para | diago_thr_init | diago_cg_maxiter | diago_david_ndim | diago_full_acc | efield | efield_cart | efield_phase | startingpot | startingwfc | tqr</p> <p>در کنار NameList ها، عناصری دیگری بنام Input_cards ها وجود دارند که میتوانید مشخصات مکانی یا تعداد نقاط شبکه‌ی وارون را با آن مشخص کنید.<br /> نمونه بخش ورودی با input_cards به صورت زیر است که در ویدئو قسمت دوم توضیح داده میشود :</p> <p style="text-align: left;">ATOMIC_SPECIES<br /> X Mass_X PseudoPot_X<br /> Y Mass_Y PseudoPot_Y<br /> Z Mass_Z PseudoPot_Z</p> <p style="text-align: left;">ATOMIC_POSITIONS { alat | bohr | crystal | angstrom | crystal_sg }<br /> X 0.0 0.0 0.0 {if_pos(1) if_pos(2) if_pos(3)}<br /> Y 0.5 0.0 0.0<br /> Z O.0 0.2 0.2</p> <p style="text-align: left;">K_POINTS { tpiba | automatic | crystal | gamma | tpiba_b | crystal_b | tpiba_c | crystal_c }<br /> if (gamma)<br /> nothing to read<br /> if (automatic)<br /> nk1, nk2, nk3, k1, k2, k3<br /> if (not automatic)<br /> nks<br /> xk_x, xk_y, xk_z, wk</p> <p style="text-align: left;">[ CELL_PARAMETERS { alat | bohr | angstrom }<br /> v1(1) v1(2) v1(3)<br /> v2(1) v2(2) v2(3)<br /> v3(1) v3(2) v3(3) ]</p> <p style="text-align: left;">[ OCCUPATIONS<br /> f_inp1(1) f_inp1(2) f_inp1(3) ... f_inp1(10)<br /> f_inp1(11) f_inp1(12) ... f_inp1(nbnd)<br /> [ f_inp2(1) f_inp2(2) f_inp2(3) ... f_inp2(10)<br /> f_inp2(11) f_inp2(12) ... f_inp2(nbnd) ] ]</p> <p style="text-align: left;">[ CONSTRAINTS<br /> nconstr { constr_tol }<br /> constr_type(.) constr(1,.) constr(2,.) [ constr(3,.) constr(4,.) ] { constr_target(.) } ]</p> <p style="text-align: left;">[ ATOMIC_FORCES<br /> label_1 Fx(1) Fy(1) Fz(1)<br /> .....<br /> label_n Fx(n) Fy(n) Fz(n) ]</p> <h2>Quantum Espresso Input PW</h2> <p>در این سری ویدئوها قصد داریم نحوه ساختن فایل ورودی برای کوانتوم اسپرسو ( Quantum espresso input pw ) را تشریح کنیم. بعلاوه در جلسات بعدی برای اینکه مشکل دستی ساختن فایل ورودی برای کوانتوم اسپرسو را نداشته باشیم، میتوان با نوشتن یک برنامه ساده تحت bash این وظیفه را ساده کرد. با اینحال هنوز استفاده از روش گرافیکی با برنامه Pwgui که بسیار هم ساده است وجود دارد. ولی طبق روحیات دانشجویان محاسباتی همه دوست دارند با یک برنامه ساده متنی ساختن فایل ورودی برای کوانتوم اسپرسو را تسهیل بخشند. که این موضوع در جلسات بعدی ارائه میشود.</p>

06- ساختار یک فایل ورودی برای کوانتوم اسپرسو + معرفی Nameliast ها، Input_card ها و متغیرهای وابسته (II)
ویدئو خصوصی

<h2>ساختار فایل ورودی برای کوانتوم اسپرسو ( Quantum Espresso )</h2> <p>در جلسه‌ی پیش، درباره‌ی Namelist ها و متغیرهای آن‌ها و به ساختار کلی فایل ورودی برای کوانتوم اسپرسو یک دید کلی پیدا کردیم. به فراخور زمان و کاربرد، متغیرهای اصلی را بیان کردیم. اما هر فایل ورودی بخش دومی هم داشت که به نام Input_card ها خوانده میشد.</p> <p>input_card های که به اجراهای scf یا خودسازگار مربوط میشود، ۴ مورد هستند. که سه مورد آنها از بقیه مهمترند:</p> <ul> <li>ATOMIC_SPECIES</li> <li>ATOMIC_POSITIONS</li> <li>K_POINTS</li> <li>CELL_PARAMETERS</li> </ul> <p>مورد اول به گونه‌های اتمی می‌پردازد. مورد دوم به جایگاه تک تک اتم‌ها در یاخته. مورد سوم به تعداد و نوع اختصاص نقاط شبکه‌ی وارون به منطقه‌ی اول بریلوئن می‌پردازد. مورد آخر،‌ در صورتی کاربرد دارد که متغیر ibrave == 0 باشد و خودتان بخواهید برای ماده شبکه‌ی براوه و بردارهای بسیط یاخته تعریف کنید.<br> با این مقدمه کاربردی پیش رفته‌ایم تا با نام متغیرها و card ها و کم و کیف آن‌ها شوید.<br> در تعریف شبکه‌ی براوه برخی اوقات به مشکل خواهید خورد. به همین دلیل سعی می‌کنیم در جلسات بعدی راه و روش‌ها و تکنیک‌هایی برای تسهیل ساخت و مشاهده‌ی عینی ساختارها ارائه دهیم تا از درست ساختن آن‌ها مطمئن شوید.<br> چون هنوز با نوشتن دستی ورودی آشنایی ندارید، در ابتدا با pwgui اینکار را انجام میدهیم ولی در ادامه یک محیط متنی را با هم گسترش میدهیم تا همه چیز در ترمینال اتوماسیون شود. خصوصاً اینکار را برای بهینه‌سازی انرژی جنبشی قطع یا همان Gmax (ecutwfc)- Ecutrho و در نهایت K_POINTS ها انجام می‌دهیم تا در مقدار زیادی از انرژی و زمان شما صرفه جویی شود. بعلاوه طعم اسکریپ نویسی Bash را خواهید چشید. این موضوع بشدت در پیشرفت شما از نظر محاسباتی یاری‌رسان خواهد بود.<br> در ادامه با برنامه‌ی pwgui و داشتن ثابت شبکه و ساختار فضایی ترکیب دوتایی NaF اقدام به ساخت فایل ورودی میکنیم. خواهید دید که چقدر ساختن یک ورودی ساده و دلچسب است ( به شرطی که آموزش‌ها را مرتب و با تمرکز دنبال کرده باشید ).</p>

07- ثابت شبکه‌ی بهینه و نوشتن برنامه‌ی پایتون برای محاسبه‌ی آن
ویدئو خصوصی

<h2>ثابت شبکه بهینه یا ثابت شبکه تعادلی محاسباتی به چه معناست؟</h2> <p>فرض کنید ماده‌ای دارید که می‌توانید به صورت تجربی ثابت شبکه‌ی آن را به طور دقیق محاسبه کنید. این ثابت شبکه را در چه دمایی، چه فشاری و چه حجمی بدست می‌آورید؟</p> <p>اگر در دمای اتاق آن را محاسبه می‌کنید، بدین معناست که بلور در حالت برانگیخته است. این برانگیختگی حالت های الکترونی، بیشتر منشا دما دارد. پس برهمکنش هایی نظیر الکترون - فونون را هم باید در نظر گرفت. بعلاوه این برانگیختگی گرمایی باعث تغییر مقدار ثابت شبکه از حالت معادل با حالت زمینه‌ی آن می‌شود.</p> <h5>DFT فرمالیسمی است که حالت زمینه‌ی سیستم را محاسبه می‌کند. حتی تقریب بورن-اپنهایمر حرکت هسته‌های چنان آرام و آهسته در نظر میگیرد که الکترونها آن را فریز شده میبینند.</h5> <p>چون همه‌ی محاسبات در دمای صفر انجام میشود و مشارکت گرمایی را دخیل نمی‌کند.</p> <p>ثابت شبکه در چنین شرایطی انرژی بلور را کمینه می‌کند. یعنی در شرایط دمای صفر و حالت زمینه‌ی سیستم (Ground State).</p> <p>ثابت های شبکه تجربی عموماً در دمای اتاق محاسبه میشوند. برای خارج کردن آثار برانگیختگی ( Excited state ) میتوان با رهیافت DFT انرژی بلور را نسبت به تغییرات ثابت شبکه کمینه کرد.</p> <h2>نوشتن کدی با برنامه نوسی پوسته لینوکس ( Bash Scripting ) که ثابت شبکه بهینه یا ثابت شبکه تعادلی محاسباتی را پیدا کند.</h2> <h4>هدف کد چیست؟</h4> <p>هدف محاسبه ثابت شبکه بهینه یا ثابت شبکه تعادلی محاسباتی برای یک دسته شبه پتانسیل و ترکیبی خاص است.</p> <h4>چرا بهتر است از چنین کدهایی استفاده کنید؟</h4> <p>ممکن است به ازای 20 ثابت شبکه، مجبور به ساختن 20 فایل ورودی و تفکیک فولدرهای مختلف به ازای هر ثابت شبکه شوید. برای اجتناب از چنین کاری میتوانید همه‌ی اجراها و انرژی متناظر با هر ثابت شبکه‌ای را تنها در یک فایل داشته باشید.</p> <p>بعلاوه ممکن است، به ازای هر ثابت شبکه، اجرای شما، ۳ ساعت طول بکشد. . اگر به ازای 20 ثابت شبکه آنرا بخواهید، بهتر است از چنین کدی استفاده کنید تا در وقتتان صرفه جویی شود. در ضمن به راحتی می‌توانید ثابت شبکه بهینه یا ثابت شبکه تعادلی را بدست آورید.</p> <p>خروجی این کد را به راحتی می توانید با GnuPlot رسم کنید.</p> <p>در کد زیر که با زبان پایتون نوشته شده شما نیاز به نصب کتابخانه ase  دارید که میتوانید با نصب کننده conda  آن را از مخزن anaconda دریافت کنید. سپس کد زیر را به .bashrc  بیافزایید:</p> <p>export ASE_ESPRESSO_COMMAND="pw.x -in PREFIX.pwi > PREFIX.pwo"<br /> export ESPRESSO_PSEUDO="$HOME/espresso/pseudo"</p> <p>و شبه پتانسیل های نوشته شده در کد زیر را دانلود و در مسیر path_to_home‌/espresso/pseudo قرار دهید.<br /> و سپس «ثابت شبکه بهینه کد» آورده شده در «پیوست» را با پایتون اجرا کنید.</p> <pre style='direction: ltr; text-align: left'> from ase.build import bulk from ase.calculators.espresso import Espresso pseudopotentials = {'Na': 'Na.pbesol-spnl-rrkjus_psl.1.0.0.UPF', 'Cl': 'Cl.pbesol-n-rrkjus_psl.1.0.0.UPF'} lat_params = [5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6., 6.1,] energies = [] for i in lat_params: rocksalt = bulk('NaCl', crystalstructure='rocksalt', a=i) input_data = { 'control':{ 'outdir':'lat_%s'%i, 'disk_io': 'low',}, 'system': { 'ecutwfc': 64, 'ecutrho': 576}, } calc = Espresso(pseudopotentials=pseudopotentials, tstress=False, tprnfor=False, kpts=(5, 5, 5), input_data = input_data) rocksalt.calc = calc energies.append(rocksalt.get_potential_energy()) import matplotlib.pyplot as plt plt.plot(lat_params, energies) plt.ylabel('Energy(eV)') plt.xlabel('a(angstrom)') plt.savefig('lat_e.png') </pre>

08- بهینه کردن پارامترهای محاسباتی انرژی قطع توابع موج ecutwfc و تعداد نقاط منطقه اول بریلوئن kpoint
ویدئو خصوصی

<h2>بهینه سازی نقاط منطقه اول بریلوئن kpoint و انرژی قطع توابع موج ecutwfc</h2> <p>در جلسه پیش پارامتر شبکه یا ثابت شبکه را بهینه کردیم. در بهینه سازی پارامتر شبکه باید به این نکته توجه کرد که تعداد نقاط منطقه اول بریلوئن kpoint ها و انرژی قطع توابع موج ecutwfc را باید دست بالا بگیرید که محاسبات دقیق باشد. از شبه سهمی بدست آمده کمینه ثابت شبکه را به عنوان ثابت شبکه بهینه انتخاب میکردیم.</p> <p>در این جلسه هم قصد داریم به صورت مشابه با نوشتن یک کد بسیار ساده تعداد نقاط کاهش ناپذیر منطقه اول بریلوئن kpoint و انرژی قطع توابع موج ecutwfc را بهینه کنیم. ساختار کلی کد را در ویدئویی که آماده کردیم، برای شما توضیح دادیم.</p> <p>کدهایی که در اینجا ارائه میدهیم صرفاً مناسب مقاصد آموزشی است. البته میتوانید از آنها برای بهینه سازی پارامترهای محاسباتی پروژه خودتان با کوانتوم اسپرسو نیز استفاده کنید.</p> <h2>بهینه سازی نقاط منطقه اول بریلوئن kpoint</h2> <p>kpoint ها از این جهت مهم هستند که بیشتر انتگرال گیری ها روی منظقه اول بریلوئن انجام میشود. هرچه این میزان بزرگتر باشد، انتگرال گیری دقیقتر است. به همین دلیل نیز بهینه سازی kpoint ها از اهمیت برخوردار است. چون اگر نتوان کمیت ها را دقیق محاسبه کرد، نفس محاسبات زیر سوال میرود.</p> <h2>بهینه سازی انرژی قطع توابع موج ecutwfc</h2> <p>انرژی قطع توابع موج ecutwfc نیز کمیتی است که در جلسه ای با عنوان شبه پتانسیلها مفصل درباره آن بحث کردیم. هر چه این مقدار بیشتر باشد، معادل با اینست که مش بندی در فضای واقعی چگال تر است. در نتیجه هر چه چگالی بیشتر باشد، فضای کمتری را از دست میدهیم.</p> <p>درست است که هرچه این متغیرها بزرگتر باشند، محاسبات به واقعیت نزدیکتر میشود، اما زمان محاسبات نیز برای افراد محاسباتی کار فاکتور بسیار با ارزشی است. اگر بتوان با گسسته سازی فضا و گزینش بهینه ترین تعداد نقاط یا کمیت های مربوطه، محاسبات را بادقت خوبی اجرا کرد، پس بهتر است چنین کاری را انجام دهیم. هم در زمان صرفه جویی میشود و هم در دقت.</p> <p>در نتیجه تعداد kpoint ها از این جهت باید بهینه شود که بیشتر انتگرال گیری ها به منظور محاسبه کمیت های فیزیکی باید روی منطقه اول بریلوئن انجام شود. در مورد انرژی قطع توابع موج ecutwfc نیز در جلسات پیش و خصوصاً در جلسه " شبه پتانسیل ها ( PseudoPotentials )" مفصل صحبت کردیم.</p> <p>اگر انرژی قطع یا به عبارتی Gmax را کم اختیار کنیم، معادل با اینست که مش بندی در فضای واقعی را با فواصل بزرگ انتخاب کرده ایم. مطمئنا در چنین شرایطی فضای بزرگی از ماده را از دست میدهیم. و تقریب، تقریب ضعیفی خواهد بود.</p> <p>در این ویدئو با نوشتن یک کد ساده تحت bash ، این دو پارامتر محاسباتی را بهینه کرده ایم. تمام این کارها را میشد، بدون نوشتن کد نیز انجام داد. اما باید به ازای هر kpoint و هر ecutwfc یک پوشه جداگانه را به صورت دستی ایجاد کنید و هر بار یکی از آنها را اجرا کنید.</p> <p>اما ما در این ویدئو همه چیز را ساده کرده ایم و تنها با اجرای این کد و دادن اطلاعات کافی به کد، میتوانید با فشردن یک کلید enter آنها را بهینه کنید.</p> <h2>موارد کاربرد کد</h2> <p>کدی که نوشته شده میتواند برای همه مواد کاربرد داشته باشد، به شرطی که عدد شبکه براوه آن غیر صفر باشد. البته اگر بتوان کد هوشمندانه ای هم در ارتباط با تشخیص گروه های فضایی به صورت خودکار نوشت، این معضل کوانتوم اسپرسو هم برطرف خواهد شد.</p> <p>البته ما در ادامه آموزشها، تکنیکهایی برای ساختن هر نوع ماده ای، اعم از نانولایه، نانوتیوب، آلیاژ و غیره و ذالک را نیز به شما خواهیم آموخت.</p> <p>سعی کنید تغییرات مثبتی در آن ایجاد کنید که کارتان را آسانتر کند.</p> <p>کد را می‌توانید از «پیوست/conveg_kpoint_ecutwfc.sh» دریافت کنید.</p>

09- اجرای کوانتومی روی فلزات در چارچوب DFT
ویدئو خصوصی

<h2>سطح فرمی و تفاوت فلز ها، عایق ها و نیم رساناها</h2> <p>در صورت تقاطع تراز فرمی با نوار رسانش، سطحی به نام سطح فرمی ، بوجود می آید. این مواد به فلز مشهورند و بخش اعظمی از عناصر موجود در طبیعت را به خود اختصاص میدهند. در صورتی که تراز فرمی بین باند رسانش و والانس قرار گیرد، در صورت نزدیکی به نوار والانس نارسانا و در صورت نزدیکی به نوار رسانش، نیم رسانا خوانده میشود.</p> <p>تعارف متفاوتی از اینها وجود دارد. بعلاوه انواع دیگری با نام نیم فلزها و ... نیز دارای خواص جالبی هستند. در هر صورت، تقاطع تراز فرمی با نوارهای انرژی، منجر به ویژگیهای جالبی میشود که البته منجر به بحران در اجراهای کوانتومی میشود. محاسبه ی دقیق لبه ها، به بینهایت نقطه نیاز دارد. ذات پله ای تابع عدد اشغال، در عدم حضور پارامترهای دمایی، منجر به گسستگی در انتگرال گیری های منطقه اول بریلوئن میشود.</p> <h2>چرا انتگرال گیری در منطقه اول بریلوئن باید گسسته و عددی حساب شود؟</h2> <p>ذات دنیای دیجیتال چنین است. بعلاوه کمیتهای فیزیکی دارای توابعی هستند که به صورت تحلیلی و سرراست قابل محاسبه نیستند. چون انتگرالده شکل تحلیلی قابل لمسی ندارد. کمک گرفتن از ابزارهای فیزیک محاسباتی در چنین مواردی بسیار راهگشاست. همه کدهای کوانتومی از محاسبات عددی استفاده میکنند. انتگرال گیری ها در چارچوب DFT، روی کل منطقه اول بریلوئن و ترازهای پرشده انجام میشوند. این انتگرال گیریها در 3 بعد انجام میشوند که میتوانید، مثالهای یک بعدی آن را در ویدئو ببینید. مثل انتگرال گیری ذوزنقه و لژاندر.</p> <p>فلز ها در گذار از تراز فرمی دچار گسستگی در عدد اشغال ( occupation ) میشوند. در این صورت گسسته سازی به بینهایت نقطه بریلوئن نیاز دارد. برای حل آن از 2 تکنیک tetrahedron و smearing استفاده میشود. پیشفرض کوانتوم اسپرسو، smearing است. به این صورت کار میکند که سامانه را آغشته به اغتشاشات دمایی میکند. هرچه مقدار پارامتر وابسته به دما افزایش یابد، این تابع هموارتر است. مدلهای مختلف smearing در ویدئو امده است.</p>

10- بهینه سازی پارامترهای محاسباتی و رسم ساختار نواری برای بلور مرکز سطحی مس : بهینه سازی ecutwfc
ویدئو پیش نمایش

<p>در این آموزش با نوشتن یک کد بسیار ساده تحت bash که شما باید با یک ویرایشگر مثل nano مسیر شبه پتانسیل ها را به آن بدهید، میتوانید مقدار بهینه ecutwfc را بدست آورید.</p> <p>کد را از »پیوست/conveg_ecutwfc-metals.sh« اینجا دریافت کنید:<br /> این کد را باز کنید و به دنبال</p> <pre dir="ltr">count=0 while [ $count -lt ${#UPF_File_list[*]} ]; do cp ../pseudopotentials/${UPF_File_list[$count]} ./ecut_opt let count=count+1 done</pre> <p>کافیست به جای <span dir="ltr">../pseudopotentials</span> مسیر شبه پتانسیلهای خودتان را وارد کنید. در نهایت کد به شما یک فایل خروجی خواهد داد. این فایل یک متن دو ستونی از اعداد است. ستون اول متعلق به ecutwfc و ستون دوم متعلق به انرژی بلور است. با رسم داده های این فایل میتوانید، مقدار ecutwfc را بهینه کنید.</p> <h2>اما چرا ابتدا ecutwfc را بهینه کردیم؟</h2> <p>با توجه به تفاوت بین مواد رسانا و عایق ، مواد رسانا دارای دست کم 4 پارامتر مهم محاسباتی به نامهای ecutwfc ، kpoint ، degauss و در نهایت ثابت شبکه هستند که باید بهینه شوند. برای عایقها تنها بهینه سازی 3 مورد کافی بود. یعنی مشکل تقاطع تراز فرمی با نوارهای انرژی وجود نداشت.</p> <h3>نکاتی درباره ساختن بلور FCC مس:</h3> <p>برای ایجاد یک شبکه بلوری به دو المان نیاز هست : شبکه + پایه</p> <p>با مشخص کردن جایگاه اتم میتوانید آن را در امتداد cell parameters یا بردارهای یاخته در جاهای مختلف کپی کنید:</p> <p>با مشاهده شکل «پیوست/cell parameter» به همه چیز پی می برید.</p>

11- بهینه سازی kpoint , ecutwfc , degauss و رسم ساختار نواری برای بلور مرکز سطحی مس
ویدئو خصوصی

<p>پیش از آنکه یک اجرای جدی کوانتومی بگذارید، نخست باید از دقت اعدادی که گزارش میدهید مطمئن شوید. میتوان پارامترها را چنان بزرگ گرفت (مثل kpoint, ecutwfc) یا برعکس چنان کوچک گرفت ( degauss ) که دیگر جای تردیدی باقی نماند.</p> <p>اما همیشه مشکل روی تخصیص منابع است. زمان و هزینه. دو فاکتوری مهمی هستند که محاسباتی کارها همیشه باید مدنظر بگیرند.<br> در چندین جلسه‌ی پیشین به‌طور مفصل، جزییات را بیان و پارامترها را بر اساس انرژی بهینه کردیم. بعلاوه آستانه دقت محاسبات در انرژی را میتوانید با دقت بهینه‌سازی، سازگار کنید و این دوباره به معنای کاهش حجم محاسباتی است.<br> <p>دو مسیر مشابه برای بهینه سازی وجود داشت</p> <ul> <li>اگر میدانید چه تعداد و چه بازه‌ای از پارامترها را باید مشخص کنید، میتوانید تک تک پوشه‌ها و فایل‌های ورودی را خودتان بسازید.</li> <li>با نوشتن یک کد ساده برای مثال تحت Bash،‌ هم روی بازه‌ی ورودی پارامترهای محاسباتی قدرت مانور دارید و هم روی زمان. مزیت نوشتن کد که البته ما کدهای آماده را در اختیارتان گذاشته‌ایم، می‌توانید با فشردن یک کلید Enter همه‌ی اجراها را انجام دهید و از انعطاف آن لذت ببرید.</li> </ul> <p>به درخواست برخی دوستان از نو مقدار ecutwfc را به صورت دستی بجای استفاده از کد بهینه کردیم و سپس با ایجاد شبکه‌ای از kpoint و degauss این مقادیر وابسته را بهینه کردیم. البته شما نباید تنها به مشاهده‌ی بصری از نمودارهای بهینه سازی اکتفا کنید. باید وارسی روی تک تک انرژی‌ها را انجام دهید. برای مثال اگر threshold انرژی را روی ۱٫۰d-8 قرار میدهید، باید از آن سو انتظار دقتی از kpoint, ecutwfc و degauss معادل با همین مرتبه را مد نظر داشته باشید. البته در بیشتر مواقع به رقم سوم یا چهارم اعشار اکتفا می‌شود که عملی معقولانه است.</p> <p>از پیوست «کد بهینه‌سازی» و «شبه پتانسیل مس» دریافت شود.</p>

12- محاسبه ثابت شبکه بهینه برای بلور مس
ویدئو خصوصی

<p>هدف این جلسه بدست آوردن ثابت شبکه‌ی بهینه بر اساس پارامترهای محاسباتی پیشین است.</p> <ul> <li>ثابت شبکه ای با کمترین میزان انرژی یا a0 کمیتی بسیار مهم است که باید از داده‌های انرژی بر حسب حجم یا انرژی بر حسب ثابت شبکه ( در مورد بلورهای مکعبی ) استخراج شود. اما این که ما همیشه مینیمم انرژی مورد نظرمان است، چه دلیلی دارد؟؟؟ چرا همیشه در طبیعت به دنبال چیزی با کمینه ی انرژی میگردیم ( و به آن اصل کمینه ی انرژی میگوییم) ؟؟؟ مگر نه اینکه ممکن است دیگر کمیت‌های فیزیکی مثل انرژی های آزاد هم میتوانند در تعیین حالت زمینه تعادلی ، نقش بازی کنند؟ پس منظور از انرژی میتواند کمیتهای شیمی-فیزیکی جالبی باشد. دلیل استفاده از روش‌های وردشی نیز همین است که با کمینه سازی یکی از کمیت‌های ترمودینامیکی خاص مثل انرژی آزاد گیبس در شرایط ویژه، تعادل طبیعی را بیابیم. کمیتی که باید مینیمم شود انرژی آزاد گیبس غیرتعادلی است که در سامانه‌ی بلورینی که در قالب DFT بررسی میکنیم صادق است. این تحت شرایطی است که اثری از دما و فعالیت‌های فونونی الکترون ها و هسته ها نباشد. در این صورت فشار وارد به بلورهای مکعبی و غیر مکعبی را میتوان هیدرواستاتیک اعمال کرد و از فشارهای گرمایی دوری جست.<br> پس در این شرایط انرژی ایستا است و فرض اینکه ما انرژی یاخته بلوری ( که البته از آن با نام انرژی کل بلور هم یاد میکنیم ) را وردش و کمینه میکنیم فرض درستی است. البته در جلسات آینده حرف درباره ی ترمودینامیک و فونون ها زیاد است که مروری کامل بر آن‌ها خواهیم داشت و روش هایی مثل دینامیک مولکولی و فونون ها را هم بررسی خواهیم کرد. در واقع فیزیک جذاب و نزدیک به ذهن این حیطه از علم ، آن را بشدت در سطح جهانی مشهور و مورد توجه کرده است. حتی داستان وقتی جالبتر است که اختیار انرژی آزاد مغناطیس را هم به جملات انرژی آزاد گیبس اضافه کنیم.</li> <li>برخی از فازهای فضایی یک ماده بلوری مثل سیلیسیم را در نظر بگیرید. این بلور ساختارهای متفاوت FCC, BCC & diamond را دارد. اما کدامش و در چه شرایط ترمودینامیکی پایدار است و در کجاها گذار فاز ساختاری دارد؟<br> همین مثال سیلیسیم را در نظر بگیرید، اگر بخواهید انرژی بر حسب حجم آنها را در گروه های فضایی مختلف با هم قیاس کنید، باید از نظر scale حجم در یک ردیف باشند. مثلاً یک راهش اینست که ثابت شبکه را بر حسب حجم بر واحد اتم بیان کنید. مثلاً یک یاخته ( یا ابر یاخته‌ی) ساده‌ی مکعبی دارای حجم<br> Vsc=a3<br> است. حال این عدد را بر تعداد اتم‌های درون یاخته تقسیم کنید<br> Vatom=a3Nsc.<br> پس یک سوپرسل یا ابریاخته‌ی مکعبی ساده مثل BCC, FCC , Diamond دارای تعداد اتم‌های زیر درون یاخته‌ی قراردادی‌اش است:<br> برای مثال درون یاخته‌ی قراردادی BCC چند اتم وجود دارد؟ ۲ اتم.<br> یاخته‌ی fcc چهار اتم و یاخته‌ی الماسی ۸ اتم دارد. با این کار ثابت‌های شبکه را در scale یکسان و سازگاری برای مقایسه با هم انتخاب کرده‌اید. پس مجازید نمودارهای E-V این سه spaceGroup را با هم مقایسه کنید.<br> به صورت کلی برای هر کمیتی در فیزیک محاسباتی تنها باید یک متغیر وردش کند. شما نمی‌توانید دو اجرا با kpoint=12 , ecutwfc= 30Ry و kpoint=13 , ecutwfc= 40Ry برای یک ترکیب را از نظر انرژی مقایسه کنید. باید حداقل یکی از آنها یکسان باشد.<br> برای مثال در مورد فوق (سیلیسیم) spacegroup در حال تغییر بود.<br> پس رسم نمودارهای انرژی بر حسب حجم از این جهت به ما کمک شایانی در تعیین گذار فازها و حالت های تعادل بلوری میکند.<br> با استفاده از برازش‌های متفاوتی مثل خانواده‌ی Murnaghan ، Birch Murnaghan (مورناگان و بریچ مورناگان ) و … میتوانید بجای اینکه تعداد زیادی نقاط در scale محاسبات کوانتومی ایجاد کنید، از معادلات حالت تجربی استفاده کنید و ارتباط معادله‌ی حالتی برای کمیت انرژی ایجاد کنید.<br> برای تعیین ضرایبباید از رگرسیون استفاده کنید. رگرسیون بدین معناست که با متغیرهایی مستقل ( یک یا بیشتر ) ، متغیری وابسته را توصیف کرد (بعلاوه به این متغیرهای مستقل پیش بینی گر نیز گفته میشود). روش‌های رگرسیونی نیز بسیار است.<br> در واقع دو راه برای یافتن چنین ارتباطی بین متغیرهای مستقل و غیر مستقل هست:<br> خروجی دقیق محاسبات دینامیک مولکولی یا DFT – میکروسکوپیک<br> و برازش‌های تجربی مثل Murnaghan ، Birch Murnaghan (مورناگان و بریچ مورناگان ) که از دل خود ترمودینامیک بیرون آمده‌اند. یعنی حد ترمودینامیکی ( macroscopic ). منطقی است که مورد دوم ساده‌تر است. در این آموزش نیز چنین برازش‌هایی روی اندک‌ داده‌های انرژی بر حسب حجم ( E-V ) انجام شده‌اند.</li> </ul> <p>از پیوست دست‌نوشته «Conv_lat_metal.sh» دریافت شود.</p>

13- رسم ساختار نواری (Band Structure)
ویدئو خصوصی

<h2>خواندن متن این جلسه برای فهم بهتر ویدئو الزامی است</h2> <p>یکی از مهمترین ابزارهای فیزیک و در حقیقت نقطه قوت فیزیک کوانتوم که جهشی در علم مواد جامد ایجاد کرد، خلق ابزاری بنام ساختار نواری بود. در فیزیک حالت جامد، ساختار نواری الکترونی محدوه ای از انرژی را توصیف میکند که ممکن است الکترون دارای آن انرژی باشد (نوارهای انرژی یا انرژی های مجاز) و محدوده ای که الکترون نمیتواند دارای انرژی باشد ( گاف نواری یا انرژیهای ممنوعه ).</p><h2>اما سوال اصلی اینست که چنین ایده ای از کجا شروع شد؟</h2><p>از وقتی متوجه شدیم یک اتم منزوی و ایزوله دارای ترازهای انرژی گسسته‌ای است. برای مثال اتم هیدروژن را در نظر بگیرید: دارای بینهایت تراز انرژی است. اما چندتا از این ترازها دارای الکترون است؟؟؟<br />تنها یکی! الکترون یک فرمیون است و فرمیونها با آمار فرمی ترازهای انرژی را پر میکنند (برای نمونه قاعده هوند در پر شدن ترازها در درس شیمی را بیاد بیاورید). اگر دما صفر مطلق باشد: Ground state سامانه یا همان حالت زمینه سامانه با رعایت فرمیون بودن پر خواهد شد.</p><h3>اگر دو اتم هیدروژن را بهم نزدیک کنید، چه اتفاقی می افتد؟</h3><p>تشکیل یک مولکول دو اتمی را میدهد که دو اوربیتال مولکولی را ایجاد میکند. به یکی از این اوربیتالها، پیوندی و به دیگری پادپیوندی می‌گویند. اوربیتال پیوندی طبق اصل طرد پائولی میتواند پذیرای دو الکترون باشد که هر الکترون نیز از هیدروژن منزوی می‌آید. بعلاوه سطح انرژی اوربیتالها در ۳ پیکربندی مختلف دارای اندازه‌های متفاوت است:</p><p>۱- وقتی هر الکترون در اتم منزوی هیدروژن قرار دارد.<br />۲- وقتی الکترونها در اوربیتال پادپیوندی قرار دارند.<br />۳- وقتی الکترونها در اوربیتال پیوندی هستند.</p><h4>منطقی است که کمترین سطح انرژی مربوط به وقتی است که الکترون‌ها در اوربیتال پیوندی باشند، چون این اوربیتال حاصل از تداخل سازنده‌ی اوربیتال‌های الکترونی اتم‌های منزوی است.</h4><p>پس در مثال دو اتمی فوق دو تراز جدید از انرژی تشکیل شد که با همتای اتم منزوی‌اش متفاوت بود. یکی از اینها پر از الکترون‌ها ( <strong>bonding = پیوندی</strong> ) بود و دیگری خالی از الکترون‌ها ( <strong>Anti-Bonding = پادپیوندی</strong> ) بود. یعنی دقیقا مثل مورد یک اتم منزوی که دارای ترازهای گسسته‌ای از انرژی بود.</p><img src="//blob.maharatgostar.com/shop/original/10567_97095ba2.png" alt="bandstructure" width="440" height="201" /><p>حالا بیایید همین را به تعداد بسیار زیادی از اتم‌های هیدروژن تعمیم دهیم. اگر مثلا به تعداد عدد آووگادرو اتم هیدروژن در اختیار داشته باشیم، که در فاصله‌ی بینهایت از یکدیگر قرار دارند، وقتی این اتم‌ها را به هم نزدیک میکنیم به‌گونه‌ای که بین اوربیتالهای الکترونی اتم منزوی همپوشانی به وجود آید، اوربیتال‌های مولکولی جدیدی بوجود می‌آیند. اما دیگر محدود به دو اوربیتال پیوندی و پاد پیوندی نیستند. بلکه بینهایت جهت گیری و همپوشانی فازی مختلف بین اوبیتالهای اتم منزوی ایجاد خواهد شد. کم‌انرژی‌ترین اوربیتالی که به وجود می‌آید همان پیوندی است ولی تعداد زیادی اوربیتال دیگر بین پیوندی و پادپیوندی ایجاد می‌شود. اما به نظرتان چرا فقط همان دو اوربیتال ایجاد نشد؟؟<br />طبق <strong>اصل طرد پائولی</strong> در یک سامانه‌ی فرمیونی با 23^10 فرمیون، این تعداد فرمیون نمیتوانند در یک تراز انرژی با اعداد یکسان کوانتومی جای گیرند. این دلیل خوبی است که یک تراز انرژی در یک اتم منزوی، به تعداد زیادی تراز انرژی (در مورد بلوری از اتم‌های هیدروژن) با فاصله‌ی بسیار اندک شکافته می‌شود.<br />نوارهای انرژی این‌گونه ایجاد می‌شوند. نوارهای انرژی مجاز نوارهایی هستند که الکترون می‌تواند درون آنها بنشیند. در جاهایی هم هیچگونه نواری وجود ندارد، گاف داریم.</p><p>تعدادی از نوارهای انرژی پر شده هستند. اما این یک سقف دارد. از جایی به بعد الکترونی وجود ندارد که بخواهد stateها را پر کند. آنجا همان جایی است که معروف به <strong>انرژی فرمی</strong> است.</p><h5>انرژی فرمی در عایق ها کاملاً نوارهای پر و خالی را از هم جدا می کند. اما در فلزات با نوارهای باند رسانش تلاقی میکند.</h5><h6>یک مطلب هم در پرانتز: یک تفاوت بین انرژی فرمی و تراز فرمی وجود دارد. انرژی فرمی در فیزیک حالت جامد به دمای صفر اطلاق می‌شود ولی تراز فرمی در دمای متناهی نیز معتبر است که با آماری همچون توزیع فرمی-دیراک توصیف می‌شود.</h6><p>توصیفی که در بالا ظاهر شد، بواسطه‌ی اینکه انرژی بر حسب فاصله‌ی شبکه بود در فضای مستقیم ارائه شد. اما بلور یک ساختار دوره‌ای است. فضای وارونی نیز دارد که در آن فضا توصیف کمیت‌ها و حتی همین ساختار نواری شکل ساده‌تری برای توصیف دارد. گرفتن تبدیل فوریه در همه‌جای علوم مرسوم است و به ساده کردن فهم مطلب و حل راحت‌تر کمک می‌کند.<br />در فیزیک حالت جامد که شاخه‌ی کوچکی از علم ماده چگال است اما، رابطه انرژی بر حسب عدد موج که به رابطه پاشندگی انرژی معروف است می‌تواند ساختار نواری را به شکل آشناتری تبدیل کند.<br />تفسیرهای فوق‌العاده جالبی می‌توان از دل همین ساختار نواری بیرون کشید. برای مثال فرض کنید یک ماده عایق دارید.<br />در مواد عایق همیشه نوارهای باند والانس به صورت کامل پر هستند و در حقیقت الکترون‌های والانس مشخصاً باید تعداد زوجی باشند. درون هر نوار نیز طبق اصل طرد پائولی می‌تواند الکترونی با اسپین بالا و الکترونی با اسپین پایین یک نوار را در یک k اشغال کنند(غیرمغناطیسی). پس گویا هر نوار به ازای یک k باید متناظر با ۲ الکترون باشد. به همین دلیل برنامه کوانتوم اسپرسو تعداد نوارها را به صورت پیشفرض در مورد عایق‌ها برابر با نصف تعداد الکترون‌های والانس قرار می‌دهد (اما چرا تنها الکترون‌های والانس ؟؟؟ چون در هر یاخته یک شبه اتم قرار دارد و برنامه تنها الکترون‌های والانس که در پیوندهای شیمیایی شرکت می‌کنند را محاسبه می‌کند).</p><h4>پس بر این اساس درون یاخته‌ی یک ترکیب عایق تعداد الکترو‌ن‌ها زوج است. یعنی نوارها به صورت کامل پر شده هستند و با اعمال میدان خارجی هیچ شارش الکترونی به وجود نخواهد آمد.<br />اما اگر نوار نیمه پر باشد یعنی یاخته فرد تا الکترون دارد و رسانا است.</h4><p>حالتهای خاصی نیز در طبیعت یافت می‌شود که تعداد پر شدگی stateهای کان-شم (البته در فرمالیسم DFT) فردتاست، اما ماده کاملا عایق است. این موارد اکنون جز موضوعات داغ هستند. نمونه‌ی مشهور آن عایق مات است.<br />اما کوانتوم اسپرسو با نمونه‌های فلزی چگونه رفتار می‌کند؟ در نمونه‌های فلزی چون نمیدانیم چه تعداد از نوارهای رسانش در تقاطع با انرژی فرمی ظاهر می‌شوند تعداد kohn-sham state ها یا تعداد نوارهای انرژی ۲۰٪ بیش از تعداد الکترون‌ها در نظر می‌گیرد.</p>

14- گذار فاز ساختاری از bcc به Hcp در Fe و رسم ساختار نواری گرافن Graphene
تمرین خصوصی

<!-- wp:heading --> <h2>مقدمه‌ای بر فلزات Hcp، Fcc، Bcc</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>بیشتر فلزات رایج دارای ساختارهای مرکز سطحی (شکل ۱)، مرکز حجمی ( شکل ۲ ) یا تنگ پکیده شش گوشی (شکل۳) هستند. این ساختارها با نام‌های FCC، BCC و HCP خوانده می‌شوند. تنها تفاوت عمده بین این بلورها در یاخته واحد آن‌هاست. جالب است که ساختارهای متفاوت منجر به ویژگی‌های فیزیکی متفاوت می‌شوند. به نظرتان دلیلش چیست؟</p> <!-- /wp:paragraph --> <!-- wp:image {"width":400,"height":410,"sizeSlug":"large"} --> <figure class="wp-block-image size-large is-resized"><img src="//blob.maharatgostar.com/shop/original/10566_6a773949.jpg" alt="fcc" width="400" height="410"/></figure> <!-- /wp:image --> <!-- wp:paragraph --> <p><img src="//blob.maharatgostar.com/shop/original/10565_00dd3855.png" alt="body centered cell"><br><img width="1024" height="568" src="//blob.maharatgostar.com/shop/original/10564_c726f0cf.jpg" alt="Hcp top"><br>یک اتم منزوی را در نظر بگیرید. دارای بی‌نهایت کلاس تقارنی و دارای پتانسیلی تقریباً کروی است. اما این به شرط انزوا است. در صورتی که اتم‌های دیگر نیز در کنار این اتم قرار گیرد، شکل پتانسیل کروی پیرامون این اتم عوض می‌شود. یعنی اتم در یک میدان بلورین قرار می‌گیرد. متناسب با این پتانسیل بلورین ، ماده دارای ویژگی‌های فیزیکی متفاوتی می‌شود. برای مثال Cu, Au, Ag در حالت FCC نرم و چکش‌خوارند، یعنی به راحتی خم می‌شوند. فلزات با ساختار Bcc کمتر چکش‌خوارند ولی محکم ترند: مثل ساختار BCC آهن. در حالیکه فلزات با ساختار HCP ترد و شکننده‌اند. برای مثال فلز روی را سخت می‌توان بدون شکستن خم کرد، برعکس مس. گویا خیلی از ویژگی‌های فلزات به ساختار بلوری‌شان برمی‌گردد- مثل چگالی، تغییر شکل دادن و حتی رفتارهای آلیاژی. پس ساختار از این جهت حائز اهمیت است.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>در آموزش این جلسه نگاهی به <strong>گذار فاز ساختاری از شبکه bcc به شبکه hcp</strong> خواهیم داشت.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>برای اینکه درک بهتری از یک ساختار تنگ پکیده شش گوشی داشته باشید، بلور <strong>Fe تنگ پکیده شش گوشی</strong> را در نظر بگیرید. اگر از نمای بالا به آن نگاه کنیم:</p> <!-- /wp:paragraph --> <!-- wp:image {"id":1907} --> <figure class="wp-block-image"><img src="//blob.maharatgostar.com/shop/original/10563_63b196b4.jpg" alt="hcp fe1"/></figure> <!-- /wp:image --> <!-- wp:paragraph --> <p>فایل‌های ورودی اولیه «فایل ورودی Fe در حالت HCP» و «فایل ورودی Fe در حالت BCC» را می‌توانید از «پیوست» دریافت کنید.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>نکته: این فایل‌ها دارای پارامترهای مغناطیسی هستند - بحث درباره‌ی پارامترهای مغناطیسی به جلسات آینده موکول می‌شود.</strong></p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>برای Fe از تابعی PBE-GGA استفاده خواهیم کرد. نیازی به بهینه سازی انرژی قطع نیست. میتوانید از مقدار 40Ryd و انرژی قطع چگالی 400Ryd استفاده کنید. تنها کاری که باید انجام دهید، بهینه سازی نقاط شبکه وارون یا kpoint به صورت جداگانه برای ساختارهای bcc و hcp این بلور است ( مقدار پیشنهادی ۷ ۱۰ ۱۰ است). با توجه به این که تفاوت انرژی در این دو ساختار بسیار کوچک است، حداقل مقدار برای بهینه سازی انرژی پارامترها باید کمتر از 1meV باشد (فایل های خروجی مربوط به بهینه سازی را چک کنید – انرژی حداقل باید 3 رقم اعشار ثابت شود).<br>پس با فرض اینکه همه پارامترهای محاسباتی برای این بلور را بهینه کردید، حالت زمینه را برای bcc و hcp حساب کنید ( اینکار را با دستور pw.x output.scf.out انجام دهید). پارامتر شبکه را برای ساختارهای bcc و hcp بهینه کنید. درباره بهینه کردن پارامتر شبکه برای بلور hcp-Fe چه ایده ای به ذهنتان می آید؟ از فایل help مربوط به input-pw شماره ibrave، cell_parameters و ... را جستجو کنید. برای درک بهتر از واحدهای (celldm(i استفاده کنید. یعنی مقادیر را برحسب بوهر بیان کنید. مقادیر مستقل celldm ها چه هستند؟ بله! c,a . مقدار (celldm(3 برای بلورهای hcp متناظر با نسبت c/a است. اگر نسبت c/a به صورت هیدرواستاتیک بزرگ شود، حجم کل بلور با یک نسبت مشخص افزایش خواهد یافت. کاری که در اینجا انجام می دهید متناظر با تغییر سایز سلول به صورت هیدرواستاتیک است. این مورد در جلسه پیش نیز برای Cu پیاده کردیم. با این تفاوت که در آنجا بلور مکعبی بود. پس عملا در حال استاتیک مولکولی هستیم. علاوه بر کاری که بدین صورت انجام میدهیم، میتوان از الگوریتم های متفاوتی نیز استفاده کرد. کافیست مقدار calculation را از scf به relax یا vc-relax تغییر دهیم تا جنبش اتمها طبق الگوریتمهای کمینه سازی و “با هدف” دنبال شود.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>حال برای بلور hcp باید محاسبات را روی latticeای از مقادیر a و c/a انجام دهید. برای مثال نسبت c/a را میتوان از بین اعداد 1.72، 1.73، 1.74 (البته نسبت ایده‌آل c/a تقریباً ۱.۶۲ یا ۱.۶۳ است) و مقادیر a را از ثابت شبکه ای معادل با 4.8au آغاز کنید و بازه را حول این عدد گسترش دهید.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>باید به ازای یک مقدار برای مثال c/a=1.72 مقادیر a را (برای مثال 10 مورد: مثل 4.5 ...5.5 ) تغییر دهید و انرژی ها محاسبه کنید.</p> <!-- /wp:paragraph --> <!-- wp:list --> <ul><li>کدام نمودار کمینه انرژی را دارد؟</li><li>سوال: آیا در هنگام بهینه سازی تعداد kpoint ها برای hcp باید مقادیر kpoint در همه جهت‌ها یکسان باشد؟؟؟؟ به تفاوت بین فضای وارون و فضای مستقیم فکر کنید.</li><li>سوال: حال نمودارهای انرژی برحسب حجم را برای این دو ساختار رسم کنید. در کجای نمودار گذار فاز ساختاری رخ میدهد؟</li><li>سوال: آیا این نمودار را درست رسم کرده اید؟؟؟</li><li>آیا حجم را scale کرده اید؟ باید دید درون hcp چد اتم و درون bcc چند اتم وجود دارد؟ مقدار حجم بلور را بر تعداد اتم‌ها تقسیم کنید تا حجم به ازای یک اتم بدست آید. از نکات جلسه پیش استفاده کنید.</li></ul> <!-- /wp:list --> <!-- wp:paragraph --> <p>این محاسبات را دستی انجام دهید، پاسخ این سوالات را نیز در گروه به بحث گذاشته بگذارید – در صورتی که علاقه مند به نوشتن کد برای محاسبه آن هستید خصوصاً درباره ساختار hcp باید دو حلقه برای وردش c/a و a قرار دهید.</p> <!-- /wp:paragraph --> <!-- wp:heading --> <h2>ایجاد فایل ورودی برای گرافن Graphene</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>طبق تجربیاتی که از بالا یاد گرفتیم، می‌خواهیم یک ورودی برای ساختار دو بعدی گرافن بنویسیم:<br>۱- گرافن یک سطح دوبعدی با شبکه‌ی Hexagonal یا شش گوشی است.<br>۲- پس یک شش گوشی ایجاد کنید و نسبت c/a را آنقدر بزرگ بگیرید که دو لایه همدیگر را نبینند. برای مثال شکل زیر:</p> <!-- /wp:paragraph --> <!-- wp:image {"sizeSlug":"large"} --> <figure class="wp-block-image size-large"><img src="//blob.maharatgostar.com/shop/original/10562_d8a84fb6.jpg" alt="graphene"/></figure> <!-- /wp:image --> <!-- wp:paragraph --> <p>و حالا اجرا کنید و ساختار نواری آن را رسم کنید.<br>چند سوال:<br>نسبت c/a چه تاثیری در انرژی کل دارد؟<br>آیا ساختار دوبعدی کاملی در طبیعت وجود دارد؟<br>آیا نباید یکی از اتم‌های کربن بالاتر از دیگری باشد؟<br>آیا نیروها کمینه هستند؟ چگونه باید نیروها را کمینه کرد؟<br></p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>«فایل ورودی نمونه گرافن» را از «پیوست» دریافت شود.</p> <!-- /wp:paragraph -->

15- چگالی حالت های الکترونی
ویدئو خصوصی

<h2>چگالی حالت های الکترونی Dos = Density of states</h2><p>عملاً خاستگاه فیزیک مدرن، در مکانیک آماری خلاصه می‌شود. در تمام کمیت‌های کوانتومی فیزیکی، ردپای چگالی حالت‌ها پیدا می‌شود و این صرف نظر از نوع شی مورد بررسی است. ارتباط این دو زمانی شکل می‌گیرد که بدانیم سامانه‌ی مورد بررسی، یک سامانه‌ی بس‌ذره‌ای است. تمام اتفاق‌های نوین و شگفت‌انگیز نیز نشان گرفته از همین همبستگی‌ها و رفتارهای جمعی است. پس در فیزیک ماده‌ی چگال که شاخه‌ای از آن، فیزیک حالت جامد و بررسی رفتار بلورها و شبه بلورهاست، این کمیت، در تعیین کمیت‌های دیگر نقشی اساسی ایفا می‌کند.</p><p style="direction: rtl;">چگالی حالت های الکترونی نشان دهنده‌ی تعداد حالت های کوانتومی در بازه ای از انرژی {E, E+dE} در واحد حجم است که در دسترس برای اشغال قرار دارند. برای مثال DOS زیاد به معنای تعداد زیاد حالت های کوانتومی در انتظار اشغال است. و DOS صفر به معنای عدم وجود هیچ حالت کوانتومی برای اشغال است. این اتفاق در گاف ها رخ می‌دهد و هیچ k یا انرژی مجازی برای اشغال به وسیله‌ی الکترون در آن وجود ندارد.</p><p style="direction: rtl;">می‌توان چگالی حالت های الکترونی را در فضای وارون بدست آورد و سپس با توجه به رابطه پاشندگی انرژی آن را به فضای انرژی منتقل و چگالی حالت های الکترونی را برحسب انرژی بدست آورد.</p><p style="direction: ltr;">[latex]g(E)dE=g(k)dk[/latex]</p><p style="direction: rtl;">مسلماً توپولوژی فضا، در مقدار چگالی حالت ها تاثیر دارد.</p><p style="direction: rtl;">حالت‌های کوانتومی باید پر شوند. و این پر شدگی با یک تابع توزیع انجام می‌شود. چون در دمای تعادل، سامانه دارای مقدار ثابتی از انرژی است و این انرژی باید بین فرمیون‌های سامانه توزیع شود، این کار با تابع توزیع فرمی-دیراک انجام می‌شود.</p><p style="direction: rtl;">انواع مختلفی از چگالی حالتها وجود دارند که جلسات آینده آنها را معرفی میکنیم.</p><p style="direction: rtl;">از نظر محاسباتی الگوریتم‌های زیادی برای محاسبه‌ی چگالی حالت‌ها وجود دارد که ما در کد کوانتوم اسپرسو، نحوه‌ی بدست آوردن آن‌ها را توضیح می‌دهیم:</p>

16- رسم برخی کمیت‌های فیریکی در ۲ بعد: چگالی الکترونی ، پتانسیل و ELF
ویدئو خصوصی

<p>در این آموزش با استفاده از کد pp.x چندین کمیت مهم مثل چگالی بار ، پتانسیل کل و ELF یا electron localization function را در یک صفحه‌ی ۲ بعدی رسم کرده‌ایم. به عنوان کارهای پس پردازشی ، می‌توان قطبش اسپینی یا اختلاف بین کمیت‌هایی که در فایل Doc برنامه‌ی pp.x آمده را نیز ابعاد مختلف در فضای واقعی رسم کرد.</p><p>نکته: با توجه به اینکه ELF با شبه پتانسیلهای US هنوز پیاده نشده، به همین دلیل ممکن است نمودارهای پربندی دارای مقادیر منفی باشند. اما میدانیم که ELF بین ۰ و یک تغییر میکند. پس بهتر است از شبه پتانسیل های دیگری برای نمودارهای بهتر استفاده شود یا از نرم‌افزارهای post-processing استفاده کنید.</p>

17- نحوه ساختن ساختارهای بلوری و غیر بلوری مختلف: ناخالصی ، تهی جا ، نانوساختارها و …
ویدئو خصوصی

<p>با توجه به درخواست زیاد کاربران آموزش‌های ویدئویی مربوط به ایجاد ساختارهای مختلف برای بیشتر کدها و بخصوص کوانتوم اسپرسو ( Quantum espresso ) تهیه شده است. پس از آشنایی کلی شما با نحوه ایجاد چنین ساختارهایی از جلسات بعدی بحث درباره مواد مغناطیسی و مباحث اپتیکی آغاز می‌شود. در لابلای آموزش‌ها میتوانید مثال‌ها و مقالاتی که به نظرتان جالب می‌رسد را مطرح کنید تا مهم‌ترین بخش‌های آن‌ها در قالب ویدئوهای آموزشی توضیح داده شوند.</p>

18- مواد مغناطیسی و بلور Bcc آهن
ویدئو خصوصی

با توجه به درخواست زیاد کاربران آموزش‌های ویدئویی مربوط به ایجاد ساختارهای مختلف برای بیشتر کدها و بخصوص کوانتوم اسپرسو ( Quantum espresso ) تهیه شده است. پس از آشنایی کلی شما با نحوه ایجاد چنین ساختارهایی از جلسات بعدی بحث درباره مواد مغناطیسی و مباحث اپتیکی آغاز می‌شود. در لابلای آموزش‌ها میتوانید مثال‌ها و مقالاتی که به نظرتان جالب می‌رسد را مطرح کنید تا مهم‌ترین بخش‌های آن‌ها در قالب ویدئوهای آموزشی توضیح داده شوند.

19- محاسبات مغناطیسی همراستا و حالت های فرومغناطیس و آنتی فرومغناطیس Fe
ویدئو خصوصی

در این جلسه، قطبش اسپینی ، مغناطیس کل، چگالی حالت های الکترونی موضعی (LDOS) و چگالی حالت های جزیی (PDOS) در بلور آهن Fe در دو حالت فرومغناطیس و آنتی فرومغناطیس بررسی شده است.

20- شبیه سازی استیلن Acetylene و مقدمه ای بر دینامیک مولکولی و واهلش ساختاری
ویدئو خصوصی

<p>مقدمه ای بر دینامیک مولکولی و واهلش ساختاری</p><p>در جلسه‌ی آموزشی امروز الگوریتم کمینه سازی میرای ورله یا damped molecular Dynamics’s verlet Algorithm را خواهید آموخت.<br />اگر از جلسات پیش یادتان باشد، در بلورهای مکعبی و ترکیبات ساده امکان تغییر یک پارامتر هندسی به گونه ای وجود داشت که میشد، کمینه مطلق سطح انرژی پتانسیل را پیدا کرد. در این حالت اصلاحاً می‌گوییم، سامانه دارای تعادل مکانیکی است. یعنی نیروهای روی اتمها یا یونها صفر هستند.<br />اما وقتی تعداد و زوایای اتم‌های درون بلور افزایش می‌یابد، اندکی مشکل است تا همه پارامترهای هندسی را به منظور کمینه سازی سطح انرژی پتانسیل وردش داد.<br />به همین دلیل از الگوریتمهای مختلف استفاده می‌شود تا مکان تعادلی یونها را پیدا کرد. در مکانهای تعادلی نیروی روی یونها صفر میشود. و چون نیرو با گرادیان انرژی نسبت مستقیم دارد، گویی به یک حالت پایدار که در آن انرژی کمینه است، رسیده ایم. گهگاهی پیش می‌آید که سامانه در یک حالت metastable می‌افتد. کل این پروسه معادل با تحول ذرات یا سامانه بس ذره ای است. به همین دلیل به آن دینامیک مولکولی گفته میشود. حتی واهش ساختاری نیز یک نوع دینامیک مولکولی است که بخش اصطکاک جهت سرعت بخشیدن به محاسبات به معادله نیوتن افزوده میشود.<br />به عنوان نمونه مولکول استیلن در این جلسه شبیه سازی شده تا مکانهای تعادلی را پیدا کرده و نیروهای روی یونها را تا حد ممکن به صفر برسانیم.<br />جزییات محاسباتی و نظری را میتوانید در ویدئوی ببینید.</p>

21- واهلش نانولایه‌ی طلا و محاسبه‌ی تابع کار آن
ویدئو خصوصی

<p>در این جلسه نانولایه‌ی طلا را با الگوریتم BFGS تا حدی واهلش دادیم. سپس با برنامه pp.x پتانسیل را فضای سه بعدی مستقیم، بدست آوردیم و از مقادیر پتانسیل روی صفحات عمود بر z، میانگین‌گیری کردیم. میانگین صفحه‌ای (planar average) و میانگین ماکروسکوپی پتانسیل را در جهت z محاسبه کردیم و نمودار آن را با gnuplot رسم کردیم. با این روش می‌توان مقدار تابع کار را بدست آورد. برای تولید ساختار از برنامه‌های VESTA ، winmostar یا atomsk استفاده کنید.</p>

22- شبیه سازی تک لایه سیلیسین و دولایه گرافن در میدان الکتریکی ESM با شرایط مرزی باز
ویدئو خصوصی
23- محاسبات فونونی و رسم نموار پاشندگی فرکانس
ویدئو خصوصی

<p>در این جلسه محاسبات فونونی روی بلور سیلیکون انجام می‌شود. جزییات مربوط به تئوری و فایلهای استفاده شده را می‌توانید از لینکهای زیر نیز پیگیری کنید:<br /><a href="http://www.quantum-espresso.org/tutorials/shanghai-2013/hands-on-phonons/" target="_blank" rel="noopener">نظریه فونون ها در کوانتوم اسپرسو</a><br /><a href="https://alamode.readthedocs.io/en/latest/intro.html#what-is-alamode" target="_blank" rel="noopener">یک رابط مناسب برای برای QE و انجام محاسبات فونونی</a><br /><a href="http://www.fisica.uniud.it/~giannozz/QE-Tutorial/examples_disp.tgz" target="_blank" rel="noopener">مثالهایی در زمینه داس و نوار فونونی</a><br /><a href="http://www.fisica.uniud.it/~giannozz/QE-Tutorial/tutorial_phon.html" target="_blank" rel="noopener">فایل ها و دستورالعمل کار با ph.x</a><br /><a href="http://www.fisica.uniud.it/~giannozz/QE-Tutorial/tutorial_phon.pdf" target="_blank" rel="noopener">فایل راهنمای محاسبات فونونی و تئوری آن در کوانتوم اسپرسو</a><br /><a href="http://www.fisica.uniud.it/~giannozz/QE-Tutorial/examples_advph.tgz" target="_blank" rel="noopener">سطح مقطع های رامان و مادون قرمز و برهمکنشهای الکترون-فونون</a><br /><a href="http://www.fisica.uniud.it/~giannozz/QE-Tutorial/tutorial_el-ph1.pdf" target="_blank" rel="noopener">نظریه برهمکنش الکترون فونون و سطح مقطع های رامان و فروسرخ</a><br /><a href="http://www.fisica.uniud.it/~giannozz/QE-Tutorial/tutorial_thermal.pdf" target="_blank" rel="noopener">تقریب شبه هماهنگ و ترمودینامیک</a><br /><a href="https://arxiv.org/pdf/1402.0954.pdf" target="_blank" rel="noopener">مقاله ای که محاسبات فونونی را پیاده سازی کرده است</a></p>

24- مکانیزم جذب و واکنشهای شیمیایی
ویدئو خصوصی

<p>در این جلسه نحوه قرارگیری اتم‌های مختلف روی سطح فلزات و slab های مختلف بررسی می‌شود. از پکیج NEB یا NUDGED ELASTIC BAND نیز برای بررسی انرژی‌های گذار در فعل و انفعلات شیمیایی و فیزیکی و تغییر پیکربندی‌های هندسی مختلف استفاده می‌شود.<br />برای کسب اطلاعات بیشتر به کتاب زیر مراجعه کنید که تمامی مراحل را با جزییات نسبتاً مطلوب بسط داده که می‌تواند نقطه آغازین مناسبی باشد.<br /><a href="http://schoolxtra.ir/wp-content/uploads/2017/10/Density_functional(schoolxtra.ir).pdf" target="_blank" rel="noopener">لینک دانلود کتاب</a><br />جزییات نظری پیاده سازی NEB را نیز می‌توانید از دست نوشته های موجود در سایت کوانتوم اسپرسو و مثالی که همراه با آن است، پیگیری کنید.<br /><a href="http://www.fisica.uniud.it/~giannozz/QE-Tutorial/tutorial_neb.pdf" target="_blank" rel="noopener">اسلایدها</a><br /><a href="http://www.fisica.uniud.it/~giannozz/QE-Tutorial/examples_neb.tgz" target="_blank" rel="noopener">مثال</a><br /><a href="http://www.quantum-espresso.org/wp-content/uploads/Doc/neb_user_guide.pdf" target="_blank" rel="noopener">فایل راهنما یا منوال</a><br />در این ویدئو سعی شده از مثال‌هایی که به همراه خود بسته کوانتوم اسپرسو ارائه شده استفاده شود. برای دیدن یک مثال نسبتا مطلوب از جذب بنزن روی سطح طلا نیز به آموزش وبسایت Quantum Wise مراجعه کنید تا دید بهتری داشته باشید.</p><p>مثال اول:<br /><a href="https://docs.quantumwise.com/tutorials/benzene_au111/benzene_au111.html" target="_blank" rel="noopener">مثال ۱</a><br />مثال دوم:<br /><a href="https://docs.quantumwise.com/tutorials/geometry_optimization/geometry_optimization.html" target="_blank" rel="noopener">یک مثال از جذب</a><br />این مثالها را براحتی می‌توانید در کوانتوم اسپرسو نیز پیاده کنید. در آینده نزدیک مثالهای مهم دیگری نیز بررسی می‌شوند.<br />اگر سوال برایتان پیش آمده که ساختار مس/نقره را چگونه درست کرده‌ایم به مراحل آن با WinMostar نگاهی بیاندازید:<br /><img src="//blob.maharatgostar.com/shop/original/10561_0b68c4c0.jpg" /></p><p><img src="//blob.maharatgostar.com/shop/original/10560_c54c5a0c.png" /></p>

25- برهمکنش نور و ماده (پاسخ اپتیکی سیکلوبوتان)
ویدئو خصوصی

<p>در این آموزش محوریت بر دریافت پاسخ اپتیکی (پاسخ دی الکتریک) در جامدات بلورین است. اگر بدنبال درک بهتر چگونگی اعمال میدان الکتریکی با تقریب clamed-nuclei و static-DFT هستید، بهتر است ابتدا از یک اتم بسیار ساده شروع کنید و میدان الکتریکی متغیر با زمان E را روی آن اعمال کنید. تابع موج لحظه‌ای سامانه یک برهم نهی از تابع موج زمینه (GROUND-STATE) معادل با زمان t<0 و اوربیتال های خالی است که اکنون (یعنی در زمان t>0) احتمال گذار الکترون به این ترازهای خالی بوجود می‌آید. برای توصیف رفتار این الکترون از کمیتی بنام قطبش پذیری یا Polarizibility استفاده می‌شود. در حقیقت نقطه‌ی شروعی بر پاسخ های محاسبات TDDFT نیز همین کمیت است. در سامانه‌های بلوری ماتریس دی الکتریک (Dielectric) نشانگر بهتری است.</p><p>در نرم افزار کوانتوم اسپرسو یک کد به نام epsilon.x وجود دارد که وظیف محاسبه ویژگی‌های اپتیکی را بر عهده دارد – برای محاسبات دقیقتر باید از YAMBO استفاده کنید. در مورد سامانه‌هایی با تعداد اتم‌های متوسط (کمتر از ۱۰۰) میتوانید از TurboTDDFT نیز استفاده کنید که برای یادگیری این مدل کدها Turbo_lanczos یا Turbo_davidson باید زمان زیادی را صرف یادگیری مفاهیم نظریه تابعی چگالی وابسته به زمان کنید.</p><p>برای درک بهتر مباحث اپتیکی دو کتاب زیر را می‌کنیم که باید به ترتیب مطالعه کنید، Static -DFT و TDDFPT:</p><p>materials modeling using density functional theory- Feliciano Giustiono</p><p>Time dependent Density functional theory – carsten A.Ullrich</p><p>پس از خواندن این کتاب‌ها و یادگیری الگوریتم Lanczos میتوانید با دید و درک کامل محاسبات TDDFT را انجام دهید.</p><p>در این آموزش تنها کد epsilon.x بررسی شده است که برای استفاده در موارد پیشرفته تر باید تقریب GW را نیز وارد کنید (YAMBO)</p>

26- محاسبه پتانسیل شیمیایی، انرژی تشکیل و دیفیوژن تهی‌جا در بلور (I)
ویدئو خصوصی
27- محاسبه پتانسیل شیمیایی، انرژی تشکیل و دیفیوژن تهی‌جا در بلور (II)
تمرین خصوصی

<p>در جلسه پیش درباره بلور برلیوم و پتانسیل شیمیایی آن صحبت کردیم. به همین دلیل بد نیست نگاهی بیاندازیم به اینکه حرف هایمان چقدر درباره‌ی سوپرسل آن درست است.</p><p>در زیر سوپرسل۲*۲*۲ از بلور برلیوم را میبینید. روی این ورودی یک اجرای ریلکس (Vc-relax) بگذارید و انرژی آن را با حالت یونیت سل مقایسه کنید. انرژی دقیقا چند برابر شده است؟</p><pre style="direction: ltr; text-align: start">&control calculation='vc-relax' prefix = 'Be' pseudo_dir = './' outdir = './' forc_conv_thr = 1.0e-6 / &system ibrav = 4 celldm(1) = 8.568 celldm(3) = 1.582632923 nat = 16 ntyp= 1, ecutwfc = 25.0, ecutrho = 200.0, occupations='smearing', smearing='mv', degauss=0.02 / &electrons conv_thr=1.0e-8 / &ions ion_dynamics='bfgs' / &cell cell_dynamics='bfgs' / ATOMIC_SPECIES Be 1. Be.pbe-n-rrkjus_psl.0.2.UPF ATOMIC_POSITIONS crystal Be 0 0 0 Be 0.5 0 0 Be 0 0.5 0 Be 0.5 0.5 0 Be 0 0 0.5 Be 0.5 0 0.5 Be 0 0.5 0.5 Be 0.5 0.5 0.5 Be 0.166666666666667 0.333333333333333 0.25 Be 0.666666666666667 0.333333333333333 0.25 Be 0.166666666666667 0.833333333333333 0.25 Be 0.666666666666667 0.833333333333333 0.25 Be 0.166666666666667 0.333333333333333 0.75 Be 0.666666666666667 0.333333333333333 0.75 Be 0.166666666666667 0.833333333333333 0.75 Be 0.666666666666667 0.833333333333333 0.75 K_POINTS automatic 4 4 4 1 1 1 </pre>

28- رسم بند فونونی با فونوپای (Phonopy)
ویدئو خصوصی
29- ضرایب الاستیک
ویدئو خصوصی
30- بهینه سازی سریع پارامترها
ویدئو خصوصی
31- نصب برنامه فونوپای
ویدئو خصوصی
پیوست
cell parameter
ضمیمه خصوصی
conveg_ecutwfc-metals.sh
ضمیمه خصوصی
conveg_kpoint_ecutwfc.sh
ضمیمه خصوصی
conv_kpoint.sh
ضمیمه خصوصی
conv_lat_metal.sh
ضمیمه خصوصی
شبه پتانسیل مس (Cu.pz-d-rrkjus.upf)
ضمیمه خصوصی
پرونده ورودی Fe در حالت BCC (پرونده: Fe_bcc.scf)
ضمیمه خصوصی
پرونده ورودی Fe در حالت HCP (پرونده: Fe_hcp.scf)
ضمیمه خصوصی
پرونده ورودی گرافن (graphene.scf)
ضمیمه خصوصی
کد بهینه‌سازی (conveg_kpoint_degauss.sh)
ضمیمه خصوصی

دیدگاه‌ها (0)

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

  • دیدگاه های فینگلیش تایید نخواهند شد.
  • دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
  • از درج دیدگاه های تکراری پرهیز نمایید.
  • امتیاز دادن به دوره فقط مخصوص خریداران محصول می باشد.
اولین نفری باشید که دیدگاهی را ارسال می کنید برای “آموزش کوانتوم اسپرسو (Quantum Espresso)”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

انوش کاظمی

مدرس

کارشناس ارشد فیزیک حالت جامد از دانشگاه اصفهان متخصص شبیه‌سازی در نرم‌افزارهای کوانتوم اسپرسو، open mx، vasp و ... متخصص برنامه‌نویسی پایتون دارای کارت مربی‌گری فنی‌وحرفه‌ای و مدرس آموزشگاه‌های آزاد فنی‌وحرفه‌ای