!SOLVER¶
Kontrol solver
Data kontrol wajib.
Parameter¶
METHOD = Metode penyelesaian (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Metode langsung selain untuk analisis kontak (hanya pemrosesan serial) (saat ini tidak tersedia)
DIRECTmkl : Metode langsung menggunakan Intel MKL
MUMPS : Metode langsung menggunakan MUMPS
Jika metode langsung dipilih, baris data diabaikan.
Metode iteratif untuk masalah 3-DOF mendukung eksekusi paralel thread dengan OpenMP
PRECOND = Metode preconditioning untuk solver iteratif (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Block) SSOR (dengan multi-color ordering hanya untuk masalah 3-DOF)
3 : (Block) Diagonal Scaling
5 : AMG menggunakan paket multigrid preconditioning ML
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
10, 11, dan 12 hanya tersedia untuk masalah 3-DOF
Untuk eksekusi paralel thread OpenMP, disarankan menggunakan SSOR, Diagonal Scaling, atau ML
ITERLOG = Apakah riwayat konvergensi solver iteratif dikeluarkan (YES/NO)(Default: NO)
TIMELOG = Apakah waktu komputasi solver dikeluarkan (YES/NO/VERBOSE)(Default: NO)
USEJAD = Apakah ordering untuk prosesor vektor digunakan (YES/NO)(Default: NO)
Hanya valid ketika metode iteratif digunakan untuk masalah 3-DOF
SCALING = Apakah matriks diskalakan sehingga entri diagonal bernilai 1 (YES/NO)(Default: NO)
Hanya valid ketika metode iteratif digunakan untuk masalah 3-DOF
DUMPTYPE = Format dump matriks (NONE, MM, CSR, BSR) (terutama untuk debugging)
NONE : Jangan dump (Default)
MM : Format Matrix Market
CSR : Format Compressed Sparse Row (CSR)
BSR : Format Blocked CSR
DUMPEXIT = Hentikan program segera setelah dump matriks (YES/NO)(Default: NO)
MPCMETHOD = Metode untuk menangani multipoint constraint (1, 2, 3)
1: Metode penalti (Default ketika menggunakan metode langsung)
2: Metode MPC-CG (Deprecated)
3: Eliminasi DOF eksplisit (Default ketika menggunakan metode iteratif)
ESTCOND = Frekuensi estimasi condition number (eksperimental)
Estimasikan condition number pada setiap interval iterasi yang ditentukan dan pada akhir iterasi
Estimasi tidak dilakukan jika 0 ditentukan
METHOD2 = Metode penyelesaian sekunder (BiCGSTAB, GMRES, GPBiCG) (eksperimental)
Hanya valid ketika CG ditentukan untuk METHOD
Jika CG divergen, otomatis beralih ke metode sekunder dan lanjutkan penyelesaian
Nilai yang sama digunakan untuk parameter dan baris data lainnya
CONTACT_ELIM = Menentukan apakah eliminasi DOF dilakukan dalam analisis kontak (0,1)
0: Lakukan eliminasi DOF hanya ketika menggunakan metode iteratif (Default)
1: Selalu lakukan eliminasi DOF (termasuk ketika menggunakan metode langsung)
** Baris ke-2 dan seterusnya **
| Variabel | Atribut | Deskripsi |
|---|---|---|
| NITER | I | Jumlah iterasi (Default: 100) |
| iterPREmax | I | Jumlah iterasi preconditioning Additive Schwarz (Default: 1) (Nilai yang disarankan: 1; 2 dapat efektif pada sebagian komputasi paralel) |
| NREST | I | Jumlah subruang Krylov (Default: 10) (Hanya valid ketika GMRES dipilih sebagai metode penyelesaian) |
| NCOLOR_IN | I | Jumlah warna target untuk multi-color ordering (Default: 10) (Hanya valid ketika jumlah thread OpenMP adalah 2 atau lebih) |
| RECYCLEPRE | I | Jumlah penggunaan ulang informasi setup preconditioner (Default: 3) (Hanya valid dalam analisis nonlinear) |
| Variabel | Atribut | Deskripsi |
|---|---|---|
| RESID | R | Galat pemotongan (Default: 1.0e-8) |
| SIGMA_DIAG | R | Faktor skala yang diterapkan pada entri diagonal saat menghitung matriks preconditioning (Default: 1.0) (Jika terjadi pembagian dengan nol atau divergensi dengan preconditioning ILU, masalah dapat konvergen jika nilai lebih besar dari 1.0 ditentukan) |
| SIGMA | R | Tidak digunakan (Default: 0.0) |
Ketika PRECOND=5 (opsional)¶
Jika nilai lain ditentukan untuk PRECOND, baris ke-4 diabaikan.
(Baris ke-4) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
| Variabel | Atribut | Deskripsi |
|---|---|---|
| ML_CoarseSolver | I | Solver coarse-grid untuk ML (1: gunakan smoother, 2: KLU (metode langsung serial), 3: MUMPS (metode langsung paralel)) (Default: 1) (Disarankan: 3 atau 2 untuk masalah sulit, 1 untuk masalah biasa) |
| ML_Smoother | I | Smoother ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (Default: 1) (Disarankan: 1) |
| ML_MGCycle | I | Siklus multigrid ML (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (Default: 1) (Disarankan: 2 untuk masalah sulit, 1 untuk masalah biasa) |
| ML_MaxLevels | I | Jumlah maksimum level ML (Default: 10) (Untuk masalah yang sangat sulit, gunakan solver coarse langsung dan 2 level (atau 3 jika memori tidak mencukupi); untuk masalah biasa, disarankan 10) |
| ML_CoarseningScheme | I | Skema coarsening ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (Default: 1) (Disarankan: 1 atau 5) |
| ML_NumSweep | I | Jumlah sweep smoother ML (derajat polinomial untuk Chebyshev) (Default: 2) (Disarankan: 2 untuk Chebyshev, 1 untuk SymBlockGaussSeidel) |
Contoh¶
Gunakan CG dengan preconditioning SSOR, dan tetapkan jumlah maksimum iterasi menjadi 10000 serta galat pemotongan menjadi 1.0e-8
Gunakan GMRES dengan preconditioning SSOR, dan tetapkan jumlah subruang Krylov menjadi 40 serta jumlah warna target untuk multi-color ordering menjadi 100
Gunakan CG dengan preconditioning ILU(0), dan tetapkan faktor skala yang diterapkan pada entri diagonal saat menghitung matriks preconditioning menjadi 1.1
Gunakan AMG oleh ML sebagai preconditioner untuk CG
Gunakan AMG oleh ML sebagai preconditioner untuk CG dan gunakan MUMPS sebagai solver coarse-grid (untuk masalah sulit)
Gunakan AMG oleh ML sebagai preconditioner untuk CG dan gunakan W-cycle sebagai siklus multigrid (untuk masalah sulit)
Gunakan AMG oleh ML sebagai preconditioner untuk CG, gunakan MUMPS sebagai solver coarse-grid, dan tetapkan jumlah maksimum level menjadi 2 (untuk masalah yang sangat sulit)