Tarkibga o'tish

Yechuvchi va oldindan shartlagich

FrontISTR chiziqli yechuvchisi to‘g‘ridan-to‘g‘ri yoki iterativ usulni tanlaydi; iterativ usulda chiziqli tenglamalarni yechish uchun oldindan shartlagich bilan birga ishlaydi. MPC ishlov berish usuli va kontakt erkinlik darajalarini yo‘qotish ko‘p nuqtali cheklovlar yoki kontakt cheklovlarini o‘z ichiga olgan chiziqli sistemani qanday shaklda ko‘rishni belgilaydigan qo‘shimcha tanlovlardir.

Funksiyaning umumiy ko‘rinishi

Yechuvchi va oldindan shartlagich quyidagi variantlardan tashkil topadi. Avval chiziqli yechuvchi sifatida iterativ yoki to‘g‘ridan-to‘g‘ri usul tanlanadi; oldindan shartlagich faqat iterativ usul tanlanganda qo‘llanadi.

Kategoriya Asosiy variantlar Vazifasi
Iterativ usul CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Katta siyrak matritsalarni xotiradan samarali foydalanib yechadi.
Iterativ usul uchun oldindan shartlagich SSOR, diagonal masshtablash, BILU, AMG, SAINV, RIF Iterativ usulning yaqinlashuvini yaxshilaydi; to‘g‘ridan-to‘g‘ri usulda ishlatilmaydi.
To‘g‘ridan-to‘g‘ri usul MUMPS, MKL Faktorizatsiya orqali chiziqli tenglamalarni robust tarzda yechadi.
MPC ishlov berish usuli Jarima usuli, oshkora erkinlik darajalarini yo‘qotish Ko‘p nuqtali cheklovni chiziqli sistemaga aks ettiradi.
Kontakt erkinlik darajalarini yo‘qotish Avtomatik, doimo faol SLAGRANGE kontakt qo‘shadigan kontakt DOF lariga ishlov berishni almashtiradi.
Yordamchi funksiyalar Shartlanganlik sonini baholash, matritsa nusxasini saqlash, log chiqarish Nosozliklarni aniqlash, yaqinlashuvni tekshirish va unumdorlikni baholashga yordam beradi.

Parallel bajarishda soha dekompozitsiyasiga asoslangan MPI parallelizmi va OpenMP oqim parallelizmini birlashtirish mumkin. Iterativ usullar katta parallel tahlil uchun odatiy tanlovdir; to‘g‘ridan-to‘g‘ri usullar esa tegishli kutubxonalar bog‘langan muhitda yanada robust yechim kerak bo‘lganda ishlatiladi.

Yechuvchi va oldindan shartlagichni tanlash

Avval iterativ yoki to‘g‘ridan-to‘g‘ri usuldan qaysi biri ishlatilishini tanlang; iterativ usul tanlansa, keyin oldindan shartlagichni tanlang.

Mezon Tavsiya etiladigan yondashuv
Masala hajmi Kichik va o‘rta masalalarda to‘g‘ridan-to‘g‘ri usul barqaror va oson. Katta masalalarda iterativ usul xotira samaradorligi bo‘yicha afzal.
Matritsa simmetriyasi Simmetrik musbat aniq masalalarda CG ni ko‘rib chiqing. Nosimmetrik masalalarda BiCGSTAB, GMRES, GPBiCG kabi usullarni ko‘rib chiqing.
Parallel muhit MPI parallelda iterativ usulni soha dekompozitsiyasi bilan birlashtiring. OpenMP paralleldagi oldindan shartlagich uchun multicolor SSOR ni ko‘rib chiqing.
Oldindan shartlagich (iterativ usulda) Avval standart SSOR-ni sinang, keyin AMG-ni ko‘rib chiqing. Yaqinlashuv yaxshi bo‘lsa SSOR hisoblash jihatidan yengil; murakkab katta masalalarda AMG oldindan shartlash mos keladi. AMG Trilinos-ML asosidagi amalga oshirish yoki HEC-MW ichki SA-AMG ko‘rinishida mavjud; yig‘ish konfiguratsiyasiga qarab tanlang.
Kontakt va MPC Kontakt tahlili yoki ko‘p nuqtali cheklovlarda MPC ishlov usuli va kontakt erkinlik darajalarini yo‘qotish tanlovi yaqinlashuv va robustlikka ta’sir qiladi.
Tashqi kutubxonalar MUMPS, MKL va AMG (Trilinos-ML) tegishli kutubxonalar bog‘langan yig‘malarda ishlaydi. AMG (SA-AMG) LAPACK yoqilgan yig‘malarda ishlaydi.

