04/04 1397

آموزش کد محاسباتی 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 را ببینید که ساخته شده است.

 

------------------------------------

منبع : www.comphys.ir