Solver na preconditioning¶
Linear solver ya FrontISTR huchagua direct au iterative method; iterative method huunganishwa na preconditioner ili kutatua linear equations. MPC processing method na contact-DOF elimination ni chaguo saidizi zinazoamua namna ya kushughulikia linear system yenye multipoint constraints au contact constraints.
Muhtasari wa vipengele¶
Solver na preconditioning huundwa na chaguo zifuatazo. Kwanza chagua iterative au direct method kama linear solver; preconditioner huchaguliwa tu ikiwa iterative method imetumika.
| Kategoria | Chaguo kuu | Jukumu |
|---|---|---|
| Iterative methods | CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN | Kutatua large sparse matrices kwa ufanisi wa memory. |
| Preconditioners za iterative methods | SSOR, diagonal scaling, BILU, AMG, SAINV, RIF | Kuboresha convergence ya iterative methods. Hazitumiki kwa direct methods. |
| Direct methods | MUMPS, MKL | Kutatua linear equations kwa robust factorization. |
| MPC processing | Penalty method, MPC-CG method, explicit DOF elimination | Kuingiza multipoint constraints katika linear system. |
| Contact-DOF elimination | Automatic, always enabled | Kubadilisha utunzaji wa contact DOFs zinazoongezwa na SLAGRANGE contact. |
| Vipengele saidizi | Condition-number estimation, matrix dump, log output | Kusaidia debugging, convergence checking, na performance evaluation. |
Katika parallel execution, domain-decomposition MPI parallelism inaweza kuunganishwa na OpenMP thread parallelism. Iterative methods ni chaguo la kawaida kwa large-scale parallel analysis; direct methods hutumika katika environments zilizounganisha libraries husika wakati solve yenye robustness zaidi inahitajika.
Jinsi ya kuchagua solver na preconditioner¶
Kwanza amua kutumia iterative au direct method. Ikiwa iterative method imechaguliwa, chagua preconditioner baada yake.
| Kigezo cha uamuzi | Mwongozo unaopendekezwa |
|---|---|
| Ukubwa wa tatizo | Direct methods ni thabiti na rahisi kwa matatizo madogo hadi ya kati. Kwa matatizo makubwa, iterative methods hutumia memory kwa ufanisi zaidi. |
| Symmetry ya matrix | Kwa symmetric positive-definite problems, CG ni candidate. Kwa nonsymmetric problems, zingatia BiCGSTAB, GMRES, GPBiCG, n.k. |
| Parallel environment | Katika MPI parallelism, unganisha iterative method na domain decomposition. Kwa preconditioning chini ya OpenMP, multi-color SSOR ni candidate. |
| Preconditioning (iterative method) | Anza na default SSOR, kisha zingatia AMG. SSOR ni nyepesi ikiwa convergence ni nzuri; AMG inafaa kwa matatizo makubwa na changamano. |
| Contact / MPC | Kwa analyses zenye contact au multipoint constraints, MPC processing na contact-DOF elimination huathiri convergence na robustness. |
| External libraries | MUMPS, MKL, na AMG zinahitaji build iliyounganishwa na libraries husika. |
Kwa analysis ya kawaida, default values za convergence criterion, maximum iterations, na preconditioner diagonal-correction coefficient kwa kawaida zinatosha. Ikiwa convergence ni polepole au solver inadiverge, pitia kwa mpangilio iterative method, preconditioner, MPC processing, na contact-DOF elimination. Tazama !SOLVER katika keyword reference kwa values na syntax.
Iterative methods¶
Iterative methods hulenga large sparse matrices na husasisha solution kwa kurudia matrix-vector products na preconditioning. FrontISTR inaweza kuchagua iterative methods zifuatazo.
| Iterative method | Mwongozo wa matumizi | Maelezo |
|---|---|---|
CG | Symmetric positive-definite problems | Candidate ya kawaida kwa structural na heat-conduction analyses. |
BiCGSTAB | Nonsymmetric problems | Candidate pale nonsymmetry ni kubwa, kama kwenye contact au coupling. |
GMRES | Nonsymmetric problems | Hutumika kwa kutaja Krylov subspace size. |
GPBiCG | Nonsymmetric problems | Hutumika kama improved method ya familia ya BiCGSTAB. |
GMRESR | Nonsymmetric problems, advanced use | Chaguo linalotumia GMRES kwa nested form. |
GMRESREN | Nonsymmetric problems, advanced use | Recursive variant ya familia ya GMRESR. |
CG hudhani matrix ni symmetric positive definite. Ikiwa nonsymmetry ni kubwa kutokana na frictional contact, nonsymmetric constraint processing, coupling effects, n.k., zingatia BiCGSTAB, GMRES, au GPBiCG. Kwa GMRES, kuongeza Krylov subspace size kunaweza kuboresha convergence lakini pia huongeza memory use.
METHOD2 ikitajwa, solver inaweza kubadili kwenda iterative method mbadala ikiwa CG inadiverge au inashindwa. Hii ni fallback wakati CG ni primary solver, na settings nyingine pamoja na data rows hutumia zile zile za primary solver.
Preconditioning¶
Preconditioning hubadilisha coefficient matrix ili kuboresha convergence ya iterative method na hutumika tu kwa iterative methods. Haitumiki kwa direct methods. Hata kwa iterative method ileile, uchaguzi wa preconditioner unaweza kubadilisha sana idadi ya iterations na computation time hadi convergence.
| Preconditioner | Sifa | Mwongozo wa matumizi |
|---|---|---|
| SSOR | Preconditioner ya kawaida; inasaidia multi-color ordering. | Candidate ya kwanza ya kujaribu; hutumika sana katika structural analysis. |
| Diagonal scaling | Preconditioner nyepesi inayotumia diagonal entries. | Wakati wa kupunguza computation cost. |
| BILU | Block-wise incomplete LU factorization. | Candidate kwa matatizo yasiyoconverge vizuri na SSOR. |
| AMG | Algebraic multigrid kupitia Trilinos-ML. | Candidate kwa large-scale problems au matatizo yenye hierarchical error components. |
| SAINV | Sparse Approximate Inverse. | Candidate maalumu kwa contact problems au distributed environments. |
| RIF | Robust Incomplete Factorization. | Chaguo jingine la incomplete-factorization family. |
SSOR ni chaguo la kawaida; multi-color ordering variant hutumika kwa OpenMP parallelism. Diagonal scaling ni nyepesi lakini athari yake kwenye convergence hutegemea tatizo. BILU imetekelezwa kama block-wise incomplete LU factorization na inasaidia matrices zenye general DOF. Katika familia ya BILU kuna njia ya kuongeza kiotomatiki diagonal-correction coefficient SIGMA_DIAG na kujaribu tena ikiwa iterative method inadiverge; tazama keyword reference kwa value specification.
Kwa kuwa AMG hutumia Trilinos-ML, ML lazima iwe enabled wakati wa build. Smoother, multigrid cycle, coarsening method, n.k. zinaweza kutajwa; tazama keyword reference kwa values za kina. Wakati SAINV inatumika kwa contact problem au parallel analysis yenye MPC, overlap depth katika domain decomposition inaweza kuathiri convergence.
Direct methods¶
Direct methods hutatua linear equations kwa factorization ya coefficient matrix. Ni robust kwa sababu hazitegemei iteration count, na ni chaguo thabiti kwa contact analysis au analysis yenye constraints. Kwa upande mwingine, memory use huongezeka kadiri tatizo linavyokuwa kubwa.
| Direct method | Parallel environment | Matumizi |
|---|---|---|
MUMPS | MPI parallel | Kutatua sparse matrix kwa direct method katika distributed-memory environment. |
MKL | Intel MKL / OpenMP | Direct method ya Intel MKL; ndani hutumia Intel PARDISO. Kwa MPI processes nyingi, Cluster MKL path hutumika. DIRECTmkl ni alias ya MKL. |
Direct methods zinaweza kutumika kwa symmetric na nonsymmetric matrices. MUMPS na MKL zinahitaji libraries husika ziwe linked wakati wa build. Ikiwa libraries hazipo, methods hizi hazipatikani; tazama build guide kwa dependencies na CMake options zinazohitajika.
FrontISTR pia ina path ya built-in direct method isiyotumia external library, lakini kwa analysis ya kawaida inayohitaji direct method, MUMPS au MKL ndiyo candidates zinazopendekezwa.
Preconditioning haitumiki kwa direct methods. Hata kama preconditioner imetajwa katika !SOLVER, haitarejelewa katika direct-method path.
MPC processing¶
MPC processing method huamua jinsi DOFs zilizounganishwa na multipoint constraints zinavyoingizwa katika linear equations. Hata constraint equation ikiwa ni ileile kwenye input, tabia ya coefficient matrix na convergence hubadilika kwa method iliyochaguliwa.
| MPC processing method | Nafasi | Matumizi ya default |
|---|---|---|
| Penalty method | Hutimiza constraint kwa ukadiriaji kwa kuongeza stiffness kubwa kwenye constraint equation. | Default kwa direct methods. |
| MPC-CG method | Legacy method inayoshughulikia matrix-vector product yenye constraints ndani ya iterative method. | Haipendekezwi. |
| Explicit DOF elimination | Huondoa constrained DOFs na kutatua reduced linear system. | Default kwa iterative methods. |
Penalty method ni default kwa direct methods, na explicit DOF elimination ni default kwa iterative methods. MPC-CG ni legacy option kwa compatibility; kwa analysis mpya kwa kawaida tumia explicit DOF elimination au default ya direct method.
MPC processing method inaweza kutajwa wazi kwa !SOLVER ya MPCMETHOD. Tazama keyword reference kwa maana na syntax ya values.
Contact-DOF elimination¶
Contact-DOF elimination hupunguza contact DOFs zinazoongezwa na SLAGRANGE contact kabla ya mfumo kupitishwa kwa linear solver. Kuondoa contact DOFs kunaweza kuboresha tabia ya linear system inayotatuliwa na iterative method.
Katika default automatic mode, contact DOFs huondolewa wakati iterative method inatumika, lakini haziondolewi kwa direct method. Kwa direct method, kuna path ya kushughulikia expanded system yenye contact DOFs moja kwa moja.
CONTACT_ELIM ikitajwa wazi, contact-DOF elimination inaweza kufanywa hata kwa direct method. Tazama ukurasa wa contact/embedding kwa uchaguzi wa input wa contact type, contact pair, na contact algorithm.
Vipengele saidizi¶
Condition-number estimation, matrix dump, na log output zinaweza kutumika kuchunguza convergence na performance ya solver. Hazihitajiki kwa analysis ya kawaida na huwashwa kwa debugging au performance evaluation.
| Kipengele | Matumizi | Maelezo |
|---|---|---|
| Condition-number estimation | Hutoa indicator ya condition number kwa CG na GMRES. | Inapatikana katika build yenye LAPACK enabled. |
| Matrix dump | Huhifadhi matrix na right-hand side zinazopitishwa kwa solver kwenye file. | Inasaidia Matrix Market, CSR, na BSR formats. |
DUMPEXIT | Humaliza analysis baada ya matrix dump. | Kwa kutoa matrix pekee na kuithibitisha kwa external tool. |
ITERLOG | Hutoa convergence history ya iterative method. | Kwa kukagua mabadiliko ya residual. |
TIMELOG | Hutoa solver computation time. | VERBOSE hutoa breakdown ya kina. |
STEPLOG | Hutoa step information. | Kwa kukagua analysis procedure. |
Matrix dump ni kipengele cha kukagua coefficient matrix iliyoassembled na analysis kwa external tools. DUMPEXIT ikiwezeshwa, analysis humalizika mara tu matrix na right-hand side zinapohifadhiwa. Condition-number estimation ni experimental feature inayopatikana kwa CG na GMRES na hutumika kutambua matatizo ya convergence.
Mada zinazohusiana¶
- Linear solver (theory) — Kanuni za kihisabati za iterative methods na preconditioning.
- Nonlinear iteration na time integration — Framework ya Newton iteration, contact iteration, na time integration inayoiita linear solver.
- Domain decomposition — MPI parallel analysis na specification ya overlap depth.
- Contact na embedding — Uchaguzi wa contact types na contact algorithms.
- !SOLVER — Values na syntax za solver/preconditioner parameters.
- Required na optional dependency libraries — Dependency libraries kama
MUMPS,MKL(Intel PARDISO), Trilinos-ML, na LAPACK.