آموزش ساخت ورودی برای نرم افزار محاسباتی گوسین

نرم افزارهای محاسبات علمی به رغم اینکه بسیار پیچیده و متشکل از هزاران خط کد هستند، ظاهر بسیار ساده ای دارند. برخلاف بسیاری از نرم افزارهای متداول مانند نرم افزارهای آفیس، نرم افزارهای طراحی، فتوشاپ و غیره که از تعداد زیادی منو و دکمه تشکیل شده اند، نرم افزارهای محاسباتی فاقد رابط گرافیکی اند (و یا دارای رابط گرافیکی بسیار ساده در برخی از پلت فرمها هستند). تنظیمات و اطلاعات مورد نیاز این نرم افزارها نه از طریق رابط گرافیکی بلکه به وسیله یک فایل ساده متنی به این نرم افزارها منتقل می شود.به صورت کلی انجام یک محاسبه علمی را می توان به سه مرحله تقسیم کرد: 1) ساخت فایل ورودی 2) اجرای دستور محاسبه 3) تفسیر فایل خروجی.فایل ورودی برای هر نرم افزاری دارای قالب (فرمت) خاص خود است و از کلمات کلیدی خاصی تشکیل شده است که به نرم افزار می گوید: برای چه ساختاری، چه محاسبه ای، و به چه نحوی انجام دهد.

در این مقاله و چند مقاله آتی قالب فایل ورودی نرم افزارهای محاسباتی مختلف معرفی خواهد شد. در اولین مقاله از این سری از مقالات ابتدا به سراغ متداول ترین نرم افزار محاسباتی (Gaussian 09)خواهیم رفت.

g09 input

همانطور که گفته شده فایل ورودی نرم افزار Gaussian یک فایل ساده متنی (با استانداردASCII) است. ساده بودن این فایل به این معنی است فایل باید فاقد هرگونه قالب نگارشی مانند نوع و اندازه قلم، پاراگراف بندی، رنگ و غیره باشد. به همین علت برای تهیه فایل­های ورودی باید از یک نرم افزار text editor ساده مانند vi یا gedit در محیط یونیکس و یا notepad در محیط ویندوز استفاده شود.

برای آشنایی بهتر با فایل ورودی Gaussian یک نمونه فایل ورودی در شکل بالا آورده شده است. همانطور که در این شکل ملاحظه می شود، فایل ورودی از قسمت های مختلفی تشکیل شده که در ادامه هر یک از قسمت ها توضیح داده خواهد شد. توجه کنید که برخی از این قسمت ها به یک خط خالی ختم می شوند و برخی دیگر نیازی به خط خالی در انتها ندارند که این خط خالی قسمتی از قالب ورودی است و دقیقا باید رعایت شود. در ورودی نمایش داده شده اولین قسمت link 0 نام دارد که با علامت % شروع می شود. لینک صفر حاوی کلید واژه هایی است که نحوه ی به کار گیری منابع سخت افزاری مانند آدرس و نام فایل های اسکرچ، میزان حافظه ای که باید استفاده شود، تعداد هسته سی پی یو و غیره را مشخص می کنند. یک فایل ورودی می توانند بدون لینک صفر و یا دارای بیش از یک لینک صفر باشد. در مثال بالا عبارت %Chk=water.chk مشخص می کند که نتایج محاسبات باید در فایلی با نام water.chk ذخیره شود و عبارت %nProsShared=4 تعیین می کند که باید از چهار هسته پردازنده برای انجام محاسبه استفاده شود. توجه کنید که لینک صفر به خط خالی ختم نمی شود.

