۷ نکته کاربردی برای اجرای سریعتر نرم افزار آباکوس
گاهی اوقات مدل خود را تنظیم میکنید، گزینه ران را فشار میدهید، اما اتفاق خاصی نمیافتد و برای مدت زمان زیادی صفحهای خالی را مشاهده میکنید. با خود میاندیشید که چگونه میتوانید سرعت اجرا(رانینگ) را افزایش دهید و یا میزان دقت نتایج را افزایش دهید. در اینجا نکاتی را برای اجرای سریعتر آباکوس بیان میکنیم.
۱-از عنصرهای اضافی استفاده نکنید
یکی از مواردی که باعث کاهش سرعت ران میشود، میزان درجه آزادی است، هرچه درجه آزادی بیشتر باشد، زمان شبیهسازی نیز بیشتر خواهد شد.
برای یک مسئله متقارن(سیمتریک) کافی است نصف مسئله را شبیهسازی کنید. این کار زمان شبیهسازی را نصف میکند. با استفاده از گزینه visualization میتوانید میزانی از مدل را که شبیسازی کردهاید مشاهده کنید. اگر ساختار شما دارای تقارن محوری باشد، سرعت شبیهسازی را به میزان بیشتری میتوانید کاعش دهید. در برخی موارد، هندسه و اولین مرحله بارگذاری دارای تقارن محوری است اما مراحل بعدی این تقارن را ندارند. در این موارد میتوانید مرحله اول را به صورت بارگذاری تقارن محوری شبیهسازی کنید. از مدل تقارن محووری، میتوان یک مدل ۳بعدی تولید کرد، ناحیه بارگذاریشده در مدل تقارن محوری را میتوان در مدل سه بعدی نیز کپی کرد. این کار باعث کاهش زمان شبیهسازی میشود.
۲- قراردادن دادههای اسکرچ در RAM سیستم
زیاد بودن درجه آزادی در هنگامیکه نتوان اسکرچ دیتاها را در حافظه ذخیرهکرد میتواند مشکلاتی را ایجاد کند. میزان فضای حافظه مورد نیاز برای ذخیره داده اسکرچ، هنگام دیتا چک مشخص میشود و در .dot file و تحت MEMORY TO MINIMIZE I/O قابل مشاهده است. اگر آباکوس به فضای بیشتری از فضای موجود در RAM نیاز داشته باشد، فضای مجازی مورد استفاده قرار میگیرد: از فضای دیسک بعنوان حافظه مجازی استفاده میشود. استفاده از دیسک باعث کاهش کیفیت عملکرد و افزایش زمان شبیهسازی میشود.
۳- اجازه ندهید یک عنصر خاص باعث کاهش سرعت شبیهسازی در آباکوس/صریح شود
یک الگوریتم صریح از لحاظ قیدی پایدار است. نرخ افزایش زمان باید به حدی کم باشد که این پایداری حفظ شود.
نرخ افزایش زمان پایدار به چگالی، سختی و اندازه عنصر بستگی دارد. برای تحلیل، از کمترین مقدار بدست آمده برای عناصر استفاده میشود. برای مثال اگر نرخ افزایش برای عنصری ۱e-5 و برای عنصری دیگر ۱e-7 باشد و برای تحلیل از ۱e-7 استفاده شود، شبیهسازی ۱۰۰ بار بیشتر طول خواهدکشید.
به همین دلیل بسیار مهم است که مشخص کنیم کدام عنصر، محدود کننده نرخ افزایش زمان است. ابزار mesh verify در قسمت مشزنی میتواند میزان کمبود نرخ افزایش زمان را برای هر عنصر مشخص کند. این کار به ما کمک میکند تا متوجه شویم ایجاد تغییرات در کدام قسمت بیشترین تاثیرات را خواهد گذاشت.
با تغییر مش میتوان سایز این عناصر را افزایش داد که نتیجه آن کاهش زمان شبیه سازی خواهد بود، مخصوصا در مورد عناصری که نرخ افزایش زمان پایدار کوچکتری نسبت به بقیه دارند.
۴- اسکیلبندی برای تحلیل شبه استاتیک در آباکوس/صریح
در تحلیل صریح با افزایش نرخ زمان پایدار یا کاهش زمان مجموع شبیهسازی، میتوان زمان شبیهسازی را کاهش داد.
در تحلیل شبه استاتیک، زمان شبیهسازی را با اعمال سریعتر نیرو میتوان کاهش داد. البته این روش را نمیتوان استفاده نمود زیرا اعمال سریع نیرو باعث ایجاد اثر دینامیکی شده و روش حل مسئله متفاوت میشود.
هنگامیکه از خصوصیات وابسته به نرخ استفاده میکنید، این خصوصیات را نیز باید مقیاس بندی کنید. در این موارد با افزایش نرخ زمان پایدار اسکیل بندی سادهتر خواهد بود.
با افزایش جرم میتوان نرخ زمان پایدار را افزایش داد. این کار را با اعمال چگالی بزرگتر میتوان انجام داد. این عمل، مقیاس بندی جرم نامیده میشود. این عمل را میتوانید در قسمت step editor بخش explicit steps و تحت نوار mass scaling انجام دهید. افزایش جرم، باعث اصلاح نیروهای اینرسی میشود. بنابراین، هنگامیکه نیرو را سریعتر اعمال میکنید باید دقت داشته باشید که اثرات اینرسی روی روش حل شما تاثیر نگذارد؛ میزان انرژی جنبشی نیز باید کم باشد.
۵- استفاده از موازیسازی( پاراللیزیشن)
یکی از موثرترین راهها برای کاهش زمان اجرا، استفاده از پردازش موازی است. در شبیهسازی موازی، زمان شبیهسازی به میزان تعداد دفعات موازیسازی کاهش مییابد. البته این کار در تمام موارد جابگو نیست. اما در برخی موارد میتواند جواب قابل قبولی ارائهدهد.
موازی سازی را میتوان از قسمت edit job dialog box در نوار موازیسازی فعال نمود. از قسمت command line این دستور را استفاده کنید: cpus = N که N تعداد هستههای مورد استفاده است. تعیین میزان خوب بودن موازی کردن یک شبیهسازی کار بسیار دشواری خواهد بود. با این وجود میتوانید از معیارهای زیر استفاده کنید:
محدودکردن میزان درجه آزادی. با کمترشدن میزان درجه آزادی، پاراللیزه کردن بهتره صورت خواهدگرفت. بصورت کلی برای هر هسته باید حداقل ۵۰۰۰ درجه آزادی در نظر گرفتهشود.
وجود ارتباط/قید در بخش بزرگی از مدل. اگر به نصف یک مدل، یک قید خاص اعمال شود و نتوان آن را به چند هسته تقسیم کرد، نمیتوان مدل را به خوبی مقیاسبندی کرد.
استفاده از چندین هسته نیاز به علامتهای زیادی دارد. با استفاده از token calculator میتوان تعداد نشانههای مورد نیاز را محاسبه کرد. برای اجرای تنها یک هسته، به ۵ نشانه نیاز خواهیم داشت. اگر تعداد هسته از۸ بیشتر شود برای هر هسته به یک نشانه اضافی نیاز خواهیم داشت. یعنی با استفاده از ۶ نشانه برای هر هسته میتوانید زمان شبیهسازی را نصف کنید.
استفاده از هایپرتردینگ برای آباکوس توصیه نمیشود، زیرا اگر چه تعداد نشانهها افزایش مییابد اما زمان شبیهسازی کاهش نمییابد. بنابراین برحسب کامپیوتر، ماکزیمم تعداد پردازندهها برابر است با تعداد هستههای فیزیکی و نباید تعداد هستههای مجازی را در نظر گرفت. از قسمت BIOS میتوان هایپرتردینگ را غیر فعال نمود.
۶- توجه کردن به قیود
در آباکوس/صریح قیدها میتوانند روی زمان شبیهسازی بگذارند. برای قیودی مثل TIE، کوپلینگ، MPC و کانکتورها یک رویکرد صریح در آباکوس/صریح درنظر گرفته میشود. این کار میتواند زمان اجرا را کاهشدهد، مخصوصا در مواردی که گرهها نیز درگیر باشند. مشاهده شده که برداشتن یک MPC و جایگزین کردن آن با یک سطح صلب باعثشده تا زمان شبیهسازی ۱۵ بار سریعتر شود.
دانلود رایگان آموزش صفر تا صد نرم افزار آباکوس (فیلم فارسی +جزوه pdf)
۷- به صورت منظم سیستم خود را ریاستارت کنید
در هنگام اجرای تحلیلهای سنگین، ریاستارت کردن سیستم باعث کاهش زمان اجرا میشود. برای مثال یک اجرا (ران) ۶ دقیقه طول کشید و پس از راهاندازی مجدد سیستم این زمان به۴ دقیقه تقلیل یافت. به همین دلیل به نظر میرسد ریاستارت کردن سیستم میتواند به کاهش زمان رانینگ کمک کند.
سلام. ضمن تشکر از مقاله خوب و مفیدتان، به نظرم بهتر بود مرجع آن را نیز عنوان میکردید:
پاسخhttps://info.simuleon.com/blog/7-tips-to-help-abaqus-run-faster