Агуулгыг алгасах

Шийдэгч ба урьдчилан нөхцөлжүүлэлт

FrontISTR-ийн шугаман шийдэгчийг шууд эсвэл итерацийн аргын аль нэгийг сонгон тохируулна; итерацийн аргыг урьдчилан нөхцөлжүүлэгчтэй хослуулан шугаман тэгшитгэлийг бодно. MPC боловсруулах арга болон контакт-DOF арилгалт нь олон цэгийн эсвэл контакт хязгаарлалт агуулсан шугаман системийг хэрхэн боловсруулахыг тодорхойлох туслах сонголтууд юм.

Функцийн ерөнхий тойм

Шийдэгч ба урьдчилан нөхцөлжүүлэлтийн тохиргоо дараах сонголтуудаас бүрдэнэ. Эхлээд шугаман шийдэгчээр итерацийн эсвэл шууд аргын аль нэгийг сонгоно. Урьдчилан нөхцөлжүүлэгчийг зөвхөн итерацийн аргатай хослуулна.

Ангилал Үндсэн сонголтууд Үүрэг
Итерацийн аргууд CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Том сийрэг матрицыг харьцангуй үр ашигтай санах ойн хэрэглээгээр бодно.
Итерацийн аргын урьдчилан нөхцөлжүүлэгч SSOR, диагональ масштаблалт, BILU, AMG, SAINV, RIF Итерацийн аргын нийлэлтийг сайжруулна. Шууд аргад ашиглахгүй.
Шууд аргууд MUMPS, MKL Матриц факторчлох замаар шугаман тэгшитгэлийг найдвартай бодно.
MPC боловсруулах аргууд Торгуулийн арга, DOF-ийг ил аргаар арилгах Олон цэгийн хязгаарлалтыг шугаман системд оруулна.
Контакт-DOF арилгалт Автомат, үргэлж идэвхтэй SLAGRANGE контактаар нэмэгдсэн контакт чөлөөний зэргийг боловсруулахыг удирдана.
Туслах функцүүд Нөхцлийн тооны үнэлгээ, матрицын дамп, лог Дибаг, нийлэлтийн үнэлгээ, гүйцэтгэлийн үнэлгээнд тусална.

Параллель гүйцэтгэлд домэйн хуваалтад суурилсан MPI параллелизмыг OpenMP урсгалын параллелизмтай хослуулж болно. Том хэмжээний параллель шинжилгээнд итерацийн арга стандарт сонголт бөгөөд шаардлагатай сангууд холбогдсон, илүү найдвартай бодолт хэрэгтэй үед шууд аргыг ашиглана.

Шийдэгч ба урьдчилан нөхцөлжүүлэгч сонгох

Эхлээд итерацийн эсвэл шууд арга ашиглах эсэхийг шийднэ. Итерацийн арга сонгосон бол дараа нь урьдчилан нөхцөлжүүлэгч сонгоно.

Шийдвэрлэх хүчин зүйл Зөвлөмж арга
Бодлогын хэмжээ Жижигээс дунд бодлогод шууд арга тогтвортой, ашиглахад хялбар. Том бодлогод итерацийн арга санах ойг илүү үр ашигтай ашиглана.
Матрицын тэгш хэм Симметр эерэг тодорхой бодлогод CG-г авч үзнэ. Симметр бус бодлогод BiCGSTAB, GMRES, GPBiCG эсвэл ижил төстэй аргыг авч үзнэ.
Параллель орчин MPI параллелизмд итерацийн аргыг домэйн хуваалттай хослуулна. OpenMP параллелизм дахь урьдчилан нөхцөлжүүлэлтэд олон өнгийн SSOR хэрэгжүүлэлтийг авч үзнэ.
Урьдчилан нөхцөлжүүлэлт (итерацийн арга сонгосон үед) Эхлээд анхдагч SSOR-ыг туршиж, дараа нь AMG-г авч үзнэ. Нийлэлт сайн үед SSOR тооцооллын хувьд хөнгөн; төвөгтэй, том хэмжээний бодлогод AMG урьдчилан нөхцөлжүүлэлт тохиромжтой. AMG нь Trilinos-ML хэрэгжүүлэлт болон HEC-MW-д суурилуулсан SA-AMG хэрэгжүүлэлттэй; бүтээлтийн тохиргоонд нийцүүлэн сонгоно.
Контакт ба MPC Контакт эсвэл олон цэгийн хязгаарлалт агуулсан шинжилгээнд MPC боловсруулах арга болон контакт-DOF арилгалтын сонголт нь нийлэлт ба найдвартай байдалд нөлөөлнө.
Гадаад сангууд MUMPS, MKL болон AMG (Trilinos-ML)-г харгалзах сангуудтай холбосон бүтээлтэд ашиглана. AMG (SA-AMG)-г LAPACK идэвхжүүлсэн бүтээлтэд ашиглана.

