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

نرم افزارهای محاسبات علمی به رغم اینکه بسیار پیچیده و متشکل از هزاران خط کد هستند، ظاهر بسیار ساده ای دارند. برخلاف بسیاری از نرم افزارهای متداول مانند نرم افزارهای آفیس، نرم افزارهای طراحی، فتوشاپ و غیره که از تعداد زیادی منو و دکمه تشکیل شده اند، نرم افزارهای محاسباتی فاقد رابط گرافیکی اند (و یا دارای رابط گرافیکی بسیار ساده در برخی از پلت فرمها هستند). تنظیمات و اطلاعات مورد نیاز این نرم افزارها نه از طریق رابط گرافیکی بلکه به وسیله یک فایل ساده متنی به این نرم افزارها منتقل می شود.به صورت کلی انجام یک محاسبه علمی را می توان به سه مرحله تقسیم کرد: 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 #128 حسین حجی آبادی 1396-08-25 06:54
به نقل از A.S:
به نقل از حسین حجی آبادی:
به نقل از A.S:
وجود اب به عنوان یک محصول فرعی تاثیری روی فرمول محاسبات انرژی تشکیل کمپلکسAB داره یانه؟
ممنون میشم اگه راهنمایی کنید

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


خب H وOH در ساختار واکنش دهنده ها وجود داره که در اثر واکنش مواد اولیه اب تولید شده. یعنی میتونه در میزان انرزی آنها تاثیر داشته باشه!

این طور که شما میگویید انرژی تشکیل محصول مقداری مثبت میشه. در حالی که به طریق تجربی ثابت شده این محصول پایداره و باید انرژی تشکیل منفی بده!

من به این صورت انرزی تشکیل حساب میکنم:
(Eform=E{AB}-(EA+EB)

من واقعا نمیدونم باید چه کار کنم!
ممنونم از وقتی که میذارید

اصلا مهم نیست که ترکیب شما چجوری بدست میاد! شما دنبال انرژی تشکیل هستید نه انرژی واکنش.
انرژی تشکیل یک ترکیب پایدار میتونه مثبت باشه. پایداری الزاما به معنی پایداری ترمودینامیکی نیست ترکیبتون میتونه از نظر سینتیکی پایدار باشه
نقل قول کردن
0 #127 A.S 1396-08-25 06:07
به نقل از حسین حجی آبادی:
به نقل از A.S:
وجود اب به عنوان یک محصول فرعی تاثیری روی فرمول محاسبات انرژی تشکیل کمپلکسAB داره یانه؟
ممنون میشم اگه راهنمایی کنید

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


خب H وOH در ساختار واکنش دهنده ها وجود داره که در اثر واکنش مواد اولیه اب تولید شده. یعنی میتونه در میزان انرزی آنها تاثیر داشته باشه!

این طور که شما میگویید انرژی تشکیل محصول مقداری مثبت میشه. در حالی که به طریق تجربی ثابت شده این محصول پایداره و باید انرژی تشکیل منفی بده!

من به این صورت انرزی تشکیل حساب میکنم:
(Eform=E{AB}-(EA+EB)

من واقعا نمیدونم باید چه کار کنم!
ممنونم از وقتی که میذارید
نقل قول کردن
0 #126 حسین حجی آبادی 1396-08-25 05:17
به نقل از A.S:
وجود اب به عنوان یک محصول فرعی تاثیری روی فرمول محاسبات انرژی تشکیل کمپلکسAB داره یانه؟
ممنون میشم اگه راهنمایی کنید

سلام
نه وجود آب تاثیری نداره. طبق تعریف انرژی تشکیل، شما باید انرژی کمپلکس رو از انرژی عناصر سازنده اش در حالت استانداردشون کم کنید
نقل قول کردن
0 #125 A.S 1396-08-24 19:50
وجود اب به عنوان یک محصول فرعی تاثیری روی فرمول محاسبات انرژی تشکیل کمپلکسAB داره یانه؟
ممنون میشم اگه راهنمایی کنید
نقل قول کردن
0 #124 A.S 1396-08-24 19:45
سلام
از واکنش A وB (به عنوان واکنش دهنده ها ) ؛کمپلکس AB و H2O (فراورده) تولید میشود. انرزی تشکیل AB به چه نحوی محاسبه می شود.؟؟؟؟
نقل قول کردن
0 #123 حسین حجی آبادی 1396-08-21 09:09
به نقل از zf:
داده رو از SCRF بگیرم درسته یا از b3lyp

سلام
ببینید b3lyp روش محاسباتی و scrf مدل حلاله. این دو تا کیبورد با هم منافاتی ندارند! هر دو کیبورد رو در خط دستور قرار بدید تا هم از روش b3lyp استفاده بشه و هم حلال مدل سازی بشه.
با احترام
نقل قول کردن
0 #122 zf 1396-08-20 22:03
داده رو از SCRF بگیرم درسته یا از b3lyp
نقل قول کردن
0 #121 zf 1396-08-20 18:58
سلام
ببخشید ایا می شه با دادههای SCRFکه داریم ترازهای انرژی رو هم بدست بیاریم...
اخه من وقتی با b3lyp تراز انرژی رو بدست می ارم homo , lomo با داده scrf فرق داره
می خواستم ببینم چیکار می تونم انجام بدم
ممنونم از پاسخگویتون
نقل قول کردن
0 #120 حسین حجی آبادی 1396-08-19 17:11
به نقل از شیمی زنجان:
برای به دست آوردن انرژی تشکیل یک محصول در صورتی که در طی واکنش، دو واکنش دهنده چند محصول تولید شده باشد چه کار میکنیم؟

سلام
ببینید انرژی تشکیل تعریف مشخصی داره که درواقع انرژی واکنش تشکیل یک ترکیب از عناصر سازنده اش در شرایط استاندارده. بنابراین به سادگی با محاسبه انرژی ترکیب و عناصر سازنده اش بدست میاد.
با احترام
نقل قول کردن
0 #119 حسین حجی آبادی 1396-08-19 17:05
به نقل از شیمی:
سلام. ممنون از پاسخگویی شما.
برای محاسبات pcm دستور چی هست و در انتها کدام کی ورد را مینویسیم؟
بعد در خروجی فایل با چه عنوانی دنبال داده باشیم؟ (DeltaG(solve ؟

سلام
برای محاسبات PCM باید عبارتی شبیه به این در خط دستورتون داشته باشید.
SCRF=(PCM,Solvent=water)l
اگر انرژی آزاد مد نظرتونه با استفاده از همین کیبورد ابتدا ساختار رو بهینه و سپس محاسبه فرکانس انجام بدید.
با احترام
نقل قول کردن

نوشتن دیدگاه


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