Kalo te përmbajtja

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

AI-assisted translation May contain errors Official docs Status