!SOLVER¶
Lahendaja juhtimine
Kohustuslikud juhtandmed.
Parameetrid¶
METHOD = Lahendusmeetod (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Otsemeetod, välja arvatud kontaktanalüüs (ainult jadaline töötlus) (praegu pole saadaval)
DIRECTmkl : Intel MKL-i kasutav otsemeetod
MUMPS : MUMPS-i kasutav otsemeetod
Otsemeetodi valimisel andmeridu eiratakse.
3 vabadusastmega probleemide iteratiivmeetodid toetavad OpenMP lõimeparalleelsust
PRECOND = Iteratiivsete lahendajate eelkonditsioneerimismeetod (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Plokk-)SSOR (mitmevärvilise järjestusega ainult 3 vabadusastmega probleemide korral)
3 : (Plokk-)diagonaalskaleerimine
5 : mitmevõre eelkonditsioneerimispaketi ML abil AMG
10 : Plokk-ILU(0)
11 : Plokk-ILU(1)
12 : Plokk-ILU(2)
10, 11 ja 12 on saadaval ainult 3 vabadusastmega probleemide korral
OpenMP lõimeparalleelsuse jaoks on soovitatav SSOR, diagonaalskaleerimine või ML
ITERLOG = Kas väljastada iteratiivse lahendaja koonduvusajalugu (YES/NO)(Vaikimisi: NO)
TIMELOG = Kas väljastada lahendaja arvutusaeg (YES/NO/VERBOSE)(Vaikimisi: NO)
USEJAD = Kas kasutada vektorprotsessorite jaoks järjestamist (YES/NO)(Vaikimisi: NO)
Kehtib ainult siis, kui 3 vabadusastmega probleemil kasutatakse iteratiivmeetodit
SCALING = Kas skaleerida maatriksit nii, et diagonaalielemendid oleksid 1 (YES/NO)(Vaikimisi: NO)
Kehtib ainult siis, kui 3 vabadusastmega probleemil kasutatakse iteratiivmeetodit
DUMPTYPE = Maatriksi tõmmise vorming (NONE, MM, CSR, BSR) (peamiselt silumiseks)
NONE : Tõmmist ei tehta (vaikimisi)
MM : Matrix Marketi vorming
CSR : Compressed Sparse Row (CSR) vorming
BSR : plokk-CSR vorming
DUMPEXIT = Kas lõpetada programm kohe pärast maatriksi tõmmise tegemist (YES/NO)(Vaikimisi: NO)
MPCMETHOD = Mitmepunktipiirangute käsitlemise meetod (1, 2, 3)
1: Trahvimeetod (vaikimisi otsemeetodi korral)
2: MPC-CG meetod (aegunud)
3: Vabadusastmete otsene elimineerimine (vaikimisi iteratiivmeetodi korral)
ESTCOND = Tingimusarvu hindamise sagedus (eksperimentaalne)
Tingimusarvu hinnatakse igal määratud iteratsioonivahemikul ja iteratsioonide lõpus
Väärtuse 0 korral hindamist ei tehta
METHOD2 = Teisene lahendusmeetod (BiCGSTAB, GMRES, GPBiCG) (eksperimentaalne)
Kehtib ainult siis, kui METHOD jaoks on määratud CG
Kui CG hajub, lülitutakse automaatselt teisesele meetodile ja lahendamist jätkatakse
Muude parameetrite ja andmeridade jaoks kasutatakse samu väärtusi
CONTACT_ELIM = Määrab, kas kontaktanalüüsis tehakse vabadusastmete elimineerimine (0,1)
0: Vabadusastmete elimineerimine ainult iteratiivmeetodi korral (vaikimisi)
1: Vabadusastmete elimineerimine alati (ka otsemeetodi korral)
** 2. ja järgnevad read **
| Muutuja | Atribuut | Kirjeldus |
|---|---|---|
| NITER | I | Iteratsioonide arv (vaikimisi: 100) |
| iterPREmax | I | Additive Schwarzi eelkonditsioneerimise iteratsioonide arv (vaikimisi: 1) (Soovitatav väärtus: 1; mõnes paralleelarvutuses võib 2 olla tõhus) |
| NREST | I | Krylovi alamruumide arv (vaikimisi: 10) (Kehtib ainult siis, kui lahendusmeetodiks on valitud GMRES) |
| NCOLOR_IN | I | Mitmevärvilise järjestamise värvide sihtarv (vaikimisi: 10) (Kehtib ainult siis, kui OpenMP lõimede arv on vähemalt 2) |
| RECYCLEPRE | I | Eelkonditsioneerija seadistusteabe taaskasutuskordade arv (vaikimisi: 3) (Kehtib ainult mittelineaarses analüüsis) |
| Muutuja | Atribuut | Kirjeldus |
|---|---|---|
| RESID | R | Lõikeviga (vaikimisi: 1.0e-8) |
| SIGMA_DIAG | R | Eelkonditsioneerimismaatriksi arvutamisel diagonaalielementidele rakendatav skaleerimistegur (vaikimisi: 1.0) (Kui ILU eelkonditsioneerimisel tekib nulliga jagamine või hajumine, võib probleem koonduda, kui määrata väärtus, mis on suurem kui 1.0) |
| SIGMA | R | Ei kasutata (vaikimisi: 0.0) |
Kui PRECOND=5 (valikuline)¶
Kui PRECOND jaoks määratakse mõni muu väärtus, eiratakse 4. rida.
| Muutuja | Atribuut | Kirjeldus |
|---|---|---|
| ML_CoarseSolver | I | ML jämevõre lahendaja (1: kasutada silujat, 2: KLU (jadaline otsemeetod), 3: MUMPS (paralleelne otsemeetod)) (vaikimisi: 1) (Soovitatav: keeruliste probleemide korral 3 või 2, tavaliste probleemide korral 1) |
| ML_Smoother | I | ML siluja (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (vaikimisi: 1) (Soovitatav: 1) |
| ML_MGCycle | I | ML mitmevõre tsükkel (1: V-tsükkel, 2: W-tsükkel, 3: täis-V-tsükkel) (vaikimisi: 1) (Soovitatav: keeruliste probleemide korral 2, tavaliste probleemide korral 1) |
| ML_MaxLevels | I | ML tasemete maksimaalne arv (vaikimisi: 10) (Eriti keeruliste probleemide korral kasutage otsest jämevõre lahendajat ja 2 taset (või 3, kui mälu ei piisa); tavaliste probleemide korral on soovitatav 10) |
| ML_CoarseningScheme | I | ML jämendusskeem (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (vaikimisi: 1) (Soovitatav: 1 või 5) |
| ML_NumSweep | I | ML siluja läbimiste arv (Chebyshevi korral polünoomi aste) (vaikimisi: 2) (Soovitatav: Chebyshevi korral 2, SymBlockGaussSeideli korral 1) |
Näited¶
Kasutage CG-d koos SSOR eelkonditsioneerimisega ning määrake iteratsioonide maksimaalseks arvuks 10000 ja lõikeveaks 1.0e-8
Kasutage GMRES-i koos SSOR eelkonditsioneerimisega ning määrake Krylovi alamruumide arvuks 40 ja mitmevärvilise järjestamise värvide sihtarvuks 100
Kasutage CG-d koos ILU(0) eelkonditsioneerimisega ning määrake eelkonditsioneerimismaatriksi arvutamisel diagonaalielementidele rakendatavaks skaleerimisteguriks 1.1
Kasutage ML-i AMG-d CG eelkonditsioneerijana
Kasutage ML-i AMG-d CG eelkonditsioneerijana ja MUMPS-i jämevõre lahendajana (keeruliste probleemide korral)
Kasutage ML-i AMG-d CG eelkonditsioneerijana ja W-tsüklit mitmevõre tsüklina (keeruliste probleemide korral)
Kasutage ML-i AMG-d CG eelkonditsioneerijana, MUMPS-i jämevõre lahendajana ning määrake tasemete maksimaalseks arvuks 2 (väga keeruliste probleemide korral)