در این مقاله معرفی، روش نصب و استفاده از بسته محاسباتیQuantm Espresso (بسته منبع باز برای تحقیقات در زمینه ساختار الکترونی شبیه سازی و بهینه سازی) در سطح مقدماتی ارائه خواهد شد. هسته اصلی محاسبات در این نرم افزار بر اساس نظریه تابعی چگالی Density Functional Theory, DFT و استفاده از توابع موج تخت Plain-Wave, PW و شبهه پتانسیلpseudopotentials, PP استوار شده است.
همچنین Quantum Espresso بسته های محاسباتی زیر را دارا می باشد.
بسته های محاسباتی کمکی Quantum Espresso.
کتابخانه های خارجی مورد نیاز
محاسبات در Quantum Espresso به سه دسته Postproc، Phonon، Pwscf تقسیم می شود که در ادامه به توضیح آن خواهیم پرداخت.
Pwscf می تواند محاسبات انواع زیر را انجام دهد
همه محاسبات فوق برای هر دو نوع عایق و فلزات، در هر ساختار بلوری، برای بسیاری از توابع همبستگی-تبادلی exchange-correlation ,XC (از جمله قطبش اسپین، DFT + U، توابع غیرموضعی VdW ،توابع هیبریدی)، شبهه پتانسیلهای بار پایسته Hamann-Schluter-Chiang PPs NCPPs, یا فوق نرم Vanderbilt PPs ,USPPs یا روش PAW ، Projector Augmented Waves مورد استفاده قرار می گیرد. درمحاسبات مغناطیس غیرهمراستا و برهمکنش اسپین-مدار نیز لحاظ شده است. همچنین میدان الکتریکی محدود با یک پتانسیل الکتریکی دندان اره ای در یک سلول در بسته پیاده سازی شده است.
NEB مسیرواکنش (reaction pathways) و موانع انرژی (energy barriers) را با استفاده از روشهایNEB Nudged Elastic Band و SMD ، Fourier String Method Dynamics محاسبه می کند.همچنین لازم به ذکر است که در محاسبات NEB از Pwscf و Car-Parrinello استفاده نمی شود.
Phonon هم مانند Pwscf میتواند از DFT+U , VdW استفاده کند. اما USPP و PAW در محاسبات فونونی پیادهسازی نشده اند. محاسبات تقریب شبه هارمونیکQuasi-Harmonic approximations با استفاده از بستهQHA انجام میشود که نیاز به محاسبات چگالی حالتهای فونونی دارد.
PostProc میتواند محاسبات زیر را انجام دهد
پس از دانلود بسته از لینک دریافت فایل Espresso و حصول اطمینان از نصب بودن gfortran یا ifort بسته را به مکان مورد نظر برده و دستور زیر را در ترمینال برای untar شدن بسته انجام می دهیم
tar -zxvf espresso-X.Y.Z.tar.gz$
X.Y.Z اعداد ورژن بسته دانلود شده هستند.
پس از آن وارد پوشه تولید شده espresso-X.Y.Z میشویم و دستورات زیر را در ترمینال اعمال میکنیم
./configure
make all
فایلهایی که در تمام ورژن ها یکسانند:
فایلهایی که در ورژن های متفاوت توسعه پیدا میکنند :
پس از دانلود بسته مثالها از لینک http://www.quantum-espresso.org/download.php دستور زیر را در ترمینال اعمال می کنیم
tar -zxvf /path/to/package/espresso-X.Y.Z-examples.tar.gz$
با انجام این کار تعدادی زیر پوشه به پوشه /espresso-X.Y.Z اضافه میشود که شامل دو دسته میباشند
دستورالعمل و اینکه هرکدام از مثالها چه محاسبه ای را انجام میدهند در یک متن به آدرس examples/README گنجانده شده است. علاوه بر آن در هر مثال یک متن به نام README وجود دارد که در آن قابلییتها و تواناییهای آن مثال را توضیح میدهد.
برای اجرای مثالها موارد زیر را دنبال کنید.
ابتدا باید مسیر فایلهای bin, pseudo و tmp را در فایل environment_variables به صورت زیر ویرایش کنیم.
BIN_DIR=$PATH/bin
PSEUDO_DIR=$PATH/pseudo
TMP_DIR=$PATH/tmp
البته پیشفرض (default) اعمال شده در برنامه احتیاجی به ویرایش ندارد. فقط در صورتی که کاربر مکان این سه پوشه را تغییر داده باشد باید مسیر جدید را به جای PATH در سه عبارت بالا قرار دهد.
اگر Quantum Espresso روی کامپیوترها به طور موازی نصب شده بود در فایل environment_variables باید نوع driver program و تعداد پردازشگر ها را به ترتیب در PARA_PREFIX و PARA_POSTFIX معین کنید. به عنوان مثال اگر دستور اجرای برنامه در ترمینال به صورت زیر باشد
poe pw.x -procs 4 < file.in > file.out
ویرایش را به صورت زیر انجام میدهیم
"PARA_PREFIX="poe
PARA_POSTFIX="-procs4
در نهایت با اجرای دستور
run_example/.
فایلهای ورودی و خروجی برنامه در پوشه results تولید میشود که میتوان نتایج را با فایلهای خروجی داخل پوشه reference مقایسه و از صحت اجرای صحیح برنامها اطمینان حاصل کرد.
برای اجرای بعضی برنامهها باید مسیر pseudo و tmp را در فایل ورودی طبق دستورالعمل مشخص نماییم.
فرض کنید فایل file.in را برای محاسبه scf در یک پوشه با مسیر مشخص آماده نمودهاید. ابتدا با استفاده از دستور زیر به مکان پوشه میرویم و پوشه را باز میکنیم
سپس با دادن مسیر پوشه فایل اجرایی به صورت زیر برنامه را اجرا میکنیم