موارد زیر مربوط به گره ویژگی Direct است . همه حلکنندههای سیستم خطی بالا روی سیستمهای خطی پراکنده به شکل Ax = b کار میکنند و از فاکتورسازی LU در ماتریس A برای محاسبه جواب x استفاده میکنند . برای انجام این کار، آنها از یک الگوریتم پیشترتیب استفاده میکنند که ستونهای A را تغییر میدهد تا تعداد غیرصفرهای L و U را به حداقل برساند.عوامل. الگوریتمهای رایج پیشسفارش عبارتند از Minimum درجه، Nested dissection و Multisection. همه حل کننده ها هنگام اجرای COMSOL Multiphysics در حالت توزیع شده (مثلاً روی خوشه ها) توزیع می شوند. همه حل کننده های سیستم خطی از موازی سازی حافظه مشترک بهره می برند (مثلاً پردازنده های چند هسته ای). MUMPS و PARDISO گزینهای برای استفاده مجدد از پیشسفارش دارند، که محاسبات را سرعت میبخشد اما منجر به اوج حافظه بالاتر میشود.
این بخش دستورالعملهای انتخاب حلکننده سیستم خطی را بررسی میکند ، کدام مدلها قطعی هستند؟ و مدلهای بیضوی و سهمی .
خطی در COMSOL Multiphysics Programming Manual Reference .
|
حل کننده MUMPS
حل کننده MUMPS بر روی سیستم های عمومی به شکل Ax = b کار می کند و از چندین الگوریتم پیش سفارش برای جابجایی ستون ها و در نتیجه به حداقل رساندن پر کردن استفاده می کند. MUMPS بر روی پلتفرم هایی که از multithreading پشتیبانی می کنند چند رشته ای است و همچنین از حل معماری های حافظه توزیع شده از طریق استفاده از MPI پشتیبانی می کند. کد در Fortran 90 نوشته شده است. برای جزئیات بیشتر در مورد MUMPS، رجوع کنید . 1 .
حل کننده PARDISO
حل کننده PARDISO بر روی سیستم های کلی به شکل Ax = b کار می کند . به منظور بهبود عملکرد فاکتورسازی عددی پراکنده متوالی و موازی، الگوریتمهای حلکننده مبتنی بر یک بهروزرسانی BLAS سطح 3 هستند و از موازیسازی خط لوله با ترکیبی از تکنیکهای ابرگره چپ و راست بهرهبرداری میکنند. PARDISO بر روی پلتفرم هایی که از multithreading پشتیبانی می کنند، چند رشته ای است. در معماریهای حافظه توزیعشده، اگر چک باکس Parallel Direct Sparse Solver for Clusters را پاک کنید یا اگر PARDISO را در حالت خارج از هسته اجرا کنید، تنظیمات حلکننده به تنظیمات MUMPS مربوطه تغییر میکند. کد به زبان C و Fortran نوشته شده است. COMSOL Multiphysics از نسخه PARDISO که توسط اولاف شنک و همکارانش توسعه یافته است استفاده می کند ( مراجعه 2) که با Intel ® MKL (Intel Math Kernel Libraries) گنجانده شده است.
حل کننده SPOOLES
حل کننده SPOOLES بر روی سیستم های کلی به شکل Ax = b با استفاده از روش چند پیشانی و فاکتورسازی مستقیم LU ماتریس پراکنده A کار می کند . هنگامی که ماتریس A متقارن یا هرمیتی است، حل کننده از یک نسخه LDLT از الگوریتم استفاده می کند که نیمی از حافظه را ذخیره می کند. SPOOLES از چندین الگوریتم پیشسفارش برای جابجایی ستونها و در نتیجه به حداقل رساندن پر کردن استفاده میکند. SPOOLES بر روی پلتفرم هایی که از multithreading پشتیبانی می کنند چند رشته ای است و همچنین از حل معماری های حافظه توزیع شده با استفاده از MPI پشتیبانی می کند. کد به زبان C نوشته شده است. COMSOL از SPOOLES نسخه 2.2 که توسط Cleve Ashcraft و همکارانش توسعه داده شده است ( مراجعه 3 ) استفاده می کند.
حل کننده ماتریس متراکم
حل کننده ماتریس متراکم بر روی سیستم های کلی به شکل Ax = b کار می کند . حل کننده ماتریس متراکم از LAPACK ( مرجع 4 ) برای حل های چند رشته ای و ScaLAPACK ( مرجع 5 ) برای معماری های حافظه توزیع شده استفاده می کند. این حلکننده عمدتاً برای مواردی مفید است که ماتریسهای سیستم پرجمعیت هستند، مانند مدلهای عنصر مرزی (BEM).
راهنمای انتخاب حل کننده سیستم خطی
رابط فیزیک در مدل یک حلکننده سیستم خطی پیشفرض را انتخاب میکند که معمولاً برای نوع مسئله مناسب است، حداقل برای مدلهای رابط تک فیزیک. اگر حل کننده پیش فرض عملکرد خوبی ندارد، از دستورالعمل های زیر برای انتخاب یک حل کننده سیستم خطی استفاده کنید.
1
|
حل کننده مستقیم PARDISO را امتحان کنید.
|
2
|
حل کننده مستقیم MUMPS را امتحان کنید.
|
3
|
اگر حافظه حل کننده همچنان تمام می شود یا خیلی کند است، از یکی از حل کننده های تکراری GMRES، FGMRES، BiCGStab یا TFQMR استفاده کنید. با توجه به دستورالعمل های بخش مربوط به حل کننده تکراری، پیش شرطی را انتخاب کنید.
|
4
|
اگر سیستم قطعی مثبت و متقارن واقعی یا هرمیتی است، حلکننده گرادیان مزدوج را امتحان کنید، که از نظر حافظه کارآمدتر و گاهی سریعتر از GMRES، FGMRES، BiCGStab و TFQMR است. یک پیش شرط متقارن انتخاب کنید. روش دیگر، حل کننده مستقیم SPOOLES را امتحان کنید. اغلب از حافظه کمتری استفاده می کند اما از نظر عددی ثبات کمتری دارد. SPOOLES نیز کندتر است.
|
کدام مدل ها مثبت هستند قطعی؟
یک مدل با یک ماتریس سیستم متقارن یا هرمیتی واقعی اغلب نیز قطعی مثبت است ، به این معنی که تعدادی از حلکنندههای سیستم خطی کارآمد قابل استفاده هستند. علاوه بر این، پیششرطیکنندههای ساده SSOR، SOR، SORU، Jacobi (مقیاسگذاری مورب)، و حلکنندههای چندشبکهای از یک ماتریس قطعی مثبت بهره میبرند. یک ماتریس متقارن واقعی یا هرمیتی اگر همه مقادیر ویژه آن مثبت باشد، قطعی است.
برای مسائل ثابت، ماتریس سیستم ماتریس ژاکوبین (سفتی) A است . این بدان معنی است که مدل های ثابت در انتشار، الکترومغناطیسی، انتقال حرارت از طریق رسانش و مکانیک سازه معمولاً دارای یک ماتریس سیستم معین مثبت هستند.
برای مسائل وابسته به زمان، ماتریس سیستم به شکل A + σ B + σ 2 C است ، که در آن B ماتریس میرایی، C ماتریس جرم است، و σ > 0 با گام زمانی نسبت معکوس دارد (اگر C = 0 ، سپس B اغلب ماتریس جرم نامیده می شود). از آنجایی که این ماتریسها اغلب معین مثبت هستند، مدلهای وابسته به زمان در انتشار، الکترومغناطیسی، مکانیک ساختاری و انتقال حرارت از طریق رسانش معمولاً دارای یک ماتریس سیستم قطعی مثبت هستند.
برای مسائل مربوط به مقادیر ویژه، ماتریس سیستم به شکل A – σ B + σ 2 C است ، که σ شیفت است – یعنی عددی که نرمافزار در اطراف آن مقادیر ویژه را جستجو میکند (مشخص شده در قسمت جستجوی مقادیر ویژه در اطراف ؛ پیشفرض 0 است). از آنجایی که A ، B ، و C معمولاً معین مثبت هستند، مسائل مربوط به مقدار ویژه در آکوستیک، انتشار، الکترومغناطیسی، انتقال حرارت توسط هدایت و مکانیک ساختاری معمولاً دارای یک ماتریس سیستم معین مثبت هستند اگر σ ≤ 0 .
مدل های بیضوی و سهمی
کلاس های مدل های بیضوی و سهموی شامل مدل های قطعی مثبت است. برای چنین مدلهایی، پیشتهویهکنندههای چندشبکه کارآمد اغلب عملکرد خوبی دارند. تعریف ساده شده این کلاس ها به شرح زیر است. سیستمی از PDEهای مرتبه دوم ثابت یا مقدار ویژه بیضوی است اگر عبارتهای مرتبه دوم در PDE یک ماتریس ژاکوبین قطعی مثبت ایجاد کنند. سیستمی از PDEهای وابسته به زمان دارای یک جمله مشتق زمانی به شکل است که در آن ضریب جرم d a اغلب یک ماتریس قطعی مثبت و ضریب e a 0 است. چنین سیستمی اگر عبارت های مرتبه دوم در PDE باشد سهموی است. باعث ایجاد یک ماتریس ژاکوبین قطعی مثبت می شود.
مدلهای ثابت یا ارزش ویژه در آکوستیک، همرفت- انتشار، الکترومغناطیسی، انتقال حرارت و مکانیک ساختاری معمولاً بیضوی هستند. به همین ترتیب، مدلهای وابسته به زمان در انتشار همرفت، الکترومغناطیسی و انتقال حرارت اغلب سهموی هستند. معادلات ناویر-استوکس، معادلات نوع موج، یا فرمولبندیهایی که شامل محدودیتهای ضعیف هستند، نه بیضوی هستند و نه سهمی.