ریستارت کردن محاسبات در گوسین

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

ریستارت کردن محاسبات موفق

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

ریستارت کردن محاسبات در گوسین با استفاده از فایل چک پوینت (Check Point) انجام می‌شود. فایل چک حاوی نتایج محاسبه است و در هر مرحله از محاسبه آپدیت می‌شود. برای ریستارت کردن محاسبات فایل چک باید صراحتاً در فایل ورودی مشخص شود. در مرحله بعد اطلاعات از این فایل خروجی با استفاده از کلمات کلیدی خاصی بازیابی می‌شود. روند انجام کار در مثال زیر نمایش داده‌شده است.

 Geometry_Optimization_InputFrequency_Calculation

فایل ورودی اول یک محاسبه بهینه‌سازی ساختار را از نرم‌افزار درخواست می‌کند. خط اول این فایل تعیین می‌کند که نتایج محاسبه در فایل d_glucose.chk ذخیره شود. فایل دوم از نرم‌افزار می‌خواهد تا یک محاسبه فرکانس روی ساختار بهینه‌شده در محاسبه قبل انجام دهد. توجه کنید که در این فایل از همان فایل چک محاسبه قبل استفاده‌شده است. عبارت Geom=Checkpoint در خط دستور به نرم‌افزار می‌گویند که مختصات مولکول را از فایل چک بخواند. توجه کنید که مختصات در فایل ورودی وجود ندارد. همچنین عبارت Guess=read به نرم‌افزار می‌گوید که توابع موج را از فایل چک بخواند. علاوه بر این دو دستور، چندین دستور دیگر برای بازیابی اطلاعات از فایل چک وجود دارد که در جدول زیر معرفی‌شده‌اند.

خواندن مختصات مولکول از فایل چک  Geom=CheckPoint 
 خواندن مختصات، بار، چندگانگی و عنوان کار از فایل چک  Geom=AllCheckPoint
 خواندن مجموعه توابع پایه از فایل چک  ChkBasis
 استفاده از توابع موج ذخیره شده در فایل چک برای ساختن حدس اولیه توابع موج  Guess=Read
 خواندن دانسیته از روی فایل چک. این گزینه برای آنالیز جمعیت و یا ساخت فایل Cube از روی تابع موجی که قبلا محاسبه شده کاربرد دارد. در صورت استفاده از این کلمه کلیدی تابع موج دوباره محاسبه نخواهد شد..  Density=CheckPoint
 ۳۴ مؤلفه چند قطبی یک میدان متناهی از فایل چک خوانده خواهد شد.  Field=CheckPoint
 ۳ مؤلفه میدان دوقطبی الکتریکی از فایل چک خوانده خواهد شد.  Field=EChk
 بارهای نقطه ای از فایل چک خوانده خواهند شد.  Charge=Check

لینک کردن محاسبات

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

Gaussian_Multiple_Input_Jobs

عبارت –link1—به نرم‌افزار می‌گوید ادامه فایل مربوط به یک محاسبه جدید است. یک فایل ورودی می‌تواند از تعداد زیادی محاسبه مختلف که به هم لینک شده‌اند تشکیل‌شده باشد. توجه کنید که عبارت –link1—با اطلاعات محاسبه قبلی خود یک خط فاصله دارد.

ریستارت کردن محاسبات ناموفق

یک محاسبه گوسین ممکن است به دلایل مختلفی به‌صورت ناموفق به پایان برسد. در بیشتر موارد ریستارت کردن محاسبه ناموفق استراتژی بهتری نسبت به انجام محاسبه از ابتدا است. به‌عنوان‌مثال فرض کنید که یک محاسبه بهینه‌سازی ساختار براثر کم بودن تعداد سیکل‌های optimization به‌صورت ناموفق به پایان برسد. در این مورد می‌توان همراه با واردکردن تعداد بیشتری سیکل، با استفاده از کلمه کلیدی opt=restart محاسبه را دوباره از جایی که پایان‌یافته ادامه داد.

restart_gaussian_job_after_fail

توجه کنید که مانند مورد قبل فایل چک صراحتاً در فایل ورودی مشخص‌شده است و ورودی دوم به همان فایل چک اشاره می‌کند. فایل ورودی دوم نیازی به مختصات مولکولی، بار و چندگانگی ندارد زیرا این اطلاعات از فایل چک قرائت خواهد شد.

گوسین علاوه بر بهینه‌سازی ساختار قادر به انجام تعداد زیادی محاسبه دیگر است، که بسیاری از آن‌ها قابلیت ریستارت شدن دارند. جدول زیر شامل دستورهای لازم برای ریستارت کردن این محاسبات است.

