در این مقاله معرفی، روش نصب و استفاده از بسته محاسباتیQuantm Espresso (بسته منبع باز برای تحقیقات در زمینه ساختار الکترونی شبیه سازی و بهینه سازی) در سطح مقدماتی ارائه خواهد شد.
هسته اصلی محاسبات در این نرم افزار بر اساس نظریه تابعی چگالی Density Functional Theory, DFT و استفاده از توابع موج تخت Plain-Wave, PW و شبهه پتانسیلpseudopotentials, PP استوار شده است.
Quantum Espresso چه امکاناتی دارد؟
- (PWscf (Plane-Wave Self-Consistent Field محاسبات خودسازگار با استفاده از PW و DFT
- (CP (Car-Parrinello محاسبات دینامیک مولکولی برای سیستمهای متناوب با استفاده از PW و DFT
همچنین Quantum Espresso بسته های محاسباتی زیر را دارا می باشد.
- NEB : محاسبه موانع انرژی energybarriers و مسیرهای واکنشی reactionpathways از روش Nudged Elastic Band
- Phonon : محاسبات ارتعاشات شبکه با استفاده از نظریه تابعی چگالی اختلالی Density Functional Perturbation Theory, DFPT
- PostProc :ابزارهایی برای پس پردازش داده ها
- Pwcond : ا(ballistic conductance) محاسبه رسانایی بالستیک
- XSPECTRA : محاسبه لبه جذب K طیف های اشعه ایکس
- vdW : محاسبه دینامیک قطبشی
- GWW : محاسبات GW با استفاده از توابع Wannier
- TD-DFPT : محاسبات طیف با استفاده از نظریه تابعی چگالی اختلالی وابسته به زمان
بسته های محاسباتی کمکی Quantum Espresso.
- Pwgui: رابط کاربر گرافیکی ، تولید داده های ورودی فایل برای Pwscf
- atomic :یک برنامه برای محاسبات اتمی و تولید شبه پتانسیل
- QHA : ابزاری برای محاسبه چگالی حالت تصویر شده (PDOS) و انرژی آزاد در تقریب شبهه هارمونیک(در رابطه با فونون (Phonon) مورد استفاده قرار گیرد)
- PlotPhon : ابزار رسم طیف پراکندگی فونون (Phonon)
کتابخانه های خارجی مورد نیاز
- iotk :an Input-Output ToolKit
- BLAS and LAPACK
- در نهایت ، چندین بسته اضافی که در بهره برداری از داده های تولید شده توسط Quantum Espresso می تواند به عنوان plug – in مورد استفاده قرار گیرد.
- Wannier90 -WanT -YAMBO -PLUMED -GIPAW
Quantum Espresso چه محاسباتی را میتواند انجام دهد؟
محاسبات در Quantum Espresso به سه دسته Postproc، Phonon، Pwscf تقسیم می شود که در ادامه به توضیح آن خواهیم پرداخت.
Pwscf می تواند محاسبات انواع زیر را انجام دهد
- محاسبات حالت پایه انرژی و اوربیتالهای تک الکترونی کان-شم (Kohn-Sham)
- محاسبه نیروهای بین اتمی، تنش، و بهینه سازی ساختار یونی
- محاسبه دینامیک مولکولی در حالت پایه سطح بورن-اوپنهایمر(Born-Oppenheimer) ، با تغییرات سلول
- محاسبه قطبش ماکروسکوپی و میدان الکتریکی محدود از طریق تئوری مدرن قطبش(BerryPhases)
- تئوری مدرن قطبش(Berry Phases)
- محاسبه انرژی آزاد سطح در سلول ثابت از طریق متا دینامیک. لازم به ذکر است، برای این محاسبه، باید بسته PLUMED نصب باشد.
همه محاسبات فوق برای هر دو نوع عایق و فلزات، در هر ساختار بلوری، برای بسیاری از توابع همبستگی-تبادلی 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 میتواند محاسبات زیر را انجام دهد:
- محاسبه فرکانسهای فونونی و ویژه بردارهای آنها با استفاده از نظریه تابعی چگالی اختلالی Density-Functional Perturbation Theory
- بار موثر و تانسورهای دی الکتریک
- ضریب برهمکنش الکترون-فونون در فلزات
- برهمکنشهای ثابت نیرو در فضای مستقیم
- طول عمر فونونهای غیرهماهنگ مرتبه سوم
- سطح مقطع مادون قرمز و رامان
Phonon هم مانند Pwscf میتواند از DFT+U , VdW استفاده کند. اما USPP و PAW در محاسبات فونونی پیادهسازی نشده اند. محاسبات تقریب شبه هارمونیکQuasi-Harmonic approximations با استفاده از بستهQHA انجام میشود که نیاز به محاسبات چگالی حالتهای فونونی دارد.
PostProc میتواند محاسبات زیر را انجام دهد:
- اسکن تصاویر میکروسکوپ تونل زنی (STM)
- رسم توابع محلی سازی الکترونی (ELF)
- چگالی حالتها (DOS) و چگالی حالتهای تصویر شده (PDOS)
- L ̈wdin charges
- میانگین گیری سطحی و کروی
- به علاوه تعدادی ازابزارهای گرافیکی با کد های خارجی
نصب Esprasso
پس از دانلود بسته از لینک http://www.quantum-espresso.org/download.php و حصول اطمینان از نصب بودن gfortran یا ifort بسته را به مکان مورد نظر برده و دستور زیر را در ترمینال برای untar شدن بسته انجام می دهیم
tar -zxvf espresso-X.Y.Z.tar.gz$
X.Y.Z اعداد ورژن بسته دانلود شده هستند.
پس از آن وارد پوشه تولید شده espresso-X.Y.Z میشویم و دستورات زیر را در ترمینال اعمال میکنیم
cd espresso-X.Y.Z/
./configure
make all
پس از اجرای بدون خطای دستورات بالا پوشه bin را باز میکنیم اگر فایلهای اجرایی تولید شده بودند از درست نصب شدن بسته مطمئن میشویم. به جز پوشه bin پوشه های دیگری که تولید میشوند عبارتند از:
فایلهایی که در تمام ورژن ها یکسانند:
- Modules : یک فایل منبع برای ماژول ها که به تمام برنامه ها مربوط است
- Include : شامل فایلهای منبع برنامههای C و Fortran است
- clib : یک کتابخانه خارجی برنامه C
- flib :یک کتابخانه خارجی برنامه Fortran
- extlibs : آرشیو کتابخانههای خارجیLAPACK, BLAS, iotk
- install : اسکریپتهای نصب و ابزارهای آن
- pseudo : شبهه پتانسیل های مورد استفاده مثالها
- upftools : مبدل به شبهه پتانسیل واحد (UPF)
- examples: نمونه فایلهای ورودی و خروجی همراه با اسکریپتهایی جهت اجرای آنها
- Doc : مستندات اصلی
- archive : شامل plug-in ها با فرمت .tar.gz
فایلهایی که در ورژن های متفاوت توسعه پیدا میکنند :
- PW Pwscf فایل منبع برای محاسبات خودسارگار (pw.x)
- pwtools Pwscf فایل منبع برای تحلیل برنامههای متفرقه
- tests Pwscf تست خودکار
- NEB Pwneb فایل منبع برای محاسبات NEB ا (neb.x)
- PP PostProc فایل منبع برای پس پردازش فایل اطلاعات pw.x
- PH Phonon فایل منبع برای محاسبات فونونی و تحلیل آنها (ph.x)
- Gamma Phonon فایل منبع برای محاسبه فونون نقطه Gamma ا (phcg.x)
- D3 Phonon فایل منبع برای محاسبات مشتق مرتبه سوم (d3.x)
- PWCOND Pwcond فایل منبع برای محاسبه رسانش (pwcond.x)
- vdW VdW فایل منبع برای محاسبات قطبش مولکولی در فرکنسهای محدود
- CPV CP فایل منبع برای محاسبات Car-Parrinello ا (cp.x)
- atomic atomic فایل منبع برای تولید شبهه پتانسیل (ld1.x)
- atomic_doc فایل منبع برای محاسبه مثالهای atomic
- GUI PWGui رابط کاربر گرافیکی
نصب و اجرای مثالها
پس از دانلود بسته مثالها از لینک http://www.quantum-espresso.org/download.php دستور زیر را در ترمینال اعمال می کنیم
tar -zxvf /path/to/package/espresso-X.Y.Z-examples.tar.gz$
با انجام این کار تعدادی زیر پوشه به پوشه /espresso-X.Y.Z اضافه میشود که شامل دو دسته میباشند
تست خودکار که شامل پوشه های tests و cptests میباشد و فقط برای pw.x وcp.x پیادهسازی نشده است.
و مثالها که در پوشه examples قرار دارند.
دستورالعمل و اینکه هرکدام از مثالها چه محاسبه ای را انجام میدهند در یک متن به آدرس 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 در یک پوشه با مسیر مشخص آماده نمودهاید. ابتدا با استفاده از دستور زیر به مکان پوشه میرویم و پوشه را باز میکنیم
$cd Path to file/
سپس با دادن مسیر پوشه فایل اجرایی به صورت زیر برنامه را اجرا میکنیم
Path of the bin directory from root/pw.x < file.in > file.out/$
2 دیدگاه
Or use one of these social networks