قسمت بعدی در فایل ورودی خط دستور یا route section است. خط دستور همواره با علامت # شروع می شود. این خط به نرم افزار می گوید که چه نوع محاسبه ای را انجام دهد و همچنین شامل تنظیمات نرم افزاری مربوط به انجام محاسبه است. برای کنترل سطح ذخیره سازی اطلاعات در فایل خروجی می توان به جای علامت # از علامت #T و یا #P استفاده کرد که به ترتیب باعث خلاصه شدن و افزوده شدن اطلاعات این فایل می شوند. در فایل ورودی بالا سه کلید واژه در خط دستور وجود دارد. کلید واژه اول عبارت HF است که مشخص می کند محاسبه باید با استفاده از روش هارتری- فک انجام شود. کلید واژه دوم عبارت 6-31G(d,p) است که نوع تابع پایه مورد استفاده را تعیین می کند. دقت نتایج یک محاسبه ساختار الکترونی وابسته به تابع پایه آن است. هرچه تابع پایه مورد استفاده بزرگتر باشد، دقت نتایج نیز بیشتر است. کلید واژه سوم عبارت opt است که نوع محاسبه را تعیین می کند. در این مثال یک محاسبه بهینه سازی ساختار (optimization) از نرم افزار درخواست شده است. توجه کنید که ترتیب کلید واژه ها در خط دستور اهمیت ندارد. این کلید واژه ها را می توان با استفاده از فضای خالی، کاما و یا اسلش (space, commas or slash) از یکدیگر جدا کرد. همچنین ورودی نرم افزار به صورت کلی حساس به حروف بزرگ و کوچک نیست بنابراین خط دستور بالا را می توان به شکل های زیر نیز نوشت:

# hf 6-311G(d,p) OPT

# HF,OPT,6-311G(d,P)

# opt 6-311g(d,p)/hf

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

قسمت بعدی در فایل ورودی، عنوان(title) کار است. عنوان یک کار معمولاً شامل توصیفی مختصر از کار است. عبارات نوشته شده در این قسمت توسط نرم افزار تفسیر نمی شود و می تواند شامل هر عبارت دلخواهی باشد با این حال عنوان نباید شامل کارکترهای @ # ! - _ \ و کارکترهای کنترل (به خصوص Ctrl + G) باشد. توجه کنید که عنوان باید به یک خط خالی ختم شود.

آخرین قسمت در ورودی بالا شامل مشخصات مولکول مورد نظر است. در این قسمت ابتدا به ترتیب بار و چندگانگی (multiplicity) مولکول مورد نظر و سپس مختصات آن نوشته شده است. براین اساس مشخص است که مولکول مثال ما خنثی و یکتایی (singlet) است. همچنین با نگاه کردن به مختصات مولکول می توان دریافت که محاسبه بر روی یک مولکول آب انجام خواهد شد. در مثال ما ساختار مولکول آب با استفاده از سیستم مختصات کارتزین (دکارتی) نوشته شده است. مزیت استفاده از سیستم از کارتزین عمومی بودن آن است. به این معنی که این سیستم ساختار یکسانی در تمام نرم افزارهای محاسباتی و رسم ساختار مولکولی دارد. با این حال مختصات دکارتی تنها سیستم مختصات مورد قبول نرم افزار Gaussian نیست. هر چند ساختار یک مولکول را می توان به صورت دستی در فایل ورودی نوشت ولی این کار بجز برای ساختارهای بسیار کوچک بسیار طاقت فرسا است و معمولاً برای تهیه مختصات مولکول از یک نرم افزار سه بعدی رسم ساختار مولکول مانند Gaussview استفاده می شود.

g09 input2

در پایان ذکر چند نکته درباره فایل ورودی Gaussian ضروری است.

- با استفاده از علامت ! می توان در هر قسمت از فایل ورودی توضیح (comment) نوشت.

- برای وارد کردن محتویات یک فایل در فایل ورودی می توان از  علامت @ به شکل @filename استفاده کرد. با این کار نرم افزار Gaussian محتویات فایل خارجی را قرائت و به جای این عبارت قرار خواهد داد.

- برخی از کلید واژه های Gaussian دارای آپشن های خاصی هستند که این آپشن ها را می توان به یکی از شکل های زیر وارد کرد.

Keyword=option

Keyword(option)

Keyword=(option1, option2, …)

Keyword(option1, option2, …)

به عنوان مثال برای تعیین حداکثر تعداد سیکل های بهینه سازی، کلید واژه opt را می توان همراه با آپشن maxcycle به صورت: opt(maxcycle=n) به کار برد که n برابر با تعداد حداکثر سیکل های مورد نظر است.

- کلید واژه ها و آپشن های Gaussian می توانند به کوتاه ترین شکل بی مانندشان خلاصه شوند. به عنوان مثال آپشن conventional ( مربوط به کلید واژه SCF) می تواند به صورت conven نوشته شود. ولی این آپشن را نمی توان به صورت conv خلاصه کرد زیرا این عبارت حروف اول آپشن convergence نیز است.