Стандарт шинжилгээнд нийлэлтийн анхдагч хүлцэл, итерацийн хамгийн их тоо, урьдчилан нөхцөлжүүлэгчийн диагональ засварын коэффициент ерөнхийдөө хангалттай. Зөвхөн нийлэлт удаан эсвэл бодолт сарних үед итерацийн арга, урьдчилан нөхцөлжүүлэгч, MPC боловсруулах арга, контакт-DOF арилгалтыг энэ дарааллаар дахин авч үзнэ. Параметрийн утга ба синтаксыг !SOLVER түлхүүр үгийн лавлагаанаас үзнэ үү.

Итерацийн аргууд

Итерацийн арга нь матриц-вектор үржвэр болон урьдчилан нөхцөлжүүлэлтээр бодолтыг давтан шинэчилж том сийрэг системийг бодно. FrontISTR дараах итерацийн аргуудыг хангана.

Итерацийн арга Түгээмэл хэрэглээ Тэмдэглэл
CG Симметр эерэг тодорхой бодлого Бүтцийн ба дулаан дамжилтын шинжилгээний стандарт нэр дэвшигч.
BiCGSTAB Симметр бус бодлого Контакт эсвэл хосолсон нөлөө хүчтэй симметр бус байдлыг үүсгэх үед сонголт.
GMRES Симметр бус бодлого Заасан Krylov дэд орон зайн хэмжээгээр ашиглана.
GPBiCG Симметр бус бодлого BiCGSTAB гэр бүлийн сайжруулсан арга болгон ашиглана.
GMRESR Симметр бус бодлого, ахисан хэрэглээ GMRES-ийг үүрлэсэн хэлбэрээр ашиглах сонголт.
GMRESREN Симметр бус бодлого, ахисан хэрэглээ GMRESR гэр бүлийн рекурсив хувилбар.

CG нь матрицыг симметр эерэг тодорхой гэж үздэг. Хэрэв үрэлттэй контакт, симметр бус хязгаарлалтын боловсруулалт, хосолсон нөлөө эсвэл ижил хүчин зүйлс хүчтэй симметр бус байдлыг бий болговол BiCGSTAB, GMRES, GPBiCG эсвэл өөр симметр бус шийдэгчийг авч үзнэ. GMRES-д Krylov дэд орон зайн хэмжээг нэмэгдүүлэх нь нийлэлтийг сайжруулж болох боловч санах ойн хэрэглээг мөн нэмэгдүүлнэ.

METHOD2 заасан үед CG сарних эсвэл эвдрэхэд FrontISTR өөр итерацийн аргад шилжиж чадна. Энэ функц нь CG үндсэн шийдэгч байх тохиолдлын нөөц арга бөгөөд өөр арга нь үндсэн шийдэгчтэй ижил бусад тохиргоо ба өгөгдлийн мөрүүдийг ашиглана.

CG, BiCGSTAB, GPBiCG, PipeCG нь үлдэгдлийн векторыг рекуррент хамаарлаар шинэчилдэг тул итераци нэмэгдэх тусам дугуйруулгын алдаа хуримтлагдаж, жинхэнэ үлдэгдлээс зөрүү үүснэ. Үүнээс сэргийлэхийн тулд тодорхой итерацийн мөчлөг тутамд үлдэгдлийн векторыг баруун тал болон матриц-векторын үржвэрээс дахин тооцоолдог. Энэ мөчлөгийг RECOMPUTE_RESIDUAL-аар зааж болно. Мөчлөгийг уртасгавал матриц-векторын үржвэрийн тоо багасах боловч рекуррент хамаарлаар шинэчлэгдсэн үлдэгдэл жинхэнэ үлдэгдлээс хазайж, нийлэлгүй байгаа шийдийг нийлсэн гэж үнэлэх эрсдэл нэмэгдэнэ. Харин мөчлөгийг хэт богиносговол матриц-векторын үржвэр олшрохоос гадна рекуррент хамаарал хадгалж буй үлдэгдэл ба туслах векторуудын хоорондын хамаарал алдагдаж, нийлэлт өөрөө муудаж болно. Арга тус бүрийн өгөгдмөл утга нь энэ тэнцвэрийг харгалзан сонгогдсон; өөрчилсөн тохиолдолд нийлэлтийн түүх болон эцсийн харьцангуй үлдэгдлийг шалгана.

