Pāriet uz saturu

Risinātājs un priekšnosacīšana

FrontISTR lineāros risinātājus konfigurē, izvēloties tiešo vai iteratīvo metodi; iteratīvās metodes lineāro vienādojumu risināšanai tiek kombinētas ar priekšnosacītāju. MPC apstrādes metode un kontakta BP eliminācija ir papildu izvēles, kas nosaka, kā tiek apstrādāta lineāra sistēma ar daudzpunktu vai kontakta ierobežojumiem.

Funkciju pārskats

Risinātāja un priekšnosacīšanas iestatījumus veido šādas izvēles. Vispirms kā lineāro risinātāju izvēlieties iteratīvu vai tiešu metodi. Priekšnosacītāju kombinē tikai ar iteratīvu metodi.

Kategorija Galvenās opcijas Loma
Iteratīvās metodes CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Risina lielas retinātas matricas ar salīdzinoši efektīvu atmiņas izmantošanu.
Iteratīvo metožu priekšnosacītāji SSOR, diagonālā mērogošana, BILU, AMG, SAINV, RIF Uzlabo iteratīvo metožu konverģenci. Ar tiešajām metodēm netiek izmantoti.
Tiešās metodes MUMPS, MKL Robustā veidā risina lineārus vienādojumus, faktorizējot matricu.
MPC apstrādes metodes Soda metode, MPC-CG metode, tieša BP eliminācija Iekļauj daudzpunktu ierobežojumus lineārajā sistēmā.
Kontakta BP eliminācija Automātiska, vienmēr iespējota Kontrolē SLAGRANGE kontakta pievienoto kontakta brīvības pakāpju apstrādi.
Palīgfunkcijas Nosacījuma skaitļa novērtēšana, matricas izgāzne, žurnalēšana Atbalsta atkļūdošanu, konverģences novērtēšanu un veiktspējas izvērtēšanu.

Paralēlai izpildei MPI paralēlismu, kura pamatā ir apgabala dekompozīcija, var kombinēt ar OpenMP pavedienu paralēlismu. Iteratīvās metodes ir standarta izvēle liela mēroga paralēlām analīzēm, savukārt tiešās metodes izmanto, ja ir piesaistītas nepieciešamās bibliotēkas un vajadzīgs robustāks risinājums.

Risinātāja un priekšnosacītāja izvēle

Vispirms izlemiet, vai izmantot iteratīvu vai tiešu metodi. Ja izvēlēta iteratīva metode, pēc tam izvēlieties priekšnosacītāju.

Izvēles faktors Ieteicamā pieeja
Uzdevuma izmērs Maziem un vidējiem uzdevumiem tiešās metodes ir stabilas un viegli lietojamas. Lieliem uzdevumiem iteratīvās metodes atmiņu izmanto efektīvāk.
Matricas simetrija Simetriskiem pozitīvi definitiem uzdevumiem apsveriet CG. Nesimetriskiem uzdevumiem apsveriet BiCGSTAB, GMRES, GPBiCG vai līdzīgas metodes.
Paralēlā vide MPI paralēlisma gadījumā kombinējiet iteratīvu metodi ar apgabala dekompozīciju. Priekšnosacīšanai OpenMP paralēlisma gadījumā apsveriet daudzkrāsu SSOR realizāciju.
Priekšnosacītājs (izmantojot iteratīvu metodi) Vispirms izmēģiniet noklusējuma SSOR, pēc tam apsveriet AMG. Ja konverģence ir laba, SSOR ir skaitļošanas ziņā viegls; AMG ir piemērots sarežģītiem liela mēroga uzdevumiem.
Kontakts un MPC Analīzēs ar kontaktu vai daudzpunktu ierobežojumiem MPC apstrādes metodes un kontakta BP eliminācijas izvēle ietekmē konverģenci un robustumu.
Ārējās bibliotēkas MUMPS, MKL un AMG ir pieejami būvējumos, kas sasaistīti ar attiecīgajām bibliotēkām.

Standarta analīzēm parasti pietiek ar noklusējuma konverģences toleranci, maksimālo iterāciju skaitu un priekšnosacītāja diagonālās korekcijas koeficientu. Tikai tad, ja konverģence ir lēna vai risinājums diverģē, secīgi pārskatiet iteratīvo metodi, priekšnosacītāju, MPC apstrādes metodi un kontakta BP elimināciju. Parametru vērtības un sintaksi skatiet !SOLVER atslēgvārda rokasgrāmatā.

Iteratīvās metodes

Iteratīvās metodes risina lielas retinātas sistēmas, atkārtoti atjauninot risinājumu ar matricas–vektora reizinājumiem un priekšnosacīšanu. FrontISTR nodrošina šādas iteratīvās metodes.

