ریستارت کردن محاسبات در گوسین
- توضیحات
- منتشر شده در یکشنبه, 20 ارديبهشت 1394 08:41
- نوشته شده توسط حسین حجی آبادی
- بازدید: 13978
مکانیک کوانتوم توانایی بسیار بالایی برای پیشبینی خواص ساختارهای مولکولی دارد بااینحال استفاده از مکانیک کوانتوم برای حل مسائل نیازمند انجام محاسبات پیچیده و پرهزینه است. حجم این محاسبات با افزایش تعداد الکترونها و بزرگتر شدن مجموعه توابع پایه مورداستفاده بهسرعت و بهصورت نمایی افزایش مییابد. یک محاسبه ساختار الکترونی بر روی ترکیبی با تعداد زیادی اتم ممکن است تا چندین ماه طول بکشد. در طول این مدت به دلایل مختلف ممکن است محاسبه بهصورت ناتمام قطع شود. چنین حالتی بسیار درد آورد خواهد بود اگر کاربر مجبور باشد چنین محاسبه ای را از ابتدا شروع کند. خوشبختانه در اکثر نرمافزارهای محاسباتی تسهیلاتی برای ریستارت کردن محاسبات وجود دارد. با توجه به پرسشهای بسیاری که درباره ریستارت کردن نرمافزار محاسباتی گوسین از من پرسیده شده، تصمیم گرفتم تا در این مقاله بهصورت اختصاصی به این موضوع بپردازم.
ریستارت کردن محاسبات موفق
تکنیک ریستارت کردن محاسبات نهتنها برای محاسبات ناتمام بلکه برای محاسباتی که بهدرستی به پایان رسیدهاند نیز استفاده میشود و درواقع کاربرد اصلی ریستارت کردن برای چنین مواردی است. بهعنوانمثال فرض کنید بعد از انجام یک محاسبه بخواهید محاسبه را با تابع پایه بزرگتر و یا روشی دقیقتر ادامه دهید و یا بعد از انجام محاسبه بهینهسازی ساختار (optimization) بخواهید محاسبات دیگری بر روی ساختار بهینهشده مانند محاسبه فرکانسهای ارتعاشی انجام دهید.
ریستارت کردن محاسبات در گوسین با استفاده از فایل چک پوینت (Check Point) انجام میشود. فایل چک حاوی نتایج محاسبه است و در هر مرحله از محاسبه آپدیت میشود. برای ریستارت کردن محاسبات فایل چک باید صراحتاً در فایل ورودی مشخص شود. در مرحله بعد اطلاعات از این فایل خروجی با استفاده از کلمات کلیدی خاصی بازیابی میشود. روند انجام کار در مثال زیر نمایش دادهشده است.
فایل ورودی اول یک محاسبه بهینهسازی ساختار را از نرمافزار درخواست میکند. خط اول این فایل تعیین میکند که نتایج محاسبه در فایل d_glucose.chk ذخیره شود. فایل دوم از نرمافزار میخواهد تا یک محاسبه فرکانس روی ساختار بهینهشده در محاسبه قبل انجام دهد. توجه کنید که در این فایل از همان فایل چک محاسبه قبل استفادهشده است. عبارت Geom=Checkpoint در خط دستور به نرمافزار میگویند که مختصات مولکول را از فایل چک بخواند. توجه کنید که مختصات در فایل ورودی وجود ندارد. همچنین عبارت Guess=read به نرمافزار میگوید که توابع موج را از فایل چک بخواند. علاوه بر این دو دستور، چندین دستور دیگر برای بازیابی اطلاعات از فایل چک وجود دارد که در جدول زیر معرفیشدهاند.
خواندن مختصات مولکول از فایل چک | Geom=CheckPoint |
خواندن مختصات، بار، چندگانگی و عنوان کار از فایل چک | Geom=AllCheckPoint |
خواندن مجموعه توابع پایه از فایل چک | ChkBasis |
استفاده از توابع موج ذخیره شده در فایل چک برای ساختن حدس اولیه توابع موج | Guess=Read |
خواندن دانسیته از روی فایل چک. این گزینه برای آنالیز جمعیت و یا ساخت فایل Cube از روی تابع موجی که قبلا محاسبه شده کاربرد دارد. در صورت استفاده از این کلمه کلیدی تابع موج دوباره محاسبه نخواهد شد.. | Density=CheckPoint |
۳۴ مؤلفه چند قطبی یک میدان متناهی از فایل چک خوانده خواهد شد. | Field=CheckPoint |
۳ مؤلفه میدان دوقطبی الکتریکی از فایل چک خوانده خواهد شد. | Field=EChk |
بارهای نقطه ای از فایل چک خوانده خواهند شد. | Charge=Check |
لینک کردن محاسبات
مثال قبل به ما نشان داد که چگونه با استفاده از تکنیک ریستارت کردن، میتوان چندین محاسبه مختلف را روی یک ترکیب خاص انجام داد، به صورتی که هر محاسبه از نتایج محاسبه قبل استفاده کند. با استفاده از تکنیک لینک کردن میتوان ورودی تمام محاسبات را در یک فایل قرارداد.
عبارت –link1—به نرمافزار میگوید ادامه فایل مربوط به یک محاسبه جدید است. یک فایل ورودی میتواند از تعداد زیادی محاسبه مختلف که به هم لینک شدهاند تشکیلشده باشد. توجه کنید که عبارت –link1—با اطلاعات محاسبه قبلی خود یک خط فاصله دارد.
ریستارت کردن محاسبات ناموفق
یک محاسبه گوسین ممکن است به دلایل مختلفی بهصورت ناموفق به پایان برسد. در بیشتر موارد ریستارت کردن محاسبه ناموفق استراتژی بهتری نسبت به انجام محاسبه از ابتدا است. بهعنوانمثال فرض کنید که یک محاسبه بهینهسازی ساختار براثر کم بودن تعداد سیکلهای optimization بهصورت ناموفق به پایان برسد. در این مورد میتوان همراه با واردکردن تعداد بیشتری سیکل، با استفاده از کلمه کلیدی opt=restart محاسبه را دوباره از جایی که پایانیافته ادامه داد.
توجه کنید که مانند مورد قبل فایل چک صراحتاً در فایل ورودی مشخصشده است و ورودی دوم به همان فایل چک اشاره میکند. فایل ورودی دوم نیازی به مختصات مولکولی، بار و چندگانگی ندارد زیرا این اطلاعات از فایل چک قرائت خواهد شد.
گوسین علاوه بر بهینهسازی ساختار قادر به انجام تعداد زیادی محاسبه دیگر است، که بسیاری از آنها قابلیت ریستارت شدن دارند. جدول زیر شامل دستورهای لازم برای ریستارت کردن این محاسبات است.
ریستارت کردن یک محاسبه انرژی ناتمام از فایل چک. | 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
دیدگاهها
سلام
بله درسته. در صورت استفاده از روش TS ساختار حدواسط کافیه. ا البته این روش در صورتی کارمیکنه که ساختار حدسی شما به ساختار حدواسط نزدیک باشه.
با احترام
اگه ممکنه در مورد سوالی که تو مرحله تعیین حدواسط بهش برخوردم بهم کمک کنید
اگه از روش TS بخوایم استفاده کنیم فقط ساختار حدواسط حدس زده شده کافیه؟؟ دیگه به ساختار اولیه و نهایی نیازی نداریم دیگه؟؟؟ کلا کی بهتر از روش TS بجای QST2 یا QST3 استفاده بشه؟؟/
سلام
ممنون لطف دارید شما.
بله باید بار کل و چندگانگی کل رو در فایل ذکر کنید. مثلا اگر بار یک قسمت منفی یک و بار قسمت دیگه مثبت یک است بار کل شما صفر میشه. در مورد چندگانگی هم اول تعداد الکترونهای فرد کل سیستم رو محاسبه کنید و عدد بدست آمده رو بعلاوه یک کنید.
با احترام
با سایت شما جدیدا آشنا شدم. بسیار عالیه و مفید است.
اگر ممکن میشه به من هم یک راهنمایی بفرمایید؟؟؟؟ یه محاسبه TS میخوام انجام بدم. دو واکنش دهنده دارای بار هستند و چندگانگی متفاوت . تو فایل ورودی باید کل بار و چندگانگی آورده بشه؟؟؟؟
اگر اینطوره که در یک مورد اشکال پیدا میشه.مثلا singlet مجاز است که نباید اینطور باشه.
متشکرم از راهنمایی شما
سلام و مرسی از لطف شما
همونطوری که خودتون گفتید این پیغام خطا نیست فقط با توجه به بزرگ بودن گرادیان برنامه به جای روش نیوتن رافسون از روش steep استفاده میکنه. در نهایت اگر محاسبه همگرا بشه و به جواب برسید مشکلی نیست.
یک محاسبه بهینه انجام دادم خطا نمیده اما درحین محاسبه یک پیام بصورت
gradient too larg for newton-raphson -- use scaled steepest descent instead میده لطفا راهنمایی کنید
تشکر از لطف شما
سلام
با توجه به اینکه محاسبه TS انجام دادید باید یک و تنها یک فرکانس منفی به دست بیارید و وجود چند فرکانس منفی نرمال نیست حتی اگر محاسبه بدون خطا تمام شده باشه.
دقیقا نگفتید از چه روشی استفاده کردید. ولی در مرحله اول ساختارهای ورودی رو عوض کنید. سعی کنید حالتگذار، واکنش دهنده ها و محصول رو بهتر حدس بزنید
و بهتره از روش QST3 استفاده کنید.
اگه لطف کنید دستورات مختلف گوسین را گذاشته و در مورد کاربرد هر کدام توضیح دهید و اینکه هر دستور خط چه اطلاعاتی میدهد .
سپاس فراوان
سلام.
کتاب Exploring Chemistry with Electronic Structure Methods را از کانال تلگرام نیکوپردازش دانلود کنید. ص ۱۵۴ تا ۱۶۰ قسمت modeling thermochemistry را مطالعه بفرمایید.
همچنین سایت زیر توضیحات مختصری داده
http://gaussian.com/gn/