!SOLVER¶
Oplosserbeheer
Vereiste beheerdata.
Parameters¶
METHOD = Oplossingsmetode (CG、BiCGSTAB、GMRES、GPBiCG、CR、DIRECT、DIRECTmkl、MUMPS)
DIRECT : Direkte metode behalwe vir kontakontleding (slegs seriële verwerking) (tans nie beskikbaar nie)
DIRECTmkl : Direkte metode met Intel MKL
MUMPS : Direkte metode met MUMPS
Wanneer ’n direkte metode gekies word, word die datareëls geïgnoreer.
Iteratiewe metodes vir 3-vryheidsgraadprobleme ondersteun draadparallelisme met OpenMP
PRECOND = Voorkondisioneringsmetode vir iteratiewe oplosser (1、2、3、5、10、11、12)
1, 2 : (Blok) SSOR (met multikleurordening slegs vir 3-vryheidsgraadprobleme)
3 : (Blok) diagonale skalering
5 : AMG met die multirooster-voorkondisioneringspakket ML
10 : Blok-ILU(0)
11 : Blok-ILU(1)
12 : Blok-ILU(2)
10、11、12 is slegs vir 3-vryheidsgraadprobleme beskikbaar
Vir OpenMP-draadparallelisme word SSOR, diagonale skalering of ML aanbeveel
ITERLOG = Of die konvergensiegeskiedenis van die iteratiewe oplosser uitgevoer word (YES/NO)(verstek: NO)
TIMELOG = Of die oplosser se berekeningstyd uitgevoer word (YES/NO/VERBOSE)(verstek: NO)
USEJAD = Of ordening vir vektorverwerkers gebruik word (YES/NO)(verstek: NO)
Slegs geldig wanneer ’n iteratiewe metode vir ’n 3-vryheidsgraadprobleem gebruik word
SCALING = Of die matriks geskaal word sodat diagonale inskrywings 1 is (YES/NO)(verstek: NO)
Slegs geldig wanneer ’n iteratiewe metode vir ’n 3-vryheidsgraadprobleem gebruik word
DUMPTYPE = Matriksdumpformaat (NONE、MM、CSR、BSR) (hoofsaaklik vir ontfouting)
NONE : Moenie dump nie (verstek)
MM : Matrix Market-formaat
CSR : Compressed Sparse Row(CSR)-formaat
BSR : Blocked CSR-formaat
DUMPEXIT = Beëindig die program onmiddellik ná die matriksdump (YES/NO)(verstek: NO)
MPCMETHOD = Metode vir die hantering van meerpuntbeperkings (1、2、3)
1: Strafmetode (verstek wanneer ’n direkte metode gebruik word)
2: MPC-CG-metode (nie aanbeveel nie)
3: Eksplisiete vryheidsgraad-eliminasie (verstek wanneer ’n iteratiewe metode gebruik word)
ESTCOND = Frekwensie van kondisiegetalberaming (eksperimenteel)
Beraam die kondisiegetal by elke gespesifiseerde iterasie-interval en aan die einde van die iterasies
Indien 0 gespesifiseer word, word geen beraming gedoen nie
METHOD2 = Tweede oplossingsmetode (BiCGSTAB、GMRES、GPBiCG) (eksperimenteel)
Slegs geldig wanneer CG vir METHOD gespesifiseer is
As die CG-metode divergeer, word outomaties oorgeskakel en die oplossing voortgesit
Dieselfde waardes word vir die ander parameters en datareëls gebruik
CONTACT_ELIM = Spesifiseer of vryheidsgraad-eliminasie in kontakontleding uitgevoer word (0,1)
0: Voer vryheidsgraad-eliminasie slegs uit wanneer ’n iteratiewe metode gebruik word (verstek)
1: Voer altyd vryheidsgraad-eliminasie uit (ook wanneer ’n direkte metode gebruik word)
** 2de reël en daarna **
| Veranderlike | Eienskap | Beskrywing |
|---|---|---|
| NITER | I | Aantal iterasies (verstek: 100) |
| iterPREmax | I | Aantal Additive Schwarz-voorkondisioneringsiterasies (verstek: 1) (aanbevole waarde is 1; 2 kan in sommige parallelle berekeninge doeltreffend wees) |
| NREST | I | Aantal Krylov-subruimtes (verstek: 10) (slegs geldig wanneer GMRES as oplossingsmetode gekies is) |
| NCOLOR_IN | I | Teikengetal kleure vir multikleurordening (verstek: 10) (slegs geldig wanneer die aantal OpenMP-drade 2 of meer is) |
| RECYCLEPRE | I | Aantal kere wat voorkondisioneerder-opstellingsinligting hergebruik word (verstek: 3) (slegs geldig in nie-lineêre analise) |
| Veranderlike | Eienskap | Beskrywing |
|---|---|---|
| RESID | R | Afbreekfout (verstek: 1.0e-8) |
| SIGMA_DIAG | R | Faktor wat op diagonale inskrywings toegepas word wanneer die voorkondisioneringsmatriks bereken word (verstek: 1.0) (as deling deur nul of divergensie met ILU-voorkondisionering voorkom, kan ’n waarde groter as 1.0 die probleem soms oplos) |
| SIGMA | R | Nie gebruik nie (verstek: 0.0) |
Wanneer PRECOND=5 (opsioneel)¶
Indien ’n ander waarde vir PRECOND gespesifiseer word, word die 4de reël geïgnoreer.
| Veranderlike | Eienskap | Beskrywing |
|---|---|---|
| ML_CoarseSolver | I | Grofroosteroplosser vir ML (1: gebruik gladmaker, 2: KLU (seriële direkte metode), 3: MUMPS (parallelle direkte metode)) (verstek: 1) (aanbeveel: 3 of 2 vir moeilike probleme, 1 vir gewone probleme) |
| ML_Smoother | I | ML-gladmaker (1: Chebyshev、2: SymBlockGaussSeidel、3: Jacobi) (verstek: 1) (aanbeveel: 1) |
| ML_MGCycle | I | ML-multiroostersiklus (1: V-cycle、2: W-cycle、3: Full-V-cycle) (verstek: 1) (aanbeveel: 2 vir moeilike probleme, 1 vir gewone probleme) |
| ML_MaxLevels | I | Maksimum aantal ML-vlakke (verstek: 10) (vir besonder moeilike probleme, gebruik ’n direkte grofroosteroplosser en 2 vlakke (3 indien geheue onvoldoende is); vir gewone probleme, 10) |
| ML_CoarseningScheme | I | ML-vergrofskema (1: UncoupledMIS、2: METIS、4: Zoltan、5: DD) (verstek: 1) (aanbeveel: 1 of 5) |
| ML_NumSweep | I | Aantal ML-gladmaker-swepe (polinoomgraad vir Chebyshev) (verstek: 2) (aanbeveel: 2 vir Chebyshev, 1 vir SymBlockGaussSeidel) |
Gebruiksvoorbeeld¶
Gebruik CG met SSOR-voorkondisionering en stel die maksimum aantal iterasies op 10000 en die afbreekfout op 1.0e-8
Gebruik GMRES met SSOR-voorkondisionering en stel die aantal Krylov-subruimtes op 40 en die teikengetal kleure vir multikleurordening op 100
Gebruik CG met ILU(0)-voorkondisionering en stel die faktor op diagonale inskrywings tydens die berekening van die voorkondisioneringsmatriks op 1.1
Gebruik AMG deur ML as die voorkondisioneerder vir CG
Gebruik AMG deur ML as die voorkondisioneerder vir CG en MUMPS as die grofroosteroplosser (vir moeilike probleme)
Gebruik AMG deur ML as die voorkondisioneerder vir CG en W-cycle as die multiroostersiklus (vir moeilike probleme)
Gebruik AMG deur ML as die voorkondisioneerder vir CG, MUMPS as die grofroosteroplosser en stel die maksimum aantal vlakke op 2 (vir baie moeilike probleme)