Přeskočit obsah

!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 **

(2. řádek) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
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)
(3. řádek) RESID, SIGMA_DIAG, SIGMA
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.

(4. řádek) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
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

!SOLVER, METHOD=CG, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

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

!SOLVER, METHOD=GMRES, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1, 40, 100
  1.0e-8, 1.0, 0.0

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

!SOLVER, METHOD=CG, PRECOND=10, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.1, 0.0

Použijte AMG pomocí ML jako předpodmínění pro CG

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

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)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

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)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  1, 1, 2

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)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2
AI-assisted translation May contain errors Official docs Status