!SOLVER¶
Sprendiklio valdymas
Privalomi valdymo duomenys.
Parametrai¶
METHOD = sprendimo metodas (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : tiesioginis metodas, išskyrus kontaktinę analizę (tik nuoseklus vykdymas) (šiuo metu negalimas)
DIRECTmkl : tiesioginis metodas naudojant Intel MKL
MUMPS : tiesioginis metodas naudojant MUMPS
Pasirinkus tiesioginį metodą, duomenų eilutės ignoruojamos.
3 laisvės laipsnių uždavinių iteraciniuose metoduose galima naudoti gijų lygiagretinimą su OpenMP
PRECOND = iteracinių sprendiklių išankstinio sąlygojimo metodas (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Block) SSOR (su daugiaspalviu rikiavimu tik 3 laisvės laipsnių uždaviniams)
3 : (Block) Diagonal Scaling
5 : AMG naudojant daugiatinklio išankstinio sąlygojimo paketą ML
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
10, 11 ir 12 galima naudoti tik 3 laisvės laipsnių uždaviniams
Vykdant gijų lygiagretinimą su OpenMP rekomenduojami SSOR, Diagonal Scaling arba ML
ITERLOG = ar išvesti iteracinio sprendiklio konvergavimo istoriją (YES/NO)(numatytoji reikšmė: NO)
TIMELOG = ar išvesti sprendiklio skaičiavimo laiką (YES/NO/VERBOSE)(numatytoji reikšmė: NO)
USEJAD = ar naudoti rikiavimą vektoriniams procesoriams (YES/NO)(numatytoji reikšmė: NO)
Galioja tik tada, kai 3 laisvės laipsnių uždaviniui naudojamas iteracinis metodas
SCALING = ar masteliuoti matricą taip, kad įstrižainės elementai būtų 1 (YES/NO)(numatytoji reikšmė: NO)
Galioja tik tada, kai 3 laisvės laipsnių uždaviniui naudojamas iteracinis metodas
DUMPTYPE = matricos išklotinės formatas (NONE, MM, CSR, BSR) (daugiausia derinimui)
NONE : išklotinės nekurti (numatytoji reikšmė)
MM : Matrix Market formatas
CSR : Compressed Sparse Row (CSR) formatas
BSR : Blocked CSR formatas
DUMPEXIT = baigti programą iš karto po matricos išklotinės sukūrimo (YES/NO)(numatytoji reikšmė: NO)
MPCMETHOD = daugiataškių apribojimų apdorojimo metodas (1, 2, 3)
1: baudos metodas (numatytasis naudojant tiesioginį metodą)
2: MPC-CG metodas (nerekomenduojamas)
3: aiškus laisvės laipsnių eliminavimas (numatytasis naudojant iteracinį metodą)
ESTCOND = sąlyginio skaičiaus įverčio dažnis (eksperimentinis)
Sąlyginis skaičius įvertinamas kas nurodytą iteracijų intervalą ir iteracijų pabaigoje
Nurodžius 0, vertinimas neatliekamas
METHOD2 = antrinis sprendimo metodas (BiCGSTAB, GMRES, GPBiCG) (eksperimentinis)
Galioja tik tada, kai METHOD nurodytas CG
Jei CG diverguoja, automatiškai persijungiama į antrinį metodą ir sprendimas tęsiamas
Kitiems parametrams ir duomenų eilutėms naudojamos tos pačios reikšmės
CONTACT_ELIM = nurodo, ar kontaktinėje analizėje atliekamas laisvės laipsnių eliminavimas (0,1)
0: laisvės laipsnius eliminuoti tik naudojant iteracinį metodą (numatytoji reikšmė)
1: laisvės laipsnius eliminuoti visada (taip pat naudojant tiesioginį metodą)
** Nuo 2-osios eilutės **
| Kintamasis | Atributas | Aprašymas |
|---|---|---|
| NITER | I | Iteracijų skaičius (numatytoji reikšmė: 100) |
| iterPREmax | I | Additive Schwarz išankstinio sąlygojimo iteracijų skaičius (numatytoji reikšmė: 1) (Rekomenduojama reikšmė: 1; kai kuriuose lygiagrečiuose skaičiavimuose gali būti veiksminga 2) |
| NREST | I | Krylov poerdvių skaičius (numatytoji reikšmė: 10) (Galioja tik tada, kai sprendimo metodu pasirinktas GMRES) |
| NCOLOR_IN | I | Tikslinis spalvų skaičius daugiaspalviame rikiavime (numatytoji reikšmė: 10) (Galioja tik tada, kai OpenMP gijų skaičius yra 2 arba didesnis) |
| RECYCLEPRE | I | Išankstinio sąlygojimo parengties informacijos pakartotinio naudojimo kartų skaičius (numatytoji reikšmė: 3) (Galioja tik netiesinėje analizėje) |
| Kintamasis | Atributas | Aprašymas |
|---|---|---|
| RESID | R | Nutraukimo paklaida (numatytoji reikšmė: 1.0e-8) |
| SIGMA_DIAG | R | Daugiklis, taikomas įstrižainės elementams skaičiuojant išankstinio sąlygojimo matricą (numatytoji reikšmė: 1.0) (Jei naudojant ILU išankstinį sąlygojimą įvyksta dalyba iš nulio arba divergencija, uždavinys gali konverguoti nurodžius reikšmę, didesnę už 1.0) |
| SIGMA | R | Nenaudojamas (numatytoji reikšmė: 0.0) |
Kai PRECOND=5 (neprivaloma)¶
Jei PRECOND nurodyta kita reikšmė, 4-oji eilutė ignoruojama.
(4-oji eilutė) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
| Kintamasis | Atributas | Aprašymas |
|---|---|---|
| ML_CoarseSolver | I | ML stambaus tinklelio sprendiklis (1: naudoti glodintuvą, 2: KLU (nuoseklus tiesioginis metodas), 3: MUMPS (lygiagretus tiesioginis metodas)) (numatytoji reikšmė: 1) (Rekomenduojama: 3 arba 2 sudėtingiems uždaviniams, 1 įprastiems uždaviniams) |
| ML_Smoother | I | ML glodintuvas (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (numatytoji reikšmė: 1) (Rekomenduojama: 1) |
| ML_MGCycle | I | ML daugiatinklio ciklas (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (numatytoji reikšmė: 1) (Rekomenduojama: 2 sudėtingiems uždaviniams, 1 įprastiems uždaviniams) |
| ML_MaxLevels | I | Didžiausias ML lygių skaičius (numatytoji reikšmė: 10) (Ypač sudėtingiems uždaviniams naudokite tiesioginį stambaus tinklelio sprendiklį ir 2 lygius (arba 3, jei trūksta atminties); įprastiems uždaviniams rekomenduojama 10) |
| ML_CoarseningScheme | I | ML stambinimo schema (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (numatytoji reikšmė: 1) (Rekomenduojama: 1 arba 5) |
| ML_NumSweep | I | ML glodintuvo perėjimų skaičius (Chebyshev atveju – polinomo laipsnis) (numatytoji reikšmė: 2) (Rekomenduojama: 2 Chebyshev atveju, 1 SymBlockGaussSeidel atveju) |
Pavyzdžiai¶
Naudokite CG su SSOR išankstiniu sąlygojimu ir nustatykite didžiausią iteracijų skaičių 10000, o nutraukimo paklaidą – 1.0e-8
Naudokite GMRES su SSOR išankstiniu sąlygojimu ir nustatykite Krylov poerdvių skaičių 40, o tikslinį daugiaspalvio rikiavimo spalvų skaičių – 100
Naudokite CG su ILU(0) išankstiniu sąlygojimu ir nustatykite įstrižainės elementams taikomą daugiklį skaičiuojant išankstinio sąlygojimo matricą į 1.1
CG išankstiniam sąlygojimui naudokite ML pagrįstą AMG
CG išankstiniam sąlygojimui naudokite ML pagrįstą AMG, o stambaus tinklelio sprendikliui – MUMPS (sudėtingiems uždaviniams)
CG išankstiniam sąlygojimui naudokite ML pagrįstą AMG, o daugiatinklio ciklui – W-cycle (sudėtingiems uždaviniams)
CG išankstiniam sąlygojimui naudokite ML pagrįstą AMG, stambaus tinklelio sprendikliui naudokite MUMPS ir nustatykite didžiausią lygių skaičių 2 (labai sudėtingiems uždaviniams)