Preskočiť na obsah

Riešič a predpodmieňovanie

Lineárne riešiče FrontISTR sa konfigurujú voľbou priamej alebo iteračnej metódy; iteračné metódy sa pri riešení lineárnych rovníc kombinujú s predpodmieňovačom. Metóda spracovania MPC a eliminácia kontaktných stupňov voľnosti sú pomocné voľby určujúce spôsob spracovania lineárnej sústavy obsahujúcej viacbodové alebo kontaktné väzby.

Funkčný prehľad

Nastavenia riešiča a predpodmieňovania pozostávajú z nasledujúcich volieb. Najprv vyberte ako lineárny riešič iteračnú alebo priamu metódu. Predpodmieňovač sa kombinuje iba s iteračnou metódou.

Kategória Hlavné možnosti Úloha
Iteračné metódy CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Riešia veľké riedke matice s relatívne efektívnym využitím pamäte.
Predpodmieňovače pre iteračné metódy SSOR, diagonálne škálovanie, BILU, AMG, SAINV, RIF Zlepšujú konvergenciu iteračných metód. Pri priamych metódach sa nepoužívajú.
Priame metódy MUMPS, MKL Robustne riešia lineárne rovnice faktorizáciou matice.
Metódy spracovania MPC Penalizačná metóda, metóda MPC-CG, explicitná eliminácia DOF Začleňujú viacbodové väzby do lineárnej sústavy.
Eliminácia kontaktných DOF Automatická, vždy povolená Riadi spracovanie kontaktných stupňov voľnosti pridaných kontaktom SLAGRANGE.
Pomocné funkcie Odhad čísla podmienenosti, výpis matice, protokolovanie Podporujú ladenie, hodnotenie konvergencie a výkonnosti.

Pri paralelnom vykonávaní možno paralelizmus MPI založený na delení oblasti kombinovať s vláknovým paralelizmom OpenMP. Iteračné metódy sú štandardnou voľbou pre rozsiahle paralelné analýzy, zatiaľ čo priame metódy sa používajú vtedy, keď sú pripojené požadované knižnice a je potrebné robustnejšie riešenie.

Voľba riešiča a predpodmieňovača

Najprv rozhodnite, či použijete iteračnú alebo priamu metódu. Ak vyberiete iteračnú metódu, následne zvoľte predpodmieňovač.

Rozhodovací faktor Odporúčaný prístup
Veľkosť úlohy Priame metódy sú stabilné a ľahko použiteľné pri malých až stredných úlohách. Iteračné metódy sú pri veľkých úlohách pamäťovo efektívnejšie.
Symetria matice Pre symetrické pozitívne definitné úlohy zvážte CG. Pre nesymetrické úlohy zvážte BiCGSTAB, GMRES, GPBiCG alebo podobné metódy.
Paralelné prostredie Pri paralelizme MPI kombinujte iteračnú metódu s delením oblasti. Pre predpodmieňovanie pri paralelizme OpenMP zvážte viacfarebnú implementáciu SSOR.
Predpodmieňovač (pri použití iteračnej metódy) Najprv vyskúšajte predvolený SSOR, potom zvážte AMG. SSOR má pri dobrej konvergencii nízke výpočtové náklady; AMG je vhodné pre zložité rozsiahle úlohy.
Kontakt a MPC V analýzach obsahujúcich kontakt alebo viacbodové väzby ovplyvňuje voľba metódy spracovania MPC a eliminácie kontaktných DOF konvergenciu a robustnosť.
Externé knižnice MUMPS, MKL a AMG sú dostupné v zostaveniach prepojených so zodpovedajúcimi knižnicami.

Pri štandardných analýzach spravidla postačuje predvolená tolerancia konvergencie, maximálny počet iterácií a koeficient diagonálnej korekcie predpodmieňovača. Iba pri pomalej konvergencii alebo divergencii riešenia prehodnoťte v tomto poradí iteračnú metódu, predpodmieňovač, metódu spracovania MPC a elimináciu kontaktných DOF. Hodnoty parametrov a syntax nájdete v referencii kľúčového slova !SOLVER.

Iteračné metódy

Iteračné metódy riešia veľké riedke sústavy opakovanou aktualizáciou riešenia pomocou súčinov matice a vektora a predpodmieňovania. FrontISTR poskytuje nasledujúce iteračné metódy.

