Srities skaidymas¶
Kai didelio masto tinklas lygiagrečiai analizuojamas naudojant kelis procesus, vienos srities tinklą pirmiausia reikia padalyti į posričius ir iš anksto sugeneruoti informaciją, reikalingą procesams priskirti bei ryšiui tarp sričių. Šis išankstinio apdorojimo etapas vadinamas srities skaidymu.
FrontISTR lygiagrečiuosiuose skaičiavimuose hecmw_part1 padalija vienos srities tinklą į posričius ir sukuria paskirstytojo tinklo duomenis. Sugeneruotus paskirstytojo tinklo duomenis perskaito lygiagrečiai vykdomas fistr1; jie naudojami lygiagrečiajame sprendiklyje kartu su ryšiui tarp sričių reikalinga informacija.
Šiame puslapyje aprašomi srities skaidymui pasirenkami skaidymo tipas, skaidymo metodas, persidengimo gylis ir kontaktinių taškų tvarkymas. hecmw_part1 vykdymo procedūrą, konkrečią valdymo failo sintaksę ir klaidų pranešimus žr. susijusiose temose.
Apžvalga¶
Srities skaidymas – tai vienos srities tinklo padalijimas į kelis posričius. FrontISTR paskirstytojo tinklo duomenis sukuria derindamas skaidymo tipą, skaidymo metodą, sričių skaičių ir persidengimo gylį.
| Pasirinkimo kriterijus | Pagrindinės parinktys | Paskirtis |
|---|---|---|
| Skaidymo tipas | Skaidymas pagal mazgus, skaidymas pagal elementus | Nustato, ar nuosavybė priskiriama pagal mazgą, ar pagal elementą. |
| Skaidymo metodas | RCB, METIS (pMETIS / kMETIS) | Nustato, kaip sudaromos sričių ribos. |
| Sričių skaičius | Bet koks teigiamas sveikasis skaičius (RCB atveju \(2^n\)) | Nustato posričių skaičių paskirstytojo tinklo duomenyse. Paprastai jis sutapatinamas su MPI procesų skaičiumi. |
| Persidengimo gylis | Sveikasis skaičius, ne mažesnis kaip 1 | Nustato diapazoną, kurį kaimyninės sritys saugo dubliuotai. Nurodomas skaidymui pagal mazgus. |
| Ryšio lentelės | Importo / eksporto informacija, bendrinimo informacija | Apibrėžia duomenų mainus tarp kaimyninių posričių. Srities skaidymo metu sugeneruojamos automatiškai. |
Kadangi ryšio lentelės įtraukiamos į paskirstytojo tinklo duomenis, naudotojams paprastai jų tiesiogiai redaguoti nereikia. Lygiagrečiai vykdomas fistr1 perskaito paskirstytojo tinklo duomenis ir sprendžia tiesines lygtis taikydamas lygiagretųjį tiesioginį metodą, pvz., MUMPS, arba iteracinį metodą.
Srities skaidymo konfigūracijos pasirinkimas¶
Įprastai konstrukcijų ir šilumos laidumo analizei pirmiausia paprastai verta rinktis skaidymą pagal mazgus. Skaidant pagal mazgus paprasta keistis lygiagrečiajai baigtinių elementų analizei reikalingomis mazginėmis reikšmėmis, be to, galima nurodyti persidengimo gylį. Skaidymas pagal elementus yra parinktis tokiems taikymams kaip susietoji analizė, kai paskirstytoji informacija daugiausia tvarkoma pagal elementus.
Skaidymo metodą rinkitės pagal geometriją ir sričių skaičių. Paprastoms geometrijoms, kai sričių skaičius gali būti \(2^n\), RCB yra paprastas ir stabilus pasirinkimas. Sudėtingoms geometrijoms arba kai reikia bet kokio sričių skaičiaus, kandidatas yra grafų skaidymu pagrįstas METIS.
| Uždavinio ypatybės | Rekomenduojamas pasirinkimas |
|---|---|
| Standartinė lygiagrečioji konstrukcijų arba šilumos laidumo analizė | Skaidymas pagal mazgus |
| Taikymai, kuriuose naudojama pagal elementus centruota paskirstytoji informacija, pvz., susietoji analizė | Skaidymas pagal elementus |
| Paprasta, stačiakampiam gretasieniui artima geometrija ir \(2^n\) sričių | RCB |
| Sudėtinga geometrija arba bet koks sričių skaičius | METIS |
| Kontaktiniai arba MPC apriboti uždaviniai, kuriuose naudojamas SAINV išankstinis sąlygojimas | Naudokite skaidymą pagal mazgus, kai persidengimo gylis yra 2 arba didesnis |
Sričių skaičius paprastai sutapatinamas su MPI procesų skaičiumi. Lygiagrečiojo vykdymo procedūrą ir procesų skaičiaus nurodymą žr. Lygiagrečioji analizė. SAINV išankstinio sąlygojimo ir persidengimo gylio ryšį taip pat žr. Sprendikliai ir išankstinis sąlygojimas.
Skaidymo tipai¶
Skaidymo tipas nustato, kuriam tinklo objektui posritis priskiria unikalią nuosavybę. Skaidant pagal mazgus nuosavybė priskiriama mazgams, o skaidant pagal elementus – elementams. Abiem atvejais skaičiavimams su kaimyniniais posričiais reikalinga informacija saugoma kaip persidengiantys duomenys.
Skaidymas pagal mazgus¶
Skaidant pagal mazgus kiekvienas mazgas priskiriamas tik vienam jį valdančiam posričiui. Elementai su persidengimu saugomi kaimyniniuose posričiuose. Įvestyje tai nurodoma !PARTITION, TYPE=NODE-BASED.

