!SOLVER¶
A solver vezérlése
Kötelező vezérlőadat.
Paraméterek¶
METHOD = Megoldási módszer (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : direkt módszer a kontaktanalízisen kívül (csak soros feldolgozás) (jelenleg nem használható)
DIRECTmkl : direkt módszer Intel MKL használatával
MUMPS : direkt módszer MUMPS használatával
Direkt módszer választásakor az adatsorokat a rendszer figyelmen kívül hagyja.
A 3 szabadságfokú iteratív módszerek OpenMP-alapú szálpárhuzamosítást használhatnak
PRECOND = Az iteratív módszer előkondicionálási módszere (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Block) SSOR (csak 3 szabadságfok esetén többszínű rendezéssel)
3 : (Block) Diagonal Scaling
5 : AMG az ML multigrid előkondicionáló csomaggal
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
A 10, 11 és 12 csak 3 szabadságfokú problémákhoz használható
OpenMP-alapú szálpárhuzamosítás esetén SSOR, Diagonal Scaling vagy ML ajánlott
ITERLOG = Az iteratív solver konvergenciatörténetének kiírása (YES/NO)(alapértelmezett: NO)
TIMELOG = A solver számítási idejének kiírása (YES/NO/VERBOSE)(alapértelmezett: NO)
USEJAD = Rendezés alkalmazása vektorgépekhez (YES/NO)(alapértelmezett: NO)
Csak 3 szabadságfokú problémánál, iteratív módszer használatakor érvényes
SCALING = Skálázás úgy, hogy a mátrix diagonális elemei 1-ek legyenek (YES/NO)(alapértelmezett: NO)
Csak 3 szabadságfokú problémánál, iteratív módszer használatakor érvényes
DUMPTYPE = Mátrixdump formátuma (NONE, MM, CSR, BSR) (főként hibakereséshez)
NONE : nincs dump (alapértelmezett)
MM : Matrix Market formátum
CSR : Compressed Sparse Row (CSR) formátum
BSR : Blocked CSR formátum
DUMPEXIT = A program leállítása közvetlenül a mátrixdump után (YES/NO)(alapértelmezett: NO)
MPCMETHOD = A többpontos kényszerfeltételek kezelési módszere (1, 2, 3)
1: büntetőmódszer (direkt módszer használatakor alapértelmezett)
2: MPC-CG módszer (nem ajánlott)
3: explicit szabadságfok-elimináció (iteratív módszer használatakor alapértelmezett)
ESTCOND = A kondíciószám becslésének gyakorisága (kísérleti)
A kondíciószám becslése a megadott iterációs gyakorisággal és az iteráció végén történik
0 esetén nincs becslés
METHOD2 = Második megoldási módszer (BiCGSTAB, GMRES, GPBiCG) (kísérleti)
Csak akkor érvényes, ha METHOD=CG
Ha a CG módszer divergál, a rendszer automatikusan erre vált, és ezzel végzi el a megoldást
A többi paraméter és adatsor ugyanazokat az információkat használja
CONTACT_ELIM = Annak megadása, hogy kontaktanalízisben történjen-e szabadságfok-elimináció (0,1)
0: szabadságfok-elimináció csak iteratív módszer használatakor (alapértelmezett)
1: mindig történjen szabadságfok-elimináció (direkt módszer használatakor is)
** A 2. sortól **
| Változónév | Típus | Tartalom |
|---|---|---|
| NITER | I | Iterációk száma (alapértelmezett: 100) |
| iterPREmax | I | Az Additive Schwarz előkondicionálás ismétléseinek száma (alapértelmezett: 1) (ajánlott érték: 1; párhuzamos számításnál a 2 is hatékony lehet) |
| NREST | I | A Krylov-altér mérete (alapértelmezett: 10) (csak GMRES megoldási módszer választásakor érvényes) |
| NCOLOR_IN | I | A többszínű rendezés célzott színszáma (alapértelmezett: 10) (csak akkor érvényes, ha az OpenMP-szálak száma legalább 2) |
| RECYCLEPRE | I | Az előkondicionáló beállítási információinak újrafelhasználási száma (alapértelmezett: 3) (csak nemlineáris analízisnél érvényes) |
| Változónév | Típus | Tartalom |
|---|---|---|
| RESID | R | Leállási hiba (alapértelmezett érték: 1.0e-8) |
| SIGMA_DIAG | R | Az előkondicionáló mátrix számításakor a diagonális elemekre alkalmazott szorzó (alapértelmezett érték: 1.0) (ha ILU előkondicionálásnál nullával osztás vagy divergencia lép fel, 1.0-nál nagyobb érték megadása lehetővé teheti a megoldást) |
| SIGMA | R | Nincs használatban (alapértelmezett érték: 0.0) |
PRECOND=5 esetén (elhagyható)¶
Ha a PRECOND paraméterhez más érték van megadva, a 4. sort a rendszer figyelmen kívül hagyja.
| Változónév | Típus | Tartalom |
|---|---|---|
| ML_CoarseSolver | I | Solver az ML durva rácsához (1: helyettesítés simítóval, 2: KLU (soros direkt módszer), 3: MUMPS (párhuzamos direkt módszer)) (alapértelmezett érték: 1) (ajánlott érték: nehezen megoldható problémáknál 3 vagy 2, normál problémáknál 1) |
| ML_Smoother | I | ML-simító (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (alapértelmezett érték: 1) (ajánlott érték: 1) |
| ML_MGCycle | I | ML multigrid ciklus (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (alapértelmezett érték: 1) (ajánlott érték: nehezen megoldható problémáknál 2, normál problémáknál 1) |
| ML_MaxLevels | I | Az ML szintek maximális száma (alapértelmezett érték: 10) (ajánlott érték: különösen nehezen megoldható problémáknál a durvarács-solver legyen direkt módszer és az érték 2 (elégtelen memória esetén 3), normál problémáknál 10) |
| ML_CoarseningScheme | I | ML durvítási séma (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (alapértelmezett érték: 1) (ajánlott érték: 1 vagy 5) |
| ML_NumSweep | I | Az ML-simító söpréseinek száma (Chebyshev esetén a polinom foka) (alapértelmezett érték: 2) (ajánlott érték: Chebyshev esetén 2, SymBlockGaussSeidel esetén 1) |
Használati példák¶
CG módszer használata SSOR előkondicionálással, a maximális iterációszám 10000, a leállási hiba 1.0e-8.
GMRES módszer használata SSOR előkondicionálással, a Krylov-altér mérete 40, a többszínű rendezés célzott színszáma 100.
CG módszer használata ILU(0) előkondicionálással, az előkondicionáló mátrix számításakor a diagonális elemekre alkalmazott szorzó 1.1.
A CG módszer előkondicionálójaként az ML AMG módszerének használata.
A CG módszer előkondicionálójaként az ML AMG módszerének használata, MUMPS durvarács-solverrel (nehezen megoldható problémákhoz).
A CG módszer előkondicionálójaként az ML AMG módszerének használata W-cycle multigrid ciklussal (nehezen megoldható problémákhoz).
A CG módszer előkondicionálójaként az ML AMG módszerének használata MUMPS durvarács-solverrel és 2 maximális szinttel (különösen nehezen megoldható problémákhoz).