Урьдчилан нөхцөлжүүлэлт

Урьдчилан нөхцөлжүүлэлт нь итерацийн аргын нийлэлтийг сайжруулахын тулд коэффициент матрицыг хувиргах бөгөөд зөвхөн итерацийн арга сонгосон үед хэрэглэнэ. Шууд арга урьдчилан нөхцөлжүүлэлт ашиглахгүй. Ижил итерацийн аргад ч урьдчилан нөхцөлжүүлэгчийн сонголт нь нийлэлтэд шаардлагатай итерацийн тоо болон тооцооллын хугацааг ихээхэн өөрчилж чадна.

Урьдчилан нөхцөлжүүлэгч Шинж чанар Түгээмэл хэрэглээ
SSOR Стандарт урьдчилан нөхцөлжүүлэгч; олон өнгийн эрэмбэлэлтийг дэмжинэ. Эхний турших сонголт; бүтцийн шинжилгээнд өргөн хэрэглэнэ.
Диагональ масштаблалт Диагональ элемент ашиглах хөнгөн урьдчилан нөхцөлжүүлэгч. Бага тооцооллын өртөг чухал үед.
BILU Блок дутуу LU факторчлол. SSOR-оор нийлэхэд хэцүү бодлогын сонголт.
AMG (Trilinos-ML) Гадаад Trilinos-ML сан ашигласан алгебрын олон торын арга. Том хэмжээний бодлого эсвэл шаталсан алдааны компонент давамгайлсан бодлогын сонголт.
AMG (SA-AMG) HEC-MW-д суурилуулсан Smoothed Aggregation төрлийн алгебрын олон торын арга. Ижил хэрэглээтэй; нэмэлт гадаад сангүйгээр AMG ашиглах сонголт.
SAINV Сийрэг ойролцоо урвуу. Контакт бодлого эсвэл тархсан санах ойн орчинд зориулсан тусгай урьдчилан нөхцөлжүүлэх сонголт.
RIF Найдвартай дутуу факторчлол. Өөр нэг дутуу факторчлолын сонголт.

SSOR нь стандарт сонголт бөгөөд OpenMP параллелизмд олон өнгийн эрэмбэлэлтийн хувилбарыг ашиглана. Диагональ масштаблалт хөнгөн боловч нийлэлтийг сайжруулах нөлөө нь бодлогоос хамаарна. BILU нь блок дутуу LU факторчлолоор хэрэгжсэн бөгөөд ерөнхий тооны чөлөөний зэрэгтэй матрицыг мөн дэмжинэ. BILU гэр бүлийн хувьд итерацийн арга сарних үед диагональ засварын коэффициент SIGMA_DIAG-ийг автоматаар нэмэгдүүлж дахин оролдох зам бий; утгыг хэрхэн заахыг түлхүүр үгийн лавлагаанаас үзнэ үү.

AMG (алгебрын олон тор) нь гадаад Trilinos-ML сан ашигласан хэрэгжүүлэлт болон HEC-MW-д суурилуулсан SA-AMG гэсэн хоёр хэрэгжүүлэлттэй. Эдгээр нь бие даасан хэрэгжүүлэлтүүд бөгөөд шаардагдах бүтээлтийн тохиргоо болон зааж болох сонголтууд нь ялгаатай.

Trilinos-ML ашигласан AMG-д бүтээх үед ML идэвхжсэн байх шаардлагатай. Тэгшитгэгч, олон торын цикл, тор бүдүүрүүлэх арга болон бусад тохиргоог зааж болох боловч дэлгэрэнгүй утгыг түлхүүр үгийн лавлагаанаас үзнэ үү.

SA-AMG нь Smoothed Aggregation төрлийн алгебрын олон торын урьдчилан нөхцөлжүүлэгч бөгөөд Trilinos-ML шаарддаггүй. Гэхдээ дотооддоо LAPACK ашигладаг тул LAPACK идэвхжүүлсэн бүтээлт шаардлагатай; LAPACK идэвхгүй бүтээлтэд сонговол шинжилгээг эхлүүлэхгүйгээр програм дуусна. Бүдүүн торыг шийдэхэд MUMPS идэвхжүүлсэн бүтээлтэд MUMPS ашиглаж болох бөгөөд бусад тохиолдолд суурилуулсан нягт матрицын шууд аргыг ашиглана.