Odatdagi tahlilda yaqinlashish chegarasi, maksimal iteratsiyalar soni va oldindan shartlagich diagonal tuzatish koeffitsiyenti kabi parametrlar standart qiymatlarda yetarli ishlaydi. Faqat yaqinlashuv sekin yoki uzoqlashish yuz bersa, iterativ usul, oldindan shartlagich, MPC ishlov usuli va kontakt erkinlik darajalarini yo‘qotishni navbat bilan qayta ko‘rib chiqing. Parametr qiymatlari va sintaksisi uchun kalit so‘z ma’lumotnomasidagi !SOLVER ga qarang.

Iterativ usullar

Iterativ usul katta siyrak matritsalar uchun matritsa-vektor ko‘paytmasi va oldindan shartlashni takrorlab yechimni yangilaydi. FrontISTR da quyidagi iterativ usullar tanlanadi.

Iterativ usul Qo‘llanish mezoni Izoh
CG Simmetrik musbat aniq masala Strukturaviy va issiqlik o‘tkazuvchanlik tahlilida odatiy tanlov.
BiCGSTAB Nosimmetrik masala Kontakt yoki bog‘lanish sabab nosimmetriya kuchli bo‘lsa mos variant.
GMRES Nosimmetrik masala Krylov ostfazosi o‘lchami ko‘rsatilib ishlatiladi.
GPBiCG Nosimmetrik masala BiCGSTAB oilasining takomillashtirilgan usuli sifatida ishlatiladi.
GMRESR Nosimmetrik masala, ilg‘or qo‘llanish GMRES ni ichma-ich tarzda ishlatadigan variant.
GMRESREN Nosimmetrik masala, ilg‘or qo‘llanish GMRESR oilasining rekursiv varianti.

CG matritsaning simmetrik musbat aniq bo‘lishini talab qiladi. Ishqalanishli kontakt, nosimmetrik cheklov ishlovi yoki bog‘lanish sabab nosimmetriya kuchli bo‘lsa BiCGSTAB, GMRES, GPBiCG kabi usullarni tanlang. GMRES da Krylov ostfazosi o‘lchamini oshirish yaqinlashuvni yaxshilashi mumkin, ammo xotira sarfi ham ortadi.

METHOD2 ko‘rsatilsa, CG uzoqlashish qilganda yoki ishlamay qolganda alternativ iterativ usulga o‘tish mumkin. Bu CG asosiy yechuvchi bo‘lgan holat uchun zaxira usul bo‘lib, boshqa sozlamalar va ma’lumot qatorlari asosiy yechuvchi bilan bir xil ishlatiladi.

CG, BiCGSTAB, GPBiCG va PipeCG qoldiq vektorini rekurrent munosabat bo‘yicha yangilaydi; shu sabab iteratsiyalar davom etgani sari yaxlitlash xatolari to‘planib, haqiqiy qoldiqdan og‘ish yuzaga keladi. Buning oldini olish uchun ma’lum iteratsiya oralig‘ida qoldiq vektori o‘ng tomon va matritsa-vektor ko‘paytmasidan qayta hisoblanadi. Bu davrni RECOMPUTE_RESIDUAL bilan belgilash mumkin. Davrni uzaytirish matritsa-vektor ko‘paytmalarini kamaytiradi, ammo rekurrent munosabat orqali olinadigan qoldiq haqiqiy qoldiqdan uzoqlashib, hali yaqinlashmagan yechimni yaqinlashgan deb baholash xavfini oshiradi. Aksincha, davrni haddan tashqari qisqartirish matritsa-vektor ko‘paytmalarini ko‘paytirish bilan birga, rekurrent munosabat saqlab turadigan qoldiq va yordamchi vektorlar o‘rtasidagi bog‘lanishni buzishi va yaqinlashuvning o‘zini yomonlashtirishi mumkin. Har bir yechish usulining standart qiymati shu muvozanatni hisobga oladi; uni o‘zgartirganda yaqinlashuv tarixini va yakuniy nisbiy qoldiqni tekshiring.

