Apgabala sadalīšana¶
Ja liela mēroga tīklu analizē paralēli, izmantojot vairākus procesus, viena apgabala tīkls vispirms jāsadala apakšapgabalos un iepriekš jāizveido informācija, kas vajadzīga procesu piesaistei un starpapgabalu komunikācijai. Šo priekšapstrādes darbību sauc par apgabala sadalīšanu.
FrontISTR paralēlajos aprēķinos hecmw_part1 sadala viena apgabala tīklu apakšapgabalos un izveido sadalītā tīkla datus. Izveidotos sadalītā tīkla datus nolasa paralēlais fistr1, un paralēlais risinātājs tos izmanto kopā ar starpapgabalu komunikācijai nepieciešamo informāciju.
Šajā lapā aprakstīts apgabala sadalīšanas veids, sadalīšanas metode, pārklājuma dziļums un kontaktpunktu apstrāde. hecmw_part1 izpildes procedūru, konkrēto vadības faila sintaksi un kļūdu ziņojumus skatiet saistītajās tēmās.
Pārskats¶
Apgabala sadalīšana ir viena apgabala tīkla sadalīšana vairākos apakšapgabalos. FrontISTR izveido sadalītā tīkla datus, kombinējot sadalīšanas veidu, sadalīšanas metodi, apgabalu skaitu un pārklājuma dziļumu.
| Izvēles aspekts | Galvenās opcijas | Nozīme |
|---|---|---|
| Sadalīšanas veids | Sadalīšana pēc mezgliem, sadalīšana pēc elementiem | Nosaka, vai īpašumtiesības piešķir pēc mezgla vai pēc elementa. |
| Sadalīšanas metode | RCB, METIS (pMETIS / kMETIS) | Nosaka, kā tiek izveidotas apgabalu robežas. |
| Apgabalu skaits | Jebkurš pozitīvs vesels skaitlis (RCB gadījumā \(2^n\)) | Nosaka apakšapgabalu skaitu sadalītā tīkla datos. Parasti to saskaņo ar MPI procesu skaitu. |
| Pārklājuma dziļums | Vesels skaitlis 1 vai lielāks | Nosaka diapazonu, ko kaimiņu apgabali glabā dublēti. To norāda sadalīšanai pēc mezgliem. |
| Komunikācijas tabulas | Importa/eksporta informācija, koplietojamā informācija | Definē datu apmaiņu starp kaimiņu apakšapgabaliem. Apgabala sadalīšanas laikā tiek izveidota automātiski. |
Tā kā komunikācijas tabulas ir iekļautas sadalītā tīkla datos, lietotājiem parasti tās nav jārediģē tieši. Paralēlais fistr1 nolasa sadalītā tīkla datus un risina lineāros vienādojumus, izmantojot paralēlu tiešo metodi, piemēram, MUMPS, vai iteratīvu metodi.
Apgabala sadalīšanas konfigurācijas izvēle¶
Parastā konstrukciju un siltumvadīšanas analīzē vispirms parasti jāapsver sadalīšana pēc mezgliem. Tā vienkāršo paralēlai galīgo elementu analīzei nepieciešamo mezglu vērtību komunikāciju un ļauj norādīt pārklājuma dziļumu. Sadalīšana pēc elementiem ir izvēle tādiem lietojumiem kā sasaistīta analīze, kur sadalītā informācija galvenokārt jāapstrādā pa elementiem.
Sadalīšanas metodi izvēlieties atbilstoši ģeometrijai un apgabalu skaitam. Vienkāršai ģeometrijai, kur apgabalu skaits var būt \(2^n\), RCB ir vienkārša un stabila izvēle. Sarežģītai ģeometrijai vai gadījumos, kad vajadzīgs patvaļīgs apgabalu skaits, piemērota izvēle ir uz grafu sadalīšanu balstītais METIS.
| Uzdevuma raksturojums | Ieteicamā izvēle |
|---|---|
| Standarta paralēla konstrukciju vai siltumvadīšanas analīze | Sadalīšana pēc mezgliem |
| Lietojumi, kas izmanto uz elementiem centrētu sadalīto informāciju, piemēram, sasaistīta analīze | Sadalīšana pēc elementiem |
| Vienkārša ģeometrija, kas tuva taisnstūra paralēlskaldnim, ar \(2^n\) apgabaliem | RCB |
| Sarežģīta ģeometrija vai patvaļīgs apgabalu skaits | METIS |
| Kontakta vai ar MPC ierobežoti uzdevumi, kuros izmanto SAINV priekšnosacītāju | Izmantojiet sadalīšanu pēc mezgliem ar pārklājuma dziļumu 2 vai lielāku |
Apgabalu skaitu parasti saskaņo ar MPI procesu skaitu. Paralēlās izpildes procedūru un procesu skaita norādīšanu skatiet sadaļā Paralēlā analīze. Par SAINV priekšnosacītāja un pārklājuma dziļuma saistību skatiet arī Risinātājs un priekšnosacītāji.
Sadalīšanas veidi¶
Sadalīšanas veids nosaka, kurai tīkla vienībai apakšapgabals piešķir unikālas īpašumtiesības. Sadalīšanā pēc mezgliem īpašumtiesības piešķir mezgliem, savukārt sadalīšanā pēc elementiem — elementiem. Abos gadījumos aprēķiniem ar kaimiņu apakšapgabaliem nepieciešamā informācija tiek saglabāta kā pārklājuma dati.
Sadalīšana pēc mezgliem¶
Sadalīšanā pēc mezgliem katram mezglam piešķir tieši vienu īpašnieka apakšapgabalu. Elementi kaimiņu apakšapgabalos tiek saglabāti ar pārklājumu. Ievadē to norāda ar !PARTITION, TYPE=NODE-BASED.

