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.
Përmbledhje 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 e eliminimit eksplicit të DOF | 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ëzuesi (kur përdoret metodë iterative) | Provoni fillimisht SSOR-in e parazgjedhur dhe më pas merrni në konsideratë AMG-në. SSOR është i lehtë nga ana llogaritëse kur konvergjenca është e mirë; parakushtëzimi AMG është i përshtatshëm për probleme komplekse në shkallë të gjerë. AMG ofrohet si zbatim Trilinos-ML ose si SA-AMG i integruar në HEC-MW; zgjidhni sipas konfigurimit të ndërtimit. |
| 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 (Trilinos-ML) ofrohen në ndërtimet e lidhura me bibliotekat përkatëse. AMG (SA-AMG) ofrohet në ndërtimet me LAPACK të aktivizuar. |
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.
CG, BiCGSTAB, GPBiCG dhe PipeCG e përditësojnë vektorin e mbetjes me një relacion rekurent, ndaj me shtimin e iteracioneve grumbullohen gabime rrumbullakimi dhe mbetja mund të largohet nga mbetja e vërtetë. Për ta parandaluar këtë, vektori i mbetjes rillogaritet periodikisht nga ana e djathtë dhe produkti matricë-vektor. Ky interval përcaktohet me RECOMPUTE_RESIDUAL. Një interval më i gjatë zvogëlon numrin e produkteve matricë-vektor, por rrit rrezikun që mbetja e llogaritur nga relacioni rekurent të largohet nga mbetja e vërtetë dhe që një zgjidhje e pakonvergjuar të vlerësohet gabimisht si e konvergjuar. Në të kundërt, nëse intervali është tepër i shkurtër, jo vetëm që shtohet numri i produkteve matricë-vektor, por mund të prishet edhe marrëdhënia ndërmjet mbetjes dhe vektorëve ndihmës që ruhet nga relacioni rekurent, duke përkeqësuar vetë konvergjencën. Vlerat e parazgjedhura për secilën metodë e balancojnë këtë kompromis; nëse i ndryshoni, kontrolloni historikun e konvergjencës dhe mbetjen relative përfundimtare.
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 (Trilinos-ML) | Multirrjetë algjebrike që përdor bibliotekën e jashtme Trilinos-ML. | Kandidat për probleme në shkallë të gjerë ose probleme ku mbizotërojnë komponentët hierarkikë të gabimit. |
| AMG (SA-AMG) | Multirrjetë algjebrike e tipit Smoothed Aggregation e integruar në HEC-MW. | Përdorime si më sipër; kandidat kur AMG përdoret pa shtuar bibliotekë të jashtme. |
| 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 (multirrjeta algjebrike) ka dy zbatime: një që përdor bibliotekën e jashtme Trilinos-ML dhe SA-AMG-në e integruar në HEC-MW. Ato janë zbatime të pavarura, me konfigurime të ndryshme të nevojshme të ndërtimit dhe me opsione të ndryshme.
AMG me Trilinos-ML kërkon që ML të jetë aktivizuar gjatë ndërtimit. Mund të përcaktohen zbutësi, cikli multirrjetë, skema e trashjes dhe cilësime të tjera; shihni referencën e fjalës kyçe për vlerat e hollësishme.
SA-AMG është parakushtëzues multirrjetë algjebrik i tipit Smoothed Aggregation dhe nuk kërkon Trilinos-ML. Megjithatë përdor LAPACK nga brenda, prandaj nevojitet ndërtim me LAPACK të aktivizuar; nëse zgjidhet në një ndërtim pa LAPACK, programi përfundon pa nisur analizën. Për zgjidhjen në rrjetën e trashë, MUMPS mund të përdoret në ndërtimet me MUMPS të aktivizuar; përndryshe përdoret metoda direkte e integruar për matrica të dendura.
SA-AMG synon kryesisht sisteme simetrike pozitivisht të përcaktuara (CG), por mbështet edhe sisteme të reduktuara josimetrike që lindin nga kontakti me fërkim (BiCGSTAB, GMRES dhe të tjera). Mbështet 1 (përçim nxehtësie), 2 (plan), 3 (solid) dhe 6 (guaskë) shkallë lirie për nyje, por jo matrica ku numri i shkallëve të lirisë ndryshon nga një nyje në tjetrën. Mund të përcaktohen zgjidhësi i rrjetës së trashë, cikli multirrjetë, shkalla e zbutësit dhe opsione të tjera, por vlerat e parazgjedhura mund të përdoren për analiza standarde. Shihni referencën e fjalës kyçe për vlerat dhe sintaksën. Në ndërtimet me GPU (OpenACC) të aktivizuar, faza e zbatimit të parakushtëzuesit ekzekutohet në GPU.
Kur SAINV përdoret në një analizë paralele me kufizime kontakti ose MPC, thellësia e mbivendosjes e përdorur për dekompozimin e 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. |
| Eliminimi eksplicit i DOF | 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, eliminimi eksplicit i DOF është i parazgjedhur. Metoda MPC-CG, që mund të zgjidhej më parë, është hequr; nëse specifikohet MPCMETHOD=2, shfaqet një paralajmërim dhe përdoret metoda përkatëse e parazgjedhur.
Në eliminimin eksplicit të DOF, masat e përqendruara që përdoren në analizën modale dhe analizën dinamike eksplicite reduktohen gjithashtu me të njëjtin transformim si matrica e ngurtësisë. Meqë matrica e reduktuar e masës në përgjithësi nuk është diagonale, shuma e çdo rreshti të saj përdoret si masë e përqendruar. Për kufizimet e lidhjes ose të interpolimit, ku shuma e koeficientëve të ekuacionit të kufizimit është 1, masa e shkallëve të lirisë të varura shpërndahet te shkallët e lirisë kryesore në përpjesëtim me koeficientët.
Metoda e trajtimit të MPC mund të specifikohet shprehimisht 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 shprehimisht 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. |
LOGLEVEL | Nxjerr informacion diagnostik, si ndërtimi i hierarkisë së parakushtëzuesve AMG. | Përcaktohet në mënyrë të pavarur nga ITERLOG dhe TIMELOG. Vlerat më të mëdha rrisin sasinë e daljes. |
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.
Tema të lidhura¶
- 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.
- Varësitë e detyrueshme dhe opsionale — Bibliotekat e varësisë si
MUMPS,MKL(Intel PARDISO), Trilinos-ML dhe LAPACK.