Iteračná metóda Typické použitie Poznámky
CG Symetrické pozitívne definitné úlohy Štandardný kandidát pre štrukturálne analýzy a analýzy vedenia tepla.
BiCGSTAB Nesymetrické úlohy Vhodný kandidát, keď kontakt alebo viazané efekty spôsobujú výraznú nesymetriu.
GMRES Nesymetrické úlohy Používa sa so zadanou veľkosťou Krylovovho podpriestoru.
GPBiCG Nesymetrické úlohy Používa sa ako vylepšená metóda z rodiny BiCGSTAB.
GMRESR Nesymetrické úlohy, pokročilé použitie Možnosť používajúca GMRES vo vnorenom tvare.
GMRESREN Nesymetrické úlohy, pokročilé použitie Rekurzívny variant z rodiny GMRESR.

CG predpokladá, že matica je symetrická pozitívne definitná. Ak trecí kontakt, nesymetrické spracovanie väzieb, väzbové efekty alebo podobné faktory spôsobujú výraznú nesymetriu, zvážte BiCGSTAB, GMRES, GPBiCG alebo iný nesymetrický riešič. Pri GMRES môže zväčšenie Krylovovho podpriestoru zlepšiť konvergenciu, ale zároveň zvýši spotrebu pamäte.

Ak je zadané METHOD2, FrontISTR môže pri divergencii alebo zlyhaní CG prepnúť na alternatívnu iteračnú metódu. Táto funkcia slúži ako záložné riešenie pre prípady, keď je CG primárnym riešičom; alternatívna metóda používa rovnaké ostatné nastavenia a dátové riadky ako primárny riešič.

Predpodmieňovanie

Predpodmieňovanie transformuje maticu koeficientov s cieľom zlepšiť konvergenciu iteračnej metódy a používa sa iba pri zvolenej iteračnej metóde. Priame metódy predpodmieňovanie nepoužívajú. Aj pri rovnakej iteračnej metóde môže voľba predpodmieňovača výrazne zmeniť počet iterácií a výpočtový čas potrebný na konvergenciu.

Predpodmieňovač Charakteristika Typické použitie
SSOR Štandardný predpodmieňovač; podporuje viacfarebné usporiadanie. Prvá voľba na vyskúšanie; široko používaný v štrukturálnej analýze.
Diagonálne škálovanie Ľahký predpodmieňovač využívajúci diagonálne prvky. Keď sa uprednostňujú nízke výpočtové náklady.
BILU Bloková neúplná LU faktorizácia. Kandidát pre úlohy, pri ktorých je konvergencia so SSOR ťažká.
AMG Algebraická multigridová metóda využívajúca Trilinos-ML. Kandidát pre rozsiahle úlohy alebo úlohy dominované hierarchickými zložkami chyby.
SAINV Riedka približná inverzia. Špecializovaná možnosť predpodmieňovania pre kontaktné úlohy alebo prostredia s distribuovanou pamäťou.
RIF Robustná neúplná faktorizácia. Ďalšia možnosť neúplnej faktorizácie.

SSOR je štandardná voľba a pri paralelizme OpenMP sa používa verzia s viacfarebným usporiadaním. Diagonálne škálovanie má nízke náklady, hoci zlepšenie konvergencie závisí od úlohy. BILU je implementovaná ako bloková neúplná LU faktorizácia a podporuje aj matice so všeobecným počtom stupňov voľnosti. Pre rodinu BILU existuje cesta, ktorá pri divergencii iteračnej metódy automaticky zvýši koeficient diagonálnej korekcie SIGMA_DIAG a výpočet zopakuje; spôsob zadania hodnoty nájdete v referencii kľúčového slova.

AMG používa Trilinos-ML, preto musí byť ML povolené pri zostavovaní. Možno zadať vyhladzovače, multigridové cykly, metódy zhrubovania a ďalšie nastavenia; podrobné hodnoty nájdete v referencii kľúčového slova. Ak sa SAINV používa v paralelnej analýze obsahujúcej kontaktné alebo MPC väzby, hĺbka prekrytia používaná pri delení oblasti môže ovplyvniť konvergenciu.

Priame metódy

Priame metódy riešia lineárne rovnice faktorizáciou matice koeficientov. Keďže nezávisia od počtu iterácií, sú robustné a môžu byť stabilnou voľbou pre analýzy obsahujúce kontaktné alebo väzbové podmienky. Ich spotreba pamäte však rastie s veľkosťou úlohy.

Priama metóda Paralelné prostredie Použitie
MUMPS Paralelné MPI Rieši riedke matice priamou metódou v prostrediach s distribuovanou pamäťou.
MKL Intel MKL / OpenMP Priamy riešič založený na Intel MKL. Interne sa používa Intel PARDISO. Pri viacerých procesoch MPI sa používa cesta Cluster MKL. DIRECTmkl je alias MKL.