Oldindan shartlagichlar

Oldindan shartlash iterativ usul yaqinlashuvini yaxshilash uchun koeffitsiyent matritsasini transformatsiya qiladi va faqat iterativ usulda qo‘llanadi. To‘g‘ridan-to‘g‘ri usulda oldindan shartlagich ishlatilmaydi. Bir xil iterativ usulning o‘zida ham oldindan shartlagich tanlovi iteratsiyalar soni va hisoblash vaqtini keskin o‘zgartirishi mumkin.

Oldindan shartlagich Xususiyati Qo‘llanish mezoni
SSOR Standart oldindan shartlagich; ko‘p rangli tartiblashni qo‘llaydi. Birinchi sinab ko‘riladigan variant; strukturaviy tahlilda keng ishlatiladi.
Diagonal masshtablash Diagonal komponentlardan foydalanadigan yengil oldindan shartlagich. Hisoblash xarajatini kamaytirish kerak bo‘lganda.
BILU Blok bo‘yicha incomplete LU faktorizatsiyasi. SSOR bilan qiyin yaqinlashadigan masalalar uchun.
AMG (Trilinos-ML) Tashqi Trilinos-ML kutubxonasidan foydalanadigan algebraik ko‘p panjarali usul. Katta masalalar yoki iyerarxik xato komponentlari ustun bo‘lgan masalalar uchun.
AMG (SA-AMG) HEC-MW ichiga o‘rnatilgan Smoothed Aggregation turidagi algebraik ko‘p panjarali usul. Yuqoridagiga o‘xshash holatlar uchun; tashqi kutubxona qo‘shmasdan AMG ishlatish uchun.
SAINV siyrak taxminiy teskari matritsa. Kontakt masalalari yoki taqsimlangan muhitdagi maxsus oldindan shartlash uchun.
RIF Robust Incomplete Factorization. Incomplete factorization oilasidagi alternativ.

SSOR standart tanlov bo‘lib, OpenMP parallelda ko‘p rangli tartiblash varianti ishlatiladi. Diagonal masshtablash yengil, ammo yaqinlashuvga ta’siri masalaga bog‘liq. BILU blokli incomplete LU faktorizatsiyasi sifatida amalga oshirilgan va umumiy DOF matritsalarini ham qo‘llaydi. BILU oilasida iterativ usul uzoqlashish qilsa SIGMA_DIAG diagonal tuzatish koeffitsiyentini avtomatik oshirib qayta urinish yo‘li mavjud; aniq qiymatlar kalit so‘z ma’lumotnomasida berilgan.

AMGning (algebraik ko‘p panjarali usulning) ikki amalga oshirilishi mavjud: tashqi Trilinos-ML kutubxonasidan foydalanadigan variant va HEC-MW ichki SA-AMG. Ular talab qilinadigan yig‘ish konfiguratsiyasi va mavjud opsiyalari turlicha bo‘lgan mustaqil amalga oshirishlardir.

Trilinos-ML asosidagi AMG uchun yig‘ish vaqtida ML yoqilgan bo‘lishi kerak. Silliqlagich, ko‘p panjarali sikl, qo‘pollashtirish sxemasi va boshqa sozlamalar berilishi mumkin; batafsil qiymatlar uchun kalit so‘z ma’lumotnomasiga qarang.

SA-AMG Smoothed Aggregation turidagi algebraik ko‘p panjarali oldindan shartlagich bo‘lib, Trilinos-ML talab qilmaydi. Biroq u ichkarida LAPACKdan foydalanadi, shu sababli LAPACK yoqilgan yig‘ma kerak; LAPACKsiz yig‘mada tanlansa, dastur tahlilni boshlamasdan tugaydi. Qo‘pol to‘rni yechishda MUMPS yoqilgan yig‘malarda MUMPSdan foydalanish mumkin; aks holda ichki zich matritsali to‘g‘ridan-to‘g‘ri usul ishlatiladi.

