!SOLVER¶
Løserkontroll
Påkrevde kontrolldata.
Parametere¶
METHOD = Løsningsmetode (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Direkte metode unntatt for kontaktanalyse (bare seriell prosessering) (for øyeblikket utilgjengelig)
DIRECTmkl : Direkte metode med Intel MKL
MUMPS : Direkte metode med MUMPS
Når en direkte metode velges, ignoreres datalinjene.
Iterative metoder for problemer med 3 frihetsgrader støtter trådparallell kjøring med OpenMP
PRECOND = Forkondisjoneringsmetode for iterative løsere (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Blokk-)SSOR (med flerfargeordning bare for problemer med 3 frihetsgrader)
3 : (Blokk-)diagonalskalering
5 : AMG med flergrid-forkondisjoneringspakken ML
10 : Blokk-ILU(0)
11 : Blokk-ILU(1)
12 : Blokk-ILU(2)
10, 11 og 12 er bare tilgjengelige for problemer med 3 frihetsgrader
For OpenMP-trådparallell kjøring anbefales SSOR, diagonalskalering eller ML
ITERLOG = Om konvergenshistorikk for den iterative løseren skal skrives ut (YES/NO)(standard: NO)
TIMELOG = Om løserens beregningstid skal skrives ut (YES/NO/VERBOSE)(standard: NO)
USEJAD = Om ordning for vektorprosessorer skal brukes (YES/NO)(standard: NO)
Gyldig bare når en iterativ metode brukes for et problem med 3 frihetsgrader
SCALING = Om matrisen skal skaleres slik at diagonalelementene blir 1 (YES/NO)(standard: NO)
Gyldig bare når en iterativ metode brukes for et problem med 3 frihetsgrader
DUMPTYPE = Format for matrisedump (NONE, MM, CSR, BSR) (hovedsakelig for feilsøking)
NONE : Ikke dump (standard)
MM : Matrix Market-format
CSR : Compressed Sparse Row (CSR)-format
BSR : Blokkert CSR-format
DUMPEXIT = Avslutt programmet umiddelbart etter matrisedump (YES/NO)(standard: NO)
MPCMETHOD = Metode for håndtering av flerpunktbetingelser (1, 2, 3)
1: Straffemetode (standard ved bruk av direkte metode)
2: MPC-CG-metode (foreldet)
3: Eksplisitt eliminering av frihetsgrader (standard ved bruk av iterativ metode)
ESTCOND = Frekvens for estimering av kondisjonstall (eksperimentell)
Estimer kondisjonstallet ved hvert angitte iterasjonsintervall og ved slutten av iterasjonene
Ingen estimering utføres når 0 er angitt
METHOD2 = Sekundær løsningsmetode (BiCGSTAB, GMRES, GPBiCG) (eksperimentell)
Gyldig bare når CG er angitt for METHOD
Hvis CG divergerer, bytt automatisk til den sekundære metoden og fortsett løsningen
De samme verdiene brukes for de øvrige parameterne og datalinjene
CONTACT_ELIM = Angir om eliminering av frihetsgrader utføres i kontaktanalyse (0,1)
0: Utfør eliminering av frihetsgrader bare ved bruk av iterativ metode (standard)
1: Utfør alltid eliminering av frihetsgrader (også ved bruk av direkte metode)
** 2. linje og senere **
| Variabel | Attributt | Beskrivelse |
|---|---|---|
| NITER | I | Antall iterasjoner (standard: 100) |
| iterPREmax | I | Antall iterasjoner med Additive Schwarz-forkondisjonering (standard: 1) (Anbefalt verdi: 1; 2 kan være effektivt i enkelte parallelle beregninger) |
| NREST | I | Antall Krylov-underrom (standard: 10) (Gyldig bare når GMRES er valgt som løsningsmetode) |
| NCOLOR_IN | I | Måltall for antall farger i flerfargeordning (standard: 10) (Gyldig bare når antall OpenMP-tråder er 2 eller mer) |
| RECYCLEPRE | I | Antall ganger oppsettsinformasjon for forkondisjonereren gjenbrukes (standard: 3) (Gyldig bare i ikke-lineær analyse) |
| Variabel | Attributt | Beskrivelse |
|---|---|---|
| RESID | R | Avkortingsfeil (standard: 1.0e-8) |
| SIGMA_DIAG | R | Skaleringsfaktor som brukes på diagonalelementene ved beregning av forkondisjoneringsmatrisen (standard: 1.0) (Hvis divisjon med null eller divergens oppstår ved ILU-forkondisjonering, kan problemet konvergere når en verdi større enn 1.0 angis) |
| SIGMA | R | Brukes ikke (standard: 0.0) |
Når PRECOND=5 (valgfritt)¶
Hvis en annen verdi angis for PRECOND, ignoreres 4. linje.
| Variabel | Attributt | Beskrivelse |
|---|---|---|
| ML_CoarseSolver | I | Grovgitterløser for ML (1: bruk glatter, 2: KLU (seriell direkte metode), 3: MUMPS (parallell direkte metode)) (standard: 1) (Anbefalt: 3 eller 2 for vanskelige problemer, 1 for vanlige problemer) |
| ML_Smoother | I | ML-glatter (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (standard: 1) (Anbefalt: 1) |
| ML_MGCycle | I | ML-flergridsyklus (1: V-syklus, 2: W-syklus, 3: Full-V-syklus) (standard: 1) (Anbefalt: 2 for vanskelige problemer, 1 for vanlige problemer) |
| ML_MaxLevels | I | Maksimalt antall ML-nivåer (standard: 10) (For spesielt vanskelige problemer brukes en direkte grovløser og 2 nivåer (eller 3 hvis minnet ikke er tilstrekkelig); for vanlige problemer anbefales 10) |
| ML_CoarseningScheme | I | ML-grovingsskjema (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (standard: 1) (Anbefalt: 1 eller 5) |
| ML_NumSweep | I | Antall ML-glattersveip (polynomgrad for Chebyshev) (standard: 2) (Anbefalt: 2 for Chebyshev, 1 for SymBlockGaussSeidel) |
Eksempler¶
Bruk CG med SSOR-forkondisjonering, og sett maksimalt antall iterasjoner til 10000 og avkortingsfeilen til 1.0e-8
Bruk GMRES med SSOR-forkondisjonering, og sett antall Krylov-underrom til 40 og måltallet for antall farger i flerfargeordningen til 100
Bruk CG med ILU(0)-forkondisjonering, og sett skaleringsfaktoren som brukes på diagonalelementene ved beregning av forkondisjoneringsmatrisen til 1.1
Bruk AMG med ML som forkondisjoneringsmetode for CG
Bruk AMG med ML som forkondisjoneringsmetode for CG og MUMPS som grovgitterløser (for vanskelige problemer)
Bruk AMG med ML som forkondisjoneringsmetode for CG og W-syklus som flergridsyklus (for vanskelige problemer)
Bruk AMG med ML som forkondisjoneringsmetode for CG, bruk MUMPS som grovgitterløser, og sett maksimalt antall nivåer til 2 (for svært vanskelige problemer)