!SOLVER¶
Шийдэгчийн удирдлага
Заавал шаардлагатай удирдлагын өгөгдөл.
Параметрүүд¶
METHOD = Бодолтын арга (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Контактын шинжилгээнээс бусад тохиолдлын шууд арга (зөвхөн цуваа боловсруулалт) (одоогоор ашиглах боломжгүй)
DIRECTmkl : Intel MKL ашиглах шууд арга
MUMPS : MUMPS ашиглах шууд арга
Шууд арга сонгосон үед өгөгдлийн мөрүүдийг үл тоомсорлоно.
3-DOF бодлогын итерацийн аргууд OpenMP-ээр урсгал-параллель гүйцэтгэлийг дэмжинэ
PRECOND = Итерацийн шийдэгчийн урьдчилан нөхцөлжүүлэх арга (1, 2, 3, 5, 10, 11, 12, 22)
1, 2 : (Блок) SSOR (зөвхөн 3-DOF бодлогод олон өнгийн эрэмбэлэлттэй)
3 : (Блок) диагональ масштаблалт
5 : Олон торын урьдчилан нөхцөлжүүлэх ML багцыг ашигласан AMG
10 : Блок ILU(0)
11 : Блок ILU(1)
12 : Блок ILU(2)
22 : HEC-MW-д суулгагдсан SA-AMG (Smoothed Aggregation AMG)-г ашигласан AMG
10, 11, 12 нь зөвхөн 3-DOF бодлогод ашиглах боломжтой
22 нь зөвхөн LAPACK идэвхжүүлсэн бүтээлтэд ашиглах боломжтой
OpenMP урсгал-параллель гүйцэтгэлд SSOR, диагональ масштаблалт, ML эсвэл SA-AMG-ийг зөвлөж байна
ITERLOG = Итерацийн шийдэгчийн нийлэлтийн түүхийг гаргах эсэх (YES/NO)(Анхдагч: NO)
TIMELOG = Шийдэгчийн тооцооллын хугацааг гаргах эсэх (YES/NO/VERBOSE)(Анхдагч: NO)
LOGLEVEL = Урьдчилан нөхцөлжүүлэлтийн оношилгооны мэдээллийн гаралтын түвшин (бүхэл тоо)(Анхдагч: гаралтгүй)
ITERLOG ба TIMELOG-оос үл хамааран заана
1 буюу түүнээс их үед AMG төрлийн урьдчилан нөхцөлжүүлэгчийн (PRECOND=5, 22) иерархийн бүтэц зэрэг мэдээллийг гаргана
2 буюу түүнээс их үед илүү дэлгэрэнгүй мэдээллийг (санах ойн хэрэглээ гэх мэт) мөн гаргана
USEJAD = Вектор процессорт зориулсан эрэмбэлэлтийг ашиглах эсэх (YES/NO)(Анхдагч: NO)
Зөвхөн 3-DOF бодлогод итерацийн арга ашиглах үед хүчинтэй
SCALING = Диагональ элементүүд 1 болохоор матрицыг масштаблах эсэх (YES/NO)(Анхдагч: NO)
Зөвхөн 3-DOF бодлогод итерацийн арга ашиглах үед хүчинтэй
DUMPTYPE = Матрицын дамп формат (NONE, MM, CSR, BSR) (голчлон дибаг хийхэд)
NONE : Дамп хийхгүй (Анхдагч)
MM : Matrix Market формат
CSR : Compressed Sparse Row (CSR) формат
BSR : Блоклосон CSR формат
DUMPEXIT = Матрицын дамп хийсний дараа программыг шууд дуусгах эсэх (YES/NO)(Анхдагч: NO)
MPCMETHOD = Олон цэгийн хязгаарлалтыг боловсруулах арга (1, 3)
1: Торгуулийн арга (шууд арга ашиглах үеийн анхдагч)
3: DOF-ийг ил аргаар арилгах (итерацийн арга ашиглах үеийн анхдагч)
Өмнө нь сонгох боломжтой байсан MPC-CG аргыг хассан; 2 гэж заавал анхааруулга гаргаж, харгалзах анхдагч аргыг хэрэглэнэ.
ESTCOND = Нөхцлийн тоог үнэлэх давтамж (туршилтын)
Заасан итерацийн интервал бүрт болон итерацийн төгсгөлд нөхцлийн тоог үнэлнэ
0 заасан үед үнэлгээ хийхгүй
RECOMPUTE_RESIDUAL = Үлдэгдлийн векторыг дахин тооцоолох давтамж
METHOD-д CG, BiCGSTAB, GPBiCG эсвэл PipeCG заасан үед л хүчинтэй
Итерацийн арга нь үлдэгдлийн векторыг рекуррент хамаарлаар шинэчилдэг тул тоймлолтын алдаа хуримтлагдана
Заасан итераци бүрт үлдэгдлийн векторыг {b}-[A]{x} утгаас дахин тооцоолно
0 үед арга тус бүрийн анхдагч утгыг (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50) хэрэглэнэ
Сөрөг утга заасан бол давтамжтай дахин тооцоолол хийхгүй
Нийлэлтийн шалгуур хангагдсан үед баталгаажуулах дахин тооцооллыг энэ тохиргооноос үл хамааран үргэлж хийнэ
Давтамжийг хэт богиносговол матриц-вектор үржвэрийн тоо нэмэгдэхээс гадна
нийлэлт өөрөө муудах эсвэл огт нийлэхгүй байж болно
Анхдагч утгаас өөрчилсөн бол нийлэлтийн түүх ба эцсийн харьцангуй үлдэгдлийг шалгана
METHOD2 = 2-р бодолтын арга (BiCGSTAB, GMRES, GPBiCG) (туршилтын)
METHOD-д CG заасан үед л хүчинтэй
Хэрэв CG сарнивал хоёрдогч аргад автоматаар шилжиж бодолтыг үргэлжлүүлнэ
Бусад параметр ба өгөгдлийн мөрүүдэд ижил утгуудыг хэрэглэнэ
CONTACT_ELIM = Контактын шинжилгээнд DOF арилгалт хийх эсэхийг заана (0,1)
0: Зөвхөн итерацийн арга ашиглах үед DOF арилгалт хийнэ (Анхдагч)
1: DOF арилгалтыг үргэлж хийнэ (шууд арга ашиглах үед ч)
** 2-р мөр ба түүнээс хойш **
| Хувьсагчийн нэр | Атрибут | Тайлбар |
|---|---|---|
| NITER | I | Итерацийн тоо (Анхдагч: 100) |
| iterPREmax | I | Additive Schwarz урьдчилан нөхцөлжүүлэх итерацийн тоо (Анхдагч: 1) (Зөвлөмж утга: 1; зарим параллель тооцоонд 2 үр дүнтэй байж болно) |
| NREST | I | Krylov дэд орон зайн тоо (Анхдагч: 10) (Бодолтын аргаар GMRES сонгосон үед л хүчинтэй) |
| NCOLOR_IN | I | Олон өнгийн эрэмбэлэлтийн зорилтот өнгөний тоо (Анхдагч: 10) (OpenMP урсгалын тоо 2 ба түүнээс их үед л хүчинтэй) |
| RECYCLEPRE | I | Урьдчилан нөхцөлжүүлэгчийн тохиргооны мэдээллийг дахин ашиглах тоо (Анхдагч: 3) (Зөвхөн шугаман бус шинжилгээнд хүчинтэй) |
| Хувьсагчийн нэр | Атрибут | Тайлбар |
|---|---|---|
| RESID | R | Таслалтын алдаа (Анхдагч: 1.0e-8) |
| SIGMA_DIAG | R | Урьдчилан нөхцөлжүүлэх матриц тооцоход диагональ элементүүдэд хэрэглэх масштабын коэффициент (Анхдагч: 1.0) (ILU урьдчилан нөхцөлжүүлэлтэд тэгээр хуваах эсвэл сарних тохиолдолд 1.0-ээс их утга заавал бодлого нийлж болно) |
| SIGMA | R | Ашиглахгүй (Анхдагч: 0.0) |
PRECOND=5 үед (сонголттой)¶
PRECOND-д 5 ба 22-оос өөр утга заасан бол 4-р мөрийг үл тоомсорлоно.
| Хувьсагчийн нэр | Атрибут | Тайлбар |
|---|---|---|
| ML_CoarseSolver | I | ML-ийн бүдүүн торны шийдэгч (1: жигдрүүлэгч ашиглах, 2: KLU (цуваа шууд арга), 3: MUMPS (параллель шууд арга)) (Анхдагч: 1) (Зөвлөмж: хүнд бодлогод 3 эсвэл 2, ердийн бодлогод 1) |
| ML_Smoother | I | ML жигдрүүлэгч (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (Анхдагч: 1) (Зөвлөмж: 1) |
| ML_MGCycle | I | ML олон торын цикл (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (Анхдагч: 1) (Зөвлөмж: хүнд бодлогод 2, ердийн бодлогод 1) |
| ML_MaxLevels | I | ML түвшний хамгийн их тоо (Анхдагч: 10) (Онцгой хүнд бодлогод шууд бүдүүн торны шийдэгч ба 2 түвшин (санах ой хүрэлцэхгүй бол 3), ердийн бодлогод 10-ыг зөвлөж байна) |
| ML_CoarseningScheme | I | ML тор бүдүүрүүлэх схем (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (Анхдагч: 1) (Зөвлөмж: 1 эсвэл 5) |
| ML_NumSweep | I | ML жигдрүүлэгчийн давталтын тоо (Chebyshev-ийн хувьд полиномын зэрэг) (Анхдагч: 2) (Зөвлөмж: Chebyshev-д 2, SymBlockGaussSeidel-д 1) |
PRECOND=22 үед (сонголттой)¶
PRECOND-д 22-оос өөр утга заасан бол 5-р мөрийг үл тоомсорлоно. 4-р болон 5-р мөрийг бүхэлд нь орхиж болох бөгөөд мөр бүрийн төгсгөлийн элементүүдийг мөн орхиж болно. 0 гэж заасан элементэд анхдагч утгыг хэрэглэнэ.
4-р мөрийн 1-ээс 7-р элемент нь PRECOND=5 (ML)-ийн сонголтын мөртэй ижил дарааллаар байрласан тул ML-ийн сонголтын мөрийг өөрчлөлгүй ашиглаж болно. 8-аас 10-р элемент нь SA-AMG-д тусгайлан зориулагдсан.
(4-р мөр) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (ашиглахгүй), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (ашиглахгүй)
| Хувьсагчийн нэр | Атрибут | Тайлбар |
|---|---|---|
| SA_CoarseSolver | I | Бүдүүн торны шийдэгч (0: автомат, 1: жигдрүүлэгч ашиглах, 2: нягт матрицын шууд арга, 3: MUMPS (параллель шууд арга)) (Анхдагч: 0) (Автомат горимд MUMPS идэвхжүүлсэн бүтээлтэд MUMPS, бусад тохиолдолд нягт матрицын шууд аргыг хэрэглэнэ) |
| SA_Smoother | I | Жигдрүүлэгч (0, 1: Chebyshev) (Анхдагч: 0) (Зөвхөн Chebyshev-ийг дэмжинэ. Өөр утга заавал анхааруулга гаргаж Chebyshev-ийг хэрэглэнэ) |
| SA_MGCycle | I | Олон торын цикл (0: анхдагч (W-cycle), 1: V-cycle, 2: W-cycle) (Анхдагч: 0) (Full-V-cycle-ийг дэмжихгүй) |
| SA_MaxLevels | I | Түвшний хамгийн их тоо (Анхдагч: 20) |
| (ашиглахгүй) | I | ML тор бүдүүрүүлэх схемд харгалзах байрлал. SA-AMG нь үргэлж холбоосгүй агрегаци ашигладаг тул 0-ээс өөр утга заавал анхааруулга гаргаж, утгыг үл тоомсорлоно |
| SA_ChebyDegree | I | Chebyshev жигдрүүлэгчийн полиномын зэрэг (Анхдагч: 2) |
| SA_CoarseSize | I | Бүдүүн торны таслах хэмжээ (Анхдагч: бүдүүн торны шийдэгчээр MUMPS ашиглах үед 50000, бусад үед 100) |
| SA_MaxAggSize | I | Агрегатын хамгийн их хэмжээ (Анхдагч: 96) |
| SA_GalerkinLowMem | I | Бүдүүн торны матриц тооцоолох арга (0: ердийн (хурдыг эрхэмлэнэ), эерэг утга: санах ой хэмнэнэ) (Анхдагч: 0) (Тохиргооны үед санах ой хүрэлцэхгүй бол эерэг утга заана) |
| (ашиглахгүй) | I | Ирээдүйн өргөтгөлд зориулан нөөцөлсөн |
5-р мөр нь зөвхөн SA-AMG-д зориулагдсан бөгөөд ML үүнийг уншихгүй.
(5-р мөр) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
| Хувьсагчийн нэр | Атрибут | Тайлбар |
|---|---|---|
| SA_Theta | R | Хүчтэй холбоосыг тодорхойлох босго (Анхдагч: 0.0) (0.0 үед матрицын тэг бус бүтцийг граф болгон шууд ашиглана) |
| SA_ChebyAlpha | R | Chebyshev жигдрүүлэгчийн хамрах өөрийн утгын интервалын доод хязгаарыг тогтоох харьцаа (Анхдагч: 20.0) |
| SA_Safety | R | Хамгийн их өөрийн утгын үнэлгээнд хэрэглэх аюулгүйн коэффициент (Анхдагч: 1.1) |
| SA_TaperK | R | Тор бүдүүрүүлэлтийг аажимруулах K коэффициент (Анхдагч: 100) (2-р түвшнээс хойш дор хаяж ойролцоогоор K агрегат үлдэхээр тор бүдүүрүүлэлтийг аажимруулна. Сөрөг утга нь аажимруулалтыг идэвхгүй болгоно) |
| SA_AggOrder | R | Агрегацийн скан хийх дараалал (0: анхдагч (BFS дараалал), 1: BFS дараалал, 2: зангилааны дугаарын хэш дараалал (туршилтын), 3: зэргийн өсөх дараалал (туршилтын), 4: зэргийн буурах дараалал (туршилтын), сөрөг утга: зангилааны дугаарын дараалал) (Анхдагч: 0) |
| SA_MinAggSize | R | Агрегатын хамгийн бага хэмжээ (Анхдагч: 3) |
| SA_Verify | R | Тохиргооны үед өөрийгөө шалгах эсэх (0: шалгахгүй, эерэг утга: шалгана) (Анхдагч: 0) (голчлон дибаг хийхэд) |
| SA_DumpVTK | R | Хамгийн дээд түвшний агрегацийг VTK форматаар гаргах эсэх (0: гаргахгүй, эерэг утга: гаргана) (Анхдагч: 0) (голчлон дибаг хийхэд) |
Жишээ¶
CG-г SSOR урьдчилан нөхцөлжүүлэлттэй ашиглаж, итерацийн хамгийн их тоог 10000, таслалтын алдааг 1.0e-8 болгоно
GMRES-ийг SSOR урьдчилан нөхцөлжүүлэлттэй ашиглаж, Krylov дэд орон зайн тоог 40, олон өнгийн эрэмбэлэлтийн зорилтот өнгөний тоог 100 болгоно
CG-г ILU(0) урьдчилан нөхцөлжүүлэлттэй ашиглаж, урьдчилан нөхцөлжүүлэх матриц тооцоход диагональ элементүүдэд хэрэглэх масштабын коэффициентийг 1.1 болгоно
CG-ийн урьдчилан нөхцөлжүүлэгчээр ML-ийн AMG-г ашиглана
CG-ийн урьдчилан нөхцөлжүүлэгчээр ML-ийн AMG-г ашиглаж, бүдүүн торны шийдэгчээр MUMPS ашиглана (хүнд бодлогод)
CG-ийн урьдчилан нөхцөлжүүлэгчээр ML-ийн AMG-г ашиглаж, олон торын циклээр W-cycle ашиглана (хүнд бодлогод)
CG-ийн урьдчилан нөхцөлжүүлэгчээр ML-ийн AMG-г ашиглаж, бүдүүн торны шийдэгчээр MUMPS хэрэглээд түвшний хамгийн их тоог 2 болгоно (маш хүнд бодлогод)
CG-ийн урьдчилан нөхцөлжүүлэгчээр HEC-MW-д суулгагдсан SA-AMG-ийг ашиглана
CG-ийн урьдчилан нөхцөлжүүлэгчээр SA-AMG-ийг ашиглаж, бүдүүн торны шийдэгчээр MUMPS ашиглана
Үрэлттэй контакт шинжилгээнд BiCGSTAB-ийг SA-AMG урьдчилан нөхцөлжүүлэлттэй ашиглаж, AMG урьдчилан нөхцөлжүүлэгчийн иерархийг гаргана