Zgjidhësi dhe parakushtëzimi¶
Zgjidhësi linear i FrontISTR është ndërtuar për të zgjidhur sistemet lineare duke zgjedhur ose një metodë direkte ose një metodë iterative dhe, në rastin e metodave iterative, duke kombinuar një parakushtëzues. Metoda e trajtimit të MPC dhe eliminimi i shkallëve të lirisë të kontaktit janë zgjedhje ndihmëse që përcaktojnë formën në të cilën trajtohet sistemi linear që përmban kufizime me shumë pika ose kufizime kontakti.
Pamje e përgjithshme e funksioneve¶
Zgjidhësi dhe parakushtëzimi përbëhen nga zgjedhjet e mëposhtme. Së pari zgjidhet një metodë iterative ose direkte si zgjidhës linear dhe parakushtëzimi kombinohet vetëm kur zgjidhet metoda iterative.
| Kategoria | Zgjedhjet kryesore | Roli |
|---|---|---|
| Metoda iterative | CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN | Zgjidh matrica të rralla në shkallë të madhe me përdorim efikas të memories. |
| Parakushtëzues për metoda iterative | SSOR, shkallëzim diagonal, BILU, AMG, SAINV, RIF | Përmirëson konvergjencën e metodave iterative. Nuk përdoret me metodat direkte. |
| Metoda direkte | MUMPS, MKL | Zgjidh në mënyrë robuste sistemet lineare përmes faktorizimit. |
| Metoda e trajtimit të MPC | Metoda e penalitetit, metoda MPC-CG, metoda e eliminimit të drejtpërdrejtë të shkallëve të lirisë | Pasqyron kufizimet me shumë pika në sistemin linear. |
| Eliminimi i shkallëve të lirisë të kontaktit | Automatik, gjithmonë aktiv | Ndërron mënyrën e trajtimit të shkallëve të lirisë të kontaktit të shtuara nga kontakti SLAGRANGE. |
| Funksione ndihmëse | Vlerësimi i numrit të kushtëzimit, eksportimi i matricës, dalja e regjistrave | Ndihmojnë në diagnostikim, kontrollin e konvergjencës dhe vlerësimin e performancës. |
Në ekzekutimin paralel mund të kombinohen paralelizmi MPI me ndarje të domenit dhe paralelizmi me fije OpenMP. Metodat iterative janë zgjedhja standarde për analiza paralele në shkallë të madhe, ndërsa metodat direkte përdoren në mjedise ku janë lidhur bibliotekat përkatëse kur kërkohet një zgjidhje më robuste.
Si të zgjidhen zgjidhësi dhe parakushtëzuesi¶
Së pari vendosni nëse do të përdorni një metodë iterative apo direkte; nëse zgjidhet metoda iterative, më pas zgjidhet parakushtëzuesi.
| Kriteri i zgjedhjes | Qasja e rekomanduar |
|---|---|
| Madhësia e problemit | Për probleme të vogla dhe të mesme, metodat direkte janë të qëndrueshme dhe të lehta për t’u përdorur. Për probleme të mëdha, metodat iterative janë më efikase në përdorimin e memories. |
| Simetria e matricës | Për probleme simetrike pozitivisht të përcaktuara, konsideroni CG. Për probleme josimetrike, konsideroni BiCGSTAB, GMRES, GPBiCG etj. |
| Mjedisi paralel | Në paralelizëm MPI, kombinoni metodën iterative me ndarjen e domenit. Për parakushtëzim në paralelizëm OpenMP, konsideroni SSOR me mbështetje për renditje shumëngjyrëshe. |
| Parakushtëzimi (kur zgjidhet metoda iterative) | Provoni fillimisht SSOR-in e parazgjedhur dhe më pas shqyrtoni AMG. Kur konvergjenca është e mirë, SSOR është i lehtë nga ana llogaritëse; për probleme komplekse në shkallë të madhe, parakushtëzimi AMG është i përshtatshëm. |
| Kontakt/MPC | Në analiza që përfshijnë kontakt ose kufizime me shumë pika, zgjedhja e metodës së trajtimit të MPC dhe e eliminimit të shkallëve të lirisë të kontaktit ndikon në konvergjencë dhe robustësi. |
| Bibliotekat e jashtme | MUMPS, MKL dhe AMG përdoren në ndërtime ku bibliotekat përkatëse janë lidhur. |
Në analizat standarde, kriteri i konvergjencës, numri maksimal i iteracioneve dhe koeficienti i korrigjimit diagonal të parakushtëzuesit zakonisht funksionojnë mjaftueshëm me vlerat e parazgjedhura. Vetëm kur konvergjenca është e ngadaltë ose analiza divergon, rishikoni me radhë metodën iterative, parakushtëzuesin, metodën e trajtimit të MPC dhe eliminimin e shkallëve të lirisë të kontaktit. Për vlerat dhe formatin e parametrave, shihni !SOLVER në referencën e fjalëve kyçe.
Metodat iterative¶
Metodat iterative përditësojnë zgjidhjen duke përsëritur shumëzimin matricë-vektor dhe parakushtëzimin për matrica të rralla në shkallë të madhe. FrontISTR lejon zgjedhjen e metodave iterative të mëposhtme.
| Metoda iterative | Udhëzim për përdorim | Shënime |
|---|---|---|
CG | Probleme simetrike pozitivisht të përcaktuara | Një zgjedhje standarde për analizën strukturore dhe analizën e përçimit të nxehtësisë. |
BiCGSTAB | Probleme josimetrike | Një zgjedhje kur josimetria është e fortë, si në kontakt ose në probleme të çiftëzuara. |
GMRES | Probleme josimetrike | Përdoret duke specifikuar madhësinë e nënhapësirës Krylov. |
GPBiCG | Probleme josimetrike | Përdoret si metodë e përmirësuar e familjes BiCGSTAB. |
GMRESR | Probleme josimetrike, përdorime të avancuara | Një zgjedhje që përdor GMRES në mënyrë të folezuar. |
GMRESREN | Probleme josimetrike, përdorime të avancuara | Variant rekursiv i familjes GMRESR. |
CG supozon që matrica është simetrike pozitivisht e përcaktuar. Kur josimetria është e fortë për shkak të kontaktit me fërkim, trajtimit josimetrik të kufizimeve, efekteve të çiftëzimit etj., konsideroni BiCGSTAB, GMRES, GPBiCG ose metoda të ngjashme. Në GMRES, rritja e madhësisë së nënhapësirës Krylov mund të përmirësojë konvergjencën, por rrit edhe përdorimin e memories.
Duke specifikuar METHOD2, mund të kalohet te një metodë iterative alternative kur CG divergon ose dështon. Ky funksion është një mekanizëm rezervë kur CG përdoret si zgjidhësi kryesor; vlerat e tjera të cilësimeve dhe rreshtat e të dhënave janë të njëjta si për zgjidhësin kryesor.
Parakushtëzimi¶
Parakushtëzimi është procesi i transformimit të matricës së koeficientëve për të përmirësuar konvergjencën e metodës iterative dhe zbatohet vetëm kur zgjidhet një metodë iterative. Ai nuk përdoret me metodat direkte. Edhe me të njëjtën metodë iterative, zgjedhja e parakushtëzuesit mund të ndryshojë ndjeshëm numrin e iteracioneve deri në konvergjencë dhe kohën e llogaritjes.
| Parakushtëzuesi | Karakteristikat | Udhëzim për përdorim |
|---|---|---|
| SSOR | Parakushtëzues standard. Mbështet renditjen shumëngjyrëshe. | Zgjedhja e parë për t’u provuar. Përdoret gjerësisht në analizën strukturore. |
| Shkallëzim diagonal | Parakushtëzues i lehtë që përdor elementet diagonale. | Kur kërkohet të ulet kostoja llogaritëse. |
| BILU | Faktorizim LU i paplotë sipas blloqeve. | Një zgjedhje për probleme që konvergojnë me vështirësi me SSOR. |
| AMG | Multirrjetë algjebrike me Trilinos-ML. | Një zgjedhje për probleme në shkallë të madhe ose probleme ku dominojnë përbërës hierarkikë të gabimit. |
| SAINV | Invers i përafërt i rrallë. | Një zgjedhje për parakushtëzim të veçantë në probleme kontakti ose mjedise të shpërndara. |
| RIF | Faktorizim i paplotë robust. | Një alternativë tjetër e familjes së faktorizimeve të paplota. |
SSOR është zgjedhja standarde dhe në paralelizëm OpenMP përdoret varianti me renditje shumëngjyrëshe. Shkallëzimi diagonal është i lehtë, por efekti i tij në përmirësimin e konvergjencës varet nga problemi. BILU zbatohet si faktorizim LU i paplotë sipas blloqeve dhe mbështet gjithashtu matrica me DOF të përgjithshme. Në familjen BILU ekziston një rrugë ku, kur metoda iterative divergon, koeficienti i korrigjimit diagonal SIGMA_DIAG rritet automatikisht dhe provohet përsëri; specifikimi i vlerës i lihet referencës së fjalëve kyçe.
AMG përdor Trilinos-ML, prandaj ML duhet të jetë aktivizuar gjatë ndërtimit. Mund të specifikohen zbutësi, cikli i multirrjetës, metoda e koarsimit etj., por vlerat e hollësishme i lihen referencës së fjalëve kyçe. Kur SAINV përdoret në analiza paralele që përfshijnë kontakt ose MPC, thellësia e mbivendosjes gjatë ndarjes së domenit mund të ndikojë në konvergjencë.
Metodat direkte¶
Metodat direkte zgjidhin sistemin linear duke faktorizuar matricën e koeficientëve. Ato janë robuste sepse nuk varen nga numri i iteracioneve dhe janë një zgjedhje e qëndrueshme për analiza kontakti ose analiza me kushte kufizuese. Nga ana tjetër, përdorimi i memories rritet me madhësinë e problemit.
| Metoda direkte | Mjedisi paralel | Përdorimi |
|---|---|---|
MUMPS | Paralelizëm MPI | Zgjidh drejtpërdrejt matrica të rralla në një mjedis me memorie të shpërndarë. |
MKL | Intel MKL / OpenMP | Metoda direkte e Intel MKL. Brenda saj përdoret Intel PARDISO. Me disa procese MPI përdoret rruga Cluster MKL. DIRECTmkl është alias i MKL. |
Metodat direkte mund të përdoren si për matrica simetrike, ashtu edhe për matrica josimetrike. MUMPS dhe MKL kërkojnë që bibliotekat përkatëse të jenë lidhur gjatë ndërtimit. Meqë nuk mund të përdoren në mjedise ku këto biblioteka mungojnë, shihni udhëzuesin e ndërtimit për bibliotekat e varësisë dhe opsionet CMake të nevojshme.
FrontISTR ka gjithashtu një rrugë të integruar të metodës direkte që nuk përdor biblioteka të jashtme, por për analizat e zakonshme ku zgjidhet një metodë direkte, konsideroni MUMPS ose MKL.
Parakushtëzimi nuk zbatohet me metodat direkte. Edhe nëse një parakushtëzues është specifikuar me !SOLVER, ai nuk referohet në rrugën e metodës direkte.
Metodat e trajtimit të MPC¶
Metoda e trajtimit të MPC është mënyra se si shkallët e lirisë të lidhura nga kufizimet me shumë pika pasqyrohen në sistemin linear. Edhe kur ekuacionet e kufizimit në hyrje janë të njëjta, vetitë e matricës së koeficientëve dhe konvergjenca ndryshojnë sipas metodës së trajtimit.
| Metoda e trajtimit të MPC | Pozicionimi | Përdorimi i parazgjedhur |
|---|---|---|
| Metoda e penalitetit | Përmbush kufizimin në mënyrë të përafërt duke shtuar një ngurtësi të madhe në ekuacionin e kufizimit. | E parazgjedhur për metodat direkte. |
| Metoda MPC-CG | Metodë e vjetër që trajton shumëzimin matricë-vektor me kufizime brenda metodës iterative. | Nuk rekomandohet. |
| Metoda e eliminimit të drejtpërdrejtë të shkallëve të lirisë | Eliminon shkallët e lirisë të kufizuara dhe zgjidh sistemin linear të reduktuar. | E parazgjedhur për metodat iterative. |
Për metodat direkte, metoda e penalitetit është e parazgjedhur; për metodat iterative, metoda e eliminimit të drejtpërdrejtë të shkallëve të lirisë është e parazgjedhur. Metoda MPC-CG është një zgjedhje e vjetër e mbajtur për pajtueshmëri dhe, për analiza të reja të zakonshme, përdorni metodën e eliminimit të drejtpërdrejtë të shkallëve të lirisë ose parazgjedhjen e metodës direkte.
Metoda e trajtimit të MPC mund të specifikohet qartë me !SOLVER, përmes MPCMETHOD. Për kuptimin dhe formatin e vlerave, shihni referencën e fjalëve kyçe.
Eliminimi i shkallëve të lirisë të kontaktit¶
Eliminimi i shkallëve të lirisë të kontaktit është funksion që redukton shkallët e lirisë të kontaktit të shtuara nga kontakti SLAGRANGE përpara se sistemi t’i kalojë zgjidhësit linear. Eliminimi i tyre mund të përmirësojë vetitë e sistemit linear të trajtuar nga metoda iterative.
Në mënyrën automatike të parazgjedhur, shkallët e lirisë të kontaktit eliminohen kur përdoret një metodë iterative dhe nuk eliminohen kur përdoret një metodë direkte. Për metodat direkte ekziston një rrugë që trajton drejtpërdrejt sistemin e zgjeruar që përmban shkallët e lirisë të kontaktit.
Duke specifikuar CONTACT_ELIM, eliminimi i shkallëve të lirisë të kontaktit mund të kryhet edhe kur përdoret një metodë direkte. Për zgjedhjet në hyrje të tipit të kontaktit, çiftit të kontaktit dhe algoritmit të kontaktit, shihni faqet e kontaktit dhe përfshirjes.
Funksione ndihmëse¶
Për të shqyrtuar konvergjencën dhe performancën e zgjidhësit mund të përdoren vlerësimi i numrit të kushtëzimit, eksportimi i matricës dhe dalja e regjistrave. Këto nuk nevojiten në analiza të zakonshme dhe aktivizohen për diagnostikim ose vlerësim performance.
| Funksioni | Përdorimi | Shënime |
|---|---|---|
| Vlerësimi i numrit të kushtëzimit | Nxjerr një tregues të numrit të kushtëzimit për CG dhe GMRES. | Përdoret në ndërtime ku LAPACK është aktivizuar. |
| Eksportimi i matricës | Ruan në skedar matricën dhe anën e djathtë që i kalohen zgjidhësit. | Mbështet formatet Matrix Market, CSR dhe BSR. |
DUMPEXIT | Përfundon analizën pas eksportimit të matricës. | Përdoret kur kërkohet të nxirret vetëm matrica për verifikim të jashtëm. |
ITERLOG | Nxjerr historikun e konvergjencës së metodës iterative. | Përdoret për të kontrolluar ecurinë e mbetjes. |
TIMELOG | Nxjerr kohën e llogaritjes së zgjidhësit. | Me VERBOSE nxjerr një ndarje më të hollësishme. |
STEPLOG | Nxjerr informacionin e hapit. | Përdoret për të kontrolluar procedurën e analizës. |
Eksportimi i matricës është funksion për të kontrolluar me mjete të jashtme matricën e koeficientëve të montuar gjatë analizës. Kur aktivizohet DUMPEXIT, analiza përfundon sapo të ruhen matrica dhe ana e djathtë. Vlerësimi i numrit të kushtëzimit është një funksion eksperimental i disponueshëm me CG dhe GMRES dhe përdoret për diagnostikimin e konvergjencës.
Shihni gjithashtu¶
- Zgjidhësi linear (teoria) — Parimet matematikore të metodave iterative dhe parakushtëzimit.
- Iteracioni jolinear dhe integrimi në kohë — Kuadri i iteracionit Newton, iteracionit të kontaktit dhe integrimit në kohë që thërret zgjidhësin linear.
- Ndarja e domenit — Analiza paralele MPI dhe specifikimi i thellësisë së mbivendosjes.
- Kontakti dhe përfshirja — Zgjedhja e tipit të kontaktit dhe algoritmit të kontaktit.
- !SOLVER — Vlerat dhe formati i parametrave të zgjidhësit dhe parakushtëzuesit.
- Bibliotekat e varësisë të detyrueshme dhe opsionale — Bibliotekat e varësisë si
MUMPS,MKL(Intel PARDISO), Trilinos-ML dhe LAPACK.