ریستارت کردن یک محاسبه انرژی ناتمام از فایل چک.  SCF=Restart
 ریستارت کردن یک محاسبه بهینه سازی ساختار ناتمام از فایک چک.  OPT=Restart
 ریستارت کردن یک محاسبه مسیر طبیعی واکنش ناتمام و یا ریستارت کردن یک محاسبه تمام شده به منظور افزایش تعداد نقاط مسیر واکنش.  IRC=Restart
 ریستارت کردن یک محاسبه پویش سطح انرژی پتانسیل ناتمام.  Scan=Restart
 ریستارت کردن یک محاسبه فرکانس ارتعاشی ناتمام. (محاسبه فرکانس تحلیلی قابلت ریستارت شدن ندارد)  Freq=Restart
 ریستارت کردن یک محاسبه CIS ناتمام.  CIS=Restart
 ریستارت کردن محاسبه قطبش پذیری عددی ناتمام.  Polar=Restart

ریستارت کردن پس از قطع برق با کمی شانس!

مشکلی که بسیاری از پژوهشگران در ایران با آن مواجه هستند، قطع برق در هنگام انجام محاسبه است. این مسئله بخصوص برای محاسبات وقت‌گیر بیشتر نمود پیدا می‌کند. متأسفانه نرم‌افزار گوسین در این مورد چندان خوب عمل نمی‌کند. اگر قطع برق در هنگامی رخ دهد که نرم‌افزار در هنگام نوشتن فایل چک است نتایج مرحله آخر به‌صورت ناقص ذخیره‌شده و نتایج مراحل قبل نیز قابل بازیابی نخواهد بود. در چنین موردی فایل چک قابل‌استفاده نخواهد بود و به‌اصطلاح فاسد خواهد شد. بااین‌حال نرم‌افزار گوسین پیوسته در حال نوشتن فایل چک نیست و اگر کمی خوش‌شانس باشید می‌توانید پس از قطع برق محاسبه را ریستارت کنید.

نکته آخر

هنگامی‌که یک محاسبه ریستارت می‌شود فایل چک محاسبه اولیه بازنویسی خواهد شد. درصورتی‌که ورودی ریستارت درست نوشته‌نشده باشد به‌احتمال‌زیاد فایل چک اولیه خراب خواهد شد. بنابراین توصیه می‌شود قبل از ریستارت کردن یک محاسبه از فایل چک نسخه پشتیبان تهیه کنید. پشتیبان گیری در محیط یونیکس/لینوکس به‌راحتی با استفاده از دستور tar امکان‌پذیر است. به‌عنوان‌مثال برای پشتیبان گیری فایل چک مثال بالا دستور زیر را در پوشه حاوی فایل چک صادر کنید.

>$ tar –cvzf d_glucose.tar.gz d_glucose.chk

سپس در صورت خراب شدن فایل چک، به‌صورت زیر آن را بازیابی کنید:

>$ tar –xvzf d_glucose.tar.gz

دیدگاه‌ها  

0 #34 حسین حجی آبادی 1397-02-13 08:16
به نقل از شیلا:
متشکرم از راهنماییتون
اگه ممکنه در مورد سوالی که تو مرحله تعیین حدواسط بهش برخوردم بهم کمک کنید
اگه از روش TS بخوایم استفاده کنیم فقط ساختار حدواسط حدس زده شده کافیه؟؟ دیگه به ساختار اولیه و نهایی نیازی نداریم دیگه؟؟؟ کلا کی بهتر از روش TS بجای QST2 یا QST3 استفاده بشه؟؟/

سلام
بله درسته. در صورت استفاده از روش TS ساختار حدواسط کافیه. ا البته این روش در صورتی کارمیکنه که ساختار حدسی شما به ساختار حدواسط نزدیک باشه.
با احترام
نقل قول کردن
0 #33 شیلا 1397-01-28 05:51
متشکرم از راهنماییتون
اگه ممکنه در مورد سوالی که تو مرحله تعیین حدواسط بهش برخوردم بهم کمک کنید
اگه از روش TS بخوایم استفاده کنیم فقط ساختار حدواسط حدس زده شده کافیه؟؟ دیگه به ساختار اولیه و نهایی نیازی نداریم دیگه؟؟؟ کلا کی بهتر از روش TS بجای QST2 یا QST3 استفاده بشه؟؟/
نقل قول کردن
0 #32 حسین حجی آبادی 1397-01-14 13:02
به نقل از شیلا:
با سلام
با سایت شما جدیدا آشنا شدم. بسیار عالیه و مفید است.
اگر ممکن میشه به من هم یک راهنمایی بفرمایید؟؟؟؟ یه محاسبه TS میخوام انجام بدم. دو واکنش دهنده دارای بار هستند و چندگانگی متفاوت . تو فایل ورودی باید کل بار و چندگانگی آورده بشه؟؟؟؟
اگر اینطوره که در یک مورد اشکال پیدا میشه.مثلا singlet مجاز است که نباید اینطور باشه.
متشکرم از راهنمایی شما

