Skoči na vsebino

!SOLVER

Krmiljenje reševalnika

Obvezni krmilni podatki.

Parametri

METHOD =    Metoda reševanja (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Direktna metoda, razen pri kontaktni analizi (samo zaporedno izvajanje) (trenutno ni na voljo)
            DIRECTmkl  : Direktna metoda z Intel MKL
            MUMPS      : Direktna metoda z MUMPS
            Če je izbrana direktna metoda, se podatkovne vrstice prezrejo.
            Iterativne metode za probleme s 3 prostostnimi stopnjami podpirajo večnitno izvajanje z OpenMP

PRECOND =   Metoda predpogojevanja iterativnega reševalnika (1, 2, 3, 5, 10, 11, 12)
            1, 2       : (blokovni) SSOR (z večbarvnim urejanjem samo za probleme s 3 prostostnimi stopnjami)
            3          : (blokovno) diagonalno skaliranje
            5          : AMG z večmrežnim paketom za predpogojevanje ML
            10         : blokovni ILU(0)
            11         : blokovni ILU(1)
            12         : blokovni ILU(2)
            10, 11 in 12 so na voljo samo za probleme s 3 prostostnimi stopnjami
            Pri večnitnem izvajanju OpenMP se priporoča SSOR, diagonalno skaliranje ali ML

ITERLOG =   Ali naj se izpiše zgodovina konvergence iterativnega reševalnika          (YES/NO)(privzeto: NO)

TIMELOG =   Ali naj se izpiše računski čas reševalnika                              (YES/NO/VERBOSE)(privzeto: NO)

USEJAD =    Ali naj se uporabi urejanje za vektorske procesorje                      (YES/NO)(privzeto: NO)
            Velja samo, kadar se za problem s 3 prostostnimi stopnjami uporablja iterativna metoda

SCALING =   Ali naj se matrika skalira tako, da so diagonalni elementi enaki 1       (YES/NO)(privzeto: NO)
            Velja samo, kadar se za problem s 3 prostostnimi stopnjami uporablja iterativna metoda

DUMPTYPE =  Oblika izpisa matrike (NONE, MM, CSR, BSR) (predvsem za razhroščevanje)
            NONE : Brez izpisa (privzeto)
            MM   : Oblika Matrix Market
            CSR  : Oblika stisnjenih redkih vrstic (CSR)
            BSR  : Oblika blokiranega CSR

DUMPEXIT =  Končaj program takoj po izpisu matrike                                  (YES/NO)(privzeto: NO)

MPCMETHOD = Metoda obdelave večtočkovnih omejitev (1, 2, 3)
            1: Kazenska metoda (privzeto pri direktni metodi)
            2: Metoda MPC-CG (odsvetovana)
            3: Eksplicitna eliminacija prostostnih stopenj (privzeto pri iterativni metodi)

ESTCOND =   Pogostost ocenjevanja pogojnega števila (poskusno)
            Pogojno število se oceni ob vsakem določenem intervalu iteracij in ob koncu iteracij
            Pri vrednosti 0 se ocena ne izvede

METHOD2 =   Sekundarna metoda reševanja (BiCGSTAB, GMRES, GPBiCG) (poskusno)
            Velja samo, kadar je za METHOD določen CG
            Če CG divergira, se samodejno preklopi na sekundarno metodo in reševanje se nadaljuje
            Za druge parametre in podatkovne vrstice se uporabijo iste vrednosti

CONTACT_ELIM = Določa, ali se pri kontaktni analizi izvede eliminacija prostostnih stopenj (0,1)
               0: Eliminacijo prostostnih stopenj izvedi samo pri iterativni metodi (privzeto)
               1: Eliminacijo prostostnih stopenj vedno izvedi (tudi pri direktni metodi)

** 2. in naslednje vrstice **

(2. vrstica) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Spremenljivka Atribut Opis
NITER I Število iteracij (privzeto: 100)
iterPREmax I Število iteracij predpogojevanja Additive Schwarz (privzeto: 1)
(Priporočena vrednost: 1; pri nekaterih vzporednih izračunih je lahko učinkovita vrednost 2)
NREST I Število Krylovovih podprostorov (privzeto: 10)
(Velja samo, kadar je kot metoda reševanja izbran GMRES)
NCOLOR_IN I Ciljno število barv pri večbarvnem urejanju (privzeto: 10)
(Velja samo, kadar je število niti OpenMP 2 ali več)
RECYCLEPRE I Število ponovnih uporab podatkov nastavitve predpogojevalnika (privzeto: 3)
(Velja samo pri nelinearni analizi)
(3. vrstica) RESID, SIGMA_DIAG, SIGMA
Spremenljivka Atribut Opis
RESID R Napaka prekinitve (privzeto: 1.0e-8)
SIGMA_DIAG R Faktor, s katerim se pri izračunu matrike predpogojevalnika pomnožijo diagonalni elementi (privzeto: 1.0)
(Če pri predpogojevanju ILU pride do deljenja z nič ali divergence, se lahko problem konvergira z vrednostjo, večjo od 1.0)
SIGMA R Neuporabljeno (privzeto: 0.0)

Ko je PRECOND=5 (neobvezno)

Če je za PRECOND določena katera koli druga vrednost, se 4. vrstica prezre.

(4. vrstica) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Spremenljivka Atribut Opis
ML_CoarseSolver I Reševalnik grobe mreže za ML (1: uporabi glajenje, 2: KLU (zaporedna direktna metoda), 3: MUMPS (vzporedna direktna metoda)) (privzeto: 1)
(Priporočeno: 3 ali 2 za zahtevne probleme, 1 za običajne probleme)
ML_Smoother I Glajenje ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (privzeto: 1)
(Priporočeno: 1)
ML_MGCycle I Večmrežni cikel ML (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (privzeto: 1)
(Priporočeno: 2 za zahtevne probleme, 1 za običajne probleme)
ML_MaxLevels I Največje število ravni ML (privzeto: 10)
(Pri posebej zahtevnih problemih uporabite direktni reševalnik grobe mreže in 2 ravni (ali 3, če pomnilnika ni dovolj); za običajne probleme se priporoča 10)
ML_CoarseningScheme I Shema grobljenja ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (privzeto: 1)
(Priporočeno: 1 ali 5)
ML_NumSweep I Število prehodov glajenja ML (pri Chebyshev je to stopnja polinoma) (privzeto: 2)
(Priporočeno: 2 za Chebyshev, 1 za SymBlockGaussSeidel)

Primeri

Uporabi CG s predpogojevanjem SSOR ter nastavi največje število iteracij na 10000 in napako prekinitve na 1.0e-8

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

Uporabi GMRES s predpogojevanjem SSOR ter nastavi število Krylovovih podprostorov na 40 in ciljno število barv za večbarvno urejanje na 100

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

Uporabi CG s predpogojevanjem ILU(0) in nastavi faktor diagonalnih elementov pri izračunu matrike predpogojevalnika na 1.1

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

Za predpogojevalnik CG uporabi AMG iz ML

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

Za predpogojevalnik CG uporabi AMG iz ML in za reševalnik grobe mreže uporabi MUMPS (za zahtevne probleme)

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

Za predpogojevalnik CG uporabi AMG iz ML in za večmrežni cikel uporabi W-cycle (za zahtevne probleme)

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

Za predpogojevalnik CG uporabi AMG iz ML, za reševalnik grobe mreže uporabi MUMPS in nastavi največje število ravni na 2 (za zelo zahtevne probleme)

!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