!SOLVER¶
ការគ្រប់គ្រងសូលវ័រ
ទិន្នន័យគ្រប់គ្រងចាំបាច់។
ប៉ារ៉ាម៉ែត្រ¶
METHOD = វិធីដោះស្រាយ (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : វិធីផ្ទាល់សម្រាប់ការវិភាគក្រៅពីការប៉ះ (ដំណើរការតាមលំដាប់ប៉ុណ្ណោះ) (បច្ចុប្បន្នមិនអាចប្រើបាន)
DIRECTmkl : វិធីផ្ទាល់ដោយ Intel MKL
MUMPS : វិធីផ្ទាល់ដោយ MUMPS
នៅពេលជ្រើសវិធីផ្ទាល់ បន្ទាត់ទិន្នន័យត្រូវបានមិនអើពើ។
វិធីធ្វើម្តងទៀតសម្រាប់បញ្ហា 3 ដឺក្រេសេរីភាព អាចដំណើរការប៉ារ៉ាឡែលតាមខ្សែស្រឡាយដោយ OpenMP
PRECOND = វិធីបុរេលក្ខខណ្ឌសម្រាប់វិធីធ្វើម្តងទៀត (1,2,3,5,10,11,12,22)
1, 2 : (Block) SSOR (មានការរៀបលំដាប់ពហុពណ៌សម្រាប់តែបញ្ហា 3 ដឺក្រេសេរីភាព)
3 : (Block) ការធ្វើមាត្រដ្ឋានអង្កត់ទ្រូង
5 : AMG ដោយប្រើកញ្ចប់បុរេលក្ខខណ្ឌពហុក្រឡាចត្រង្គ ML
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
22 : AMG ដោយ SA-AMG (Smoothed Aggregation AMG) ដែលបានបង្កប់ក្នុង HEC-MW
10,11,12 អាចប្រើបានតែសម្រាប់បញ្ហា 3 ដឺក្រេសេរីភាព
22 អាចប្រើបានតែក្នុងការបង្កើតដែលបានបើក LAPACK
ពេលដំណើរការប៉ារ៉ាឡែលតាមខ្សែស្រឡាយដោយ OpenMP ណែនាំឱ្យប្រើ SSOR, ការធ្វើមាត្រដ្ឋានអង្កត់ទ្រូង, ML ឬ SA-AMG
ITERLOG = បញ្ជាក់ថាតើត្រូវបញ្ចេញប្រវត្តិភាពរួមរបស់សូលវ័រវិធីធ្វើម្តងទៀតឬអត់ (YES/NO) (លំនាំដើម: NO)
TIMELOG = បញ្ជាក់ថាតើត្រូវបញ្ចេញពេលវេលាគណនារបស់សូលវ័រឬអត់ (YES/NO/VERBOSE) (លំនាំដើម: NO)
LOGLEVEL = កម្រិតបញ្ចេញព័ត៌មានវិនិច្ឆ័យរបស់បុរេលក្ខខណ្ឌ (ចំនួនគត់) (លំនាំដើម: មិនបញ្ចេញ)
កំណត់ដោយឯករាជ្យពី ITERLOG និង TIMELOG
តម្លៃ 1 ឬខ្ពស់ជាងនេះបញ្ចេញព័ត៌មានដូចជារចនាសម្ព័ន្ធឋានានុក្រមរបស់បុរេលក្ខខណ្ឌ AMG (PRECOND=5,22)
តម្លៃ 2 ឬខ្ពស់ជាងនេះបញ្ចេញព័ត៌មានលម្អិតបន្ថែម (ដូចជាការប្រើអង្គចងចាំ)
USEJAD = បញ្ជាក់ថាតើត្រូវប្រើការរៀបលំដាប់សម្រាប់ម៉ាស៊ីនវ៉ិចទ័រឬអត់ (YES/NO) (លំនាំដើម: NO)
មានប្រសិទ្ធភាពតែពេលប្រើវិធីធ្វើម្តងទៀតសម្រាប់បញ្ហា 3 ដឺក្រេសេរីភាព
SCALING = បញ្ជាក់ថាតើត្រូវធ្វើមាត្រដ្ឋានឱ្យធាតុអង្កត់ទ្រូងនៃម៉ាទ្រីសស្មើ 1 ឬអត់ (YES/NO) (លំនាំដើម: NO)
មានប្រសិទ្ធភាពតែពេលប្រើវិធីធ្វើម្តងទៀតសម្រាប់បញ្ហា 3 ដឺក្រេសេរីភាព
DUMPTYPE = ទ្រង់ទ្រាយបញ្ចេញម៉ាទ្រីស (NONE, MM, CSR, BSR) (ប្រើជាចម្បងសម្រាប់បំបាត់កំហុស)
NONE : មិនបញ្ចេញម៉ាទ្រីស (លំនាំដើម)
MM : ទ្រង់ទ្រាយ Matrix Market
CSR : ទ្រង់ទ្រាយ Compressed Sparse Row (CSR)
BSR : ទ្រង់ទ្រាយ Blocked CSR
DUMPEXIT = បញ្ចប់កម្មវិធីភ្លាមៗបន្ទាប់ពីបញ្ចេញម៉ាទ្រីស (YES/NO) (លំនាំដើម: NO)
MPCMETHOD = វិធីដោះស្រាយលក្ខខណ្ឌកំហិតពហុចំណុច (1,3)
1: វិធីពិន័យ (លំនាំដើមពេលប្រើវិធីផ្ទាល់)
3: ការលុបបំបាត់ DOF ដោយច្បាស់ (លំនាំដើមពេលប្រើវិធីធ្វើម្តងទៀត)
វិធី MPC-CG (2) ត្រូវបានដកចេញហើយ; ប្រសិនបើកំណត់ 2 ប្រព័ន្ធចេញការព្រមាន រួចប្រើវិធីលំនាំដើម។
ESTCOND = ប្រេកង់នៃការប៉ាន់ប្រមាណចំនួនលក្ខខណ្ឌ (សាកល្បង)
អនុវត្តការប៉ាន់ប្រមាណចំនួនលក្ខខណ្ឌរាល់ចំនួនអ៊ីតេរ៉ាស្យុងដែលបានបញ្ជាក់ និងនៅពេលបញ្ចប់អ៊ីតេរ៉ាស្យុង
បើតម្លៃជា 0 នឹងមិនធ្វើការប៉ាន់ប្រមាណទេ
RECOMPUTE_RESIDUAL = ប្រេកង់នៃការគណនាវ៉ិចទ័រសំណល់ឡើងវិញ
មានប្រសិទ្ធភាពតែពេល METHOD កំណត់ជា CG, BiCGSTAB, GPBiCG ឬ PipeCG
វិធីធ្វើឡើងវិញធ្វើបច្ចុប្បន្នភាពវ៉ិចទ័រសំណល់ដោយរូបមន្តកំណត់បន្ត ដូច្នេះកំហុសបង្គត់នឹងសន្សំឡើង
រាល់ចន្លោះអ៊ីតេរ៉ាស្យុងដែលបានកំណត់ វ៉ិចទ័រសំណល់ត្រូវបានគណនាឡើងវិញពី {b}-[A]{x}
បើតម្លៃជា 0 នឹងប្រើតម្លៃលំនាំដើមរបស់វិធីនីមួយៗ (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
បើកំណត់តម្លៃអវិជ្ជមាន នឹងមិនធ្វើការគណនាឡើងវិញជាប្រចាំទេ
ការគណនាឡើងវិញសម្រាប់បញ្ជាក់នៅពេលលក្ខខណ្ឌភាពរួមបានបំពេញ ត្រូវបានធ្វើជានិច្ចដោយមិនអាស្រ័យលើការកំណត់នេះ
បើចន្លោះខ្លីពេក មិនត្រឹមតែផលគុណម៉ាទ្រីស-វ៉ិចទ័រកើនឡើងទេ
ភាពរួមខ្លួនវាអាចកាន់តែអាក្រក់ ឬអាចមិនរួមទាំងស្រុង
បើប្តូរពីតម្លៃលំនាំដើម សូមពិនិត្យប្រវត្តិភាពរួម និងសំណល់ទាក់ទងចុងក្រោយ
METHOD2 = វិធីដោះស្រាយទី 2 (BiCGSTAB, GMRES, GPBiCG) (សាកល្បង)
មានប្រសិទ្ធភាពតែពេលកំណត់ METHOD ជា CG
បើវិធី CG មិនរួម វានឹងប្តូរដោយស្វ័យប្រវត្តិទៅវិធីនេះ ហើយបន្តដោះស្រាយ
ប៉ារ៉ាម៉ែត្រ និងព័ត៌មាននៅបន្ទាត់ទិន្នន័យផ្សេងទៀតត្រូវបានប្រើដដែល
CONTACT_ELIM = បញ្ជាក់ថាតើត្រូវលុបដឺក្រេសេរីភាពក្នុងការវិភាគការប៉ះឬអត់ (0,1)
0: លុបដឺក្រេសេរីភាពតែពេលប្រើវិធីធ្វើម្តងទៀត (លំនាំដើម)
1: លុបដឺក្រេសេរីភាពជានិច្ច (រួមទាំងពេលប្រើវិធីផ្ទាល់)
** បន្ទាត់ទី 2 និងបន្ទាត់បន្ទាប់ **
| ឈ្មោះអថេរ | គុណលក្ខណៈ | មាតិកា |
|---|---|---|
| NITER | I | ចំនួនអ៊ីតេរ៉ាស្យុង (លំនាំដើម: 100) |
| iterPREmax | I | ចំនួនដងធ្វើបុរេលក្ខខណ្ឌឡើងវិញដោយ Additive Schwarz (លំនាំដើម: 1) (តម្លៃណែនាំ = 1; ក្នុងការគណនាប៉ារ៉ាឡែលពេលខ្លះ 2 មានប្រសិទ្ធភាព) |
| NREST | I | ចំនួនលំហរង Krylov (លំនាំដើម: 10) (មានប្រសិទ្ធភាពតែពេលជ្រើស GMRES) |
| NCOLOR_IN | I | ចំនួនពណ៌គោលដៅក្នុងការរៀបលំដាប់ពហុពណ៌ (លំនាំដើម: 10) (មានប្រសិទ្ធភាពតែពេលចំនួនខ្សែស្រឡាយ OpenMP >= 2) |
| RECYCLEPRE | I | ចំនួនដងប្រើឡើងវិញនូវព័ត៌មានរៀបចំបុរេលក្ខខណ្ឌ (លំនាំដើម: 3) (មានប្រសិទ្ធភាពតែក្នុងការវិភាគមិនលីនេអ៊ែរ) |
| ឈ្មោះអថេរ | គុណលក្ខណៈ | មាតិកា |
|---|---|---|
| RESID | R | កំហុសកាត់ត (លំនាំដើម: 1.0e-8) |
| SIGMA_DIAG | R | កត្តាគុណលើធាតុអង្កត់ទ្រូងពេលគណនាម៉ាទ្រីសបុរេលក្ខខណ្ឌ (លំនាំដើម: 1.0) (បើបុរេលក្ខខណ្ឌ ILU បង្កការចែកនឹងសូន្យ ឬមិនរួម ពេលខ្លះអាចដោះស្រាយបានដោយកំណត់តម្លៃ > 1.0) |
| SIGMA | R | មិនប្រើ (លំនាំដើម: 0.0) |
នៅពេល PRECOND=5 (អាចរំលងបាន)¶
ប្រសិនបើ PRECOND ត្រូវបានកំណត់ជាតម្លៃក្រៅពី 5 និង 22 បន្ទាត់ទី 4 ត្រូវបានមិនអើពើ។
(បន្ទាត់ទី 4) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
| ឈ្មោះអថេរ | គុណលក្ខណៈ | មាតិកា |
|---|---|---|
| ML_CoarseSolver | I | សូលវ័រសម្រាប់ក្រឡាចត្រង្គគ្រើមរបស់ ML (1: ប្រើឧបករណ៍ធ្វើឱ្យរលូនជំនួស, 2: KLU (វិធីផ្ទាល់តាមលំដាប់), 3: MUMPS (វិធីផ្ទាល់ប៉ារ៉ាឡែល)) (លំនាំដើម: 1) (ណែនាំ 3 ឬ 2 សម្រាប់បញ្ហាពិបាក និង 1 សម្រាប់បញ្ហាធម្មតា) |
| ML_Smoother | I | ឧបករណ៍ធ្វើឱ្យរលូនរបស់ ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (លំនាំដើម: 1) (ណែនាំ 1) |
| ML_MGCycle | I | ពហុក្រឡាចត្រង្គវដ្តរបស់ ML (1: V-វដ្ត, 2: W-វដ្ត, 3: Full-V-វដ្ត) (លំនាំដើម: 1) (ណែនាំ 2 សម្រាប់បញ្ហាពិបាកនិង 1 សម្រាប់បញ្ហាធម្មតា) |
| ML_MaxLevels | I | ចំនួនកម្រិតអតិបរមារបស់ ML (លំនាំដើម: 10) (សម្រាប់បញ្ហាពិបាកខ្លាំង ណែនាំឱ្យប្រើសូលវ័រវិធីផ្ទាល់សម្រាប់ក្រឡាចត្រង្គគ្រើម និងកំណត់ជា 2 (ឬ 3 បើអង្គចងចាំមិនគ្រប់); សម្រាប់បញ្ហាធម្មតា = 10) |
| ML_CoarseningScheme | I | គ្រោងការណ៍ធ្វើឱ្យគ្រើមរបស់ ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (លំនាំដើម: 1) (ណែនាំ 1 ឬ 5) |
| ML_NumSweep | I | ចំនួនឧបករណ៍ធ្វើឱ្យរលូនជុំស្វីបរបស់ ML (សម្រាប់ Chebyshev គឺដឺក្រេពហុនាម)(លំនាំដើម: 2) (ណែនាំ 2 សម្រាប់ Chebyshev និង 1 សម្រាប់ SymBlockGaussSeidel) |
នៅពេល PRECOND=22 (អាចរំលងបាន)¶
ប្រសិនបើ PRECOND ត្រូវបានកំណត់ជាតម្លៃក្រៅពី 22 បន្ទាត់ទី 5 ត្រូវបានមិនអើពើ។ បន្ទាត់ទី 4 និងទី 5 អាចរំលងទាំងបន្ទាត់បាន ហើយក៏អាចរំលងតែធាតុនៅចុងបន្ទាត់បានដែរ។ ធាតុដែលកំណត់តម្លៃ 0 នឹងប្រើតម្លៃលំនាំដើម។
ធាតុទី 1 ដល់ទី 7 នៃបន្ទាត់ទី 4 មានលំដាប់ដូចបន្ទាត់ជម្រើស PRECOND=5 (ML) ដូច្នេះអាចប្រើបន្ទាត់ជម្រើសរបស់ ML ដដែលបាន។ ធាតុទី 8 ដល់ទី 10 ជាធាតុពិសេសរបស់ SA-AMG។
(បន្ទាត់ទី 4) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (មិនប្រើ), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (មិនប្រើ)
| ឈ្មោះអថេរ | គុណលក្ខណៈ | មាតិកា |
|---|---|---|
| SA_CoarseSolver | I | សូលវ័រក្រឡាចត្រង្គគ្រើម (0: ស្វ័យប្រវត្តិ, 1: ប្រើឧបករណ៍ធ្វើឱ្យរលូនជំនួស, 2: វិធីផ្ទាល់ម៉ាទ្រីសក្រាស់, 3: MUMPS (វិធីផ្ទាល់ប៉ារ៉ាឡែល)) (លំនាំដើម: 0) (របៀបស្វ័យប្រវត្តិប្រើ MUMPS ក្នុងការបង្កើតដែលបានបើក MUMPS; បើមិនដូច្នោះទេប្រើវិធីផ្ទាល់ម៉ាទ្រីសក្រាស់) |
| SA_Smoother | I | ឧបករណ៍ធ្វើឱ្យរលូន (0, 1: Chebyshev) (លំនាំដើម: 0) (គាំទ្រតែ Chebyshev។ បើកំណត់តម្លៃផ្សេង នឹងបញ្ចេញការព្រមានហើយប្រើ Chebyshev) |
| SA_MGCycle | I | វដ្តពហុក្រឡាចត្រង្គ (0: លំនាំដើម (W-cycle), 1: V-cycle, 2: W-cycle) (លំនាំដើម: 0) (មិនគាំទ្រ Full-V-cycle) |
| SA_MaxLevels | I | ចំនួនកម្រិតអតិបរមា (លំនាំដើម: 20) |
| (មិនប្រើ) | I | ទីតាំងដែលត្រូវនឹងគ្រោងការណ៍ធ្វើឱ្យគ្រើមរបស់ ML។ SA-AMG តែងតែប្រើ ការប្រមូលផ្តុំដែលមិនភ្ជាប់គ្នា ដូច្នេះតម្លៃក្រៅពី 0 នឹងបញ្ចេញការព្រមានហើយត្រូវបានមិនអើពើ |
| SA_ChebyDegree | I | ដឺក្រេពហុនាមរបស់ឧបករណ៍ធ្វើឱ្យរលូន Chebyshev (លំនាំដើម: 2) |
| SA_CoarseSize | I | ទំហំកាត់តរបស់ក្រឡាចត្រង្គគ្រើម (លំនាំដើម: 50000 ពេលប្រើ MUMPS ជាសូលវ័រក្រឡាចត្រង្គគ្រើម; បើមិនដូច្នោះទេ 100) |
| SA_MaxAggSize | I | ទំហំអតិបរមារបស់អាគ្រីហ្គេត (លំនាំដើម: 96) |
| SA_GalerkinLowMem | I | វិធីគណនាម៉ាទ្រីសក្រឡាចត្រង្គគ្រើម (0: ធម្មតា (អាទិភាពល្បឿន), តម្លៃវិជ្ជមាន: សន្សំអង្គចងចាំ) (លំនាំដើម: 0) (កំណត់តម្លៃវិជ្ជមានពេលអង្គចងចាំមិនគ្រប់នៅដំណាក់កាលរៀបចំ) |
| (មិនប្រើ) | I | បម្រុងទុកសម្រាប់ការពង្រីកនាពេលអនាគត |
បន្ទាត់ទី 5 ប្រើសម្រាប់តែ SA-AMG ហើយ ML មិនអានវាទេ។
(បន្ទាត់ទី 5) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
| ឈ្មោះអថេរ | គុណលក្ខណៈ | មាតិកា |
|---|---|---|
| SA_Theta | R | កម្រិតកំណត់សម្រាប់វិនិច្ឆ័យការតភ្ជាប់ខ្លាំង (លំនាំដើម: 0.0) (ពេលជា 0.0 ប្រើរចនាសម្ព័ន្ធធាតុមិនសូន្យរបស់ម៉ាទ្រីសជាក្រាហ្វដោយផ្ទាល់) |
| SA_ChebyAlpha | R | សមាមាត្រកំណត់ចុងក្រោមនៃចន្លោះតម្លៃអ៊ីហ្គែនដែលឧបករណ៍ធ្វើឱ្យរលូន Chebyshev ប្រើ (លំនាំដើម: 20.0) |
| SA_Safety | R | កត្តាសុវត្ថិភាពដែលគុណនឹងតម្លៃប៉ាន់ស្មាននៃតម្លៃអ៊ីហ្គែនអតិបរមា (លំនាំដើម: 1.1) |
| SA_TaperK | R | មេគុណ K សម្រាប់បន្ថយអត្រាធ្វើឱ្យគ្រើម (លំនាំដើម: 100) (ចាប់ពីកម្រិតទី 2 ធ្វើឱ្យការធ្វើឱ្យគ្រើមទន់ភ្លន់ដើម្បីទុកអាគ្រីហ្គេតយ៉ាងហោចណាស់ប្រហែល K; តម្លៃអវិជ្ជមានបិទមុខងារនេះ) |
| SA_AggOrder | R | លំដាប់ស្កេនសម្រាប់ ការប្រមូលផ្តុំ (0: លំនាំដើម (លំដាប់ BFS), 1: លំដាប់ BFS, 2: លំដាប់ហាសលេខថ្នាំង (សាកល្បង), 3: លំដាប់ដឺក្រេពីតូចទៅធំ (សាកល្បង), 4: លំដាប់ដឺក្រេពីធំទៅតូច (សាកល្បង), តម្លៃអវិជ្ជមាន: លំដាប់លេខថ្នាំង) (លំនាំដើម: 0) |
| SA_MinAggSize | R | ទំហំអប្បបរមារបស់អាគ្រីហ្គេត (លំនាំដើម: 3) |
| SA_Verify | R | បើកឬបិទការត្រួតពិនិត្យខ្លួនឯងនៅពេលរៀបចំ (0: មិនធ្វើ, តម្លៃវិជ្ជមាន: ធ្វើ) (លំនាំដើម: 0) (ប្រើជាចម្បងសម្រាប់បំបាត់កំហុស) |
| SA_DumpVTK | R | បើកឬបិទការបញ្ចេញ VTK របស់ ការប្រមូលផ្តុំ នៅកម្រិតខ្ពស់បំផុត (0: មិនបញ្ចេញ, តម្លៃវិជ្ជមាន: បញ្ចេញ) (លំនាំដើម: 0) (ប្រើជាចម្បងសម្រាប់បំបាត់កំហុស) |
ឧទាហរណ៍ការប្រើប្រាស់¶
ប្រើវិធី CG ជាមួយបុរេលក្ខខណ្ឌ SSOR កំណត់ចំនួនអ៊ីតេរ៉ាស្យុងអតិបរមា = 10000 និងកំហុសកាត់ត = 1.0e-8
ប្រើវិធី GMRES ជាមួយបុរេលក្ខខណ្ឌ SSOR កំណត់ចំនួនលំហរង Krylov = 40 និងចំនួនពណ៌គោលដៅ = 100 សម្រាប់ការរៀបលំដាប់ពហុពណ៌
ប្រើវិធី CG ជាមួយបុរេលក្ខខណ្ឌ ILU(0) និងកំណត់កត្តាគុណលើធាតុអង្កត់ទ្រូងពេលគណនាម៉ាទ្រីសបុរេលក្ខខណ្ឌ = 1.1
ប្រើ AMG ដោយ ML ជាបុរេលក្ខខណ្ឌសម្រាប់វិធី CG
ប្រើ AMG ដោយ ML ជាបុរេលក្ខខណ្ឌសម្រាប់វិធី CG និងប្រើ MUMPS ជាសូលវ័រសម្រាប់ក្រឡាចត្រង្គគ្រើម (សម្រាប់បញ្ហាពិបាក)
ប្រើ AMG ដោយ ML ជាបុរេលក្ខខណ្ឌសម្រាប់វិធី CG និងប្រើ W-វដ្តជាវដ្តពហុក្រឡាចត្រង្គ (សម្រាប់បញ្ហាពិបាក)
ប្រើ AMG ដោយ ML ជាបុរេលក្ខខណ្ឌសម្រាប់វិធី CG ប្រើ MUMPS ជាសូលវ័រសម្រាប់ក្រឡាចត្រង្គគ្រើម និងកំណត់ចំនួនកម្រិតអតិបរមា = 2 (សម្រាប់បញ្ហាពិបាកខ្លាំង)
ប្រើ SA-AMG ដែលបានបង្កប់ក្នុង HEC-MW ជាបុរេលក្ខខណ្ឌសម្រាប់វិធី CG
ប្រើ SA-AMG ជាបុរេលក្ខខណ្ឌសម្រាប់វិធី CG ហើយប្រើ MUMPS ជាសូលវ័រក្រឡាចត្រង្គគ្រើម
ក្នុងការវិភាគការប៉ះមានកកិត ប្រើ SA-AMG ជាបុរេលក្ខខណ្ឌសម្រាប់វិធី BiCGSTAB ហើយបញ្ចេញរចនាសម្ព័ន្ធឋានានុក្រមរបស់បុរេលក្ខខណ្ឌ AMG