!SOLVER¶
Шешушіні басқару
Міндетті басқару деректері.
Параметрлер¶
METHOD = Шешу әдісі (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Жанасу талдауынан басқа жағдайларға арналған тікелей әдіс (тек тізбекті өңдеу) (қазір қолжетімсіз)
DIRECTmkl : Intel MKL пайдаланатын тікелей әдіс
MUMPS : MUMPS пайдаланатын тікелей әдіс
Тікелей әдіс таңдалғанда, деректер жолдары еленбейді.
3 еркіндік дәрежелі есептердегі итерациялық әдістер OpenMP арқылы ағындық параллель орындауды қолдайды
PRECOND = Итерациялық шешушілерге арналған алдын ала шарттау әдісі (1, 2, 3, 5, 10, 11, 12, 22)
1, 2 : (Блоктық) SSOR (3 еркіндік дәрежелі есептерде тек көптүсті реттеумен)
3 : (Блоктық) диагональдық масштабтау
5 : ML көпторлы алдын ала шарттау пакетін пайдаланатын AMG
10 : Блоктық ILU(0)
11 : Блоктық ILU(1)
12 : Блоктық ILU(2)
22 : HEC-MW құрамына кіріктірілген SA-AMG (тегістелген агрегациялы AMG) пайдаланатын AMG
10, 11 және 12 тек 3 еркіндік дәрежелі есептер үшін қолжетімді
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 еркіндік дәрежелі есепте итерациялық әдіс қолданылғанда жарамды
SCALING = Диагональ элементтері 1 болатындай матрицаны масштабтау керек пе (YES/NO)(Әдепкі: NO)
Тек 3 еркіндік дәрежелі есепте итерациялық әдіс қолданылғанда жарамды
DUMPTYPE = Матрицаны дамптау пішімі (NONE, MM, CSR, BSR) (негізінен жөндеу үшін)
NONE : Дамп жасамау (Әдепкі)
MM : Matrix Market пішімі
CSR : Сығылған сирек жол (CSR) пішімі
BSR : Блокталған CSR пішімі
DUMPEXIT = Матрицаны дамптағаннан кейін бағдарламаны дереу аяқтау (YES/NO)(Әдепкі: NO)
MPCMETHOD = Көпнүктелі шектеулерді өңдеу әдісі (1, 3)
1: Айыппұл әдісі (тікелей әдіс пайдаланылғандағы әдепкі)
3: Еркіндік дәрежелерін айқын жою (итерациялық әдіс пайдаланылғандағы әдепкі)
Бұрын таңдауға болатын 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 = Жанасу талдауында еркіндік дәрежелерін жою орындала ма, соны көрсетеді (0,1)
0: Еркіндік дәрежелерін тек итерациялық әдіс пайдаланылғанда жою (Әдепкі)
1: Еркіндік дәрежелерін әрқашан жою (тікелей әдіс пайдаланылғанда да)
** 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) (негізінен ақауларды түзету үшін) |
Мысалдар¶
SSOR алдын ала шарттауымен CG пайдалану, итерациялардың ең көп санын 10000 және жинақталу шегін 1.0e-8 етіп орнату
SSOR алдын ала шарттауымен GMRES пайдалану, Krylov ішкі кеңістігінің өлшемін 40 және көптүсті реттеудің мақсатты түстер санын 100 етіп орнату
ILU(0) алдын ала шарттауымен CG пайдалану және алдын ала шарттау матрицасын есептегенде диагональ элементтерге қолданылатын масштаб коэффициентін 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 пайдалану
Үйкелісті жанасу талдауында SA-AMG алдын ала шарттауымен BiCGSTAB пайдалану және AMG алдын ала шарттағышының иерархиясын шығару