راه حل های سیستم های خطی معادلات: حل کننده های مستقیم و تکراری
در این پست وبلاگ ما دو دسته از الگوریتمهایی را که در COMSOL برای حل سیستمهای معادلات خطی که هنگام حل هر مسئله اجزای محدود به وجود میآیند، معرفی میکنیم. این اطلاعات هم برای درک عملکرد درونی حل کننده و هم برای درک چگونگی رشد نیازهای حافظه با اندازه مسئله مرتبط است.
مسئله المان محدود استاتیک خطی
بیایید یک مسئله المان محدود استاتیک خطی متشکل از سه گره و سه عنصر را در نظر بگیریم:
هر عنصر توسط دو گره محدود شده است. یکی از گره ها در دیوار صلب است، جایی که می دانیم جابجایی صفر خواهد بود، بنابراین نیازی به حل آن گره نیست. همانطور که در پست وبلاگ قبلی در مورد مسائل المان محدود استاتیک خطی دیدیم ، میتوانیم توازن نیروها را برای هر گره بنویسیم:
و می توانیم این را به صورت زیر بنویسیم:
یا حتی فشرده تر مانند:
ما می توانیم با استفاده از روش تکرار نیوتن رافسون این مسئله را حل کنیم و از آنجایی که این یک مسئله استاتیکی خطی است، می توانیم آن را در یک تکرار و با استفاده از مقدار اولیه حل کنیم.، این راه حل را به ما می دهد:
اکنون این مشکل تنها دو مجهول یا درجه آزادی (DOF) دارد و به راحتی با قلم و کاغذ قابل حل است. اما به طور کلی، ماتریسهای شما هزاران تا میلیونها DOF دارند و یافتن راهحل معادله بالا معمولاً محاسباتیترین بخش مسئله است. هنگام حل چنین سیستمی از معادلات خطی در رایانه، باید از مفهوم عدد شرط نیز آگاه بود ، معیاری برای سنجش حساسیت راه حل به تغییر بار. اگرچه COMSOL هرگز به طور مستقیم عدد شرط را محاسبه نمی کند (انجام این کار به اندازه حل مسئله گران است) ما از عدد شرط به صورت نسبی صحبت می کنیم. این عدد با روش های عددی مورد استفاده برای حل سیستم های معادلات خطی وارد می شود.
دو دسته اساسی از الگوریتم ها وجود دارد که برای حل آنها استفاده می شود: روش های مستقیم و تکراری . در ادامه هر دوی این روش ها را معرفی می کنیم و ویژگی های کلی و عملکرد نسبی آنها را بررسی می کنیم.
روش های مستقیم
حل کننده های مستقیم مورد استفاده توسط COMSOL حل کننده های MUMPS ، PARDISO و SPOOLES هستند . همه حل کننده ها بر اساس تجزیه LU هستند .
این حلکنندهها همگی برای همه مسائل المان محدود شرطی شده به یک پاسخ میرسند، که بزرگترین مزیت آنهاست، و حتی میتوانند برخی از مسائل کاملاً نامشخص را حل کنند. از نقطه نظر راه حل، مهم نیست که کدام یک از حل کننده های مستقیم را انتخاب کنید، زیرا آنها همان راه حل را برمی گردانند. حل کننده های مستقیم در درجه اول در سرعت نسبی خود متفاوت هستند. حل کنندههای MUMPS، PARDISO و SPOOLES هر کدام میتوانند از تمام هستههای پردازنده در یک دستگاه استفاده کنند، اما PARDISO سریعترین و SPOOLES کندترین است. SPOOLES همچنین تمایل دارد از کمترین حافظه نسبت به حل کننده های مستقیم استفاده کند. همه حلکنندههای مستقیم نیاز به رم زیادی دارند، اما MUMPS و PARDISO میتوانند محلول را خارج از هسته ذخیره کنند.، به این معنی که آنها می توانند بخشی از مشکل را روی هارد دیسک تخلیه کنند. حلکننده MUMPS از محاسبات خوشهای نیز پشتیبانی میکند و به شما این امکان را میدهد تا از حافظه بیشتری نسبت به آنچه که معمولاً در هر دستگاه موجود است استفاده کنید.
اگر مشکلی را حل میکنید که راهحلی ندارد (مانند یک مشکل ساختاری با بار، اما بدون محدودیت)، حلکنندههای مستقیم همچنان تلاش میکنند تا مشکل را حل کنند، اما یک پیغام خطایی شبیه به زیر را برمیگردانند:
نتوانست راه حلی پیدا کند. باقیمانده نسبی (0.06) بیشتر از تحمل نسبی است. راه حل برگشتی همگرا نیست.
اگر این نوع پیام خطا را دریافت کردید، باید بررسی کنید که مشکل شما به درستی محدود شده است.
روشهای تکراری
حلکنندههای تکراری در COMSOL رویکردهای مختلفی را در بر میگیرند، اما همه آنها از نظر مفهومی برای درک در بالاترین سطح خود بسیار ساده هستند، و اساساً شبیه به روش گرادیان مزدوج هستند . تغییرات دیگر عبارتند از روش حداقل باقیمانده تعمیم یافته و روش تثبیت شده با گرادیان دو مزدوج ، و تغییرات زیادی در این موارد وجود دارد، اما همه آنها رفتار مشابهی دارند.
برخلاف حلکنندههای مستقیم، روشهای تکراری به جای یک مرحله محاسباتی بزرگ، به تدریج به راهحل نزدیک میشوند. بنابراین، هنگام حل یک مسئله با روش تکراری، می توانید برآورد خطا را در حل با تعداد تکرارها کاهش دهید. برای مسائلی که به خوبی شرطی شده اند، این همگرایی باید کاملاً یکنواخت باشد. اگر روی مشکلاتی کار می کنید که به خوبی شرطی نشده اند، همگرایی کندتر خواهد بود. رفتار نوسانی یک حل کننده تکراری اغلب نشان دهنده این است که مشکل به درستی تنظیم نشده است، مانند زمانی که مشکل به اندازه کافی محدود نشده است. یک نمودار همگرایی معمولی برای یک حل کننده تکراری در زیر نشان داده شده است:
بهطور پیشفرض، زمانی که خطای برآورد شده در حلکننده تکراری زیر 10-3 باشد، مدل همگرا در نظر گرفته میشود . این در پنجره تنظیمات حل کننده کنترل می شود:
این تلورانس را می توان برای راه حل های سریع تر، یا برای دقت بیشتر روی مش فعلی، سفت تر کرد. تلورانس باید همیشه بیشتر از عددی باشد که به دقت ماشین بستگی دارد (2.22×10 -16 ) و عدد شرط (که وابسته به مشکل است). با این حال، معمولاً هیچ فایده ای برای محدود کردن تلرانس وجود ندارد، زیرا ورودی های مدل شما، مانند خواص مواد، اغلب بیش از چند رقم دقیق نیستند. اگر میخواهید تلورانس نسبی را تغییر دهید، معمولاً توصیه میکنیم تحمل را با افزایش یک مرتبه بزرگی سختتر کنید و راهحلها را با هم مقایسه کنید. به خاطر داشته باشید که شما فقط در حال حل کردن تلورانس بیشتر روی مشی هستید که در حال حاضر استفاده می کنید، و اغلب معقول تر است که مش را اصلاح کنید.
مزیت بزرگ حل کننده های تکراری استفاده از حافظه آنها است که به طور قابل توجهی کمتر از یک حل کننده مستقیم برای مسائل با همان اندازه است. عیب بزرگ حل کننده های تکراری این است که آنها همیشه “فقط کار نمی کنند”. فیزیک های مختلف بسته به ماهیت معادله حاکم که حل می شود، به تنظیمات حل کننده تکراری متفاوتی نیاز دارند.
خوشبختانه، COMSOL در حال حاضر دارای تنظیمات حل کننده پیش فرض داخلی برای تمام رابط های فیزیک از پیش تعریف شده است. COMSOL به طور خودکار فیزیک در حال حل و همچنین اندازه مسئله را تشخیص می دهد و حل کننده – مستقیم یا تکراری – را برای آن مورد انتخاب می کند. حلکنندههای تکراری پیشفرض برای بالاترین درجه استحکام و کمترین میزان استفاده از حافظه انتخاب میشوند و برای راهاندازی آنها نیازی به تعامل از جانب کاربر ندارند.
اندیشه های پایانی در مورد روش های حل مستقیم و تکراری
هنگام حل سیستم های معادلات خطی یک شبیه سازی، COMSOL به طور خودکار بهترین حل کننده را بدون نیاز به تعامل کاربر شناسایی می کند. حل کننده های مستقیم نسبت به حل کننده های تکراری از حافظه بیشتری استفاده می کنند، اما می توانند قوی تر باشند. حل کننده های تکراری به تدریج به راه حل نزدیک می شوند و در صورت تمایل می توان تلورانس همگرایی را تغییر داد.
- لینک دانلود به صورت پارت های 1 گیگابایتی در فایل های ZIP ارائه شده است.
- در صورتی که به هر دلیل موفق به دانلود فایل مورد نظر نشدید به ما اطلاع دهید.
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : پسورد ندارد گزارش خرابی لینک
دیدگاهتان را بنویسید