- تمامی پارامترهای ورودی Gaussian دارای مقادیر پیش فرضی هستند که در صورت مشخص نشدن آنها در فایل ورودی از مقادیر پیش فرض استفاده می شود. به عنوان مثال در صورت مشخص نشدن نوع محاسبه در فایل ورودی، یک محاسبه انرژی (SP) انجام خواهد شد.

دیدگاه‌ها  

0 #151 حسین حجی آبادی 1397-04-13 20:19
به نقل از فاطمه:
سلام و وقت به خیر

مسیله ای که باش برخورد کردم و برام جای سوال داشت را با اجازتون مطرح میکنم اگر اطلاع داشتید و امکانش بود از راهنماییتون استفاده کنم
در مورد نمایش اوربیتالها توسط گاوس ویو- وقتی فایل خروجی گاوسین را باز میکنم سطوح انرژی با مقادیر مشخص نشان داده میشود اما با لود کردن فایل chk (جهت نمایش حجیم حالات اوربیتالی) سطوح انرژی (مقدارشان) عوض میشود- مسیله چیست؟ درک نمیکنم
و متوجه نمیشم-درست و غلط بودن کدام حالت؟!

ممنون از سایت خوب و ایجاد فرصتی برای به اشتراک گذاشتن تجربیات علمی - تحقیقاتی

عاقبت همگی خوبان خوش ان شالله

سلام و اوقات شما هم خوش
دقیقا کدوم اعداد رو با هم مقایسه کردید؟
اعداد خروجی گوسین با چیزی که در گوس‌ویو مشاهده می‌کنید باید یکسان باشند! البته گوس‌ویو انرژی اوربیتال‌ها رو یک رقم رند می‌کنه! اختلاف اعدادی که می‌گید در چه حدی است؟
با احترام
نقل قول کردن
0 #150 فاطمه 1397-04-10 06:42
سلام و وقت به خیر

مسیله ای که باش برخورد کردم و برام جای سوال داشت را با اجازتون مطرح میکنم اگر اطلاع داشتید و امکانش بود از راهنماییتون استفاده کنم
در مورد نمایش اوربیتالها توسط گاوس ویو- وقتی فایل خروجی گاوسین را باز میکنم سطوح انرژی با مقادیر مشخص نشان داده میشود اما با لود کردن فایل chk (جهت نمایش حجیم حالات اوربیتالی) سطوح انرژی (مقدارشان) عوض میشود- مسیله چیست؟ درک نمیکنم
و متوجه نمیشم-درست و غلط بودن کدام حالت؟!

ممنون از سایت خوب و ایجاد فرصتی برای به اشتراک گذاشتن تجربیات علمی - تحقیقاتی

عاقبت همگی خوبان خوش ان شالله
نقل قول کردن
0 #149 فاطمه 1397-04-10 06:42
سلام و وقت به خیر

مسیله ای که باش برخورد کردم و برام جای سوال داشت را با اجازتون مطرح میکنم اگر اطلاع داشتید و امکانش بود از راهنماییتون استفاده کنم
در مورد نمایش اوربیتالها توسط گاوس ویو- وقتی فایل خروجی گاوسین را باز میکنم سطوح انرژی با مقادیر مشخص نشان داده میشود اما با لود کردن فایل chk (جهت نمایش حجیم حالات اوربیتالی) سطوح انرژی (مقدارشان) عوض میشود- مسیله چیست؟ درک نمیکنم
و متوجه نمیشم-درست و غلط بودن کدام حالت؟!

ممنون از سایت خوب و ایجاد فرصتی برای به اشتراک گذاشتن تجربیات علمی - تحقیقاتی

عاقبت همگی خوبان خوش ان شالله
نقل قول کردن
0 #148 فاطمه 1397-04-10 06:42
سلام و وقت به خیر