SA-AMG asosan simmetrik musbat aniqlangan tizimlarga (CG) mo‘ljallangan, ammo ishqalanishli kontakt natijasida hosil bo‘ladigan nosimmetrik qisqartirilgan tizimlarni ham qo‘llaydi (BiCGSTAB, GMRES va boshqalar). Har bir tugun uchun 1 (issiqlik o‘tkazuvchanlik), 2 (tekislik), 3 (hajmiy) va 6 (qobiq) erkinlik darajasini qo‘llaydi, ammo erkinlik darajalari soni tugunlar bo‘yicha turlicha bo‘lgan matritsalarni qo‘llamaydi. Qo‘pol to‘r yechuvchisi, ko‘p panjarali sikl, silliqlagich darajasi va boshqa opsiyalar berilishi mumkin, biroq standart tahlilda standart qiymatlardan foydalanish mumkin. Qiymatlar va sintaksis uchun kalit so‘z ma’lumotnomasiga qarang. GPU (OpenACC) yoqilgan yig‘malarda oldindan shartlagichni qo‘llash bosqichi GPUda bajariladi.

Kontakt yoki MPC cheklovlari mavjud parallel tahlilda SAINV ishlatilsa, soha dekompozitsiyasidagi ustma-ust tushish chuqurligi yaqinlashuvga ta’sir qilishi mumkin.

To‘g‘ridan-to‘g‘ri usullar

To‘g‘ridan-to‘g‘ri usul koeffitsiyent matritsasini faktorizatsiya qilib chiziqli tenglamani yechadi. Iteratsiya soniga bog‘liq bo‘lmagani uchun robust va kontakt yoki cheklovlarni o‘z ichiga olgan tahlilda barqaror tanlovdir. Biroq masala hajmi oshgan sari xotira sarfi ortadi.

To‘g‘ridan-to‘g‘ri usul Parallel muhit Qo‘llanishi
MUMPS MPI parallel Taqsimlangan xotira muhitda siyrak matritsani to‘g‘ridan-to‘g‘ri yechuvchi bilan yechadi.
MKL Intel MKL / OpenMP Intel MKL to‘g‘ridan-to‘g‘ri yechuvchisi; ichkarida Intel PARDISO ishlaydi. Bir nechta MPI jarayonida Cluster MKL yo‘li ishlatiladi. DIRECTmklMKL aliasi.

To‘g‘ridan-to‘g‘ri usullar simmetrik va nosimmetrik matritsalarning ikkalasida ishlaydi. MUMPS va MKL uchun yig‘ish vaqtida tegishli kutubxona bog‘langan bo‘lishi kerak. Kutubxonasiz muhitda ishlamaydi; zarur bog‘liqlik va CMake opsiyalari uchun yig‘ish qo‘llanmasiga qarang.

FrontISTR da tashqi kutubxonasiz ichki to‘g‘ridan-to‘g‘ri yechuvchi yo‘li ham mavjud, ammo odatiy tahlilda to‘g‘ridan-to‘g‘ri yechuvchi tanlansa MUMPS yoki MKL ni ko‘rib chiqing.

To‘g‘ridan-to‘g‘ri usulda oldindan shartlagich qo‘llanmaydi. !SOLVER da oldindan shartlagich ko‘rsatilgan bo‘lsa ham to‘g‘ridan-to‘g‘ri yechuvchi yo‘lida u hisobga olinmaydi.

MPC ishlov berish usullari

MPC ishlov usuli ko‘p nuqtali cheklov bilan bog‘langan DOF larni chiziqli tenglamaga aks ettirish usulidir. Kirishdagi cheklov tenglamasi bir xil bo‘lsa ham, ishlov usuliga qarab koeffitsiyent matritsasining xossalari va yaqinlashuv o‘zgaradi.

MPC ishlov usuli Tavsifi Standart qo‘llanishi
Jarima usuli Cheklov tenglamasiga katta qattiqlik qo‘shib uni taxminan bajaradi. To‘g‘ridan-to‘g‘ri yechuvchi uchun standart.
Oshkora erkinlik darajalarini yo‘qotish Cheklangan DOF larni yo‘qotib, qisqartirilgan chiziqli sistemani yechadi. Iterativ usul uchun standart.

To‘g‘ridan-to‘g‘ri yechuvchida jarima usuli, iterativ usulda oshkora erkinlik darajalarini yo‘qotish standart hisoblanadi. Ilgari tanlash mumkin bo‘lgan MPC-CG usuli olib tashlangan; MPCMETHOD=2 ko‘rsatilsa, ogohlantirish chiqariladi va tegishli standart usul qo‘llanadi.

