!SOLVER¶
Riadenie riešiča
Povinné riadiace údaje.
Parametre¶
METHOD = Metóda riešenia (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Priama metóda okrem kontaktnej analýzy (iba sériové spracovanie) (momentálne nedostupné)
DIRECTmkl : Priama metóda používajúca Intel MKL
MUMPS : Priama metóda používajúca MUMPS
Keď je vybraná priama metóda, dátové riadky sa ignorujú.
Iteratívne metódy pre problémy s 3 stupňami voľnosti podporujú vláknové paralelné vykonávanie pomocou OpenMP
PRECOND = Metóda predpodmieňovania pre iteratívne riešiče (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Blokové) SSOR (s viacfarebným usporiadaním iba pre problémy s 3 stupňami voľnosti)
3 : (Blokové) diagonálne škálovanie
5 : AMG používajúce balík ML na viacúrovňové predpodmieňovanie
10 : Blokové ILU(0)
11 : Blokové ILU(1)
12 : Blokové ILU(2)
10, 11 a 12 sú dostupné iba pre problémy s 3 stupňami voľnosti
Pre vláknové paralelné vykonávanie OpenMP sa odporúča SSOR, diagonálne škálovanie alebo ML
ITERLOG = Či sa má vypisovať história konvergencie iteratívneho riešiča (YES/NO)(Predvolené: NO)
TIMELOG = Či sa má vypisovať výpočtový čas riešiča (YES/NO/VERBOSE)(Predvolené: NO)
USEJAD = Či sa má použiť usporiadanie pre vektorové procesory (YES/NO)(Predvolené: NO)
Platí iba pri použití iteratívnej metódy pre problém s 3 stupňami voľnosti
SCALING = Či sa má matica škálovať tak, aby diagonálne prvky boli rovné 1 (YES/NO)(Predvolené: NO)
Platí iba pri použití iteratívnej metódy pre problém s 3 stupňami voľnosti
DUMPTYPE = Formát výpisu matice (NONE, MM, CSR, BSR) (najmä na ladenie)
NONE : Nevypisovať (Predvolené)
MM : Formát Matrix Market
CSR : Formát Compressed Sparse Row (CSR)
BSR : Blokový formát CSR
DUMPEXIT = Ukončiť program okamžite po výpise matice (YES/NO)(Predvolené: NO)
MPCMETHOD = Metóda spracovania viacbodových väzieb (1, 2, 3)
1: Penalizačná metóda (predvolené pri použití priamej metódy)
2: Metóda MPC-CG (zastaraná)
3: Explicitná eliminácia stupňov voľnosti (predvolené pri použití iteratívnej metódy)
ESTCOND = Frekvencia odhadu čísla podmienenosti (experimentálne)
Odhadnúť číslo podmienenosti v každom zadanom intervale iterácií a na konci iterácií
Pri zadaní 0 sa odhad nevykonáva
METHOD2 = Sekundárna metóda riešenia (BiCGSTAB, GMRES, GPBiCG) (experimentálne)
Platí iba vtedy, keď je pre METHOD zadané CG
Ak CG diverguje, automaticky prepnúť na sekundárnu metódu a pokračovať v riešení
Pre ostatné parametre a dátové riadky sa použijú rovnaké hodnoty
CONTACT_ELIM = Určuje, či sa v kontaktnej analýze vykonáva eliminácia stupňov voľnosti (0,1)
0: Eliminovať stupne voľnosti iba pri použití iteratívnej metódy (Predvolené)
1: Vždy vykonať elimináciu stupňov voľnosti (aj pri použití priamej metódy)
** 2. a ďalšie riadky **
| Premenná | Atribút | Opis |
|---|---|---|
| NITER | I | Počet iterácií (Predvolené: 100) |
| iterPREmax | I | Počet iterácií predpodmieňovania Additive Schwarz (Predvolené: 1) (Odporúčaná hodnota: 1; pri niektorých paralelných výpočtoch môže byť účinná hodnota 2) |
| NREST | I | Počet Krylovových podpriestorov (Predvolené: 10) (Platí iba pri výbere GMRES ako metódy riešenia) |
| NCOLOR_IN | I | Cieľový počet farieb pre viacfarebné usporiadanie (Predvolené: 10) (Platí iba pri počte vlákien OpenMP 2 alebo viac) |
| RECYCLEPRE | I | Počet opakovaných použití informácií o zostavení predpodmieňovača (Predvolené: 3) (Platí iba v nelineárnej analýze) |
| Premenná | Atribút | Opis |
|---|---|---|
| RESID | R | Chyba orezania (Predvolené: 1.0e-8) |
| SIGMA_DIAG | R | Faktor mierky aplikovaný na diagonálne prvky pri výpočte predpodmieňovacej matice (Predvolené: 1.0) (Ak pri predpodmieňovaní ILU dôjde k deleniu nulou alebo divergencii, problém môže konvergovať pri zadaní hodnoty väčšej ako 1.0) |
| SIGMA | R | Nepoužíva sa (Predvolené: 0.0) |
Keď PRECOND=5 (voliteľné)¶
Ak je pre PRECOND zadaná akákoľvek iná hodnota, 4. riadok sa ignoruje.
(4. riadok) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
| Premenná | Atribút | Opis |
|---|---|---|
| ML_CoarseSolver | I | Riešič hrubej siete pre ML (1: použiť vyhladzovač, 2: KLU (sériová priama metóda), 3: MUMPS (paralelná priama metóda)) (Predvolené: 1) (Odporúčané: 3 alebo 2 pre náročné problémy, 1 pre bežné problémy) |
| ML_Smoother | I | Vyhladzovač ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (Predvolené: 1) (Odporúčané: 1) |
| ML_MGCycle | I | Viacúrovňový cyklus ML (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (Predvolené: 1) (Odporúčané: 2 pre náročné problémy, 1 pre bežné problémy) |
| ML_MaxLevels | I | Maximálny počet úrovní ML (Predvolené: 10) (Pri mimoriadne náročných problémoch použite priamy riešič na hrubej úrovni a 2 úrovne (alebo 3, ak je nedostatok pamäte); pre bežné problémy sa odporúča 10) |
| ML_CoarseningScheme | I | Schéma zhrubovania ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (Predvolené: 1) (Odporúčané: 1 alebo 5) |
| ML_NumSweep | I | Počet prechodov vyhladzovača ML (stupeň polynómu pre Chebyshev) (Predvolené: 2) (Odporúčané: 2 pre Chebyshev, 1 pre SymBlockGaussSeidel) |
Príklady¶
Použiť CG s predpodmieňovaním SSOR a nastaviť maximálny počet iterácií na 10000 a chybu orezania na 1.0e-8
Použiť GMRES s predpodmieňovaním SSOR a nastaviť počet Krylovových podpriestorov na 40 a cieľový počet farieb pre viacfarebné usporiadanie na 100
Použiť CG s predpodmieňovaním ILU(0) a nastaviť faktor mierky aplikovaný na diagonálne prvky pri výpočte predpodmieňovacej matice na 1.1
Použiť AMG pomocou ML ako predpodmieňovač pre CG
Použiť AMG pomocou ML ako predpodmieňovač pre CG a MUMPS ako riešič hrubej siete (pre náročné problémy)
Použiť AMG pomocou ML ako predpodmieňovač pre CG a W-cycle ako viacúrovňový cyklus (pre náročné problémy)
Použiť AMG pomocou ML ako predpodmieňovač pre CG, MUMPS ako riešič hrubej siete a nastaviť maximálny počet úrovní na 2 (pre veľmi náročné problémy)