Rješavač i predkondicioniranje¶
Linearni rješavači FrontISTR-a konfiguriraju se odabirom izravne ili iterativne metode; kod iterativnih metoda linearne jednadžbe rješavaju se u kombinaciji s predkondicionerom. Metoda obrade MPC-a i eliminacija kontaktnih stupnjeva slobode pomoćni su izbori koji određuju način obrade linearnog sustava s višetočkastim ili kontaktnim ograničenjima.
Pregled funkcija¶
Postavke rješavača i predkondicioniranja sastoje se od sljedećih izbora. Najprije odaberite iterativnu ili izravnu metodu kao linearni rješavač. Predkondicioner se kombinira samo s iterativnom metodom.
| Kategorija | Glavne mogućnosti | Uloga |
|---|---|---|
| Iterativne metode | CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN | Rješavaju velike rijetke matrice uz relativno učinkovitu uporabu memorije. |
| Predkondicioneri za iterativne metode | SSOR, dijagonalno skaliranje, BILU, AMG, SAINV, RIF | Poboljšavaju konvergenciju iterativnih metoda. Ne koriste se s izravnim metodama. |
| Izravne metode | MUMPS, MKL | Robusno rješavaju linearne jednadžbe faktorizacijom matrice. |
| Metode obrade MPC-a | Kaznena metoda, MPC-CG metoda, eksplicitna eliminacija stupnjeva slobode | Uključuju višetočkasta ograničenja u linearni sustav. |
| Eliminacija kontaktnih stupnjeva slobode | Automatska, uvijek omogućena | Upravlja obradom kontaktnih stupnjeva slobode dodanih kontaktom SLAGRANGE. |
| Pomoćne funkcije | Procjena broja uvjetovanosti, ispis matrice, zapisivanje dnevnika | Pomažu pri otklanjanju pogrešaka, provjeri konvergencije i procjeni performansi. |
Za paralelno izvođenje MPI paralelizam zasnovan na dekompoziciji domene može se kombinirati s OpenMP paralelizmom s nitima. Iterativne metode standardni su izbor za velike paralelne analize, dok se izravne metode koriste kada su potrebne biblioteke povezane i kada je potrebno robusnije rješenje.
Odabir rješavača i predkondicionera¶
Najprije odlučite hoćete li koristiti iterativnu ili izravnu metodu. Ako odaberete iterativnu metodu, zatim odaberite predkondicioner.
| Kriterij odluke | Preporučeni pristup |
|---|---|
| Veličina problema | Za male i srednje probleme izravne metode su stabilne i jednostavne za uporabu. Za velike probleme iterativne metode učinkovitije koriste memoriju. |
| Simetrija matrice | Za simetrične pozitivno definitne probleme razmotrite CG. Za nesimetrične probleme razmotrite BiCGSTAB, GMRES, GPBiCG ili slične metode. |
| Paralelno okruženje | Pri MPI paralelizmu kombinirajte iterativnu metodu s dekompozicijom domene. Za predkondicioniranje pri OpenMP paralelizmu razmotrite višebojnu implementaciju SSOR-a. |
| Predkondicioner (pri uporabi iterativne metode) | Najprije isprobajte zadani SSOR, a zatim razmotrite AMG. SSOR je računski lagan kada je konvergencija dobra; AMG je prikladan za složene probleme velikih razmjera. |
| Kontakt i MPC | U analizama koje uključuju kontakt ili višetočkasta ograničenja izbor metode obrade MPC-a i eliminacije kontaktnih stupnjeva slobode utječe na konvergenciju i robusnost. |
| Vanjske biblioteke | MUMPS, MKL i AMG dostupni su u međuverzijama povezanim s odgovarajućim bibliotekama. |
Za standardne analize u pravilu su dovoljne zadane vrijednosti tolerancije konvergencije, maksimalnog broja iteracija i koeficijenta dijagonalne korekcije predkondicionera. Samo kada je konvergencija spora ili rješenje divergira, redom preispitajte iterativnu metodu, predkondicioner, metodu obrade MPC-a i eliminaciju kontaktnih stupnjeva slobode. Vrijednosti parametara i sintaksu pogledajte u referenci ključne riječi !SOLVER.
Iterativne metode¶
Iterativne metode rješavaju velike rijetke sustave ponavljanim ažuriranjem rješenja pomoću umnožaka matrice i vektora te predkondicioniranja. FrontISTR pruža sljedeće iterativne metode.
| Iterativna metoda | Tipična primjena | Napomene |
|---|---|---|
CG | Simetrični pozitivno definitni problemi | Standardni kandidat za strukturne analize i analize provođenja topline. |
BiCGSTAB | Nesimetrični problemi | Kandidat kada kontakt ili spregnuti učinci stvaraju izraženu nesimetriju. |
GMRES | Nesimetrični problemi | Koristi se sa zadanom veličinom Krylovljeva potprostora. |
GPBiCG | Nesimetrični problemi | Koristi se kao poboljšana metoda iz porodice BiCGSTAB. |
GMRESR | Nesimetrični problemi, napredne primjene | Mogućnost koja koristi GMRES u ugniježđenom obliku. |
GMRESREN | Nesimetrični problemi, napredne primjene | Rekurzivna inačica iz porodice GMRESR. |
CG pretpostavlja da je matrica simetrična i pozitivno definitna. Ako trenje u kontaktu, nesimetrična obrada ograničenja, spregnuti učinci ili slični čimbenici uvedu jaku nesimetričnost, razmotrite BiCGSTAB, GMRES, GPBiCG ili drugi nesimetrični rješavač. Kod GMRES povećanje veličine Krylovljeva potprostora može poboljšati konvergenciju, ali i povećava potrošnju memorije.
Kada je naveden METHOD2, FrontISTR može prijeći na alternativnu iterativnu metodu ako CG divergira ili zakaže. Ova je funkcija pričuvna mogućnost za slučajeve u kojima je CG primarni rješavač; alternativna metoda koristi iste preostale postavke i podatkovne retke kao primarni rješavač.
Predkondicioniranje¶
Predkondicioniranje transformira matricu koeficijenata radi poboljšanja konvergencije iterativne metode i primjenjuje se samo kada je odabrana iterativna metoda. Izravne metode ne koriste predkondicioniranje. Čak i za istu iterativnu metodu izbor predkondicionera može znatno promijeniti broj iteracija i vrijeme računanja potrebno za konvergenciju.
| Predkondicioner | Značajke | Tipična primjena |
|---|---|---|
| SSOR | Standardni predkondicioner; podržava višebojno uređivanje. | Prvi kandidat za isprobavanje; široko se koristi u strukturnoj analizi. |
| Dijagonalno skaliranje | Lagani predkondicioner koji koristi dijagonalne članove. | Kada je poželjan nizak računski trošak. |
| BILU | Blokovska nepotpuna LU faktorizacija. | Kandidat za probleme kod kojih se sa SSOR-om teško postiže konvergencija. |
| AMG | Algebarski multigrid pomoću Trilinos-ML. | Kandidat za probleme velikih razmjera ili probleme u kojima prevladavaju hijerarhijske komponente pogreške. |
| SAINV | Rijetka aproksimativna inverzna matrica. | Posebna mogućnost predkondicioniranja za kontaktne probleme ili okruženja s distribuiranom memorijom. |
| RIF | Robusna nepotpuna faktorizacija. | Druga mogućnost nepotpune faktorizacije. |
SSOR je standardni izbor, a pri OpenMP paralelizmu koristi se inačica s višebojnim redoslijedom. Dijagonalno skaliranje je lagano, iako poboljšanje konvergencije ovisi o problemu. BILU je implementiran kao blokovska nepotpuna LU faktorizacija i podržava matrice s općim brojem stupnjeva slobode. Za obitelj BILU postoji postupak koji pri divergenciji iterativne metode automatski povećava koeficijent dijagonalne korekcije SIGMA_DIAG i ponovno pokušava; način zadavanja vrijednosti potražite u referenci ključnih riječi.
AMG koristi Trilinos-ML, stoga ML mora biti omogućen tijekom izgradnje. Mogu se zadati zaglađivači, multigrid ciklusi, metode grubiranja i druge postavke, ali detaljne vrijednosti potražite u referenci ključnih riječi. Kada se SAINV koristi u paralelnoj analizi koja sadrži kontaktna ili MPC ograničenja, dubina preklapanja korištena pri dekompoziciji domene može utjecati na konvergenciju.
Izravne metode¶
Izravne metode rješavaju linearne jednadžbe faktorizacijom matrice koeficijenata. Budući da ne ovise o broju iteracija, robusne su i mogu biti stabilan izbor za analize koje sadrže kontaktne uvjete ili ograničenja. Međutim, njihova potrošnja memorije raste s veličinom problema.
| Izravna metoda | Paralelno okruženje | Primjena |
|---|---|---|
MUMPS | MPI paralelno | Rješava rijetke matrice izravnom metodom u okruženjima s distribuiranom memorijom. |
MKL | Intel MKL / OpenMP | Izravni rješavač temeljen na Intel MKL-u. Interno se koristi Intel PARDISO. Pri više MPI procesa koristi se put Cluster MKL. DIRECTmkl je alias za MKL. |
Izravne metode mogu se koristiti za simetrične i nesimetrične matrice. MUMPS i MKL zahtijevaju povezivanje odgovarajućih biblioteka tijekom izgradnje. Ne mogu se koristiti u okruženjima bez tih biblioteka, stoga potrebne ovisnosti i CMake opcije potražite u vodiču za izgradnju.
FrontISTR također sadrži ugrađeni put izravnog rješavača koji ne koristi vanjsku biblioteku, ali za uobičajene analize koje zahtijevaju izravnu metodu najprije treba razmotriti MUMPS ili MKL.
Predkondicioniranje se ne primjenjuje na izravne metode. Čak i ako je predkondicioner naveden u !SOLVER, ne koristi se na putu izravnog rješavača.
Metode obrade MPC-a¶
Metoda obrade MPC-a određuje kako se stupnjevi slobode povezani višetočkastim ograničenjima uključuju u linearne jednadžbe. Čak i s istim jednadžbama ograničenja u ulaznim podacima, metoda obrade mijenja svojstva matrice koeficijenata i ponašanje konvergencije.
| Metoda obrade MPC- | Položaj | Zadana uporaba |
|---|---|---|
| Kaznena metoda | Ograničenja se približno zadovoljavaju dodavanjem velikih članova krutosti u jednadžbe ograničenja. | Zadano za izravne metode. |
| MPC-CG metoda | Naslijeđena metoda koja umnoške matrice i vektora s ograničenjima obrađuje unutar iterativnog rješavača. | Ne preporučuje se. |
| Eksplicitna eliminacija stupnjeva slobode | Eliminira ograničene stupnjeve slobode i rješava reducirani linearni sustav. | Zadano za iterativne metode. |
Kaznena metoda zadana je za izravne metode, dok je eksplicitna eliminacija stupnjeva slobode zadana za iterativne metode. MPC-CG metoda je zastarjela opcija kompatibilnosti i ne preporučuje se za nove analize; uobičajeno koristite eksplicitnu eliminaciju stupnjeva slobode ili zadanu obradu za odabranu izravnu metodu.
Metoda obrade MPC-a može se izričito zadati u !SOLVER parametrom MPCMETHOD. Značenje i sintaksu vrijednosti potražite u referenci ključnih riječi.
Eliminacija kontaktnih stupnjeva slobode¶
Eliminacija kontaktnih stupnjeva slobode smanjuje dodatne kontaktne stupnjeve slobode koje uvodi SLAGRANGE kontakt prije predavanja sustava linearnom rješavaču. Eliminiranje tih kontaktnih stupnjeva slobode može poboljšati svojstva linearnog sustava koji obrađuje iterativna metoda.
U zadanom automatskom načinu eliminacija kontaktnih stupnjeva slobode omogućena je za iterativne metode, a onemogućena za izravne metode. Za izravne metode postoji put koji izravno rješava prošireni sustav koji sadrži kontaktne stupnjeve slobode.
Kada je CONTACT_ELIM izričito naveden, eliminacija kontaktnih stupnjeva slobode može se provesti i pri uporabi izravne metode. Za odabir vrste kontakta, kontaktnog para i kontaktnog algoritma na ulaznoj strani pogledajte stranicu Kontakt i ugrađivanje.
Pomoćne funkcije¶
Procjena broja uvjetovanosti, ispisi matrice i zapisivanje dnevnika mogu se koristiti za istraživanje konvergencije i performansi rješavača. Te funkcije nisu potrebne za uobičajene analize i uglavnom se omogućuju radi ispravljanja pogrešaka ili procjene performansi.
| funkcija | Namjena | Napomene |
|---|---|---|
| Procjena broja uvjetovanosti | Ispisuje pokazatelj broja uvjetovanosti za CG i GMRES. | Dostupno u međuverzijama s omogućenim LAPACK-om. |
| Ispis matrice | Sprema matricu i desnu stranu koje se predaju rješavaču u datoteku. | Podržava formate Matrix Market, CSR i BSR. |
DUMPEXIT | Završava analizu nakon ispisa matrice. | Koristi se kada je za vanjsku provjeru potrebno izdvojiti samo matricu. |
ITERLOG | Ispisuje povijest konvergencije iterativne metode. | Koristi se za provjeru razvoja reziduala. |
TIMELOG | Ispisuje vrijeme izračuna rješavača. | VERBOSE ispisuje detaljniju raščlambu. |
STEPLOG | Ispisuje informacije o koraku. | Koristi se za provjeru postupka analize. |
Ispis matrice omogućuje pregled matrice koeficijenata sastavljene tijekom analize vanjskim alatima. Kada je DUMPEXIT omogućen, analiza se završava nakon spremanja matrice i desne strane. Procjena broja uvjetovanosti eksperimentalna je funkcija dostupna uz CG i GMRES i može se koristiti za dijagnostiku ponašanja konvergencije.
Povezane teme¶
- Linearni rješavač (teorija) — Matematička načela iterativnih metoda i predkondicioniranja.
- Nelinearne iteracije i vremenska integracija — Okvir za Newtonove iteracije, kontaktne iteracije i vremensku integraciju koji poziva linearni rješavač.
- Dekompozicija domene — MPI paralelna analiza i postavke dubine preklapanja.
- Kontakt i ugrađivanje — Odabir vrsta kontakta i kontaktnih algoritama.
- !SOLVER — Vrijednosti i sintaksa parametara rješavača i predkondicionera.
- Obvezne i neobavezne biblioteke ovisnosti — Ovisnosti kao što su
MUMPS,MKL(Intel PARDISO), Trilinos-ML i LAPACK.