آموزش کد محاسباتی سیستا (توابع پایه)

در این آموزش قصد داریم با نحوه به کار گیری توابع پایه و تأثیر اونها روی مقادیر خروجی در سیستا آشنا بشیم. 

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

چگونگی تعریف توابع پایه در سیستا

اگر تنظیم خاصی در نظر گرفته نشه مقدایر پیش فرض به صورت زیر انتخاب میشن:

Basis size:                        PAO.BasisSize                      DZP
Range of first-zeta:            PAO.EnergyShift                  0.02 Ry
Second-zeta:                    PAO.BasisType                     Split
Range of second-zeta:       PAO.SplitNorm                     0.15
Confinement:                   Hard well

برای هر دسته از توابع پایه یک ریلکسیشن از سلول پایه در نظر میگیریم.

برای این کار خطوط زیر به فایل ورودی اضافه شدن:

در اینجا دو قید رو برای کمینه سازی در نظر گرفتیم:

  • مکان اتم ها در سلول واحد
  • تنش برشی که زاویه بین بردار های سلول واحد رو 60 درجه نگه میداره

حالا ثابت شبکه رو ریلکس کرده و انرژی رو برای توابع پایه پیش فرض حساب می کنیم برای این کار کد زیر رو اجارا می کنیم:

# siesta < Si.default.fdf > Si.default.out

خوب حالا میخوایم خودمون توابع پایه رو تعریف کنیم. برای اینکار خطوط زیر رو به فایل ورودی اضافه می کنیم. (بلوک PAO.Basis)

در آموزش بعدی چند تابع پایه دیگه غیر از مورد پیش فرض رو بررسی می کنیم. در این آموزش فعلا تابع پایه ای تعریف نمی کنیم. بعد از اجرای دستوری که در بالا ذکر شد در فایل خروجی به دنبال مقادیر زیر میگردیم که در واقع ساختار تعادلی ما هستش:

بعد واهلش، سیستم در ساختار fcc باقی می مونه ثابت شبکه اون 5.41 آنگستروم خواهد بود.

 

 


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


پاسخ دهید

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