Kihagyás

!SOLVER

A megoldó 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, 22)
            1, 2       : (blokkos) SSOR (csak 3 szabadságfok esetén többszínű rendezéssel)
            3          : (blokkos) diagonális skálázás
            5          : AMG az ML multigrid előkondicionáló csomaggal
            10         : blokkos ILU(0)
            11         : blokkos ILU(1)
            12         : blokkos ILU(2)
            22         : AMG a HEC-MW beépített SA-AMG megoldásával (simított aggregációs AMG)
            A 10, 11 és 12 csak 3 szabadságfokú problémákhoz használható
            A 22 csak LAPACK-támogatással készült buildben használható
            OpenMP-alapú szálpárhuzamosítás esetén SSOR, diagonális skálázás, ML vagy SA-AMG ajánlott

ITERLOG =   Az iteratív megoldó konvergenciatörténetének kiírása          (YES/NO)(alapértelmezett: NO)

TIMELOG =   A megoldó számítási idejének kiírása                          (YES/NO/VERBOSE)(alapértelmezett: NO)

LOGLEVEL =  Az előkondicionáló diagnosztikai kimenetének szintje        (egész)(alapértelmezett: nincs kimenet)
            Az ITERLOG és TIMELOG beállítástól függetlenül adható meg
            1 vagy nagyobb értéknél kiírja az AMG-előkondicionálók (PRECOND=5,22) hierarchiafelépítését és egyéb adatait
            2 vagy nagyobb értéknél részletesebb adatokat is kiír (például a memóriahasználatot)

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, 3)
            1: büntetőmódszer (direkt módszer használatakor alapértelmezett)
            3: explicit szabadságfok-elimináció (iteratív módszer használatakor alapértelmezett)
            Az MPC-CG módszert (2) eltávolították. A 2 megadásakor figyelmeztetés jelenik meg, és az alapértelmezett módszer kerül alkalmazásra.

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

RECOMPUTE_RESIDUAL = A reziduumvektor újraszámításának gyakorisága
            Csak akkor érvényes, ha a METHOD értéke CG, BiCGSTAB, GPBiCG vagy PipeCG
            Az iteratív módszerek rekurziós összefüggéssel frissítik a reziduumvektort, ezért kerekítési hibák halmozódnak fel
            A megadott iterációs időközönként a reziduumvektor újraszámítása {b}-[A]{x} alapján történik
            0 megadásakor az egyes módszerek alapértelmezett értéke használatos (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Negatív érték megadásakor nincs periodikus újraszámítás
            A konvergenciakritérium teljesülésének ellenőrzésére szolgáló újraszámítás ettől a beállítástól függetlenül mindig megtörténik
            A túl rövid időköz nemcsak a mátrix-vektor szorzatok számát növeli, hanem
            magát a konvergenciát is ronthatja, akár a konvergencia elmaradásáig
            Az alapértelmezett érték módosítása után ellenőrizze a konvergenciatörténetet és a végső relatív reziduumot

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 **

(2. sor) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
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)
(3. sor) RESID, SIGMA_DIAG, SIGMA
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 értéke nem 5 vagy 22, a rendszer figyelmen kívül hagyja a 4. sort.

(4. sor) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Változónév Típus Tartalom
ML_CoarseSolver I Az ML durvarács-megoldója (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-megoldó 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)

PRECOND=22 esetén (elhagyható)

Ha a PRECOND értéke nem 22, a rendszer figyelmen kívül hagyja az 5. sort. A 4. és az 5. sor egyaránt teljesen elhagyható, továbbá mindkét sor végéről elhagyhatók az elemek. A 0 értékkel megadott elemekhez az alapértelmezett érték tartozik.

A 4. sor 1–7. eleme a PRECOND=5 (ML) opciósorával azonos sorrendű, ezért az ML opciósora változtatás nélkül újra felhasználható. A 8–10. elem kifejezetten az SA-AMG-hez tartozik.

