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, eksplicīta 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 izmete, ž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 un 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. AMG ir pieejams gan kā Trilinos-ML realizācija, gan kā HEC-MW iebūvētais SA-AMG; izvēlieties atbilstoši būvējuma konfigurācijai.
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 (Trilinos-ML) izmanto būvējumos, kas sasaistīti ar attiecīgajām bibliotēkām. AMG (SA-AMG) izmanto būvējumos ar iespējotu LAPACK.

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.

Metodes CG, BiCGSTAB, GPBiCG un PipeCG atjaunina atlikuma vektoru ar rekurences sakarību, tādēļ, pieaugot iterāciju skaitam, var uzkrāties noapaļošanas kļūdas un rasties novirze no patiesā atlikuma. Lai to novērstu, pēc noteikta iterāciju skaita atlikuma vektoru pārrēķina no labās puses un matricas–vektora reizinājuma. Šo periodu var norādīt ar RECOMPUTE_RESIDUAL. Garāks periods samazina matricas–vektora reizinājumu skaitu, taču palielina risku, ka ar rekurences sakarību atjauninātais atlikums attālinās no patiesā atlikuma un nekonverģējis risinājums tiek kļūdaini atzīts par konverģējušu. Savukārt pārāk īss periods ne tikai palielina matricas–vektora reizinājumu skaitu, bet var arī izjaukt saistību starp rekurences sakarībā uzturēto atlikumu un palīgvektoriem, tādējādi pasliktinot pašu konverģenci. Katras metodes noklusējuma vērtība līdzsvaro šos efektus; ja to maināt, pārbaudiet konverģences vēsturi un galīgo relatīvo atlikumu.

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 (Trilinos-ML) Algebriskā daudzrežģu metode, izmantojot ārējo bibliotēku Trilinos-ML. Izvēle liela mēroga uzdevumiem vai uzdevumiem, kuros dominē hierarhiski kļūdas komponenti.
AMG (SA-AMG) HEC-MW iebūvēta izlīdzinātās agregācijas tipa algebriskā daudzrežģu metode. Tas pats lietojuma apgabals kā iepriekš; izvēle, ja AMG jāizmanto bez ārējas bibliotēkas pievienošanas.
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 (algebriskajai daudzrežģu metodei) ir divas realizācijas: viena izmanto ārējo bibliotēku Trilinos-ML, bet otra ir HEC-MW iebūvētais SA-AMG. Tās ir neatkarīgas realizācijas ar atšķirīgām būvējuma konfigurācijas prasībām un atšķirīgiem pieejamajiem iestatījumiem.

AMG ar Trilinos-ML prasa, lai būvēšanas laikā būtu iespējots ML. Var norādīt izlīdzinātāju, daudzrežģu ciklu, rupjināšanas metodi un citus iestatījumus; detalizētās vērtības skatiet atslēgvārdu atsaucē.

SA-AMG ir izlīdzinātās agregācijas tipa algebriskās daudzrežģu metodes priekšnosacītājs, kam nav nepieciešams Trilinos-ML. Tomēr tas iekšēji izmanto LAPACK, tāpēc ir nepieciešams būvējums ar iespējotu LAPACK; ja tas tiek izvēlēts būvējumā bez LAPACK, programma beidz darbu, nesākot analīzi. Rupjā režģa risināšanai būvējumos ar iespējotu MUMPS var izmantot MUMPS; pretējā gadījumā izmanto iebūvēto blīvu matricu tiešo metodi.

SA-AMG galvenokārt paredzēts simetriskām pozitīvi noteiktām sistēmām (CG), taču atbalsta arī nesimetriskas reducētas sistēmas, kas rodas berzes kontakta dēļ (BiCGSTAB, GMRES un citas). Tas atbalsta 1 (siltumvadīšana), 2 (plaknes uzdevums), 3 (telpisks cietķermenis) un 6 (čaula) brīvības pakāpes uz mezglu, bet neatbalsta matricas, kurās brīvības pakāpju skaits dažādiem mezgliem atšķiras. Var norādīt rupjā režģa risinātāju, daudzrežģu ciklu, izlīdzinātāja pakāpi un citus iestatījumus, taču standarta analīzēm var izmantot noklusējuma vērtības. Vērtības un sintaksi skatiet atslēgvārdu atsaucē. Būvējumos ar iespējotu GPU (OpenACC) priekšnosacītāja lietošanas posms tiek izpildīts GPU.

Ja SAINV izmanto paralēlā analīzē ar kontaktu vai MPC ierobežojumiem, pārklāšanās dziļums apgabala dekompozīcijā var ietekmēt konverģenci.

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.
Eksplicīta 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 eksplicīta BP eliminācija — iteratīvajām metodēm. Iepriekš pieejamā MPC-CG metode ir noņemta; ievadei ar MPCMETHOD=2 tiek izvadīts brīdinājums, un apstrāde notiek saskaņā ar šiem noklusējumiem.

Eksplicītā brīvības pakāpju eliminācijā arī koncentrētā masa, ko izmanto modālajā analīzē un dinamiskajā analīzē ar eksplicīto metodi, tiek reducēta ar to pašu transformāciju kā stinguma matrica. Tā kā reducētā masas matrica vispārīgā gadījumā nav diagonāla, tās rindu summas izmanto kā koncentrēto masu. Savienošanas vai interpolācijas ierobežojumos, kuru ierobežojuma vienādojuma koeficientu summa ir 1, pakārtotās brīvības pakāpes masa tiek sadalīta galvenajām brīvības pakāpēm proporcionāli koeficientiem.

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 izmeti 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 izmete 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 izmetes. 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.
LOGLEVEL Izvada diagnostikas informāciju, piemēram, AMG priekšnosacīšanas hierarhijas izveidi. Norāda neatkarīgi no ITERLOG un TIMELOG. Lielāka vērtība palielina izvades apjomu.

Matricas izmete ļ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