!SOLVER¶
Solverbesturing
Vereiste besturingsgegevens.
Parameters¶
METHOD = Oplossingsmethode (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Directe methode behalve voor contactanalyse (alleen seriële verwerking) (momenteel niet beschikbaar)
DIRECTmkl : Directe methode met Intel MKL
MUMPS : Directe methode met MUMPS
Wanneer een directe methode is geselecteerd, worden de gegevensregels genegeerd.
Iteratieve methoden voor problemen met 3 vrijheidsgraden ondersteunen thread-parallelle uitvoering met OpenMP
PRECOND = Preconditioneringsmethode voor iteratieve solvers (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Blok-)SSOR (alleen met multikleurordening voor problemen met 3 vrijheidsgraden)
3 : (Blok-)diagonale schaling
5 : AMG met het multigrid-preconditioneringspakket ML
10 : Blok-ILU(0)
11 : Blok-ILU(1)
12 : Blok-ILU(2)
10, 11 en 12 zijn alleen beschikbaar voor problemen met 3 vrijheidsgraden
Voor thread-parallelle uitvoering met OpenMP wordt SSOR, diagonale schaling of ML aanbevolen
ITERLOG = Of de convergentiegeschiedenis van de iteratieve solver wordt uitgevoerd (YES/NO)(standaard: NO)
TIMELOG = Of de rekentijd van de solver wordt uitgevoerd (YES/NO/VERBOSE)(standaard: NO)
USEJAD = Of ordening voor vectorprocessoren wordt gebruikt (YES/NO)(standaard: NO)
Alleen geldig wanneer een iteratieve methode wordt gebruikt voor een probleem met 3 vrijheidsgraden
SCALING = Of de matrix wordt geschaald zodat de diagonaalelementen 1 zijn (YES/NO)(standaard: NO)
Alleen geldig wanneer een iteratieve methode wordt gebruikt voor een probleem met 3 vrijheidsgraden
DUMPTYPE = Indeling van de matrixdump (NONE, MM, CSR, BSR) (hoofdzakelijk voor foutopsporing)
NONE : Geen dump uitvoeren (standaard)
MM : Matrix Market-indeling
CSR : Compressed Sparse Row (CSR)-indeling
BSR : Geblokkeerde CSR-indeling
DUMPEXIT = Het programma onmiddellijk beëindigen na het dumpen van de matrix (YES/NO)(standaard: NO)
MPCMETHOD = Methode voor het behandelen van meerpuntsbeperkingen (1, 2, 3)
1: Penaltymethode (standaard bij gebruik van een directe methode)
2: MPC-CG-methode (verouderd)
3: Expliciete eliminatie van vrijheidsgraden (standaard bij gebruik van een iteratieve methode)
ESTCOND = Frequentie van schatting van het conditiegetal (experimenteel)
Schat het conditiegetal bij elk opgegeven iteratie-interval en aan het einde van de iteraties
Er wordt geen schatting uitgevoerd wanneer 0 is opgegeven
METHOD2 = Secundaire oplossingsmethode (BiCGSTAB, GMRES, GPBiCG) (experimenteel)
Alleen geldig wanneer CG is opgegeven voor METHOD
Als CG divergeert, wordt automatisch naar de secundaire methode geschakeld en wordt de oplossing voortgezet
Voor de overige parameters en gegevensregels worden dezelfde waarden gebruikt
CONTACT_ELIM = Specificeert of eliminatie van vrijheidsgraden wordt uitgevoerd bij contactanalyse (0,1)
0: Eliminatie van vrijheidsgraden alleen uitvoeren bij gebruik van een iteratieve methode (standaard)
1: Eliminatie van vrijheidsgraden altijd uitvoeren (ook bij gebruik van een directe methode)
** 2e regel en verder **
| Variabele | Attribuut | Beschrijving |
|---|---|---|
| NITER | I | Aantal iteraties (standaard: 100) |
| iterPREmax | I | Aantal iteraties van Additive-Schwarz-preconditionering (standaard: 1) (Aanbevolen waarde: 1; 2 kan effectief zijn bij sommige parallelle berekeningen) |
| NREST | I | Aantal Krylov-deelruimten (standaard: 10) (Alleen geldig wanneer GMRES als oplossingsmethode is geselecteerd) |
| NCOLOR_IN | I | Doelaantal kleuren voor multikleurordening (standaard: 10) (Alleen geldig wanneer het aantal OpenMP-threads 2 of meer is) |
| RECYCLEPRE | I | Aantal keren dat instellingsinformatie van de preconditioner wordt hergebruikt (standaard: 3) (Alleen geldig bij niet-lineaire analyse) |
| Variabele | Attribuut | Beschrijving |
|---|---|---|
| RESID | R | Afbreekfout (standaard: 1.0e-8) |
| SIGMA_DIAG | R | Schaalfactor die op diagonaalelementen wordt toegepast bij het berekenen van de preconditioneringsmatrix (standaard: 1.0) (Als bij ILU-preconditionering deling door nul of divergentie optreedt, kan het probleem convergeren wanneer een waarde groter dan 1.0 wordt opgegeven) |
| SIGMA | R | Niet gebruikt (standaard: 0.0) |
Wanneer PRECOND=5 (optioneel)¶
Als een andere waarde voor PRECOND wordt opgegeven, wordt de 4e regel genegeerd.
| Variabele | Attribuut | Beschrijving |
|---|---|---|
| ML_CoarseSolver | I | Solver voor het grove ML-rooster (1: smoother gebruiken, 2: KLU (seriële directe methode), 3: MUMPS (parallelle directe methode)) (standaard: 1) (Aanbevolen: 3 of 2 voor moeilijke problemen, 1 voor gewone problemen) |
| ML_Smoother | I | ML-smoother (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (standaard: 1) (Aanbevolen: 1) |
| ML_MGCycle | I | ML-multigridcyclus (1: V-cyclus, 2: W-cyclus, 3: volledige V-cyclus) (standaard: 1) (Aanbevolen: 2 voor moeilijke problemen, 1 voor gewone problemen) |
| ML_MaxLevels | I | Maximumaantal ML-niveaus (standaard: 10) (Gebruik voor bijzonder moeilijke problemen een directe solver op het grove rooster en 2 niveaus (of 3 als het geheugen onvoldoende is); voor gewone problemen wordt 10 aanbevolen) |
| ML_CoarseningScheme | I | ML-schema voor roostervergroving (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (standaard: 1) (Aanbevolen: 1 of 5) |
| ML_NumSweep | I | Aantal ML-smoothingstappen (polynoomgraad voor Chebyshev) (standaard: 2) (Aanbevolen: 2 voor Chebyshev, 1 voor SymBlockGaussSeidel) |
Voorbeelden¶
Gebruik CG met SSOR-preconditionering en stel het maximale aantal iteraties in op 10000 en de afbreekfout op 1.0e-8
Gebruik GMRES met SSOR-preconditionering en stel het aantal Krylov-deelruimten in op 40 en het doelaantal kleuren voor multikleurordening op 100
Gebruik CG met ILU(0)-preconditionering en stel de schaalfactor die op diagonaalelementen wordt toegepast bij het berekenen van de preconditioneringsmatrix in op 1.1
Gebruik AMG door ML als preconditioner voor CG
Gebruik AMG door ML als preconditioner voor CG en gebruik MUMPS als solver voor het grove rooster (voor moeilijke problemen)
Gebruik AMG door ML als preconditioner voor CG en gebruik een W-cyclus als multigridcyclus (voor moeilijke problemen)
Gebruik AMG door ML als preconditioner voor CG, gebruik MUMPS als solver voor het grove rooster en stel het maximale aantal niveaus in op 2 (voor zeer moeilijke problemen)