Iteratīvā metode Tipisks pielietojums Piezīmes
CG Simetriski pozitīvi definiti uzdevumi Standarta kandidāts konstrukciju un siltumvadīšanas analīzēm.
BiCGSTAB Nesimetriski uzdevumi Kandidāts, ja kontakts vai saistītie efekti rada izteiktu nesimetriju.
GMRES Nesimetriski uzdevumi Izmanto ar norādītu Krilova apakštelpas izmēru.
GPBiCG Nesimetriski uzdevumi Izmanto kā uzlabotu BiCGSTAB saimes metodi.
GMRESR Nesimetriski uzdevumi, progresīvi lietojumi Opcija, kas izmanto GMRES ligzdotā formā.
GMRESREN Nesimetriski uzdevumi, progresīvi lietojumi Rekursīvs GMRESR saimes variants.

CG pieņem, ka matrica ir simetriska pozitīvi definita. Ja berzes kontakts, nesimetriska ierobežojumu apstrāde, saistītie efekti vai līdzīgi faktori rada izteiktu nesimetriju, apsveriet BiCGSTAB, GMRES, GPBiCG vai citu nesimetrisku risinātāju. Izmantojot GMRES, Krilova apakštelpas palielināšana var uzlabot konverģenci, bet palielina arī atmiņas patēriņu.

Ja ir norādīts METHOD2, FrontISTR var pārslēgties uz alternatīvu iteratīvo metodi, ja CG diverģē vai pārtrauc darboties. Šī funkcija ir rezerves variants gadījumiem, kad CG ir primārais risinātājs; alternatīvā metode izmanto tos pašus pārējos iestatījumus un datu rindas kā primārais risinātājs.

Priekšnosacīšana

Priekšnosacīšana pārveido koeficientu matricu, lai uzlabotu iteratīvās metodes konverģenci, un tiek piemērota tikai tad, ja izvēlēta iteratīva metode. Tiešās metodes priekšnosacīšanu neizmanto. Pat vienai un tai pašai iteratīvajai metodei priekšnosacītāja izvēle var būtiski mainīt konverģencei nepieciešamo iterāciju skaitu un aprēķina laiku.

Priekšnosacītājs Raksturojums Tipisks pielietojums
SSOR Standarta priekšnosacītājs; atbalsta daudzkrāsu kārtošanu. Pirmais izmēģināmais kandidāts; plaši izmanto konstrukciju analīzē.
Diagonālā mērogošana Viegls priekšnosacītājs, kas izmanto diagonāles elementus. Ja priekšroka dota zemām skaitļošanas izmaksām.
BILU Bloku nepilnā LU faktorizācija. Kandidāts uzdevumiem, kuros ar SSOR ir grūti panākt konverģenci.
AMG Algebriskā daudzrežģu metode, izmantojot Trilinos-ML. Kandidāts liela mēroga uzdevumiem vai uzdevumiem, kuros dominē hierarhiskas kļūdu komponentes.
SAINV Retināts aptuvenais inverss. Specializēta priekšnosacīšanas opcija kontakta uzdevumiem vai sadalītās atmiņas vidēm.
RIF Robustā nepilnā faktorizācija. Vēl viena nepilnās faktorizācijas opcija.

SSOR ir standarta izvēle, un OpenMP paralēlisma gadījumā tiek izmantota versija ar daudzkrāsu kārtošanu. Diagonālā mērogošana ir viegla, lai gan tās konverģences uzlabojums ir atkarīgs no uzdevuma. BILU ir realizēta kā bloku nepilnā LU faktorizācija un atbalsta arī matricas ar vispārīgu brīvības pakāpju skaitu. BILU saimei ir ceļš, kas iteratīvās metodes diverģences gadījumā automātiski palielina diagonālās korekcijas koeficientu SIGMA_DIAG un mēģina vēlreiz; vērtības norādīšanu skatiet atslēgvārdu rokasgrāmatā.

AMG izmanto Trilinos-ML, tādēļ būvēšanas laikā jāiespējo ML. Var norādīt izlīdzinātājus, daudzrežģu ciklus, rupjināšanas metodes un citus iestatījumus, bet detalizētas vērtības skatiet atslēgvārdu rokasgrāmatā. Ja SAINV izmanto paralēlā analīzē ar kontakta vai MPC ierobežojumiem, konverģenci var ietekmēt apgabala dekompozīcijā izmantotais pārklājuma dziļums.

Tiešās metodes

Tiešās metodes risina lineārus vienādojumus, faktorizējot koeficientu matricu. Tā kā tās nav atkarīgas no iterāciju skaita, tās ir robustas un var būt stabila izvēle analīzēm ar kontakta vai ierobežojumu nosacījumiem. Tomēr to atmiņas patēriņš palielinās līdz ar uzdevuma izmēru.

Tiešā metode Paralēlā vide Pielietojums
MUMPS MPI paralēla Risina retinātas matricas ar tiešo metodi sadalītās atmiņas vidēs.
MKL Intel MKL / OpenMP Tiešais risinātājs, kura pamatā ir Intel MKL. Iekšēji tiek izmantots Intel PARDISO. Ar vairākiem MPI procesiem izmanto Cluster MKL ceļu. DIRECTmkl ir MKL aizstājvārds.

