دانلود، نصب و آموزش کار با کد Abinit

کد ABINIT یک بسته محاسباتی منبع باز در زمینه علم مواد است. با استفاده از این بسته نرم افزاری می توان انرژی کل، چگالی بار و ساختار الکتریکی سیستم های متشکل از الکترون-هسته (مولکول ها و جامدات متناوب) را بر پایه نظریه تابعی چگالی DFT با استفاده از امواج تخت و شبه پتانسیل ها بدست آورد.

این بسته قابلیت محاسبه ی اکثر تقریب های انرژی تبادلی-همبستگی مانند LSDA، GGA، LDA،  و … را دارد.

در درون  بسته ABINIT  ابزارهایی به نام  optic ,mrgddb, cut3D ,anaddb و … برای بدست آوردن

خواص بیشتر و  آنالیز خروجی های بدست آمده با ABINIT وجود دارد.

علاوه بر محاسبات حالت پایه الکترونی مواد، ABINIT از نظریه تابعی چگالی اختلالی DFPT برای محاسبه توابع پاسخ استفاده می کند:

بر هم کنش الکترون-فونون و خواص ابر رسانایی

خواص پیزوالکتریک و الاستیک

بررسی خواص ترمودینامیکی و دینامیکی

قطبش و پاسخ به میدان های الکتریکی متناهی

پاسخ های غیر خطی، شامل پذیرفتاری الکتریکی غیر خطی، تانسور رامان غیر تشدیدی، اثر الکترو اپتیکی

بررسی خواص مغناطیسی و برهم کنش اسپین-مدار

و …

ABINIT همچنین می تواند با استفاده از نظریه تابعی چگالی وابسته به زمان TDDFT و یا نظریه اختلال بس ذره ای در تقریب GW  و حل معادله بت-سلپیتر، حالات برانگیخته یک ماده را بررسی کند.

از میان کدهای مطرح شده در بالا کد yambo نیز توانایی انجام محاسبات TDDFT و GW را دارد، ولی برای استفاده از این کد باز هم نیاز به خروجی های مربوط به حالت پایه داریم که این خروجی باید با استفاده از کد pwscf‌ و یا abinit بدست آمده باشد.

قسمت دوم: دانلود و نصب ABINIT

برای شروع کار با ABINIT شما ابتدا باید پکیج  ABINIT رو دانلود کنید.

برای این کار اول به سایت زیر برید:

http://www.abinit.org/

سایت ABINIT بخش های مختلف و مفیدی داره ک بد نیست روشون کلیک کنید و باش آشنا شید.

اون بخشی که الان ما باش کار داریم، قسمت downloads هست، روی قسمت دانلودها کلیک کنید

بعد –> : ABINIT source packages و بعد –>Download ABINIT

از این قسمت می تونید بسته ABINIT  رو دانلود کنید.

تا چند وقت قبل ABINIT بصورت مجزا برای سه پلت فرم ویندوز، مک و لینوکس ارائه می شد ولی تازگی ها فقط یک

پکیج وجود داره که برای تمام پلت فرم هاست.

پس تا اینجا ABINIT رو  خیلی راحت دانلود کردیم، حالا می مونه نصب ABINIT .

ABINIT یک پکیج منبع باز هست ک تحت لینوکس اجرا میشه، برای کار با ABINIT شما نیاز به یک توزیع

لینوکس مثل اوبونتو، رد هت و … دارید.

برای کسی که تازه کاره اصولا اوبونتو رو پیشنهاد میدن، اونم بخاطر راحتی کار با اونه، از بین توزیع های مختلف لینوکس، اوبونتو بیشترین تعداد کاربری رو داره.

حالا فرض می کنیم سیستم شما مجهز به یک توزیع لینوکسه.

قبل از نصب ABINIT شما نیاز به یک کامپایلر فرترن دارید، اول باید یک کامپایلر فرترن نصب کنید، مثل ifort و یا gfortran

الانه ک می تونید پکیج ABINIT رو نصب کنید.

داخل خود بسته ABINIT یک راهنمای نصب وجود داره که می تونید با استفاده از اون پکیج رو نصب کنید

و یا از فایل های اموزشی روی خود سایت استفاده کنید، مسیر زیر:

Home → Documentation → Help files → for v7.6 → install_notes

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

بعد  configure,  ./make,  ./make install/.  رو میزنید.

اینم راهنمای نصبیه که تو خود پکیج هست:

Quick install, starting from the tar.gz file :

