آموزش کد محاسباتی Wien2k (بخش اول)

بسته‌ی محاسباتی WIEN2k شامل مجموعه­ ای از برنامه‌ها‌ی محاسباتی به زبان فرترن و قابل اجرا تحت سیستم عامل لینوکس است که در چارچوب نظریه‌ی تابعی چگالی (DFT) کار می کند و مبنای محاسبات آنموج تخت بهبود یافته‌ی خطی با اوربیتال موضعی (LAPW+lo) است که بیشترین دقت را در محاسبه‌ی ساختار نواری دارد.

WIEN2k با بکارگیری روش تمام پتانسیلی، برای حل معادلات تک‌ذره‌ی کوهن‌ـ شم، قابلیت محاسبه‌ی طیف وسیعی از خواص از جمله خواص ساختاری، الکترونی، مغناطیسی و اپتیکی بلورهای جامد در دمای صفر را دارد؛ همچنین این کد قادر است که نوارهای انرژی (Band structure)، چگالی حالات (DOS)‌، چگالی ابرالکترونی (RHO)، انرژی کل، نیروی وارد بر اتم‌ها، بهینه‌سازی ساختاری، گرادیان میدان الکتریکی، میدان‌های فوق‌ریز، خواص اپتیکی، میدان مغناطیسی حوالی هسته و… را محاسبه کند.

• شروع به کار

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

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

img63

TiC در ساختار سدیم کلرید

• نامگذاری ها

قبل از شروع توضیح مثال مورد نظر، نامگذاری ها که در ادامه ی این آموزش استفاده میشه رو توضیح میدم.

در سیستم های یونیکس فایل به شکل case.type نامگذاری میشن و تمام فایل های مورد نیاز برای اجراهامون باید تو زیر دایرکتوری ./case ذخیره شده باشن.

در این مثال منظور ما از case همون ترکیب TiC خواهد بود. یعنی:

case=TiC

نوع فایل “type” همیشه محتوای فایل رو توضیح میده برای مثال type=inm ورودی برنامه Mixer خواهد بود.

بنابراین ورودی زیر برنامه MIXER برای ترکیب TiC در فایل زیر ذخیره خواهد شد:

Tic.inm

که باید در زیر دایرکتوری ./Tic قراره گرفته باشه.

• شروع کار با w2web

برای اجرای محیط گرافیکی Wien2k باید در محیط لینوکس یک ترمینال باز کنید و دستور زیر رو در اون تایپ کنید و enter بزنید:

# w2web [-p xxxx]

اگر پورت پیش فرض (7890) توسط یک برنامه دیگه مورد استفاده قرار گرفته باشه با این خطا مواجه میشید:

w2web failed to bind port 7890 – port already in use!

اونوقت شما باید از یه پورت دیگه ( بین 1024 و 65536 ) استفاده کنید. لطفا این شماره پورت رو به خاطر بسپارید.

نکته: فقط کاربر root قادر خواهد بود از شماره پورت زیر 1024 استفاده کنه.

در ابتدای اجرای دستور w2web از شما درخواست نام کاربری و پسورد میشه که قبلا حین تنظیم w2web وارد کردید.

• وصل شدن به سرور w2web

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

http://hostname_where_w2web_runs:7890

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

# ps -ef \vert grep w2web

بعد از تایپ آدرس در مرورگر باید چیزی مشابه تصویر زیر مشاهده کنید:

img65

صفحه ابتدایی w2web

• ساخت یک نشست (session) جدید

رابط کاربری w2web برای مجزا کردن محیط های کاری از نشست ها استفاده می کنه تا سریعا بشه بین محاسبات مختلف سوئیچ کرد. اول از همه شما باید یک نشست جدید ایجاد کنید (یا اینکه یکی از قبلیا رو انتخاب کنید). در کادر مربوطه عبار “TiC” رو تایپ کنید و روی دکمه ی “Create” کلیک کنید.

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

• ایجاد یک دایرکتوری جدید برای مورد ترکیب مورد نظر