SA-AMG нь үндсэндээ тэгш хэмт эерэг тодорхой системийг (CG) зорино, гэхдээ үрэлттэй контактаас үүсэх тэгш хэмт бус хураангуйлсан системийг (BiCGSTAB, GMRES зэрэг) мөн дэмжинэ. Нэг зангилаанд 1 (дулаан дамжуулалт), 2 (хавтгай), 3 (биет), 6 (бүрхүүл) чөлөөний зэргийг дэмжих боловч зангилаа бүрийн чөлөөний зэргийн тоо ялгаатай матрицыг дэмжихгүй. Бүдүүн торын шийдэгч, олон торын цикл, тэгшитгэгчийн зэрэг болон бусад сонголтыг зааж болох бөгөөд стандарт шинжилгээнд анхдагч утгыг ашиглаж болно. Утга ба форматыг түлхүүр үгийн лавлагаанаас үзнэ үү. GPU (OpenACC) идэвхжүүлсэн бүтээлтэд урьдчилан нөхцөлжүүлэгчийг хэрэглэх хэсэг GPU дээр ажиллана.

Контакт эсвэл MPC хязгаарлалт агуулсан параллель шинжилгээнд SAINV ашиглах үед домэйн хуваалтад ашигласан давхцлын гүн нь нийлэлтэд нөлөөлж болно.

Шууд аргууд

Шууд арга коэффициент матрицыг факторчилж шугаман тэгшитгэлийг бодно. Итерацийн тооноос хамаарахгүй тул найдвартай бөгөөд контакт эсвэл хязгаарлалтын нөхцөл агуулсан шинжилгээнд тогтвортой сонголт байж болно. Гэхдээ санах ойн хэрэглээ нь бодлогын хэмжээтэй хамт нэмэгдэнэ.

Шууд арга Параллель орчин Хэрэглээ
MUMPS MPI параллель Тархсан санах ойн орчинд сийрэг матрицыг шууд аргаар бодно.
MKL Intel MKL / OpenMP Intel MKL-д суурилсан шууд шийдэгч. Дотооддоо Intel PARDISO ашиглана. Олон MPI процесстой үед Cluster MKL замыг ашиглана. DIRECTmkl нь MKL-ийн alias.

Шууд аргыг симметр болон симметр бус матрицын аль алинд ашиглаж болно. MUMPS ба MKL-д бүтээх үед харгалзах сангууд холбогдсон байх шаардлагатай. Тэдгээр сангүй орчинд ашиглах боломжгүй тул шаардлагатай хамаарал ба CMake сонголтуудыг бүтээлтийн гарын авлагаас үзнэ үү.

FrontISTR нь гадаад сан ашигладаггүй суурилуулсан шууд шийдэгчийн замыг мөн агуулдаг боловч шууд арга шаардсан ердийн шинжилгээнд ихэвчлэн MUMPS эсвэл MKL-ийг түрүүлж авч үзэх хэрэгтэй.

Шууд аргад урьдчилан нөхцөлжүүлэлт хэрэглэхгүй. !SOLVER-д урьдчилан нөхцөлжүүлэгч заасан ч шууд шийдэгчийн замд түүнийг ашиглахгүй.

MPC боловсруулах аргууд

MPC боловсруулах арга нь олон цэгийн хязгаарлалтаар холбогдсон чөлөөний зэргүүдийг шугаман тэгшитгэлд хэрхэн оруулахыг тодорхойлно. Оролтын өгөгдөл дэх хязгаарлалтын тэгшитгэл ижил байсан ч боловсруулах арга нь коэффициент матрицын шинж чанар ба нийлэлтийн зан төлөвийг өөрчилнө.

MPC боловсруулах арга Байр суурь Анхдагч хэрэглээ
Торгуулийн арга Хязгаарлалтын тэгшитгэлд их хөшүүн чанарын гишүүн нэмж хязгаарлалтыг ойролцоогоор хангана. Шууд аргын анхдагч.
DOF-ийг ил аргаар арилгах Хязгаарлагдсан чөлөөний зэргийг арилгаж бууруулсан шугаман системийг бодно. Итерацийн аргын анхдагч.