(1) download, gunzip and untar the file
abinit-x.y.z.tar.gz
where x.y.z is to be replaced by the actual numbers that characterize the version of ABINIT.
(2) cd abinit-x.y.z
(3) ./configure
(4) ./make
(5) optionally :  ./make install

در حین نصب شاید به یک گیرهایی بربخورید که باید سعی کنی تا اون گیرها رو درست کنی و پکیج نصب شه.

اگه ABINIT درست نصب شده باشه، توی ترمینال ABINIT رو بنویسید، باید این پیغام رو بتون بده:

ABINIT

Give name for formatted input file:

اگه این پیغام رو دیدید یعنی نصب شده وگرنه تلاش کن تا نصب شه، تو می تونی.

قسمت سوم: شروع کار با ABINIT

خب برای شروع کار با هر کد محاسباتی ای از جمله  ABINIT نیاز هست شما با یک سری از تئوری ها آشنا باشید

پیشنهاد خود ABINIT اینه که اگه اولین باره که از یک کد استفاده می کنی، حتما کتاب زیر رو یه نگاهی بندازی:

نام کتاب: Electronic Structure

نام نویسنده: Richard  M. Martin

کتاب ساختار الکترونی

شکل زیر در یک نمای کلی تمام کاری که برای شبیه سازی با ABINIT باید انجام بدید رو نشون میده:

ساختار abinit

یک سری فایل ورودی (که سه تا فایل هست) به ABINIT میدی، ABINIT  رو ران (اجرا) می کنی وخروجی های مورد نظرت رو بدست می آری.

حالا من تو این قسمت براتون توضیح میدم اون ورودی هایی که لازم هست آماده کنی چی هستن؟! شما طرز استفاده از کد رو یاد بگیری هر کدوم از محاسباتی که کد ارائه میده رو می تونی انجام بدی

فقط کافیه با تئوری مربوط به اون آشنا باشی و بدونی قراره چی بدست بیاری.

دیگه بریم سراغ شروع کار:

 کار با ABINIT کدنویسی کردنه، شما الان دیگه پکیج کد رو در اختیار داری، پکیج رو باز کن برو تو این قسمت

doc==>tutorial اینجا یسری فایل html هست که همه چی رو برای شما توضیح داده، از اینکه ABINIT چی هست تا

فایل های آموزشی برای انجام هر محاسباتی که ABINIT می تونه انجامش بده.

قدم به قدم برات توضیح داده که مثلا می خوای خواص الاستیکی بدست بیاری چکار کن، از کدوم فایل ها 

 استفاده کن و … . من ی نمای کلی از کار کردن با ABINIT رو میگم چون با جزییات باشه  طولانی و گیج کننده

میشه، پس اول از همه سراغ این قسمت برو تا هر چی خواستی رو باز کنی و باش آشنا شی.

شما برای شروع کار نیاز داری تا سه فایل رو آماده کنی.

حالا این سه تا فایل چی هستن؟

اول: یک فایل ورودی با پسوند .in

دوم: یک فایل که بش میگن file names با پسوند .files

سوم:فایل های مربوط به شبه پتانسیل

حالا چجوری این سه تا فایل رو آماده کنی؟

اول از همه فایل مربوط به شبه پتانسیل

خب شما دارید یک محاسباتی رو برای یک ماده مشخص انجام میدید، مثلا ماده شما سیلیکون هست، شما فقط

کافیه فایل شبه پتانسیل مربوط به عنصر سیلیکون رو داشته باشی، از کجا بیارمش؟ فقط کافیه دانلودش کنی

برو تو سایت ABINIT و از اینجا دانلودش کن : You are here: Home → Downloads → Pseudopotentials

تو این قسمت که بری برات جدول تناوبی رو میاره رو هر کدوم از عنصرهاش که کلیک کنی

فایل شبه پتانسیلشو بت میده. فایل های شبه پتانسیل یسری فایل آماده هستن، که تو فقط قراره

ازشون استفاده کنی نه اینکه بسازیشخب این از فایل شبه پتانسیل.

حالا یک فایل باید داشته باشی که اون هم فایل ورودی هست.این فایل فایل مهمیه، حالا چی هست این فایل؟

شما یک صفحه رو در نظر بگیر، با هر ادیتوری wordpad، notepad، gedit و … حالا تو این صفحه با استفاده از

یک سری متغیر ورودی که کد ABINIT اونا رو می شناسه ما کدنویسی می کنیم و به ABINIT می گیم ما داریم بتو

چی میدیم و از تو چی می خوایم. نترسید کار سختی نیست برای هر محاسبه ای این فایل های ورودی آماده هست و 

