!SOLVER¶
Řízení řešiče
Povinná řídicí data.
Parametry¶
METHOD = Metoda řešení (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Přímá metoda kromě kontaktní analýzy (pouze sériové zpracování) (v současnosti nedostupné)
DIRECTmkl : Přímá metoda využívající Intel MKL
MUMPS : Přímá metoda využívající MUMPS
Při volbě přímé metody jsou datové řádky ignorovány.
Iterativní metody pro úlohy se 3 stupni volnosti podporují vláknově paralelní běh pomocí OpenMP
PRECOND = Metoda předpodmínění pro iterativní řešiče (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Blokové) SSOR (s vícebarevným uspořádáním pouze pro úlohy se 3 stupni volnosti)
3 : (Block) Diagonal Scaling
5 : AMG využívající balíček ML pro víceúrovňové předpodmínění
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
10, 11 a 12 jsou dostupné pouze pro úlohy se 3 stupni volnosti
Pro vláknově paralelní běh OpenMP se doporučuje SSOR, Diagonal Scaling nebo ML
ITERLOG = Zda vypisovat historii konvergence iterativního řešiče (YES/NO)(Výchozí: NO)
TIMELOG = Zda vypisovat výpočetní čas řešiče (YES/NO/VERBOSE)(Výchozí: NO)
USEJAD = Zda používat uspořádání pro vektorové procesory (YES/NO)(Výchozí: NO)
Platí pouze při použití iterativní metody pro úlohu se 3 stupni volnosti
SCALING = Zda škálovat matici tak, aby diagonální prvky byly rovny 1 (YES/NO)(Výchozí: NO)
Platí pouze při použití iterativní metody pro úlohu se 3 stupni volnosti
DUMPTYPE = Formát výpisu matice (NONE, MM, CSR, BSR) (především pro ladění)
NONE : Nevypisovat (výchozí)
MM : Formát Matrix Market
CSR : Formát Compressed Sparse Row (CSR)
BSR : Formát Blocked CSR
DUMPEXIT = Ukončit program ihned po výpisu matice (YES/NO)(Výchozí: NO)
MPCMETHOD = Metoda zpracování vícebodových vazeb (1, 2, 3)
1: Penaltová metoda (výchozí při použití přímé metody)
2: Metoda MPC-CG (zastaralá)
3: Explicitní eliminace stupňů volnosti (výchozí při použití iterativní metody)
ESTCOND = Frekvence odhadu čísla podmíněnosti (experimentální)
Odhadnout číslo podmíněnosti v každém zadaném intervalu iterací a na konci iterací
Při zadání 0 se odhad neprovádí
METHOD2 = Sekundární metoda řešení (BiCGSTAB, GMRES, GPBiCG) (experimentální)
Platí pouze tehdy, je-li pro METHOD zadáno CG
Pokud CG diverguje, automaticky přepnout na sekundární metodu a pokračovat v řešení
Pro ostatní parametry a datové řádky se používají stejné hodnoty
CONTACT_ELIM = Určuje, zda se v kontaktní analýze provádí eliminace stupňů volnosti (0,1)
0: Provést eliminaci stupňů volnosti pouze při použití iterativní metody (výchozí)
1: Vždy provést eliminaci stupňů volnosti (včetně použití přímé metody)
** 2. a následující řádky **
| Proměnná | Atribut | Popis |
|---|---|---|
| NITER | I | Počet iterací (výchozí: 100) |
| iterPREmax | I | Počet iterací předpodmínění Additive Schwarz (výchozí: 1) (Doporučená hodnota: 1; v některých paralelních výpočtech může být účinná hodnota 2) |
| NREST | I | Počet Krylovových podprostorů (výchozí: 10) (Platí pouze při volbě GMRES jako metody řešení) |
| NCOLOR_IN | I | Cílový počet barev pro vícebarevné uspořádání (výchozí: 10) (Platí pouze při počtu vláken OpenMP 2 nebo více) |
| RECYCLEPRE | I | Počet opakovaných použití informací o nastavení předpodmínění (výchozí: 3) (Platí pouze v nelineární analýze) |
| Proměnná | Atribut | Popis |
|---|---|---|
| RESID | R | Tolerance ukončení (výchozí: 1.0e-8) |
| SIGMA_DIAG | R | Měřítkový faktor použitý na diagonální prvky při výpočtu matice předpodmínění (výchozí: 1.0) (Pokud při předpodmínění ILU dojde k dělení nulou nebo divergenci, může úloha konvergovat při zadání hodnoty větší než 1.0) |
| SIGMA | R | Nepoužito (výchozí: 0.0) |
Při PRECOND=5 (volitelné)¶
Pokud je pro PRECOND zadána jiná hodnota, 4. řádek se ignoruje.
| Proměnná | Atribut | Popis |
|---|---|---|
| ML_CoarseSolver | I | Řešič na hrubé síti pro ML (1: použít vyhlazovač, 2: KLU (sériová přímá metoda), 3: MUMPS (paralelní přímá metoda)) (výchozí: 1) (Doporučeno: 3 nebo 2 pro obtížné úlohy, 1 pro běžné úlohy) |
| ML_Smoother | I | Vyhlazovač ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (výchozí: 1) (Doporučeno: 1) |
| ML_MGCycle | I | Víceúrovňový cyklus ML (1: V-cyklus, 2: W-cyklus, 3: Full-V-cyklus) (výchozí: 1) (Doporučeno: 2 pro obtížné úlohy, 1 pro běžné úlohy) |
| ML_MaxLevels | I | Maximální počet úrovní ML (výchozí: 10) (Pro zvlášť obtížné úlohy použijte přímý řešič na hrubé síti a 2 úrovně (nebo 3 při nedostatku paměti); pro běžné úlohy se doporučuje 10) |
| ML_CoarseningScheme | I | Schéma zhrubování ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (výchozí: 1) (Doporučeno: 1 nebo 5) |
| ML_NumSweep | I | Počet průchodů vyhlazovače ML (stupeň polynomu pro Chebyshev) (výchozí: 2) (Doporučeno: 2 pro Chebyshev, 1 pro SymBlockGaussSeidel) |
Příklady¶
Použijte CG s předpodmíněním SSOR a nastavte maximální počet iterací na 10000 a toleranci ukončení na 1.0e-8
Použijte GMRES s předpodmíněním SSOR a nastavte počet Krylovových podprostorů na 40 a cílový počet barev pro vícebarevné uspořádání na 100
Použijte CG s předpodmíněním ILU(0) a nastavte měřítkový faktor použitý na diagonální prvky při výpočtu matice předpodmínění na 1.1
Použijte AMG pomocí ML jako předpodmínění pro CG
Použijte AMG pomocí ML jako předpodmínění pro CG a MUMPS jako řešič na hrubé síti (pro obtížné úlohy)
Použijte AMG pomocí ML jako předpodmínění pro CG a jako víceúrovňový cyklus použijte W-cyklus (pro obtížné úlohy)
Použijte AMG pomocí ML jako předpodmínění pro CG, MUMPS jako řešič na hrubé síti a nastavte maximální počet úrovní na 2 (pro velmi obtížné úlohy)