سلام
ممنون لطف دارید شما.
بله باید بار کل و چندگانگی کل رو در فایل ذکر کنید. مثلا اگر بار یک قسمت منفی یک و بار قسمت دیگه مثبت یک است بار کل شما صفر میشه. در مورد چندگانگی هم اول تعداد الکترونهای فرد کل سیستم رو محاسبه کنید و عدد بدست آمده رو بعلاوه یک کنید.
با احترام
نقل قول کردن
0 #31 شیلا 1397-01-07 06:52
با سلام
با سایت شما جدیدا آشنا شدم. بسیار عالیه و مفید است.
اگر ممکن میشه به من هم یک راهنمایی بفرمایید؟؟؟؟ یه محاسبه TS میخوام انجام بدم. دو واکنش دهنده دارای بار هستند و چندگانگی متفاوت . تو فایل ورودی باید کل بار و چندگانگی آورده بشه؟؟؟؟
اگر اینطوره که در یک مورد اشکال پیدا میشه.مثلا singlet مجاز است که نباید اینطور باشه.
متشکرم از راهنمایی شما
نقل قول کردن
0 #30 حسین حجی آبادی 1396-05-29 04:26
به نقل از mahdi t:
با عرض سلام واحترام وتشکرازمطالب آموزنده در سایت
یک محاسبه بهینه انجام دادم خطا نمیده اما درحین محاسبه یک پیام بصورت
gradient too larg for newton-raphson -- use scaled steepest descent instead میده لطفا راهنمایی کنید
تشکر از لطف شما

سلام و مرسی از لطف شما
همونطوری که خودتون گفتید این پیغام خطا نیست فقط با توجه به بزرگ بودن گرادیان برنامه به جای روش نیوتن رافسون از روش steep استفاده میکنه. در نهایت اگر محاسبه همگرا بشه و به جواب برسید مشکلی نیست.
نقل قول کردن
+1 #29 mahdi t 1396-05-27 20:50
با عرض سلام واحترام وتشکرازمطالب آموزنده در سایت
یک محاسبه بهینه انجام دادم خطا نمیده اما درحین محاسبه یک پیام بصورت
gradient too larg for newton-raphson -- use scaled steepest descent instead میده لطفا راهنمایی کنید
تشکر از لطف شما
نقل قول کردن
0 #28 حسین حجی آبادی 1396-01-09 16:28
به نقل از فاطمه:
سلام. در دستور فرک تی اس چند تا فرک منفی به جای اولین فرک گرفتم.و در ‍ایان هم با نرمال تمام شده. آیا محاسبات مشکل دارد یا نه؟ در غیر این صورت چه کار کنم؟

سلام
با توجه به اینکه محاسبه TS انجام دادید باید یک و تنها یک فرکانس منفی به دست بیارید و وجود چند فرکانس منفی نرمال نیست حتی اگر محاسبه بدون خطا تمام شده باشه.
دقیقا نگفتید از چه روشی استفاده کردید. ولی در مرحله اول ساختارهای ورودی رو عوض کنید. سعی کنید حالت‌گذار، واکنش دهنده ها و محصول رو بهتر حدس بزنید
و بهتره از روش QST3 استفاده کنید.
نقل قول کردن
0 #27 فاطمه 1396-01-09 05:22
سلام. در دستور فرک تی اس چند تا فرک منفی به جای اولین فرک گرفتم.و در ‍ایان هم با نرمال تمام شده. آیا محاسبات مشکل دارد یا نه؟ در غیر این صورت چه کار کنم؟
نقل قول کردن
+3 #26 farhami 1395-12-19 16:28
با سلام
اگه لطف کنید دستورات مختلف گوسین را گذاشته و در مورد کاربرد هر کدام توضیح دهید و اینکه هر دستور خط چه اطلاعاتی میدهد .
سپاس فراوان
نقل قول کردن
-1 #25 حسین حجی آبادی 1395-12-14 21:58
به نقل از فاطمه:
با سلام محاسبه گرمای تشکیل به روش ترکیبی G4 خواستم .ممنون میشم سایتی یا کتابی معرفی کنین

سلام.
کتاب Exploring Chemistry with Electronic Structure Methods را از کانال تلگرام نیکوپردازش دانلود کنید. ص ۱۵۴ تا ۱۶۰ قسمت modeling thermochemistry را مطالعه بفرمایید.
همچنین سایت زیر توضیحات مختصری داده
http://gaussian.com/gn/
نقل قول کردن

نوشتن دیدگاه


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

اطلاعات تماس

mobile 09124683389

phone 026-32519599

Email info@nikopardazesh.com