مسیله ای که باش برخورد کردم و برام جای سوال داشت را با اجازتون مطرح میکنم اگر اطلاع داشتید و امکانش بود از راهنماییتون استفاده کنم
در مورد نمایش اوربیتالها توسط گاوس ویو- وقتی فایل خروجی گاوسین را باز میکنم سطوح انرژی با مقادیر مشخص نشان داده میشود اما با لود کردن فایل chk (جهت نمایش حجیم حالات اوربیتالی) سطوح انرژی (مقدارشان) عوض میشود- مسیله چیست؟ درک نمیکنم
و متوجه نمیشم-درست و غلط بودن کدام حالت؟!

ممنون از سایت خوب و ایجاد فرصتی برای به اشتراک گذاشتن تجربیات علمی - تحقیقاتی

عاقبت همگی خوبان خوش ان شالله
نقل قول کردن
0 #147 حسین حجی آبادی 1397-02-13 08:23
به نقل از نجمه:
سلام.برای زیاد کردن حافظه در گوسین در ویندوز به چه صورت از rwf استفاده میشود؟

سلام
دستور rwf فضای مورد استفاده برای فایلها اسکرچ که روی دیسک ذخیره میشه رو تغییر میده. %rwf=آدرس و اسم فایل
برای تعیین کردن مقدار حافظ اصلی مورد استفاده از این عبارت استفاده کنید. %mem= مقدار حافظه
هردوی این عبارات باید قبل از خط دستور قرار بگیره
با احترام
نقل قول کردن
0 #146 نجمه 1397-02-10 07:49
سلام.برای زیاد کردن حافظه در گوسین در ویندوز به چه صورت از rwf استفاده میشود؟
نقل قول کردن
0 #145 حسین حجی آبادی 1396-10-30 20:33
به نقل از نجمه:
سلام.من از خروجی فایل opt شده یک ورودی تهیه کردم برای انجام محاسبات فرکانس.ایا باید در خط دستور فرکانس هم عبارت scrf= را ذکر کنم؟

سلام
کیورد scrf برای محاسبات در محیط محلوله و اگر منظورتون همین بوده، بله باید برای محاسبه فرکانس هم باید باشه. البته وقتی از خروجی ورودی میسازید معمولا کلمات کلیدی هم منتقل میشه ولی حتما چک کنید که باشه.
با احترام
نقل قول کردن
0 #144 نجمه 1396-10-29 10:52
سلام.من از خروجی فایل opt شده یک ورودی تهیه کردم برای انجام محاسبات فرکانس.ایا باید در خط دستور فرکانس هم عبارت scrf= را ذکر کنم؟
نقل قول کردن
0 #143 fz 1396-10-04 20:54
به نقل از حسین حجی آبادی:
به نقل از fz:
سلام
دستوری که برای بدست اوردن رفرکتیو ایندکس یا دانسیته هستش رو می تونید لطف کنید بهم بگین

سلام
تا جایی که من میدونم گوسین رفرکتیو ایندکس رو حداقل به صورت مستقیم محاسبه نمیکنه! برای بدست آوردن این پارامتر احتمالا باید محاسبات دیگه ای انجام بدید و بعد از نتایج اونها رفرکتیو ایندکس رو حساب کنید.
برای محاسبه دانسیته الکترونی هم از pop=reg استفاده کنید.
با احترام

ببخشید برای محاسبه دانسیته که گفتین pop=reg داخل خروجی باید چی سرچ کنم تا دانسیته رو که حساب کرد ببینم....
ممنونم از پاسخگویتون
نقل قول کردن
0 #142 حسین حجی آبادی 1396-10-04 19:26
به نقل از fz:
سلام
دستوری که برای بدست اوردن رفرکتیو ایندکس یا دانسیته هستش رو می تونید لطف کنید بهم بگین

سلام
تا جایی که من میدونم گوسین رفرکتیو ایندکس رو حداقل به صورت مستقیم محاسبه نمیکنه! برای بدست آوردن این پارامتر احتمالا باید محاسبات دیگه ای انجام بدید و بعد از نتایج اونها رفرکتیو ایندکس رو حساب کنید.
برای محاسبه دانسیته الکترونی هم از pop=reg استفاده کنید.
با احترام
نقل قول کردن
0 #141 fz 1396-10-04 16:30
سلام
دستوری که برای بدست اوردن رفرکتیو ایندکس یا دانسیته هستش رو می تونید لطف کنید بهم بگین
نقل قول کردن

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید