Podjela domene¶
Kada se mreža velikih razmjera analizira paralelno pomoću više procesa, mreža jedne domene najprije se mora podijeliti na poddomene, a unaprijed se moraju generirati podaci potrebni za dodjelu svakom procesu i komunikaciju među domenama. Ovaj korak predobrade naziva se podjela domene.
U paralelnom računanju FrontISTR-a hecmw_part1 dijeli mrežu jedne domene na poddomene i stvara distribuirane podatke mreže. Generirane distribuirane podatke mreže čita paralelni fistr1, a paralelni ih rješavač upotrebljava zajedno s informacijama potrebnima za komunikaciju među domenama.
Ova stranica opisuje vrstu podjele, metodu podjele, dubinu preklapanja i obradu kontaktnih točaka odabranih za podjelu domene. Za postupak izvođenja hecmw_part1, konkretnu sintaksu upravljačke datoteke i poruke o pogreškama pogledajte povezane teme.
Pregled¶
Podjela domene postupak je dijeljenja mreže jedne domene na više poddomena. FrontISTR stvara distribuirane podatke mreže kombiniranjem vrste podjele, metode podjele, broja domena i dubine preklapanja.
| Os odabira | Glavne mogućnosti | Uloga |
|---|---|---|
| Vrsta podjele | Podjela po čvorovima, podjela po elementima | Određuje dodjeljuje li se vlasništvo po čvoru ili po elementu. |
| Metoda podjele | RCB, METIS (pMETIS / kMETIS) | Određuje način stvaranja granica domena. |
| Broj domena | Bilo koji pozitivni cijeli broj (\(2^n\) za RCB) | Određuje broj poddomena u distribuiranim podacima mreže. Uobičajeno se usklađuje s brojem MPI procesa. |
| Dubina preklapanja | Cijeli broj 1 ili veći | Određuje područje koje susjedne domene redundantno zadržavaju. Zadaje se za podjelu po čvorovima. |
| Komunikacijske tablice | Podaci o uvozu/izvozu, zajednički podaci | Definiraju razmjenu podataka potrebnu između susjednih poddomena. Generiraju se automatski tijekom podjele domene. |
Budući da su komunikacijske tablice uključene u distribuirane podatke mreže, korisnici ih u pravilu ne trebaju izravno uređivati. Paralelni fistr1 čita distribuirane podatke mreže i rješava linearne jednadžbe paralelnom izravnom metodom kao što je MUMPS ili iterativnom metodom.
Odabir konfiguracije podjele domene¶
Za uobičajene strukturne analize i analize provođenja topline općenito najprije treba razmotriti podjelu po čvorovima. Podjela po čvorovima pojednostavljuje komunikaciju čvornih vrijednosti potrebnih u paralelnoj analizi konačnih elemenata, a omogućuje i zadavanje dubine preklapanja. Podjela po elementima moguća je za primjene poput spregnute analize u kojima se podijeljeni podaci prvenstveno obrađuju po elementu.
Metodu podjele odaberite prema geometriji i broju domena. Za jednostavne geometrije kod kojih broj domena može biti \(2^n\), RCB je jednostavan i stabilan izbor. Za složene geometrije ili kada je potreban proizvoljan broj domena, kandidat je METIS koji se temelji na podjeli grafa.
| Značajke problema | Preporučeni izbor |
|---|---|
| Standardna paralelna strukturna analiza ili analiza provođenja topline | Podjela po čvorovima |
| Primjene koje koriste distribuirane podatke usmjerene na elemente, poput spregnute analize | Podjela po elementima |
| Jednostavna geometrija približna pravokutnom paralelopipedu, s \(2^n\) domena | RCB |
| Složena geometrija ili proizvoljan broj domena | METIS |
| Kontaktni problemi ili problemi s MPC ograničenjima koji koriste predoblikovatelj SAINV | Upotrijebite podjelu po čvorovima s dubinom preklapanja 2 ili većom |
Broj domena uobičajeno se usklađuje s brojem MPI procesa. Za postupak paralelnog izvođenja i zadavanje broja procesa pogledajte Paralelna analiza. Za odnos između predoblikovatelja SAINV i dubine preklapanja pogledajte i Rješavač i predoblikovatelji.
Vrste podjele¶
Vrsta podjele određuje kojem se entitetu mreže dodjeljuje jedinstveno vlasništvo poddomene. Podjela po čvorovima dodjeljuje vlasništvo čvorovima, dok ga podjela po elementima dodjeljuje elementima. U oba se slučaja podaci potrebni za računanje sa susjednim poddomenama zadržavaju kao podaci preklapanja.
Podjela po čvorovima¶
Kod podjele po čvorovima svaki se čvor dodjeljuje točno jednoj vlasničkoj poddomeni. Elementi se s preklapanjem zadržavaju u susjednim poddomenama. U ulazu se to zadaje s !PARTITION, TYPE=NODE-BASED.

Svaka poddomena zadržava svoje unutarnje čvorove, elemente koji sadrže te unutarnje čvorove i čvorove koji čine te elemente.

Komunikacijske tablice za podjelu po čvorovima sadrže sljedeće podatke.
- Uvozni čvorovi: čvorovi koji se upotrebljavaju u poddomeni, ali su u vlasništvu druge poddomene.
- Izvozni čvorovi: unutarnji čvorovi koji su uvozni čvorovi druge poddomene.
- Zajednički elementi: elementi koji se dijele s drugim poddomenama.



Podjela po elementima¶
Kod podjele po elementima svaki se element dodjeljuje točno jednoj vlasničkoj poddomeni. Čvorovi se s preklapanjem zadržavaju u susjednim poddomenama. U ulazu se to zadaje s !PARTITION, TYPE=ELEMENT-BASED.

Svaka poddomena zadržava svoje unutarnje elemente, čvorove koji čine te unutarnje elemente i elemente koji sadrže te čvorove.

Komunikacijske tablice za podjelu po elementima sadrže sljedeće podatke.
- Uvozni elementi: elementi koji se upotrebljavaju u poddomeni, ali su u vlasništvu druge poddomene.
- Izvozni elementi: unutarnji elementi koji su uvozni elementi druge poddomene.
- Zajednički čvorovi: čvorovi koji se dijele s drugim poddomenama.



Za obje vrste podjele hecmw_part1 automatski generira komunikacijske tablice i zapisuje ih u distribuirane podatke mreže. Stoga korisnici u pravilu ne trebaju izravno stvarati podatke o uvozu/izvozu.
Metode podjele¶
Metoda podjele određuje način stvaranja granica poddomena. FrontISTR podržava RCB temeljen na koordinatama i METIS temeljen na podjeli grafa.
| Metoda podjele | Značajke | Glavna ograničenja i napomene |
|---|---|---|
| RCB | Rekurzivno dijeli mrežu na temelju koordinatnih vrijednosti. Omogućuje brzu podjelu za jednostavne geometrije. | Broj domena ograničen je na \(2^n\). Moraju se zadati osi podjele. |
| pMETIS | Upotrebljava podjelu grafa uzimajući u obzir povezanost među domenama. | Dostupno u izgradnjama s omogućenim METIS-om. |
| kMETIS | Upotrebljava višesmjernu podjelu grafa, što je prikladno za stvaranje granica domena u složenim geometrijama. | Dostupno u izgradnjama s omogućenim METIS-om. |
RCB znači rekurzivno prepolavljanje koordinata (Recursive Coordinate Bisection) i višekratno prepolavlja mrežu duž koordinatnih osi. Prikladan je kada broj domena može biti \(2^n\) i jednostavan za uporabu kod jednostavnih geometrija nalik kutiji.
METIS tretira povezanost mreže kao graf i stvara poddomene podjelom grafa. Prikladan je za složene geometrije ili kada broj domena ne smije biti ograničen na \(2^n\). Za uporabu METIS-a biblioteka METIS mora biti omogućena pri izgradnji. Za upravljanje ovisnostima pogledajte Obvezne i neobvezne ovisnosti.
Dubina preklapanja¶
Dubina preklapanja broj je slojeva u području koje susjedne poddomene redundantno zadržavaju. Za podjelu po čvorovima !PARTITION omogućuje zadavanje cijelog broja 1 ili većeg parametrom DEPTH. Zadana dubina preklapanja je 1.
Za uobičajenu paralelnu analizu dovoljan je DEPTH=1. Međutim, kada se predoblikovatelj iz obitelji SAI, poput SAINV-a, upotrebljava za kontaktni problem ili problem s MPC ograničenjima, povećanje dubine preklapanja na 2 ili više može poboljšati kvalitetu predoblikovatelja.
Dubina preklapanja 2 ili veća potrebna je i kada se selektivna formulacija zaglađivanja po bridovima/čvorovima (FORM341=SELECTIVE_ESNS) upotrebljava s tetraedarskim elementom prvog reda 341 u MPI paralelnom računanju. Zaglađivanje po bridovima i po čvorovima prosječuje veličine preko elemenata susjednih ciljnom elementu, pa sastavljanje krutosti unutar poddomene zahtijeva podatke iz elemenata udaljenih dva sloja susjedstva; sa zadanim DEPTH=1 zaglađivanje u blizini granica domena nije dovoljno. Za pojedinosti formulacije elementa pogledajte Biblioteka elemenata.
Povećanje dubine preklapanja povećava broj čvorova i elemenata koje susjedne poddomene zadržavaju, čime rastu i uporaba memorije i količina komunikacije. Odredite je balansiranjem poboljšane konvergencije i povećanog računskog troška. Za odabir predoblikovatelja pogledajte Rješavač i predoblikovatelji.
Obrada kontaktnih točaka¶
Pri podjeli mreže koja sadrži kontaktne parove, !PARTITION omogućuje da se parametrom CONTACT zada politika raspoređivanja kontaktnih točaka po domenama. Raspored kontaktnih točaka utječe na stabilnost i količinu komunikacije paralelnih analiza koje uključuju pretraživanje kontakta i kontaktna ograničenja.
| Vrijednost | Uloga |
|---|---|
DEFAULT | Upotrebljava standardnu politiku raspoređivanja. |
SIMPLE | Upotrebljava raspoređivanje blisko običnoj podjeli bez dodjeljivanja posebnih težina kontaktnim točkama. |
AGGREGATE | Dijeli na način koji teži grupiranju čvorova povezanih s kontaktnim parovima. |
DISTRIBUTE | Dijeli tako da se kontaktni čvorovi glavne strane manje koncentriraju u pojedinim poddomenama. |
Za mreže bez kontakta parametar CONTACT u pravilu ne zahtijeva pozornost. Ako su konvergencija ili uravnoteženje opterećenja problematični u paralelnoj analizi s kontaktom, preispitajte politiku raspoređivanja kontaktnih točaka. Za pojedinosti ulazne sintakse pogledajte !PARTITION.
Neovisno o tome, parametrom CONTACT_OWNER može se odabrati shema vlasništva za paralelni kontakt. Dok CONTACT određuje „kako podijeliti”, CONTACT_OWNER određuje „koja je strana odgovorna nakon podjele”.
| Vrijednost | Uloga |
|---|---|
MASTER | Shema vlasništva glavne strane (zadano). Glavna ploha dijeli se po domenama vlasnicima elemenata, a podređeni čvorovi repliciraju se u svaku domenu vlasnika glavne strane. |
SLAVE | Shema vlasništva podređene strane. Svaki podređeni čvor zadržava samo njegova vlasnička domena, a cijela glavna ploha postavlja se u tu domenu. |
Kod konačnog klizanja (INTERACTION=FSLID u !CONTACT), kada podređeni čvor prijeđe granicu podjele domene na glavnoj plohi, shema MASTER može prekinuti pretraživanje susjedstva na granici, zbog čega se gube stanje kontakta i povijest trenja, a rješenje postaje ovisno o broju domena. Shema SLAVE izbjegava taj problem. Može se zadati samo kada je TYPE=NODE-BASED; uporaba memorije povećava se u domenama koje posjeduju podređene čvorove.
Izlaz slike podjele domene¶
Kod !PARTITION, zadavanje parametra UCD daje UCD datoteku za provjeru rezultata podjele. UCD datoteka može se upotrijebiti s alatima za vizualizaciju poput MicroAVS-a za pregled brojeva domena i granica podjele.
Nakon promjene broja domena, metode podjele ili dubine preklapanja važno je provjeriti postoji li neravnoteža među podijeljenim domenama ili neprirodna fragmentacija. UCD izlaz pomoćna je funkcija za provjeru valjanosti podjele prije pokretanja paralelne analize.
Povezane teme¶
- Paralelna analiza — postupak izvođenja
hecmw_part1, ulazne datoteke i provjera izlaza distribuiranih podataka mreže. - Rješavač i predoblikovatelji — paralelni rješavači, predoblikovatelji i odnos između SAINV-a i dubine preklapanja.
- Popis poruka o pogreškama — reprezentativne poruke o pogreškama iz
hecmw_part1ifistr1. - Paralelna metoda konačnih elemenata — teorijska osnova podjele domene i paralelnih metoda konačnih elemenata.
- !PARTITION — ulazna sintaksa upravljačkih podataka pomoćnog programa za podjelu domene.