Skoči na vsebino

Translation update pending

The Slovenian translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

!SOLVER

Krmiljenje reševalnika

Obvezni krmilni podatki.

Parametri

METHOD =    Metoda reševanja (CG, BiCGSTAB, GMRES, GPBiCG, CR, PipeCG, GroppCG, 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 podpirajo večnitno izvajanje z OpenMP

PRECOND =   Metoda predpogojevanja iterativnega reševalnika (1, 2, 3, 5, 10, 11, 12, 22)
            1, 2       : (blokovni) SSOR (z večbarvnim urejanjem)
            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)
            22         : AMG z vgrajenim SA-AMG (Smoothed Aggregation AMG) sistema HEC-MW
            10, 11 in 12 so na voljo samo za probleme s 3 prostostnimi stopnjami
            22 je na voljo samo v gradnjah z omogočenim LAPACK
            Za nitno vzporedno izvajanje z OpenMP se priporočajo SSOR, diagonalno skaliranje, ML, SA-AMG,
            ali blokovni ILU (10, 11, 12) za probleme s 3 prostostnimi stopnjami

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)

LOGLEVEL =  Raven izpisa diagnostičnih informacij o predpogojevanju                (celo število)(privzeto: brez izpisa)
            Določi se neodvisno od ITERLOG in TIMELOG
            Pri vrednosti 1 ali več se med drugim izpiše hierarhična zgradba AMG-predpogojevanja (PRECOND=5, 22)
            Pri vrednosti 2 ali več se izpišejo dodatne podrobne informacije (na primer poraba pomnilnika)

USEJAD =    Ali naj se uporabi urejanje za vektorske procesorje                      (YES/NO)(privzeto: NO)
            Velja samo, kadar se 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, 3)
            1: Kazenska metoda (privzeto pri direktni metodi)
            3: Eksplicitna eliminacija prostostnih stopenj (privzeto pri iterativni metodi)
            Prej razpoložljiva metoda MPC-CG je bila odstranjena; ob navedbi 2 se izpiše opozorilo in uporabi ustrezna privzeta metoda.

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

RECOMPUTE_RESIDUAL = Pogostost ponovnega izračuna vektorja reziduala
            Velja samo, kadar je za METHOD določen CG, BiCGSTAB, GPBiCG ali PipeCG
            Perioda ponovnega izračuna za GroppCG je določena na 50 in ta nastavitev se ne uporablja
            Iterativne metode posodabljajo vektor reziduala z rekurzivno zvezo, zato se kopičijo napake zaokroževanja
            V vsakem določenem intervalu iteracij se vektor reziduala ponovno izračuna iz {b}-[A]{x}
            Če je določena vrednost 0, se uporabi privzeta vrednost posamezne metode (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Če je določena negativna vrednost, se periodični ponovni izračun ne izvaja
            Ponovni izračun za potrditev ob izpolnjenem kriteriju konvergence se vedno izvede ne glede na to nastavitev
            Če je perioda prekratka, se ne poveča le število produktov matrike in vektorja
            temveč se lahko poslabša sama konvergenca ali pa se konvergenca povsem izgubi
            Če spremenite privzeto vrednost, preverite zgodovino konvergence in končni relativni rezidual

METHOD2 =   Metoda reševanja 2 (BiCGSTAB, GMRES, GPBiCG) (poskusno)
            Velja samo, kadar je za METHOD določen CG, PipeCG ali GroppCG
            Če metoda, določena z METHOD, divergira, se samodejno preklopi na drugo 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, OMEGA
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)
(Velja samo za predpogojevanje ILU in predpogojevanje z diagonalnim skaliranjem. SSOR uporablja OMEGA.)
OMEGA R Relaksacijski parameter predpogojevanja SSOR (privzeto: 1.0)
(Vrednost 1.0 ustreza običajnemu predpogojevanju SSOR)
(Veljavno območje je večje od 0 in manjše od 2. Vrednosti zunaj območja in vrednosti, katerih razlika od 0 ali 2 je manjša od strojnega epsilona, se obravnavajo kot 1.0)

Ko je PRECOND=5 (neobvezno)

Če je PRECOND nastavljen na vrednost, ki ni 5 ali 22, se četrta 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)

Ko je PRECOND=22 (izbirno)

Če je PRECOND nastavljen na vrednost, ki ni 22, se peta vrstica prezre. Četrto in peto vrstico je mogoče v celoti izpustiti, izpustiti pa je mogoče tudi končne postavke posamezne vrstice. Za vsako postavko, podano kot 0, se uporabi privzeta vrednost.