(4. sor) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (nincs használatban), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (nincs használatban)
Változónév Típus Tartalom
SA_CoarseSolver I Durvarács-megoldó (0: automatikus, 1: simító használata, 2: sűrű mátrixos direkt módszer, 3: MUMPS (párhuzamos direkt módszer)) (alapértelmezett érték: 0)
(Automatikus módban MUMPS-támogatású build esetén MUMPS, egyébként a sűrű mátrixos direkt módszer használatos)
SA_Smoother I Simító (0 vagy 1: Chebyshev) (alapértelmezett érték: 0)
(Csak a Chebyshev támogatott. Más érték megadásakor figyelmeztetés jelenik meg, és a rendszer Chebyshevet használ)
SA_MGCycle I Multigrid ciklus (0: alapértelmezett (W-cycle), 1: V-cycle, 2: W-cycle) (alapértelmezett érték: 0)
(A Full-V-cycle nem támogatott)
SA_MaxLevels I A szintek maximális száma (alapértelmezett érték: 20)
(nincs használatban) I Az ML durvítási sémájának megfelelő pozíció. Mivel az SA-AMG mindig csatolatlan aggregációt használ, a nullától eltérő érték figyelmeztetést vált ki, és a rendszer figyelmen kívül hagyja
SA_ChebyDegree I A Chebyshev-simító polinomfoka (alapértelmezett érték: 2)
SA_CoarseSize I A durva rács levágási mérete (alapértelmezett érték: 50000, ha a durvarács-megoldó MUMPS; egyébként 100)
SA_MaxAggSize I Az aggregátum maximális mérete (alapértelmezett érték: 96)
SA_GalerkinLowMem I A durvarács-mátrix számítási módja (0: normál (sebesség elsődleges), pozitív érték: memóriatakarékos) (alapértelmezett érték: 0)
(Adjon meg pozitív értéket, ha a felépítés során nem elegendő a memória)
(nincs használatban) I Fenntartva későbbi bővítésekhez

Az 5. sor kifejezetten az SA-AMG-hez tartozik, az ML nem olvassa be.

(5. sor) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Változónév Típus Tartalom
SA_Theta R Az erős kapcsolatok meghatározási küszöbe (alapértelmezett érték: 0.0)
(0.0 esetén a mátrix nem nulla szerkezete közvetlenül gráfként használatos)
SA_ChebyAlpha R A Chebyshev-simító által célzott sajátérték-intervallum alsó határát meghatározó arány (alapértelmezett érték: 20.0)
SA_Safety R A becsült legnagyobb sajátértékre alkalmazott biztonsági tényező (alapértelmezett érték: 1.1)
SA_TaperK R A durvítás fokozatosságának K együtthatója (alapértelmezett érték: 100)
(A 2. szinttől kezdve a durvítás fokozatosabb, hogy legalább körülbelül K aggregátum maradjon. Negatív érték letiltja a fokozatosságot)
SA_AggOrder R Az aggregáció bejárási sorrendje (0: alapértelmezett (BFS-sorrend), 1: BFS-sorrend, 2: csomópontszámok hash-sorrendje (kísérleti), 3: fokszám szerint növekvő sorrend (kísérleti), 4: fokszám szerint csökkenő sorrend (kísérleti), negatív érték: csomópontszám szerinti sorrend) (alapértelmezett érték: 0)
SA_MinAggSize R Az aggregátum minimális mérete (alapértelmezett érték: 3)
SA_Verify R Önellenőrzés futtatása a felépítés során (0: nem, pozitív érték: igen) (alapértelmezett érték: 0) (elsősorban hibakereséshez)
SA_DumpVTK R A legfelső szint aggregációjának VTK-formátumú kiírása (0: nincs kiírás, pozitív érték: kiírás) (alapértelmezett érték: 0) (elsősorban hibakereséshez)

Példa

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.

!SOLVER, METHOD=CG, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

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.

!SOLVER, METHOD=GMRES, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1, 40, 100
  1.0e-8, 1.0, 0.0

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.

!SOLVER, METHOD=CG, PRECOND=10, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.1, 0.0

A CG módszer előkondicionálójaként az ML AMG módszerének használata.

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

A CG módszer előkondicionálójaként az ML AMG módszerének használata, MUMPS durvarács-megoldóval (nehezen megoldható problémákhoz).

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

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).

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  1, 1, 2

A CG módszer előkondicionálójaként az ML AMG módszerének használata MUMPS durvarács-megoldóval és 2 maximális szinttel (különösen nehezen megoldható problémákhoz).

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2

A CG módszer előkondicionálójaként a HEC-MW beépített SA-AMG megoldásának használata.

!SOLVER, METHOD=CG, PRECOND=22, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

A CG módszer előkondicionálójaként SA-AMG, durvarács-megoldóként MUMPS használata.

!SOLVER, METHOD=CG, PRECOND=22, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

Súrlódásos kontaktanalízisben SA-AMG-előkondicionálású BiCGSTAB használata és az AMG-előkondicionáló hierarchiájának kiírása.

!SOLVER, METHOD=BiCGSTAB, PRECOND=22, ITERLOG=YES, TIMELOG=YES, LOGLEVEL=1
  10000, 1
  1.0e-8, 1.0, 0.0