Katrs apakšapgabals saglabā savus iekšējos mezglus, elementus, kas satur šos iekšējos mezglus, un mezglus, kas veido šos elementus.

Sadalīšanas pēc mezgliem komunikācijas tabulās ir šāda informācija.
- Importa mezgli: mezgli, kas tiek izmantoti apakšapgabalā, bet pieder citam apakšapgabalam.
- Eksporta mezgli: iekšējie mezgli, kas citam apakšapgabalam ir importa mezgli.
- Koplietojamie elementi: elementi, kas tiek koplietoti ar citiem apakšapgabaliem.



Sadalīšana pēc elementiem¶
Sadalīšanā pēc elementiem katram elementam piešķir tieši vienu īpašnieka apakšapgabalu. Mezgli kaimiņu apakšapgabalos tiek saglabāti ar pārklājumu. Ievadē to norāda ar !PARTITION, TYPE=ELEMENT-BASED.

Katrs apakšapgabals saglabā savus iekšējos elementus, mezglus, kas veido šos iekšējos elementus, un elementus, kas satur šos mezglus.

Sadalīšanas pēc elementiem komunikācijas tabulās ir šāda informācija.
- Importa elementi: elementi, kas tiek izmantoti apakšapgabalā, bet pieder citam apakšapgabalam.
- Eksporta elementi: iekšējie elementi, kas citam apakšapgabalam ir importa elementi.
- Koplietojamie mezgli: mezgli, kas tiek koplietoti ar citiem apakšapgabaliem.