Торгуулийн арга нь шууд аргын анхдагч, DOF-ийг ил аргаар арилгах нь итерацийн аргын анхдагч. Өмнө нь сонгох боломжтой байсан MPC-CG аргыг хассан; MPCMETHOD=2 гэж заавал анхааруулга гаргаж, харгалзах анхдагч аргыг хэрэглэнэ.

Чөлөөний зэргийг ил хэлбэрээр хасах аргад модаль шинжилгээ болон ил аргын динамик шинжилгээнд хэрэглэдэг төвлөрүүлсэн массыг мөн хөшүүн чанарын матрицтай ижил хувиргалтаар бууруулна. Буурсан массын матриц ерөнхийдөө диагональ биш тул түүний мөр бүрийн нийлбэрийг төвлөрүүлсэн масс болгон ашиглана. Хязгаарлалтын тэгшитгэлийн коэффициентүүдийн нийлбэр 1 байдаг холболтын эсвэл интерполяцийн хязгаарлалтад дагалдах чөлөөний зэргийн массыг үндсэн чөлөөний зэрэгт коэффициентүүдтэй нь пропорционалаар хуваарилна.

MPC боловсруулах аргыг !SOLVER дахь MPCMETHOD-оор илээр зааж болно. Утга бүрийн утга ба синтаксыг түлхүүр үгийн лавлагаанаас үзнэ үү.

Контакт-DOF арилгалт

Контакт-DOF арилгалт нь системийг шугаман шийдэгчид дамжуулахаас өмнө SLAGRANGE контактаар нэмэгдсэн нэмэлт контакт чөлөөний зэргийг бууруулна. Эдгээр контакт чөлөөний зэргийг арилгах нь итерацийн аргаар боловсруулах шугаман системийн шинж чанарыг сайжруулж болно.

Анхдагч автомат горимд контакт-DOF арилгалтыг итерацийн аргад идэвхжүүлж, шууд аргад идэвхгүй болгоно. Шууд аргын хувьд контакт чөлөөний зэрэг агуулсан өргөтгөсөн системийг шууд бодох зам бий.

CONTACT_ELIM-ийг илээр заавал шууд арга ашиглах үед ч контакт-DOF арилгалт хийж болно. Оролтын талын контакт төрөл, контакт хос, контакт алгоритмын сонголтыг Контакт ба суулгалт хуудаснаас үзнэ үү.

Туслах функцүүд

Нөхцлийн тооны үнэлгээ, матрицын дамп, логийг шийдэгчийн нийлэлт ба гүйцэтгэлийг судлахад ашиглаж болно. Эдгээр функц ердийн шинжилгээнд шаардлагагүй бөгөөд голчлон дибаг эсвэл гүйцэтгэлийн үнэлгээнд идэвхжүүлнэ.

Функц Зорилго Тэмдэглэл
Нөхцлийн тооны үнэлгээ CG ба GMRES-ийн нөхцлийн тооны индикаторыг гаргана. LAPACK идэвхтэй бүтээлтэд боломжтой.
Матрицын дамп Шийдэгчид дамжуулсан матриц ба баруун талыг хадгална. Matrix Market, CSR, BSR форматыг дэмжинэ.
DUMPEXIT Матрицыг дамп хийсний дараа шинжилгээг дуусгана. Зөвхөн матриц гадаад баталгаажуулалтад хэрэгтэй үед ашиглана.
ITERLOG Итерацийн аргын нийлэлтийн түүхийг гаргана. Үлдэгдлийн хандлагыг шалгахад ашиглана.
TIMELOG Шийдэгчийн тооцооллын хугацааг гаргана. VERBOSE илүү дэлгэрэнгүй задаргаа гаргана.
STEPLOG Алхамын мэдээллийг гаргана. Шинжилгээний процедурыг шалгахад ашиглана.
LOGLEVEL AMG урьдчилан нөхцөлжүүлэгчийн шаталсан бүтэц зэрэг оношилгооны мэдээллийг гаргана. ITERLOG, TIMELOG-оос тусад нь заана. Утгыг ихэсгэхэд гаралт нэмэгдэнэ.

Матрицын дамп хийх нь шинжилгээгээр угсарсан коэффициент матрицыг гадаад хэрэгслээр шалгах боломж олгоно. DUMPEXIT идэвхтэй үед матриц ба баруун талыг хадгалсны дараа шинжилгээ дуусна. Нөхцлийн тооны үнэлгээ нь CG ба GMRES-тэй ашиглах туршилтын функц бөгөөд нийлэлтийн зан төлөвийг оношлоход ашиглаж болно.

Холбогдох сэдвүүд