Priame metódy možno použiť pre symetrické aj nesymetrické matice. MUMPS a MKL vyžadujú, aby boli pri zostavovaní pripojené zodpovedajúce knižnice. V prostrediach bez týchto knižníc ich nemožno použiť; požadované závislosti a možnosti CMake nájdete v návode na zostavenie.

FrontISTR obsahuje aj vstavanú cestu priameho riešiča, ktorá nepoužíva externú knižnicu, ale pri bežných analýzach vyžadujúcich priamu metódu by sa mali spravidla najprv zvážiť MUMPS alebo MKL.

Predpodmieňovanie sa na priame metódy neuplatňuje. Aj keď je v !SOLVER zadaný predpodmieňovač, na ceste priameho riešiča sa nepoužíva.

Metódy spracovania MPC

Metóda spracovania MPC určuje, ako sa stupne voľnosti spojené viacbodovými väzbami začlenia do lineárnych rovníc. Aj pri rovnakých väzbových rovniciach vo vstupných dátach mení metóda spracovania vlastnosti a konvergenčné správanie matice koeficientov.

Metóda spracovania MPC Charakteristika Predvolené použitie
Penalizačná metóda Približne spĺňa väzby pridaním veľkých členov tuhosti do väzbových rovníc. Predvolená pre priame metódy.
Metóda MPC-CG Staršia metóda spracúvajúca súčiny matice a vektora obsahujúce väzby v rámci iteračného riešiča. Zastaraná.
Explicitná eliminácia DOF Eliminuje viazané stupne voľnosti a rieši redukovanú lineárnu sústavu. Predvolená pre iteračné metódy.

Penalizačná metóda je predvolená pre priame metódy, zatiaľ čo explicitná eliminácia DOF je predvolená pre iteračné metódy. Metóda MPC-CG je staršia možnosť kompatibility a pre nové analýzy sa neodporúča; bežne používajte explicitnú elimináciu DOF alebo predvolené spracovanie pre zvolenú priamu metódu.

Metódu spracovania MPC možno explicitne zadať pomocou MPCMETHOD v !SOLVER. Význam a syntax jednotlivých hodnôt nájdete v referencii kľúčového slova.

Eliminácia kontaktných DOF

Eliminácia kontaktných DOF redukuje dodatočné kontaktné stupne voľnosti zavedené kontaktom SLAGRANGE pred odovzdaním sústavy lineárnemu riešiču. Eliminácia týchto kontaktných stupňov voľnosti môže zlepšiť vlastnosti lineárnej sústavy spracovávanej iteračnou metódou.

V predvolenom automatickom režime je eliminácia kontaktných DOF povolená pre iteračné metódy a zakázaná pre priame metódy. Pre priame metódy je k dispozícii cesta, ktorá rozšírenú sústavu obsahujúcu kontaktné stupne voľnosti rieši priamo.

Ak je explicitne zadané CONTACT_ELIM, elimináciu kontaktných DOF možno vykonať aj pri použití priamej metódy. Voľby typu kontaktu, kontaktného páru a kontaktného algoritmu na strane vstupu nájdete na stránke Kontakt a vloženie.

Pomocné funkcie

Odhad čísla podmienenosti, výpisy matice a protokolovanie možno použiť na skúmanie konvergencie a výkonnosti riešiča. Pri bežných analýzach nie sú tieto funkcie potrebné a povoľujú sa najmä na ladenie alebo hodnotenie výkonnosti.

Funkcia Účel Poznámky
Odhad čísla podmienenosti Vypíše indikátor čísla podmienenosti pre CG a GMRES. Dostupné v zostaveniach s povoleným LAPACK.
Výpis matice Uloží maticu a pravú stranu odovzdanú riešiču. Podporuje formáty Matrix Market, CSR a BSR.
DUMPEXIT Ukončí analýzu po výpise matice. Používa sa, keď je na externé overenie potrebná iba matica.
ITERLOG Vypíše históriu konvergencie iteračnej metódy. Používa sa na kontrolu priebehu rezíduí.
TIMELOG Vypíše výpočtový čas riešiča. VERBOSE vypíše podrobnejší rozpis.
STEPLOG Vypíše informácie o krokoch. Používa sa na kontrolu priebehu analýzy.

Výpis matice umožňuje kontrolovať maticu koeficientov zostavenú analýzou pomocou externých nástrojov. Keď je povolené DUMPEXIT, analýza sa ukončí po uložení matice a pravej strany. Odhad čísla podmienenosti je experimentálna funkcia dostupná s CG a GMRES a možno ju použiť na diagnostiku konvergenčného správania.

Súvisiace témy

AI-assisted translation May contain errors Official docs Status