Abiem sadalīšanas veidiem hecmw_part1 automātiski izveido komunikācijas tabulas un ieraksta tās sadalītā tīkla datos. Tāpēc lietotājiem parasti nav tieši jāveido importa/eksporta informācija.
Sadalīšanas metodes¶
Sadalīšanas metode nosaka, kā tiek izveidotas apakšapgabalu robežas. FrontISTR atbalsta uz koordinātēm balstītu RCB un uz grafu sadalīšanu balstītu METIS.
| Sadalīšanas metode | Raksturlielumi | Galvenie ierobežojumi un piezīmes |
|---|---|---|
| RCB | Rekursīvi sadala tīklu uz pusēm pēc koordinātu vērtībām. Nodrošina ātru sadalīšanu vienkāršai ģeometrijai. | Apgabalu skaits ir ierobežots līdz \(2^n\). Jānorāda sadalīšanas asis. |
| pMETIS | Izmanto grafu sadalīšanu, ņemot vērā savienojamību starp apgabaliem. | Pieejams būvējumos, kuros iespējots METIS. |
| kMETIS | Izmanto daudzvirzienu grafu sadalīšanu, tāpēc ir piemērots apgabalu robežu veidošanai sarežģītā ģeometrijā. | Pieejams būvējumos, kuros iespējots METIS. |
RCB nozīmē Recursive Coordinate Bisection un atkārtoti sadala tīklu uz pusēm pa koordinātu asīm. Tas ir piemērots, ja apgabalu skaits var būt \(2^n\), un ir viegli izmantojams vienkāršai, kastei līdzīgai ģeometrijai.
METIS aplūko tīkla savienojamību kā grafu un izveido apakšapgabalus ar grafu sadalīšanu. Tas ir piemērots sarežģītai ģeometrijai vai gadījumiem, kad apgabalu skaitu nevajag ierobežot līdz \(2^n\). Lai izmantotu METIS, būvēšanas laikā jāiespējo METIS bibliotēka. Atkarību apstrādi skatiet sadaļā Obligātās un neobligātās atkarības.
Pārklājuma dziļums¶
Pārklājuma dziļums ir slāņu skaits diapazonā, ko kaimiņu apakšapgabali glabā dublēti. Sadalīšanai pēc mezgliem !PARTITION parametrā DEPTH ļauj norādīt veselu skaitli 1 vai lielāku. Noklusējuma pārklājuma dziļums ir 1.
Parastai paralēlai analīzei pietiek ar DEPTH=1. Tomēr, ja kontakta uzdevumam vai uzdevumam ar MPC ierobežojumiem izmanto SAI saimes priekšnosacītāju, piemēram, SAINV, pārklājuma dziļuma palielināšana līdz 2 vai vairāk var uzlabot priekšnosacītāja kvalitāti.
Pārklājuma dziļums 2 vai lielāks ir vajadzīgs arī tad, ja MPI paralēlajā aprēķinā pirmās kārtas tetraedriskajam elementam 341 izmanto selektīvās malu/mezglu izlīdzināšanas formulējumu (FORM341=SELECTIVE_ESNS). Uz malām un mezgliem balstītā izlīdzināšana vidējo lielumus pa elementiem, kas atrodas blakus mērķa elementam, tāpēc stinguma montāžai apakšapgabalā vajadzīga informācija no elementiem divu blakusības slāņu attālumā; ar noklusējuma DEPTH=1 izlīdzināšana apgabalu robežu tuvumā nav pietiekama. Elementa formulējuma informāciju skatiet sadaļā Elementu bibliotēka.
Palielinot pārklājuma dziļumu, palielinās mezglu un elementu skaits, ko glabā kaimiņu apakšapgabali, un līdz ar to pieaug gan atmiņas patēriņš, gan komunikācijas apjoms. Iestatiet to, līdzsvarojot uzlabotu konverģenci ar lielākām skaitļošanas izmaksām. Par priekšnosacītāja izvēli skatiet Risinātājs un priekšnosacītāji.
Kontaktpunktu apstrāde¶
Sadalot tīklu, kas satur kontakta pārus, !PARTITION parametrs CONTACT ļauj norādīt kontaktpunktu izvietošanas politiku pa apgabaliem. Kontaktpunktu izvietojums ietekmē paralēlās analīzes stabilitāti un komunikācijas apjomu uzdevumos ar kontakta meklēšanu un kontakta ierobežojumiem.
| Vērtība | Nozīme |
|---|---|
DEFAULT | Izmanto standarta izvietošanas politiku. |
SIMPLE | Izmanto izvietojumu, kas tuvs parastai sadalīšanai, nepiešķirot kontaktpunktiem īpašus svarus. |
AGGREGATE | Sadala tā, lai ar kontakta pāriem saistītie mezgli tiektos grupēties. |
DISTRIBUTE | Sadala tā, lai galvenās puses kontakta mezgli mazāk koncentrētos atsevišķos apakšapgabalos. |
Tīkliem bez kontakta parametram CONTACT parasti nav jāpievērš uzmanība. Ja paralēlā analīzē ar kontaktu ir problēmas ar konverģenci vai slodzes balansēšanu, pārskatiet kontaktpunktu izvietošanas politiku. Ievades sintakses informāciju skatiet !PARTITION.
Neatkarīgi no tā parametru CONTACT_OWNER var izmantot, lai izvēlētos paralēlā kontakta īpašumtiesību shēmu. CONTACT norāda „kā sadalīt”, savukārt CONTACT_OWNER norāda „kura puse ir atbildīga pēc sadalīšanas”.
| Vērtība | Nozīme |
|---|---|
MASTER | Galvenās puses īpašnieka shēma (noklusējums). Galveno virsmu sadala pēc elementu īpašnieku apgabaliem, un pakārtotie mezgli tiek replicēti katrā galvenās puses īpašnieka apgabalā. |
SLAVE | Pakārtotās puses īpašnieka shēma. Katru pakārtoto mezglu glabā tikai tā īpašnieka apgabals, un visa galvenā virsma tiek ievietota šajā apgabalā. |
Galīgas slīdēšanas gadījumā (INTERACTION=FSLID pie !CONTACT), kad pakārtotais mezgls šķērso apgabala sadalījuma robežu uz galvenās virsmas, MASTER shēma var pārtraukt kaimiņu meklēšanu pie robežas, izraisot kontakta stāvokļa un berzes vēstures zudumu un padarot risinājumu atkarīgu no apgabalu skaita. SLAVE shēma šo problēmu novērš. To var norādīt tikai tad, ja TYPE=NODE-BASED; apgabalos, kuriem pieder pakārtotie mezgli, palielinās atmiņas patēriņš.
Apgabala sadalījuma attēla izvadīšana¶
Ar !PARTITION norādot parametru UCD, tiek izvadīts UCD fails sadalīšanas rezultāta pārbaudei. UCD failu var izmantot ar vizualizācijas rīkiem, piemēram, MicroAVS, lai pārbaudītu apgabalu numurus un sadalījuma robežas.
Pēc apgabalu skaita, sadalīšanas metodes vai pārklājuma dziļuma maiņas ir svarīgi pārbaudīt, vai starp sadalītajiem apgabaliem nav nelīdzsvarotības vai nedabiskas fragmentācijas. UCD izvade ir palīgfunkcija sadalījuma pamatotības pārbaudei pirms paralēlās analīzes izpildes.
Saistītās tēmas¶
- Paralēlā analīze —
hecmw_part1izpildes procedūra, ievades faili un sadalītā tīkla datu izvades pārbaude. - Risinātājs un priekšnosacītāji — Paralēlie risinātāji, priekšnosacītāji un SAINV saistība ar pārklājuma dziļumu.
- Kļūdu ziņojumu saraksts — Raksturīgi
hecmw_part1unfistr1kļūdu ziņojumi. - Paralēlā galīgo elementu metode — Apgabala dekompozīcijas un paralēlo galīgo elementu metožu teorētiskais pamatojums.
- !PARTITION — Apgabala sadalīšanas utilītas vadības datu ievades sintakse.