Sari la conținut

!SOLVER

Controlul solverului

Date de control obligatorii.

Parametri

METHOD =    Metoda de rezolvare (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : metodă directă, cu excepția analizei de contact (numai procesare serială) (indisponibilă în prezent)
            DIRECTmkl  : metodă directă utilizând Intel MKL
            MUMPS      : metodă directă utilizând MUMPS
            Când este selectată o metodă directă, liniile de date sunt ignorate.
            Metodele iterative pentru probleme cu 3 GDL acceptă execuția paralelă pe fire cu OpenMP

PRECOND =   Metoda de precondiționare pentru solverele iterative (1, 2, 3, 5, 10, 11, 12)
            1, 2       : SSOR (pe blocuri) (cu ordonare multicoloră numai pentru probleme cu 3 GDL)
            3          : scalare diagonală (pe blocuri)
            5          : AMG utilizând pachetul de precondiționare multigrid ML
            10         : ILU(0) pe blocuri
            11         : ILU(1) pe blocuri
            12         : ILU(2) pe blocuri
            10, 11 și 12 sunt disponibile numai pentru probleme cu 3 GDL
            Pentru execuția paralelă pe fire OpenMP se recomandă SSOR, scalarea diagonală sau ML

ITERLOG =   Dacă se produce istoricul de convergență al solverului iterativ          (YES/NO)(Implicit: NO)

TIMELOG =   Dacă se produce timpul de calcul al solverului                           (YES/NO/VERBOSE)(Implicit: NO)

USEJAD =    Dacă se utilizează ordonarea pentru procesoare vectoriale                (YES/NO)(Implicit: NO)
            Valabil numai când se utilizează o metodă iterativă pentru o problemă cu 3 GDL

SCALING =   Dacă matricea este scalată astfel încât elementele diagonale să fie 1    (YES/NO)(Implicit: NO)
            Valabil numai când se utilizează o metodă iterativă pentru o problemă cu 3 GDL

DUMPTYPE =  Formatul dump-ului matricei (NONE, MM, CSR, BSR) (în principal pentru depanare)
            NONE : fără dump (Implicit)
            MM   : format Matrix Market
            CSR  : format Compressed Sparse Row (CSR)
            BSR  : format CSR pe blocuri

DUMPEXIT =  Încheie programul imediat după dump-ul matricei                          (YES/NO)(Implicit: NO)

MPCMETHOD = Metoda de tratare a constrângerilor multipunct (1, 2, 3)
            1: metoda penalizării (implicit când se utilizează o metodă directă)
            2: metoda MPC-CG (învechită)
            3: eliminarea explicită a GDL (implicit când se utilizează o metodă iterativă)

ESTCOND =   Frecvența estimării numărului de condiționare (experimental)
            Estimează numărul de condiționare la fiecare interval de iterații specificat și la sfârșitul iterațiilor
            Nu se efectuează nicio estimare când se specifică 0

METHOD2 =   Metoda secundară de rezolvare (BiCGSTAB, GMRES, GPBiCG) (experimental)
            Valabilă numai când pentru METHOD este specificat CG
            Dacă CG diverge, comută automat la metoda secundară și continuă rezolvarea
            Pentru ceilalți parametri și liniile de date se utilizează aceleași valori

CONTACT_ELIM = Specifică dacă se efectuează eliminarea GDL în analiza de contact (0,1)
               0: efectuează eliminarea GDL numai când se utilizează o metodă iterativă (Implicit)
               1: efectuează întotdeauna eliminarea GDL (inclusiv când se utilizează o metodă directă)

** A doua linie și liniile următoare **

(a doua linie) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Variabilă Atribut Descriere
NITER I Numărul de iterații (implicit: 100)
iterPREmax I Numărul de iterații de precondiționare Additive Schwarz (implicit: 1)
(Valoare recomandată: 1; 2 poate fi eficient în anumite calcule paralele)
NREST I Numărul de subspații Krylov (implicit: 10)
(Valabil numai când GMRES este selectat ca metodă de rezolvare)
NCOLOR_IN I Numărul țintă de culori pentru ordonarea multicoloră (implicit: 10)
(Valabil numai când numărul de fire OpenMP este cel puțin 2)
RECYCLEPRE I Numărul de reutilizări ale informațiilor de configurare ale precondiționerului (implicit: 3)
(Valabil numai în analiza neliniară)
(a treia linie) RESID, SIGMA_DIAG, SIGMA
Variabilă Atribut Descriere
RESID R Eroare de trunchiere (implicit: 1.0e-8)
SIGMA_DIAG R Factor de scalare aplicat elementelor diagonale la calcularea matricei de precondiționare (implicit: 1.0)
(Dacă la precondiționarea ILU apare o împărțire la zero sau divergență, problema poate converge când se specifică o valoare mai mare decât 1.0)
SIGMA R Neutilizat (implicit: 0.0)

Când PRECOND=5 (opțional)

Dacă pentru PRECOND este specificată orice altă valoare, a patra linie este ignorată.

(a patra linie) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Variabilă Atribut Descriere
ML_CoarseSolver I Solver pentru grila grosieră ML (1: utilizează smoother-ul, 2: KLU (metodă directă serială), 3: MUMPS (metodă directă paralelă)) (implicit: 1)
(Recomandat: 3 sau 2 pentru probleme dificile, 1 pentru probleme obișnuite)
ML_Smoother I Smoother ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (implicit: 1)
(Recomandat: 1)
ML_MGCycle I Ciclul multigrid ML (1: ciclu V, 2: ciclu W, 3: ciclu Full-V) (implicit: 1)
(Recomandat: 2 pentru probleme dificile, 1 pentru probleme obișnuite)
ML_MaxLevels I Numărul maxim de niveluri ML (implicit: 10)
(Pentru probleme deosebit de dificile, utilizați un solver direct pe grila grosieră și 2 niveluri (sau 3 dacă memoria este insuficientă); pentru probleme obișnuite se recomandă 10)
ML_CoarseningScheme I Schema de grosierizare ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (implicit: 1)
(Recomandat: 1 sau 5)
ML_NumSweep I Numărul de treceri ale smoother-ului ML (gradul polinomului pentru Chebyshev) (implicit: 2)
(Recomandat: 2 pentru Chebyshev, 1 pentru SymBlockGaussSeidel)

Exemple

Utilizați CG cu precondiționare SSOR și setați numărul maxim de iterații la 10000 și eroarea de trunchiere la 1.0e-8

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

Utilizați GMRES cu precondiționare SSOR și setați numărul de subspații Krylov la 40 și numărul țintă de culori pentru ordonarea multicoloră la 100

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

Utilizați CG cu precondiționare ILU(0) și setați factorul de scalare aplicat elementelor diagonale la calcularea matricei de precondiționare la 1.1

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

Utilizați AMG prin ML ca precondiționer pentru CG

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

Utilizați AMG prin ML ca precondiționer pentru CG și MUMPS ca solver pentru grila grosieră (pentru probleme dificile)

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

Utilizați AMG prin ML ca precondiționer pentru CG și ciclul W ca ciclu multigrid (pentru probleme dificile)

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

Utilizați AMG prin ML ca precondiționer pentru CG, utilizați MUMPS ca solver pentru grila grosieră și setați numărul maxim de niveluri la 2 (pentru probleme foarte dificile)

!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