Kiekvienas posritis saugo savo vidinius mazgus, elementus, kuriuose yra šie vidiniai mazgai, ir mazgus, sudarančius tuos elementus.

Skaidymo pagal mazgus ryšio lentelėse yra ši informacija.
- Importuojami mazgai: posrityje naudojami mazgai, kurių savininkas yra kitas posritis.
- Eksportuojami mazgai: vidiniai mazgai, kurie kitame posrityje yra importuojami mazgai.
- Bendrinami elementai: su kitais posričiais bendrinami elementai.



Skaidymas pagal elementus¶
Skaidant pagal elementus kiekvienas elementas priskiriamas tik vienam jį valdančiam posričiui. Mazgai su persidengimu saugomi kaimyniniuose posričiuose. Įvestyje tai nurodoma !PARTITION, TYPE=ELEMENT-BASED.

Kiekvienas posritis saugo savo vidinius elementus, tuos elementus sudarančius mazgus ir elementus, kuriuose yra tie mazgai.

Skaidymo pagal elementus ryšio lentelėse yra ši informacija.
- Importuojami elementai: posrityje naudojami elementai, kurių savininkas yra kitas posritis.
- Eksportuojami elementai: vidiniai elementai, kurie kitame posrityje yra importuojami elementai.
- Bendrinami mazgai: su kitais posričiais bendrinami mazgai.