تو خود پکیج وجود داره، فقط کافیه شما اون رو متناسب با نیاز خودت و برای ماده مورد نظر خودت ادیتش کنی.

پس در یک کلام شما یسری متغیر ورودی داری که قراره باش کد نویسی کنی پس لازمه که باشون آشنا شی

و بدونی هر متغیر چکاری رو انجام میده، متغیرهایی مثل متغیرهای زیر:

A. acell   angdeg

E. ecut

I. iscf   ixc
J. jdtset
K. kpt   kptnrm   kptopt

N. natom   nband   ndtset   ngkpt   nkpt   nshiftk   nsppol   nstep   nsym   ntypat
O. occopt

R. rprim
S. scalecart   shiftk   symrel
T. tnons   toldfe   toldff   tolrff   tolvrs   tolwfr   typat
U. udtset   usewvl

W. wtk   wvl_hgrid
X. xangst   xcart   xred

Z. znucl

تو پکیج ABINIT یک قسمت به اسم INPUT VARIABLES وجود داره، رو هر کدوم از متغیرها کلیک کنی براتون 

توضیح میده که این متغیر چکار می کنه. 

این شکل یک نمایی از محتویات فایل ورودیه که پسوندش .in هست.

فایل ورودی abinit

هر عبارتی که بعد از # قرار میگیره به صورت کامنت هست، یعنی کد اون رو در نظر نمیگیره، بیخیالش میشه.

خب این هم از فایل ورودی، یکم سخت میشه بیشتر توضیح بدم.

می مونه یک فایل دیگه به اسم file names و یا files file.

ساختن این فایل خیلی راحته، فقط قراره 6 تا نیم خط توی یک ادیتور تایپ کنی

چی بنویسی حالا؟ این شش نیم خطی که الان توضیح میدم. برای هر اجرای ABINIT فرم کلی این فایل

به همین صورت و به همین ترتیبه.

یک تکس ادیتور باز کن و توش این عبارات زیر رو بنویس.

files

خط اول اسم فایل ورودی تو هست، تو داری به کد می گی که ورودی ای که داری اسمش چیه

خط دوم اسم فایل خروجی اصلی هست

خط سوم و چهارم اسم فایل ورودی و خروجی فرعی هست

خط پنجم اسم فایل موقتی temporary file هست <همون فایلی که وقتی اجرای برنامه تموم شه اون هم از بین میره>

و خط آخر اسم فایل شبه پتانسیلی که داری استفاده می کنی

<این اسم هایی که داری می بینی همشون دلبخواه هست مثلا ab نباشه اسمشون nasim باشه عدد 123 باشه

هر چی دلت خواست اسمشو بذار، اصلا مهم نیست ولی فرمت ها مهمه in و out گذاشتن و i و o گذاشتن مهمه>

حالا که اینا رو توش نوشتی فایلت رو ذخیره کن با پسوند .files

این هم سومین فایل ورودیت.

دیگه می تونی بری سراغ ران ABINIT

قسمت چهارم: اجرای (Run) کد ABINIT و بدست آوردن خروجی

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

خب توی یک مسیری این سه تا فایل ورودی کنار هم ذخیر شده، هر کدوم از این فایل ها که وجود نداشته باشه

کد اجرا نمیشه و به شما error میده.

توی ترمینال یک cd بزن و وارد این مسیری شو که فایل هات توش ذخیره شدن تا کد رو run کنی

برای run کردن ABINIT فقط کافیه دستور زیر رو بزنی

نحوه اجرای کد abinit

> و < همون علامت کوچیک تر و بزگ تر روی کیبورد هست و ab.files اسم همون files file

که تو قسمت قبل آماده ش کردی.

وقتی در ادامه ی این دستور log رو هم بزنی، توی خروجی بتو یک log فایل هم میده،

هر error و warning ای که اجرای کد داشته باشه تو این log فایل قابل رویت هست.

خب اصلا واسه چی کد رو اجرا کردی؟ واسه اینکه خروجی های مورد نظرت رو بدست بیاری، اگه هیچ اروری وجود

نداشته باشه و کد تا آخر اجرا بشه خروجی های مورد نظرت هم بدست میاد، و در کنار اون سه فایل ورودیت،

فایل های خروجی دیگه هم ظاهر میشه. یک خروجی اصلی با پسوند .out یک

خروجی که توش مقادیر ویژه انرژی هست، یک خروجی که توابع موج رو بت میده، یک خروجی که

چگالی بار رو بت میده و … .

out

 

 



پاسخ دهید

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

This site is protected by wp-copyrightpro.com