با استفاده از “Session Mgmt. \rightarrow change directory” می تونید یکی از دایرکتوری های موجود را اتخاب کنید یا اینکه یک دایرکتوری جدید بسازید. برای مثال برای این مورد یک پوشه lapw بسازی بعد یک پوشه به اسم “TiC” داخل اون درست کنید و این پوشه رو به عنوان پوشه کاری در نظر بگیرید.

بعد از کلیک بر روی Click to restart session صفحه اصلی w2web برای شما باز میشه.

img67

صفحه اصلی w2web

• ساخت فایل ورودی اصلی به اسم case.struct

برای ساخت فایل TiC.struct تولید کننده فایل ساختار رو از با استفاده از “Execution \rightarrow StructGen” اجرا کنید.

img70

برنامه تولید ساختار w2web

برای مورد جدید w2web یک ساختار نمونه خالی می سازد که در آن می توانید اطلاعات مورد نظر را ذخیره کنید. بعدا این اطلاعات استفاده میشه تا فایل TiC.struct ساخته بشه.

در مرحله اول باید تعداد اتم های غیر معادل رو مشخص کنید ( که برای مورد TiC دو اتم هستش) و در مرحله بعد اطلاعات زیر رو در کادر های سفید مورد نظر وارد کنید:

table1

روی “Save structure” کلیک کنید (عدد اتمی به صورت اتوماتیک آپدیت می شود) و گزینه “set automatically RMT and continue editing” رو بزنید.

این فاصله نزدیک ترین همسایه ها رو با استفاده از برنامه nn محاسبه می کنه بعد از اون setrmt_lapw مقادیر بهینه RMT (شعاع مافین تین، شعاع کره های اتمی) رو بدست میاره. برای کسب اطلاعات بیشتر در مورد فسلفه تنظیم RMT ها به این لینک مراجعه کنید.

RMT ها رو برای سلسله از محاسبات ثابت نگه دارید (مثلا وقتی میخواید حجم رو بهینه کنید)، همچنین شما الان باید تصمیم بگیرید که میخواید یه محاسبه تنها با پارامتر های ساختار ثابت انجام بدید یا اینکه تصمیم دارید یک محاسبه ریلکس بر روی پارامتر های داخلی انجام بدید (با استفاده از نیرو ها و min_lapw) و یا حجم رو بهینه کنید که نیاز داره RMT رو کاهش بدید.

ما چون در ادامه این آموزش میخوایم که حجم رو هم بهینه کنیم این شعاع رو به اندازه 3 درصد کاهش میدیم.

وقتی که کارتون تموم شد StructGen رو با کلیک بر روی دکمه “save file and clean up” ببندید. این کار فایل TiC.struct رو که ورودی اصلی برای تمام اجراهای بعدیه رو براتون میسازه. این کار همچنین فایل ورودی برای برنامه اتم آزاد lstart یعنی TiC.inst رو هم میسازه.

• چند نکته در مورد StructGen

شما باید بعد از هر تغییر بر روی Save Structure کلیک کنید. فقط اگر میخواد دیگه بعدش تغییری ایجاد نکنید یک جایگاه/اتم اضافه/حذف کنید.

در گروه فضایی مرکز سطحی (مرکز حجمی) شما فقط باید یک اتم وارد کنید.

StructGen چند حالت برای وارد کردن جایگاه ها پیشنهاد می کنه. هر جایگاه از اتم های همسان رو میشه به صورت کسری وارد کرد (مثل 1/3) یا به صورت یک عبارت ساده ( مثلا 0.21+1/3). اولین جایگاه متغیر های x y z رو تعریف می کنه که می تونه سایر جایگاه ها رو تولید کنه ( مثل -y x -z+1/2)

اگه بعد از ذخیره ساختار به مسیر “Files \rightarrow show all files” برید می تونید تو فایل TiC.struct و TiC.inst رو ببینید که ساخته شده.

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

تا آموزش بعدی  🙂

 

 


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


یک دیدگاه

  • سلام , مهمان
  • خروج
  • ورود

    Or use one of these social networks

  • سلام دکتر اقا در مورد نکته ای که درباره پورت ۷۸۹۰ نوشتی خواستم تشکر کنم یه روز کامل وقتم‌ به خاطر همون اروری که گفتی تلف شده بود خدا خیرت بده موفق باشی

This site is protected by wp-copyrightpro.com