آموزش کد محاسباتی سیستا (محاسبه ثابت شبکه، مدول حجمی و انرژی تعادلی در جامدات)

در این آموزش سعی می کنیم به بررسی خواص ساختاری جامد سیلیکون بپردازیم. قبل از اینکه بریم سراغ محاسبه کمی در مورد تئوری های لازم صحبت می کنیم.

اول از همه باید در نظر داشته باشیم که راحت ترین پتانسیل ترمودینامیکی در آنالیز نظری ابتدا به ساکن انرژی کل در دمای صفر کلوین هستش که تابع کمیت زیره:

N تعداد و گونه های اتمی حاضر در سلول واحد

Ω حجم سیستم که به بردار های شبکه و ثوابت شبکه بستگی داره

S که در دمای صفر مقدارش صفره.

خیلی ساده است که ما محاسبات ساختار الکترونی رو در حجم ثابت انجام بدیم.

اولین محک: تعیین پیش بینی نظری Ω0 و B برای ساختار های بلوری شناخته شده

ابتدا باید یه سری کمیات رو تعریف کنیم:

انرژی             E(N,\Omega,S)

فشار             P=-\frac{dE}{d\Omega}

مدول حجمی      B=-\Omega \frac{dP}{d\Omega}=\Omega \frac{d^2 E}{d\Omega ^2}

حالا یه سوال پیش میاد که چرا ما دنبال Ω0 وهستیم؟ به دو دلیل:

  • می تونیم با دقت زیادی اندازه گیری شون کنیم
  • در دمای صفر مطلق میشه اونها رو برون یابی کرد

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

bulk_table

همچنین در جدول زیر که باز هم از کتاب کیتل برداشته شده مدول حجمی و تراکم پذیری لیست شده.

bulk_module_com

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

سیستم مورد بررسی: جامد سیلیکون – جامدی کووالانس که در ساختار الماسی متبلور می شود.

برای شروع فایل های مورد نیاز رو از انتهای همین مطلب دانلود کنید و روی سیستم خودتون در یک جای مشخص از حالت فشرده خارج کنید. بعد از این کار شما یک فایل ورودی Si.fdf خواهید داشت که محتویاتش به شکل زیره:

si_fdf

مراحل محاسبه حجم تعادلی و مدول حجمی

مرحله اول: یک ساختار معین رو در ورودی تعریف کنید، انرژی E رو برای مقادیر مختلفی از حجم Ω محاسبه کنید (در واقع یعنی هر مرحله حجم رو تغییر بدید که در اینجا چون ساختار مکعبی هستش یه ثابت بکه تعریف کردیم و همونو تغییر میدیم). برای اینکار یه ثابت شبکه تعریف کنید و دستور زیر رو در ترمینال بنویسید و اجرا کنید:

siesta < Si.fdf > Si.5.43.out

همانطور که می دونید و در مثال های قبلی هم بر اون تأکید شده اسم فایل خروجی آزاد هستش و شما هر اسمی دوست داشته باشید می تونید انتخاب کنید ولی در نظر داشته باشید چیزی بنویسید که بعدا که دوباره به این محاسبات مراجعه کردید برای شما معنی داشته باشه. مثلا اینجا ما اندازه ثابت شبکه رو تو اسم فایل خروجی نوشتیم.

در این مثال خاص شما می تونید ثابت شبکه رو از مقدار 5.35 آنگستروم تا مقدار 5.49 آنگستروم با گام هایی 0.02 آنگسترومی تغییر بدید و برای هر مرحله فایل خروجی رو ذخیره کنید.

برای محاسبه نمودار انرژی بر حسب حجم شما باید داده های مورد نیاز رو استخراج کنید برای این کار می تونید از دستور grep استفاده کنید:

grep "Total =" Si.*.out > Si.evslc.dat

بعد از اجرای این دستور فایل Si.evslc.dat رو ادیت کنید و فقط دو ستون به شکل زیر باقی بزارید. در نظر داشته باشید که در اینجا باید یه تغییر کوچیک در این فایل بدیم که به عنوان ورودی برای یه اسکریپ که بعدا توضیح میدم مورد استفاده قرار بگیره. شما باید یه خط به اول فایل اضافه کنید و نوع شبکه رو در اون مشخص کنید (cubic,fcc,bcc,diamond) که در این مثال ما نوع شبکه رو diamond در نظر میگریم.

result

که ستون اول ثابت شبکه و ستون دوم انرژی کل سلول واحده. حالا می تونید برای داده ها یه نمودار هم رسم کنید که به شکل زیر میشه

exercise-structure-si

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

مرحله دوم: برازش یک تابع تحلیلی مانند معادله حالت مورناگان

murnaghan_eq

B0 مدول حجمی در حجم تعادلی

B’0 مشتق مدول حجمی بر حسب فشار در حجم تعادلی

E0 انرژی کل در کمینه

برای این کار یک اسکریپت پایتون از قبل نوشته شده و شما می تونید از اون استفاده کنید. برای استفاده از این اسکریپت دستور زیر رو وارد کنید:

python fit_results.py Si.evslc.dat

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

ene_vol

البته مقادیر مدول حجمی و مشتق اون هم در ترمینال برای شما نشون داده میشه.

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

comp

این جدول از مقاله J. Junquera et al., Phys. Rev. B 64, 235111 2001 برداشته شده.

این هم آموزش امروز. تا آموزشی دیگر  😉

دانلود فایل های مورد نیاز

 


بنده دانشجوی دکترای فیزیک ماده چگال از دانشگاه تربیت مدرس تهران هستم. حوزه مورد علاقه من فیزیک محاسباتی (به طور خاص نظریه تابعیت چگالی) و همچنین سیستم های توپولوژیک است.


2 thoughts on “آموزش کد محاسباتی سیستا (محاسبه ثابت شبکه، مدول حجمی و انرژی تعادلی در جامدات)

  1. احمد

    سلام جناب دکتر.در مورد نرن افزار سیستا سوال داشتم.این نرم افزار از نظر اینده شغلی چجوری است‌.به طوز ساده بخوام بگم میشه با این نرم افزار پول در اورد.ممنونم

     

    [پاسخ]

    سجاد حمره پاسخ در تاريخ اسفند ۲۴ام, ۱۳۹۵ ۰۹:۴۵:

    مسئله درآمد و شغل در رابطه به این کدها زیاد به خود کد بستگی نداره. این خود شما و ایده های شما هستن که شغل ایجاد می کنن و یا باعث میشن شما درآمد کسب کنید. اول باید مشکلات رو بدونید بعد واسشون راه حل ارائه بدید و بعد هم بتونید کارفرماها رو قانع کنید که به کار شما ایمان بیارن و روی شما سرمایه گذاری کنن

     

    [پاسخ]

    پاسخ

پاسخ دهید

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