گره تکراری ( ) یک ویژگی است که تنظیمات را برای حل کننده های سیستم خطی تکراری کنترل می کند. برای مثال میتوانید آن را با یک حلکننده مقدار ویژه ، حلکننده ثابت ، یا حلکننده وابسته به زمان استفاده کنید .
یک جایگزین برای حل کننده های سیستم خطی تکراری توسط حل کننده های سیستم خطی مستقیم ارائه می شود که از طریق گره ویژگی Direct مدیریت می شوند. اگرچه چندین زیرگره مشخصه برای حل سیستم های خطی را می توان به یک گره عملیاتی متصل کرد، تنها یکی می تواند در هر زمان معین فعال باشد.
حل کننده تکراری تا زمانی که یک تلورانس نسبی برآورده شود، تکرار می شود. شما این تلورانس را در قسمت خطای نسبی گره عملیاتی که این ویژگی به آن تعلق دارد، مشخص می کنید.
همچنین برای جزئیات بیشتر در مورد تنظیمات در بخش عمومی ، به حلکنندههای تکراری ، انواع حلکننده تکراری و انتخاب پیششرطیکننده برای حلکننده سیستم خطی تکراری مراجعه کنید .
عمومی
این بخش شامل تنظیماتی برای انتخاب یک حل کننده سیستم خطی تکراری و برای تعیین نوع پیش شرط و برخی تنظیمات برای هنجار خطا و تخمین خطا است.
تنظیمات حل سیستم خطی تکرارشونده
از لیست حل برای انتخاب یک حل کننده سیستم خطی تکراری استفاده کنید . انتخاب کنید:
•
|
GMRES برای استفاده از روش تکراری GMRES (حداقل کلی RESidual) راه اندازی مجدد.
|
•
|
FGMRES برای استفاده از روش تکراری FGMRES (حداقل RESidual تعمیم یافته انعطاف پذیر) دوباره راه اندازی شده.
|
•
|
BiCGStab برای استفاده از روش تکراری BiCGStab (BiConjugate Gradient Stabilized).
|
•
|
شیب مزدوج را برای استفاده از روش تکرار شونده گرادیان مزدوج.
|
•
|
TFQMR برای استفاده از روش تکراری TFQMR (شبه حداقل باقیمانده بدون انتقال).
|
•
|
از پیش شرطی برای استفاده از پیش شرطی فعال متصل به این گره تکرار شونده به عنوان حل کننده سیستم خطی استفاده کنید. این حل کننده از تنظیمات Factor در برآورد خطا و حداکثر تعداد تکرار از قسمت Error گره تکراری مربوطه استفاده می کند .
|
اگر GMRES یا FGMRES انتخاب شده است، تعداد تکرارها را قبل از راه اندازی مجدد که حل کننده انجام می دهد تا راه اندازی مجدد مشخص کنید (پیش فرض 50 است.). هیچ تضمینی وجود ندارد که یک GMRES راه اندازی مجدد برای یک مقدار راه اندازی مجدد کوچک همگرا شود. مقدار راهاندازی مجدد بزرگتر، استحکام رویه تعاملی را افزایش میدهد، اما استفاده از حافظه و زمان محاسباتی را نیز افزایش میدهد. برای مشکلات بزرگ، هزینه محاسباتی برای تولید پیش شرطی با چنان کیفیتی که معیارهای خاتمه برای تعداد کمی از تکرارها برآورده می شود و برای یک مقدار شروع مجدد کوچک اغلب زیاد است. برای آن مشکلات، اغلب راهاندازی یک پیشتهویهکننده با کیفیت پایینتر و در عوض افزایش مقدار راهاندازی مجدد یا تکرار مراحل بیشتر سودمند است. انجام این کار معمولاً تعداد شرط را برای سیستم از پیش شرطی شده افزایش میدهد، بنابراین ممکن است به افزایش ضریب تخمین خطا نیز نیاز باشد.
اگر هر سیستم خطی دیگری غیر از FGMRES انتخاب شده است، مشخص کنید که آیا ماتریس سیستم خطی را از سمت چپ یا راست آماده میکنید . به طور معمول، این تنظیم به طور قابل توجهی بر رفتار همگرایی حل کننده انتخاب شده تأثیر نمی گذارد. انتخاب پیشفرض پیششرطی باقی مانده است. به طور معمول، برای GMRES، دو نسخه از GMRES رفتار همگرایی مشابهی دارند (رجوع کنید به شماره 17 ). با این حال، اگر پیششرطیکننده بدشرایط باشد، ممکن است تفاوتهایی در رفتار وجود داشته باشد. برای روش گرادیان مزدوج، این انتخاب تنها بر معیار همگرایی تاثیر می گذارد و نه خود الگوریتم.
اگر از پیششرطی چپ استفاده میکنید، یک تلورانس باقیمانده در قسمت تحمل باقیمانده در دسترس است (پیشفرض: 0.01). برای به دست آوردن دقت بیشتر می توانید از این تنظیم استفاده کنید. اگر به دلایلی این دقت اضافی را نمی خواهید، تلورانس نسبی را روی یک (1) تنظیم کنید.
تنظیمات هنجارهای خطا و تخمین خطا
اگر از پیش شرطیسازی استفاده میکنید، کادر هنجار خطای مبتنی بر غیرخطی را انتخاب کنید تا با استفاده از معیاری غیر از معیارهای استاندارد (یعنی بررسیهای هنجار باقیمانده از پیش شرطی شده نسبی یا باقیمانده نسبی) به پایان روشهای تکراری خطی اجازه دهید. هنجار خطای مبتنی بر غیرخطی بیش از همه برای مطالعات وابسته به زمان (فعال به صورت پیش فرض) استفاده می شود، که در آن باقیمانده (اولیه) می تواند برای مراحل زمانی معین بسیار کوچک باشد و الزامات بیش از حد سخت شوند. هنجار خطای مبتنی بر غیرخطی، باقیمانده از پیش شرطی شده را با مقیاس های موجود در محلول به جای باقیمانده اولیه، عادی می کند. این روش زمانی قابل اعتمادتر است که مقیاس (اندازه) محلول اشباع شده باشد. این دلیل برای داشتن یک سطح است که می توانید آن را به عنوان یک مقدار هنجار خطای نسبی در آن مشخص کنیداز قسمت زیر سطح خطا استفاده کنید (پیشفرض: 0.1 برای حلکنندههای ثابت و 1 برای حلکنندههای وابسته به زمان). برای مطالعات Stationary معمول نیست که باقیمانده اولیه کوچک باشد، بنابراین این عملکرد به طور پیش فرض فعال نمی شود. همچنین، اگر GMRES انتخاب شده باشد و از پیششرطی چپ استفاده شود، چک باکس Use nonlinear scales در دسترس است و طوری انتخاب میشود که خاتمه حلکننده تکراری از مقیاسهای غیرخطی استفاده کند. این تنظیم با رفتار خاتمه در نسخه های قبلی مطابقت دارد.
معیارهای توقف برای حلکنندههای تکراری بر اساس یک تخمین خطا است، که بررسی میکند آیا زمانهای باقیمانده نسبی یک ثابت ثبات ρ کمتر از یک تحمل است یا خیر. این تلورانس در قسمت خطای نسبی گره عملیاتی که این ویژگی به آن تعلق دارد، مشخص شده است. از فیلد Factor in error برآورد برای تنظیم ρ استفاده کنید ، که به عنوان یک ضریب ایمنی برای جلوگیری از خاتمه زودهنگام تکرارها به دلیل، به عنوان مثال، شرایط نامناسب ماتریس A یا پیش شرطی ضعیف (پیشفرض: 400) استفاده میکند. مقدار بیشتری از ρتعداد تکرارها را افزایش می دهد اما احتمال خاتمه دادن به تکرار را خیلی زود کاهش می دهد. برای جلوگیری از خاتمه کاذب، حل کننده اصلی به تکرار ادامه می دهد تا زمانی که بررسی خطا انجام شود یا تا زمانی که اندازه مرحله کوچکتر از حدود 2.2·10-14 باشد .
برای اطلاعات در مورد معیارهای همگرایی مورد استفاده توسط حل کننده های تکراری، به معیارهای همگرایی برای حل کننده های خطی مراجعه کنید.
|
روشهای GCRO-DR برای بازیافت زیرفضای کریلوف (GMRES)
اگر GMRES انتخاب شده باشد، چک باکس Use GCRO-DR به طور پیش فرض انتخاب می شود. GCRO-DR روشی برای بازیافت زیرفضای کریلوف است. می تواند در حل دنباله های سیستم های خطی که مثلاً از مسائل غیرخطی ناشی می شوند مفید باشد. ایده پشت روش GCRO-DR حفظ فضای فرعی تعیین شده در حین حل سیستم های قبلی و استفاده از آن برای کاهش هزینه حل سیستم بعدی است. این روش زمانی که GMRES مجدداً راه اندازی می شود، پایه را مجدداً مورد استفاده قرار می دهد و آن را بهبود می بخشد. با این حال، از آنجایی که روش GCRO-DR بردارهای چپ و راست را برای فضای Krylov (مشابه FGMRES) ذخیره می کند، نیازهای حافظه برای داده های تکرار ذخیره شده توسط روش GCRO-DR در مقایسه با GMRES حدود دو برابر بیشتر است. بنابراین GCRO-DR فقط زمانی فعال می شود که GMRES به طول راه اندازی مجدد خود برسد.
هنگامی که چک باکس GCRO-DR انتخاب شد، می توانید تنظیمات زیر را مشخص کنید:
•
|
شما می توانید اندازه زیرفضای ذخیره شده را بین تکرارهای غیرخطی یا پارامتری تعیین کنید .
|
•
|
از گزینه های موجود در لیست زیرفضای استفاده مجدد برای کنترل ذخیره یا حذف زیرفضا بین تکرارها استفاده کنید. اگر خاموش را انتخاب کنید ، فضای فرعی همیشه حذف می شود. این بدان معنی است که GMRES در تکرار غیرخطی یا پارامتریک بعدی دوباره فراخوانی خواهد شد. اگر روشن را انتخاب کنید ، فضای فرعی همیشه ذخیره می شود. به طور پیش فرض، ذخیره سازی خودکار انتخاب شده است، و به این معنی است که در صورت همگرایی سریع، فضای فرعی حذف می شود، زیرا در این صورت، می توان انتظار داشت که GMRES در تکرار غیرخطی یا پارامتری بعدی به سرعت همگرا شود.
|
•
|
در قسمت حداقل تعداد راهاندازیهای مجدد ، که وقتی زیرفضای استفاده مجدد روی خودکار تنظیم شده است ، در دسترس است ، میتوانید حداقل مقدار را برای تعداد راهاندازیهای مجدد تعیین کنید (پیشفرض: 5). استفاده از این تنظیم میتواند برای کنترل زمانی که فضای فرعی باید بین تماسهای حلکننده پاک شود، در مواردی که فضای فرعی بین تماسهای حلکننده وجود دارد – برای مثال، در یک جابجایی فرکانس، مفید باشد. روش GCRO-DR ممکن است برای همگرایی به چرخههای بیشتری از حد معمول نیاز داشته باشد.
|
•
|
کادر انتخاب استفاده از اندازه زیرفضای نسبی را انتخاب کنید تا هر زمان که GMRES در بیش از k تکرار همگرا شود (در قسمت تعداد بردارهای ویژه تقریبی تنظیم شده است ) فضای ذخیره سازی فرعی را مجبور کنید. در آن صورت، اندازه زیرفضای ذخیره شده برابر با کسری از تکرارهای GMRES است که توسط مقدار (بزرگتر از 0، حداکثر 1) در قسمت Fraction of GMRES Iterations کنترل می شود .
|
حداکثر تعداد تکرار
از قسمت حداکثر تعداد تکرار برای وارد کردن حداکثر تعداد تکراری که حل کننده تکراری مجاز به انجام آن است استفاده کنید (پیش فرض: 10000 تکرار). هنگامی که این تعداد تکرار بدون رسیدن به تلورانس مشخص شده انجام شود، حل کننده با یک پیام خطا متوقف می شود.
خطا
مکانیسم رسیدگی به خطا در حلکنندههای تکراری خطی برای کمک به استحکام کلی محاسبات در نظر گرفته شده است. مثلا:
•
|
حذف احتمال خاتمه زودرس.
|
•
|
به دست آوردن دقت بیشتر برای سیستم خطی معادلات به خاطر تکرارهای غیرخطی کمتر.
|
•
|
اجتناب از اخطارها و خطاهای مربوط به پیش شرطیکنندههای نامطلوب.
|
از فیلد Factor in error برآورد برای تنظیم دستی ثابت ρ استفاده کنید . پیش فرض 400 است. برای اطلاعات بیشتر به معیارهای همگرایی برای حل کننده های خطی مراجعه کنید .
می توانید دقت حل سیستم خطی را از لیست برآورد خطای بررسی کنترل کنید :
•
|
پیش فرض Automatic است ، به این معنی که حل کننده اصلی مسئول مدیریت خطا است. حل کننده برای هر سیستم خطی که حل می شود، خطاها را بررسی می کند. برای جلوگیری از خاتمه کاذب، حل کننده اصلی به تکرار ادامه می دهد تا زمانی که بررسی خطا انجام شود یا تا زمانی که اندازه مرحله کوچکتر از حدود 2.2·10-14 باشد . با این تنظیم، خطاهای حل کننده خطی یا در صورت عدم همگرا نشدن حل کننده غیرخطی به توضیحات خطا اضافه می شوند، یا اگر خطاها برای راه حل همگرا همچنان ادامه داشته باشند، به عنوان هشدار اضافه می شوند. حلگر غیرخطی زمانی ادامه می یابد که به حداکثر تعداد تکرار برسد. از قسمت حداکثر تعداد تکرارهای میانی برای کنترل تلاش های صرف شده در هر فراخوانی حل کننده خطی استفاده کنید (پیش فرض: 100 تکرار).
|
•
|
بله را انتخاب کنید تا خطاهای هر سیستم خطی حل شده را بررسی کنید. اگر خطایی در حل کننده اصلی رخ دهد، هشدارهای ناشی از بررسی خطا در حل کننده مستقیم ظاهر می شود. بررسی خطا بیان می کند که خطای نسبی ضرب در ثابت ثبات ρ به اندازه کافی کوچک است. این تنظیم برای اشکال زدایی مشکلات با فرمول های تکی یا نزدیک به تکین مفید است.
|
•
|
برای بررسی بدون خطا، No را انتخاب کنید .
|
برای مثال با استفاده از حلکننده ثابت، Micromixer : مسیر کتابخانه برنامه COMSOL_Multiphysics/Fluid_Dynamics/micromixer را ببینید .
|