!SOLVER¶
Kontrol ng solver
Kinakailangang control data.
Mga parameter¶
METHOD = Paraan ng paglutas (CG、BiCGSTAB、GMRES、GPBiCG、CR、DIRECT、DIRECTmkl、MUMPS)
DIRECT : Direct method maliban sa contact analysis (serial processing lamang) (kasalukuyang hindi magagamit)
DIRECTmkl : Direct method gamit ang Intel MKL
MUMPS : Direct method gamit ang MUMPS
Kapag pinili ang direct method, binabalewala ang mga data line.
Maaaring gumamit ng thread parallelism sa OpenMP ang iterative methods para sa 3-DOF problems
PRECOND = Paraan ng preconditioning para sa iterative solver (1、2、3、5、10、11、12)
1, 2 : SSOR (bloke) (may multi-color ordering para lamang sa 3-DOF problems)
3 : Pag-scale ng diagonal (bloke)
5 : AMG gamit ang multigrid preconditioning package na ML
10 : Bloke na ILU(0)
11 : Bloke na ILU(1)
12 : Bloke na ILU(2)
Magagamit lamang ang 10、11、12 para sa 3-DOF problems
Para sa OpenMP thread parallelism, inirerekomenda ang SSOR, pag-scale ng diagonal, o ML
ITERLOG = Kung ilalabas ang convergence history ng iterative solver (YES/NO)(default: NO)
TIMELOG = Kung ilalabas ang computation time ng solver (YES/NO/VERBOSE)(default: NO)
USEJAD = Kung gagamit ng ordering para sa vector processors (YES/NO)(default: NO)
Valid lamang kapag iterative method ang ginagamit sa 3-DOF problem
SCALING = Kung i-scale ang matrix upang maging 1 ang diagonal entries (YES/NO)(default: NO)
Valid lamang kapag iterative method ang ginagamit sa 3-DOF problem
DUMPTYPE = Format ng matrix dump (NONE、MM、CSR、BSR) (pangunahing para sa debugging)
NONE : Huwag mag-dump (default)
MM : Matrix Market format
CSR : Compressed Sparse Row(CSR) format
BSR : Blocked CSR format
DUMPEXIT = Tapusin ang programa kaagad pagkatapos ng matrix dump (YES/NO)(default: NO)
MPCMETHOD = Paraan ng pagproseso ng multipoint constraints (1、2、3)
1: Penalty method (default kapag gumagamit ng direct method)
2: MPC-CG method (hindi inirerekomenda)
3: Explicit DOF elimination (default kapag gumagamit ng iterative method)
ESTCOND = Dalas ng condition-number estimation (experimental)
Tantiya ang condition number sa bawat tinukoy na iteration interval at sa dulo ng iterations
Kapag 0 ang tinukoy, walang estimation na isinasagawa
METHOD2 = Ikalawang paraan ng paglutas (BiCGSTAB、GMRES、GPBiCG) (experimental)
Valid lamang kapag CG ang tinukoy sa METHOD
Kapag nag-diverge ang CG method, awtomatikong lilipat at magpapatuloy sa paglutas
Parehong values ang ginagamit para sa ibang parameters at data lines
CONTACT_ELIM = Tinutukoy kung gagawin ang DOF elimination sa contact analysis (0,1)
0: Gawin ang DOF elimination kapag iterative method lamang ang ginagamit (default)
1: Palaging gawin ang DOF elimination (kasama kapag direct method ang ginagamit)
** Ikalawang linya at mga kasunod **
| Variable | Attribute | Paglalarawan |
|---|---|---|
| NITER | I | Bilang ng iterations (default: 100) |
| iterPREmax | I | Bilang ng Additive Schwarz preconditioning iterations (default: 1) (inirerekomenda ang 1; maaaring epektibo ang 2 sa ilang parallel computation) |
| NREST | I | Bilang ng Krylov subspaces (default: 10) (valid lamang kapag GMRES ang piniling paraan ng paglutas) |
| NCOLOR_IN | I | Target na bilang ng kulay para sa multi-color ordering (default: 10) (valid lamang kapag 2 o higit pa ang OpenMP threads) |
| RECYCLEPRE | I | Bilang ng muling paggamit ng preconditioner setup information (default: 3) (valid lamang sa nonlinear analysis) |
| Variable | Attribute | Paglalarawan |
|---|---|---|
| RESID | R | Truncation error (default: 1.0e-8) |
| SIGMA_DIAG | R | Multiplier na inilalapat sa diagonal entries kapag kinukuwenta ang preconditioning matrix (default: 1.0) (kung may division by zero o divergence sa ILU preconditioning, maaaring malutas ang problema sa value na higit sa 1.0) |
| SIGMA | R | Hindi ginagamit (default: 0.0) |
Kapag PRECOND=5 (opsyonal)¶
Kapag ibang value ang tinukoy sa PRECOND, binabalewala ang ikaapat na linya.
(Ikaapat na linya) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
| Variable | Attribute | Paglalarawan |
|---|---|---|
| ML_CoarseSolver | I | Coarse-grid solver ng ML (1: gumamit ng smoother, 2: KLU (serial direct method), 3: MUMPS (parallel direct method)) (default: 1) (inirerekomenda: 3 o 2 para sa mahirap na problema, 1 para sa karaniwang problema) |
| ML_Smoother | I | Smoother ng ML (1: Chebyshev、2: SymBlockGaussSeidel、3: Jacobi) (default: 1) (inirerekomenda: 1) |
| ML_MGCycle | I | Multigrid cycle ng ML (1: V-cycle、2: W-cycle、3: Full-V-cycle) (default: 1) (inirerekomenda: 2 para sa mahirap na problema, 1 para sa karaniwang problema) |
| ML_MaxLevels | I | Maximum na bilang ng ML levels (default: 10) (para sa napakahirap na problema, gumamit ng direct coarse-grid solver at 2 levels (3 kung kulang ang memory); para sa karaniwang problema, 10) |
| ML_CoarseningScheme | I | Coarsening scheme ng ML (1: UncoupledMIS、2: METIS、4: Zoltan、5: DD) (default: 1) (inirerekomenda: 1 o 5) |
| ML_NumSweep | I | Bilang ng sweeps ng ML smoother (polynomial degree para sa Chebyshev) (default: 2) (inirerekomenda: 2 para sa Chebyshev, 1 para sa SymBlockGaussSeidel) |
Halimbawa ng paggamit¶
Gumamit ng CG na may SSOR preconditioning, at itakda ang maximum iteration count sa 10000 at truncation error sa 1.0e-8
Gumamit ng GMRES na may SSOR preconditioning, at itakda ang bilang ng Krylov subspaces sa 40 at target color count ng multi-color ordering sa 100
Gumamit ng CG na may ILU(0) preconditioning at itakda sa 1.1 ang multiplier sa diagonal entries kapag kinukuwenta ang preconditioning matrix
Gamitin ang AMG ng ML bilang preconditioner ng CG
Gamitin ang AMG ng ML bilang preconditioner ng CG at MUMPS bilang coarse-grid solver (para sa mahirap na problema)
Gamitin ang AMG ng ML bilang preconditioner ng CG at W-cycle bilang multigrid cycle (para sa mahirap na problema)
Gamitin ang AMG ng ML bilang preconditioner ng CG, MUMPS bilang coarse-grid solver, at itakda ang maximum level count sa 2 (para sa napakahirap na problema)