Tiešās metodes var izmantot gan simetriskām, gan nesimetriskām matricām. MUMPS un MKL nepieciešams būvēšanas laikā sasaistīt attiecīgās bibliotēkas. Vidēs bez šīm bibliotēkām tās nevar izmantot, tādēļ nepieciešamās atkarības un CMake opcijas skatiet būvēšanas rokasgrāmatā.

FrontISTR satur arī iebūvētu tiešā risinātāja ceļu, kas neizmanto ārēju bibliotēku, taču parastām analīzēm, kurām vajadzīga tiešā metode, parasti vispirms jāapsver MUMPS vai MKL.

Tiešajām metodēm priekšnosacīšana netiek piemērota. Pat ja !SOLVER ir norādīts priekšnosacītājs, tiešā risinātāja ceļā tas netiek izmantots.

MPC apstrādes metodes

MPC apstrādes metode nosaka, kā lineārajos vienādojumos tiek iekļautas ar daudzpunktu ierobežojumiem saistītās brīvības pakāpes. Pat ar vienādiem ierobežojumu vienādojumiem ievades datos apstrādes metode maina koeficientu matricas īpašības un konverģences uzvedību.

MPC apstrādes metode Raksturojums Noklusējuma lietojums
Soda metode Aptuveni izpilda ierobežojumus, pievienojot ierobežojumu vienādojumiem lielus stinguma locekļus. Noklusējums tiešajām metodēm.
MPC-CG metode Mantota metode, kas iteratīvā risinātāja iekšienē apstrādā matricas–vektora reizinājumus ar ierobežojumiem. Novecojusi.
Tieša BP eliminācija Eliminē ierobežotās brīvības pakāpes un risina reducēto lineāro sistēmu. Noklusējums iteratīvajām metodēm.

Soda metode ir noklusējums tiešajām metodēm, bet tieša BP eliminācija — iteratīvajām metodēm. MPC-CG metode ir mantota savietojamības opcija un jaunām analīzēm nav ieteicama; parasti izmantojiet tiešu BP elimināciju vai izvēlētās tiešās metodes noklusējuma apstrādi.

MPC apstrādes metodi var skaidri norādīt ar MPCMETHOD elementā !SOLVER. Katras vērtības nozīmi un sintaksi skatiet atslēgvārdu rokasgrāmatā.

Kontakta BP eliminācija

Kontakta BP eliminācija samazina SLAGRANGE kontakta ieviestās papildu kontakta brīvības pakāpes pirms sistēmas nodošanas lineārajam risinātājam. Šo kontakta brīvības pakāpju eliminācija var uzlabot iteratīvās metodes apstrādātās lineārās sistēmas īpašības.

Noklusējuma automātiskajā režīmā kontakta BP eliminācija ir iespējota iteratīvajām metodēm un atspējota tiešajām metodēm. Tiešajām metodēm ir paredzēts ceļš, kas tieši risina paplašināto sistēmu ar kontakta brīvības pakāpēm.

Ja CONTACT_ELIM ir norādīts skaidri, kontakta BP elimināciju var veikt arī tad, ja izmanto tiešo metodi. Kontakta tipa, kontakta pāra un kontakta algoritma ievades izvēles skatiet lapā Kontakts un iegulšana.

Palīgfunkcijas

Nosacījuma skaitļa novērtēšanu, matricas izgāznes un žurnalēšanu var izmantot, lai pētītu risinātāja konverģenci un veiktspēju. Parastām analīzēm šīs funkcijas nav nepieciešamas un tās galvenokārt iespējo atkļūdošanai vai veiktspējas novērtēšanai.

Funkcija Mērķis Piezīmes
Nosacījuma skaitļa novērtēšana Izvada nosacījuma skaitļa indikatoru CG un GMRES. Pieejama būvējumos ar iespējotu LAPACK.
Matricas izgāzne Saglabā risinātājam nodoto matricu un labo pusi. Atbalsta Matrix Market, CSR un BSR formātus.
DUMPEXIT Pārtrauc analīzi pēc matricas izgāšanas. Izmanto, ja ārējai pārbaudei vajadzīga tikai matrica.
ITERLOG Izvada iteratīvās metodes konverģences vēsturi. Izmanto atlikuma tendenču pārbaudei.
TIMELOG Izvada risinātāja aprēķina laiku. VERBOSE izvada detalizētāku sadalījumu.
STEPLOG Izvada soļa informāciju. Izmanto analīzes procedūras pārbaudei.

Matricas izgāšana ļauj ar ārējiem rīkiem pārbaudīt analīzē samontēto koeficientu matricu. Ja ir iespējots DUMPEXIT, analīze beidzas pēc matricas un labās puses saglabāšanas. Nosacījuma skaitļa novērtēšana ir eksperimentāla funkcija, kas pieejama ar CG un GMRES, un to var izmantot konverģences uzvedības diagnosticēšanai.

Saistītās tēmas

AI-assisted translation May contain errors Official docs Status