Bet kurio skaidymo tipo atveju hecmw_part1 automatiškai sugeneruoja ryšio lenteles ir įrašo jas į paskirstytojo tinklo duomenis. Todėl naudotojams paprastai nereikia patiems kurti importo / eksporto informacijos.
Skaidymo metodai¶
Skaidymo metodas nustato, kaip sudaromos posričių ribos. FrontISTR palaiko koordinatėmis pagrįstą RCB ir grafų skaidymu pagrįstą METIS.
| Skaidymo metodas | Ypatybės | Pagrindiniai apribojimai ir pastabos |
|---|---|---|
| RCB | Rekursyviai dalija tinklą pagal koordinačių reikšmes. Paprastoms geometrijoms suteikia greitą skaidymą. | Sričių skaičius ribojamas iki \(2^n\). Reikia nurodyti skaidymo ašis. |
| pMETIS | Naudoja grafų skaidymą, atsižvelgdamas į sričių tarpusavio junglumą. | Galimas kompiliacijose, kuriose įjungtas METIS. |
| kMETIS | Naudoja daugiakryptį grafų skaidymą, todėl tinka sudėtingos geometrijos sričių riboms sudaryti. | Galimas kompiliacijose, kuriose įjungtas METIS. |
RCB reiškia Recursive Coordinate Bisection ir pakartotinai dalija tinklą išilgai koordinačių ašių. Jis tinka, kai sričių skaičius gali būti \(2^n\), ir yra patogus paprastoms, dėžės pavidalo geometrijoms.
METIS tinklo junglumą traktuoja kaip grafą ir posričius sudaro grafų skaidymo būdu. Jį verta rinktis sudėtingoms geometrijoms arba kai sričių skaičius neturi būti ribojamas iki \(2^n\). Norint naudoti METIS, METIS biblioteka turi būti įjungta kompiliavimo metu. Priklausomybių tvarkymą žr. Privalomos ir pasirenkamos priklausomybės.
Persidengimo gylis¶
Persidengimo gylis yra sluoksnių skaičius diapazone, kurį kaimyniniai posričiai saugo dubliuotai. Skaidymo pagal mazgus atveju !PARTITION leidžia parametru DEPTH nurodyti sveikąjį skaičių, ne mažesnį kaip 1. Numatytasis persidengimo gylis yra 1.
Įprastai lygiagrečiajai analizei pakanka DEPTH=1. Tačiau kai kontaktiniam uždaviniui arba uždaviniui su MPC apribojimais naudojamas SAI šeimos išankstinio sąlygojimo metodas, pvz., SAINV, padidinus persidengimo gylį iki 2 ar daugiau gali pagerėti išankstinio sąlygojimo kokybė.
Persidengimo gylis 2 ar didesnis taip pat būtinas, kai MPI lygiagrečiuosiuose skaičiavimuose pirmos eilės tetraedriniam elementui 341 naudojama selektyvioji kraštų / mazgų glodinimo formuluotė (FORM341=SELECTIVE_ESNS). Glodinant pagal kraštus ir mazgus dydžiai vidurkinami per elementus, gretimus tiksliniam elementui, todėl standumui posričio viduje surinkti reikia informacijos apie elementus, esančius už dviejų gretimumo sluoksnių; esant numatytajam DEPTH=1, glodinimas prie sričių ribų yra nepakankamas. Elemento formuluotės informaciją žr. Elementų biblioteka.
Didinant persidengimo gylį didėja mazgų ir elementų, saugomų kaimyniniuose posričiuose, skaičius, todėl didėja ir atminties sąnaudos, ir ryšio duomenų kiekis. Reikšmę parinkite derindami geresnę konvergenciją su didesne skaičiavimo kaina. Apie išankstinio sąlygojimo parinkimą žr. Sprendikliai ir išankstinis sąlygojimas.
Kontaktinių taškų tvarkymas¶
Skaidant tinklą, kuriame yra kontaktinių porų, !PARTITION parametru CONTACT galima nurodyti kontaktinių taškų išdėstymo srityse politiką. Kontaktinių taškų išdėstymas turi įtakos lygiagrečiosios analizės, apimančios kontakto paiešką ir kontaktinius apribojimus, stabilumui ir ryšio duomenų kiekiui.
| Reikšmė | Paskirtis |
|---|---|
DEFAULT | Naudojama standartinė išdėstymo politika. |
SIMPLE | Naudojamas įprastam skaidymui artimas išdėstymas, kontaktiniams taškams nepriskiriant specialių svorių. |
AGGREGATE | Skaidoma taip, kad su kontaktinėmis poromis susiję mazgai būtų linkę grupuotis. |
DISTRIBUTE | Skaidoma taip, kad pagrindinės pusės kontaktiniai mazgai būtų mažiau linkę koncentruotis tam tikruose posričiuose. |
Tinklams be kontakto parametras CONTACT paprastai nereikalauja dėmesio. Jei lygiagrečioje analizėje su kontaktu kyla konvergencijos arba apkrovos balansavimo problemų, peržiūrėkite kontaktinių taškų išdėstymo politiką. Įvesties sintaksę žr. !PARTITION.
Nepriklausomai nuo to, parametru CONTACT_OWNER galima pasirinkti lygiagrečiojo kontakto nuosavybės schemą. CONTACT nurodo „kaip skaidyti“, o CONTACT_OWNER — „kuri pusė atsakinga po skaidymo“.
| Reikšmė | Paskirtis |
|---|---|
MASTER | Pagrindinio savininko schema (numatytoji). Pagrindinis paviršius skaidomas pagal elementus valdančias sritis, o priklausomi mazgai nukopijuojami į kiekvieną pagrindinę sritį. |
SLAVE | Priklausomo savininko schema. Kiekvienas priklausomas mazgas saugomas tik jį valdančioje srityje, o visas pagrindinis paviršius patalpinamas toje srityje. |
Esant baigtiniam slydimui (!CONTACT parametre INTERACTION=FSLID), kai priklausomas mazgas pagrindiniame paviršiuje kerta srities skaidymo ribą, MASTER schema gali nutraukti gretimumo paiešką ties riba, todėl prarandama kontakto būsena ir trinties istorija, o sprendinys gali priklausyti nuo sričių skaičiaus. SLAVE schema šios problemos išvengia. Ją galima nurodyti tik kai TYPE=NODE-BASED; srityse, valdančiose priklausomus mazgus, padidėja atminties sąnaudos.
Srities skaidymo vaizdo išvestis¶
Nurodžius !PARTITION parametrą UCD, išvedamas UCD failas, skirtas skaidymo rezultatui patikrinti. UCD failą galima naudoti su vizualizavimo priemonėmis, pvz., MicroAVS, sričių numeriams ir skaidymo riboms apžiūrėti.
Pakeitus sričių skaičių, skaidymo metodą arba persidengimo gylį svarbu patikrinti, ar tarp suskaidytų sričių nėra disbalanso arba nenatūralaus suskaidymo į fragmentus. UCD išvestis yra pagalbinė funkcija, skirta prieš vykdant lygiagrečiąją analizę patikrinti skaidymo tinkamumą.
Susijusios temos¶
- Lygiagrečioji analizė —
hecmw_part1vykdymo procedūra, įvesties failai ir paskirstytojo tinklo duomenų išvesties tikrinimas. - Sprendikliai ir išankstinis sąlygojimas — lygiagretieji sprendikliai, išankstinio sąlygojimo metodai ir SAINV ryšys su persidengimo gyliu.
- Klaidų pranešimų sąrašas — tipiniai
hecmw_part1irfistr1klaidų pranešimai. - Lygiagretusis baigtinių elementų metodas — srities skaidymo ir lygiagrečiųjų baigtinių elementų metodų teorinis pagrindas.
- !PARTITION — srities skaidymo priemonės valdymo duomenų įvesties sintaksė.