Gå till innehållet

!SOLVER

Styrning av lösaren

Obligatoriska styrdata.

Parametrar

METHOD =    Lösningsmetod (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Direktmetod utom för kontaktanalys (endast seriell bearbetning) (för närvarande inte tillgänglig)
            DIRECTmkl  : Direktmetod med Intel MKL
            MUMPS      : Direktmetod med MUMPS
            När en direktmetod väljs ignoreras dataraderna.
            Iterativa metoder för problem med 3 frihetsgrader stöder trådparallell exekvering med OpenMP

PRECOND =   Prekonditioneringsmetod för iterativa lösare (1, 2, 3, 5, 10, 11, 12)
            1, 2       : (Block) SSOR (med flerfärgsordning endast för problem med 3 frihetsgrader)
            3          : (Block) Diagonal Scaling
            5          : AMG med multigrid-prekonditioneringspaketet ML
            10         : Block ILU(0)
            11         : Block ILU(1)
            12         : Block ILU(2)
            10, 11 och 12 är endast tillgängliga för problem med 3 frihetsgrader
            För trådparallell exekvering med OpenMP rekommenderas SSOR, Diagonal Scaling eller ML

ITERLOG =   Om konvergenshistorik för den iterativa lösaren ska matas ut          (YES/NO)(standardvärde: NO)

TIMELOG =   Om lösarens beräkningstid ska matas ut                       (YES/NO/VERBOSE)(standardvärde: NO)

USEJAD =    Om ordning för vektorprocessorer ska användas                    (YES/NO)(standardvärde: NO)
            Giltigt endast när en iterativ metod används för ett problem med 3 frihetsgrader

SCALING =   Om matrisen ska skalas så att diagonalposterna är 1       (YES/NO)(standardvärde: NO)
            Giltigt endast när en iterativ metod används för ett problem med 3 frihetsgrader

DUMPTYPE =  Format för matrisdump (NONE, MM, CSR, BSR) (främst för felsökning)
            NONE : Ingen dump (standardvärde)
            MM   : Matrix Market-format
            CSR  : Compressed Sparse Row-format (CSR)
            BSR  : Blockerat CSR-format

DUMPEXIT =  Avsluta programmet omedelbart efter matrisdumpning           (YES/NO)(standardvärde: NO)

MPCMETHOD = Metod för hantering av multipunktbegränsningar (1, 2, 3)
            1: Straffmetod (standardvärde när en direktmetod används)
            2: MPC-CG-metod (föråldrad)
            3: Explicit eliminering av frihetsgrader (standardvärde när en iterativ metod används)

ESTCOND =   Frekvens för uppskattning av konditionstal (experimentell)
            Uppskatta konditionstalet vid varje angivet iterationsintervall och i slutet av iterationerna
            Ingen uppskattning utförs när 0 anges

METHOD2 =   Sekundär lösningsmetod (BiCGSTAB, GMRES, GPBiCG) (experimentell)
            Giltigt endast när CG anges för METHOD
            Om CG divergerar växlas automatiskt till den sekundära metoden och lösningen fortsätter
            Samma värden används för övriga parametrar och datarader

CONTACT_ELIM = Anger om eliminering av frihetsgrader utförs i kontaktanalys (0,1)
               0: Utför eliminering av frihetsgrader endast när en iterativ metod används (standardvärde)
               1: Utför alltid eliminering av frihetsgrader (även när en direktmetod används)

** Rad 2 och senare **

(Rad 2) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Variabel Attribut Beskrivning
NITER I Antal iterationer (standardvärde: 100)
iterPREmax I Antal iterationer för Additive Schwarz-prekonditionering (standardvärde: 1)
(Rekommenderat värde: 1; 2 kan vara effektivt i vissa parallellberäkningar)
NREST I Antal Krylov-delrum (standardvärde: 10)
(Giltigt endast när GMRES väljs som lösningsmetod)
NCOLOR_IN I Målvärde för antal färger vid flerfärgsordning (standardvärde: 10)
(Giltigt endast när antalet OpenMP-trådar är 2 eller fler)
RECYCLEPRE I Antal gånger som information från uppsättningen av prekonditioneraren återanvänds (standardvärde: 3)
(Giltigt endast i icke-linjär analys)
(Rad 3) RESID, SIGMA_DIAG, SIGMA
Variabel Attribut Beskrivning
RESID R Trunkeringsfel (standardvärde: 1.0e-8)
SIGMA_DIAG R Skalfaktor som tillämpas på diagonalposterna vid beräkning av prekonditioneringsmatrisen (standardvärde: 1.0)
(Om division med noll eller divergens uppstår med ILU-prekonditionering kan problemet konvergera när ett värde större än 1.0 anges)
SIGMA R Används inte (standardvärde: 0.0)

När PRECOND=5 (valfritt)

Om något annat värde anges för PRECOND ignoreras rad 4.

(Rad 4) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Variabel Attribut Beskrivning
ML_CoarseSolver I Grovnätslösare för ML (1: använd utjämnare, 2: KLU (seriell direktmetod), 3: MUMPS (parallell direktmetod)) (standardvärde: 1)
(Rekommenderas: 3 eller 2 för svåra problem, 1 för vanliga problem)
ML_Smoother I ML-utjämnare (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (standardvärde: 1)
(Rekommenderas: 1)
ML_MGCycle I ML-multigridcykel (1: V-cykel, 2: W-cykel, 3: Full-V-cykel) (standardvärde: 1)
(Rekommenderas: 2 för svåra problem, 1 för vanliga problem)
ML_MaxLevels I Maximalt antal ML-nivåer (standardvärde: 10)
(För särskilt svåra problem, använd en direkt grovnätslösare och 2 nivåer (eller 3 om minnet inte räcker); för vanliga problem rekommenderas 10)
ML_CoarseningScheme I ML-metod för förgrovning (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (standardvärde: 1)
(Rekommenderas: 1 eller 5)
ML_NumSweep I Antal ML-utjämnarsvep (polynomgrad för Chebyshev) (standardvärde: 2)
(Rekommenderas: 2 för Chebyshev, 1 för SymBlockGaussSeidel)

Exempel

Använd CG med SSOR-prekonditionering och ställ in maximalt antal iterationer till 10000 och trunkeringsfelet till 1.0e-8

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

Använd GMRES med SSOR-prekonditionering och ställ in antalet Krylov-delrum till 40 och målantalet färger för flerfärgsordning till 100

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

Använd CG med ILU(0)-prekonditionering och ställ in skalfaktorn som tillämpas på diagonalposterna vid beräkning av prekonditioneringsmatrisen till 1.1

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

Använd AMG via ML som prekonditionerare för CG

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

Använd AMG via ML som prekonditionerare för CG och MUMPS som grovnätslösare (för svåra problem)

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

Använd AMG via ML som prekonditionerare för CG och W-cykel som multigridcykel (för svåra problem)

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

Använd AMG via ML som prekonditionerare för CG, använd MUMPS som grovnätslösare och ställ in maximalt antal nivåer till 2 (för mycket svåra problem)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2
AI-assisted translation May contain errors Official docs Status