Oshkora erkinlik darajalarini yo‘qotishda modal tahlil va oshkor usuldagi dinamik tahlilda ishlatiladigan jamlangan massalar ham qattiqlik matritsasi bilan bir xil almashtirish orqali qisqartiriladi. Qisqartirilgan massa matritsasi odatda diagonal bo‘lmagani uchun uning har bir satri yig‘indisi jamlangan massa sifatida ishlatiladi. Cheklov tenglamasi koeffitsiyentlari yig‘indisi 1 bo‘lgan bog‘lash yoki interpolatsiya cheklovlarida qaram erkinlik darajalarining massasi asosiy erkinlik darajalariga koeffitsiyentlarga mutanosib ravishda taqsimlanadi.

MPC ishlov usulini !SOLVER ning MPCMETHOD parametri bilan aniq ko‘rsatish mumkin. Qiymatlar ma’nosi va sintaksisi uchun kalit so‘z ma’lumotnomasiga qarang.

Kontakt erkinlik darajalarini yo‘qotish

Kontakt erkinlik darajalarini yo‘qotish — SLAGRANGE kontakt qo‘shadigan kontakt erkinlik darajalarini chiziqli yechuvchiga uzatishdan oldin qisqartirib ishlov berish funksiyasi. Kontakt DOF larni yo‘qotish iterativ usuldagi chiziqli sistemaning xossalarini yaxshilashi mumkin.

Standart avtomatik rejimda iterativ usulda kontakt erkinlik darajalarini yo‘qotish bajariladi, to‘g‘ridan-to‘g‘ri yechuvchida esa bajarilmaydi. To‘g‘ridan-to‘g‘ri yechuvchi uchun kontakt DOF larni o‘z ichiga olgan kengaytirilgan sistemani to‘g‘ridan-to‘g‘ri ishlash yo‘li mavjud.

CONTACT_ELIM aniq ko‘rsatilsa, to‘g‘ridan-to‘g‘ri yechuvchida ham kontakt erkinlik darajalarini yo‘qotish bajariladi. Kontakt turi, kontakt juftligi va kontakt algoritmi kirish sozlamalari uchun kontakt/joylashtirish sahifasiga qarang.

Yordamchi funksiyalar

Yechuvchi yaqinlashuvi va unumdorligini tekshirish uchun shartlanganlik sonini baholash, matritsa nusxasini saqlash va log chiqarish funksiyalaridan foydalanish mumkin. Odatdagi tahlilda ular kerak emas; nosozliklarni aniqlash yoki unumdorlik bahosi uchun yoqiladi.

Funksiya Qo‘llanishi Izoh
Shartlanganlik sonini baholash CG va GMRES uchun shartlanganlik soni indikatorini chiqaradi. LAPACK yoqilgan holda yig‘ilgan versiyada ishlaydi.
Matritsa nusxasini saqlash Yechuvchiga uzatiladigan matritsa va o‘ng tomonni faylga saqlaydi. Matrix Market, CSR, BSR formatlarini qo‘llaydi.
DUMPEXIT Matritsa nusxasini saqlashdan so‘ng tahlilni tugatadi. Faqat matritsani olib tashqi vositada tekshirish uchun.
ITERLOG Iterativ usul yaqinlashuv tarixini chiqaradi. Qoldiqning o‘zgarishini tekshiradi.
TIMELOG Yechuvchi hisoblash vaqtini chiqaradi. VERBOSE batafsil tafsilot chiqaradi.
STEPLOG Qadam ma’lumotlarini chiqaradi. Tahlil tartibini tekshirish uchun.
LOGLEVEL AMG oldindan shartlagichlarining iyerarxiya tuzilishi kabi diagnostik ma’lumotlarni chiqaradi. ITERLOG va TIMELOGdan mustaqil beriladi. Kattaroq qiymat ko‘proq chiqish hosil qiladi.

Matritsa nusxasini saqlash tahlilda yig‘ilgan koeffitsiyent matritsasini tashqi vositada tekshirish uchun ishlatiladi. DUMPEXIT yoqilsa, matritsa va o‘ng tomon saqlangan zahoti tahlil tugaydi. Shartlanganlik sonini baholash CG va GMRES uchun eksperimental funksiya bo‘lib, yaqinlashuv diagnostikasi uchun ishlatiladi.

Tegishli mavzular