Postavke od 1 do 7 v četrti vrstici so razporejene enako kot v vrstici možnosti za PRECOND=5 (ML), zato je mogoče vrstico možnosti ML ponovno uporabiti brez sprememb. Postavke od 8 do 10 so specifične za SA-AMG.

(4. vrstica) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (ni uporabljeno), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (ni uporabljeno)
Spremenljivka Atribut Opis
SA_CoarseSolver I Reševalnik grobe mreže (0: samodejno, 1: uporabi gladilnik, 2: direktna metoda z gosto matriko, 3: MUMPS (vzporedna direktna metoda)) (privzeto: 0)
(V samodejnem načinu se v gradnjah z omogočenim MUMPS uporabi MUMPS; sicer se uporabi direktna metoda z gosto matriko)
SA_Smoother I Gladilnik (0 ali 1: Chebyshev) (privzeto: 0)
(Podprt je samo Chebyshev. Če je podana druga vrednost, se izpiše opozorilo in uporabi Chebyshev)
SA_MGCycle I Večmrežni cikel (0: privzeto (W-cikel), 1: V-cikel, 2: W-cikel) (privzeto: 0)
(Polni V-cikel ni podprt)
SA_MaxLevels I Največje število ravni (privzeto: 20)
(ni uporabljeno) I Položaj, ki ustreza shemi grobljenja ML. Ker SA-AMG vedno uporablja nevezano agregacijo, neničelna vrednost sproži opozorilo in se prezre
SA_ChebyDegree I Stopnja polinoma Chebyshevega gladilnika (privzeto: 2)
SA_CoarseSize I Mejna velikost grobe mreže (privzeto: 50000, kadar se MUMPS uporablja kot reševalnik grobe mreže; sicer 100)
SA_MaxAggSize I Največja velikost agregata (privzeto: 96)
SA_GalerkinLowMem I Način izračuna matrike grobe mreže (0: običajen (prednost ima hitrost), pozitivna vrednost: varčevanje s pomnilnikom) (privzeto: 0)
(Podajte pozitivno vrednost, če med nastavitvijo ni dovolj pomnilnika)
(ni uporabljeno) I Rezervirano za prihodnje razširitve

Peta vrstica je namenjena samo SA-AMG in je ML ne bere.

(5. vrstica) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Spremenljivka Atribut Opis
SA_Theta R Prag za določanje močnih povezav (privzeto: 0.0)
(Pri 0.0 se neničelna struktura matrike neposredno uporabi kot graf)
SA_ChebyAlpha R Razmerje, ki določa spodnjo mejo intervala lastnih vrednosti, na katerega je usmerjen Chebyshev gladilnik (privzeto: 20.0)
SA_Safety R Varnostni faktor, uporabljen za ocenjeno največjo lastno vrednost (privzeto: 1.1)
SA_TaperK R Koeficient K postopnega grobljenja (privzeto: 100)
(Od ravni 2 naprej je grobljenje bolj postopno, tako da ostane vsaj približno K agregatov. Negativna vrednost postopno grobljenje onemogoči)
SA_AggOrder R Vrstni red prehoda agregacije (0: privzeto (vrstni red BFS), 1: vrstni red BFS, 2: razpršeni vrstni red številk vozlišč (poskusno), 3: naraščajoči vrstni red stopnje (poskusno), 4: padajoči vrstni red stopnje (poskusno), negativna vrednost: vrstni red številk vozlišč) (privzeto: 0)
SA_MinAggSize R Najmanjša velikost agregata (privzeto: 3)
SA_Verify R Ali naj se med nastavitvijo izvede samopreverjanje (0: ne, pozitivna vrednost: da) (privzeto: 0) (predvsem za razhroščevanje)
SA_DumpVTK R Ali naj se agregacija najvišje ravni izpiše v obliki VTK (0: brez izpisa, pozitivna vrednost: izpis) (privzeto: 0) (predvsem za razhroščevanje)

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

Uporabite SA-AMG, vgrajen v HEC-MW, kot predpogojevalnik za CG

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

Uporabite SA-AMG kot predpogojevalnik za CG in MUMPS kot reševalnik grobe mreže

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

Pri analizi trenjskega stika uporabite BiCGSTAB s predpogojevanjem SA-AMG in izpišite hierarhično zgradbo predpogojevalnika AMG

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