Skoči na vsebino

Razdelitev domene

Ko se velika mreža analizira vzporedno z več procesi, je treba mrežo ene domene najprej razdeliti na poddomene ter vnaprej ustvariti informacije, potrebne za dodelitev posameznim procesom in komunikacijo med domenami. Ta korak predobdelave se imenuje razdelitev domene.

Pri vzporednem računanju FrontISTR hecmw_part1 razdeli mrežo ene domene na poddomene in ustvari porazdeljene podatke mreže. Ustvarjene porazdeljene podatke mreže prebere vzporedni fistr1, vzporedni reševalnik pa jih uporablja skupaj z informacijami, potrebnimi za komunikacijo med domenami.

Ta stran opisuje vrsto razdelitve, metodo razdelitve, globino prekrivanja in obravnavo kontaktnih točk pri razdelitvi domene. Za postopek izvajanja hecmw_part1, konkretno sintakso krmilne datoteke in sporočila o napakah glejte sorodne teme.

Pregled

Razdelitev domene je postopek delitve mreže ene domene na več poddomen. FrontISTR ustvari porazdeljene podatke mreže s kombinacijo vrste razdelitve, metode razdelitve, števila domen in globine prekrivanja.

Vidik izbire Glavne možnosti Vloga
Vrsta razdelitve Razdelitev po vozliščih, razdelitev po elementih Določa, ali se lastništvo dodeljuje po vozliščih ali po elementih.
Metoda razdelitve RCB, METIS (pMETIS / kMETIS) Določa način ustvarjanja meja domen.
Število domen Poljubno pozitivno celo število (\(2^n\) za RCB) Določa število poddomen v porazdeljenih podatkih mreže. Običajno je usklajeno s številom procesov MPI.
Globina prekrivanja Celo število 1 ali več Določa obseg podatkov, ki se redundantno ohranijo v sosednjih domenah. Določa se pri razdelitvi po vozliščih.
Komunikacijske preglednice Informacije o uvozu/izvozu in skupnih podatkih Določa izmenjavo podatkov, potrebno med sosednjimi poddomenami. Med razdelitvijo domene se ustvari samodejno.

Ker so komunikacijske preglednice vključene v porazdeljene podatke mreže, jih uporabnikom običajno ni treba neposredno urejati. Vzporedni fistr1 prebere porazdeljene podatke mreže in rešuje linearne enačbe z vzporedno neposredno metodo, kot je MUMPS, ali z iterativno metodo.

Izbira konfiguracije razdelitve domene

Pri običajnih strukturnih analizah in analizah prevoda toplote je praviloma treba najprej razmisliti o razdelitvi po vozliščih. Ta olajša komunikacijo vozliščnih vrednosti, potrebnih pri vzporedni analizi z metodo končnih elementov, in omogoča tudi določitev globine prekrivanja. Razdelitev po elementih je možnost za uporabe, kot je sklopljena analiza, kjer se porazdeljene informacije obravnavajo predvsem po elementih.

Metodo razdelitve izberite glede na geometrijo in število domen. Za preproste geometrije, pri katerih je lahko število domen \(2^n\), je RCB preprosta in stabilna izbira. Pri kompleksnih geometrijah ali kadar je potrebno poljubno število domen, je primerna možnost METIS, ki temelji na razdelitvi grafa.

Značilnosti problema Priporočena izbira
Standardna vzporedna strukturna analiza ali analiza prevoda toplote Razdelitev po vozliščih
Uporabe s porazdeljenimi informacijami, vezanimi na elemente, kot je sklopljena analiza Razdelitev po elementih
Preprosta geometrija, podobna kvadru, z \(2^n\) domenami RCB
Kompleksna geometrija ali poljubno število domen METIS
Kontaktni problemi ali problemi z omejitvami MPC, ki uporabljajo predpogojevalnik SAINV Uporabite razdelitev po vozliščih z globino prekrivanja 2 ali več

Število domen je običajno usklajeno s številom procesov MPI. Za postopek vzporednega izvajanja in določanje števila procesov glejte Vzporedna analiza. Za razmerje med predpogojevalnikom SAINV in globino prekrivanja glejte tudi Reševalnik in predpogojevalniki.

Vrste razdelitve

Vrsta razdelitve določa, kateri entiteti mreže poddomena dodeli enolično lastništvo. Razdelitev po vozliščih dodeljuje lastništvo vozliščem, razdelitev po elementih pa elementom. V obeh primerih se informacije, potrebne za računanje s sosednjimi poddomenami, ohranijo kot podatki prekrivanja.

Razdelitev po vozliščih

Pri razdelitvi po vozliščih je vsako vozlišče dodeljeno natanko eni lastniški poddomeni. Elementi se s prekrivanjem ohranijo v sosednjih poddomenah. V vhodu se to določi z !PARTITION, TYPE=NODE-BASED.

Koncept razdelitve po vozliščih

Slika 10.1 Koncept razdelitve po vozliščih

Vsaka poddomena ohrani svoja notranja vozlišča, elemente, ki vsebujejo ta notranja vozlišča, in vozlišča, ki sestavljajo te elemente.

Vozlišča in elementi, ohranjeni v posamezni poddomeni pri razdelitvi po vozliščih

Slika 10.2 Vozlišča in elementi, ohranjeni v posamezni poddomeni pri razdelitvi po vozliščih

Komunikacijske preglednice pri razdelitvi po vozliščih vsebujejo naslednje informacije.

  • Uvozna vozlišča: vozlišča, ki se uporabljajo v poddomeni, vendar so v lasti druge poddomene.
  • Izvozna vozlišča: notranja vozlišča, ki so uvozna vozlišča druge poddomene.
  • Skupni elementi: elementi, ki so skupni z drugimi poddomenami.

Uvozna vozlišča pri razdelitvi po vozliščih

Slika 10.3 Uvozna vozlišča pri razdelitvi po vozliščih

Izvozna vozlišča pri razdelitvi po vozliščih

Slika 10.4 Izvozna vozlišča pri razdelitvi po vozliščih

Skupni elementi pri razdelitvi po vozliščih

Slika 10.5 Skupni elementi pri razdelitvi po vozliščih

Razdelitev po elementih

Pri razdelitvi po elementih je vsak element dodeljen natanko eni lastniški poddomeni. Vozlišča se s prekrivanjem ohranijo v sosednjih poddomenah. V vhodu se to določi z !PARTITION, TYPE=ELEMENT-BASED.

Koncept razdelitve po elementih

Slika 10.6 Koncept razdelitve po elementih

Vsaka poddomena ohrani svoje notranje elemente, vozlišča, ki sestavljajo te notranje elemente, in elemente, ki vsebujejo ta vozlišča.

Vozlišča in elementi, ohranjeni v posamezni poddomeni pri razdelitvi po elementih

Slika 10.7 Vozlišča in elementi, ohranjeni v posamezni poddomeni pri razdelitvi po elementih

Komunikacijske preglednice pri razdelitvi po elementih vsebujejo naslednje informacije.

  • Uvozni elementi: elementi, ki se uporabljajo v poddomeni, vendar so v lasti druge poddomene.
  • Izvozni elementi: notranji elementi, ki so uvozni elementi druge poddomene.
  • Skupna vozlišča: vozlišča, ki so skupna z drugimi poddomenami.

Uvozni elementi pri razdelitvi po elementih

Slika 10.8 Uvozni elementi pri razdelitvi po elementih

Izvozni elementi pri razdelitvi po elementih

Slika 10.9 Izvozni elementi pri razdelitvi po elementih

Skupna vozlišča pri razdelitvi po elementih

Slika 10.10 Skupna vozlišča pri razdelitvi po elementih

Pri obeh vrstah razdelitve hecmw_part1 samodejno ustvari komunikacijske preglednice in jih zapiše v porazdeljene podatke mreže. Uporabnikom zato običajno ni treba neposredno ustvarjati informacij o uvozu/izvozu.

Metode razdelitve

Metoda razdelitve določa način ustvarjanja meja poddomen. FrontISTR podpira koordinatno metodo RCB in METIS, ki temelji na razdelitvi grafa.

Metoda razdelitve Značilnosti Glavne omejitve in opombe
RCB Rekurzivno razpolavlja mrežo na osnovi koordinatnih vrednosti. Omogoča hitro razdelitev pri preprostih geometrijah. Število domen je omejeno na \(2^n\). Določiti je treba osi razdelitve.
pMETIS Uporablja razdelitev grafa ob upoštevanju povezanosti med domenami. Na voljo v gradnjah z omogočenim METIS.
kMETIS Uporablja večsmerno razdelitev grafa in je primeren za ustvarjanje meja domen pri kompleksnih geometrijah. Na voljo v gradnjah z omogočenim METIS.

RCB pomeni Recursive Coordinate Bisection in mrežo ponavljajoče razpolavlja vzdolž koordinatnih osi. Primeren je, kadar je število domen lahko \(2^n\), in je preprost za uporabo pri preprostih geometrijah, podobnih kvadru.

METIS obravnava povezanost mreže kot graf in ustvarja poddomene z razdelitvijo grafa. Primeren je za kompleksne geometrije ali kadar število domen ne sme biti omejeno na \(2^n\). Za uporabo METIS mora biti knjižnica METIS omogočena ob gradnji. Za obravnavo odvisnosti glejte Obvezne in neobvezne odvisnosti.

Globina prekrivanja

Globina prekrivanja je število plasti v območju, ki ga sosednje poddomene redundantno ohranijo. Pri razdelitvi po vozliščih !PARTITION omogoča, da se s parametrom DEPTH določi celo število 1 ali več. Privzeta globina prekrivanja je 1.

Za običajno vzporedno analizo zadošča DEPTH=1. Kadar pa se pri kontaktnem problemu ali problemu z omejitvami MPC uporablja predpogojevalnik iz družine SAI, kot je SAINV, lahko povečanje globine prekrivanja na 2 ali več izboljša kakovost predpogojevalnika.

Globina prekrivanja 2 ali več je potrebna tudi, kadar se pri tetraedrskem elementu prvega reda 341 v vzporednem računanju MPI uporablja selektivna formulacija glajenja po robovih/vozliščih (FORM341=SELECTIVE_ESNS). Glajenje po robovih in vozliščih povpreči količine po elementih, sosednjih ciljnemu elementu, zato sestavljanje togosti znotraj poddomene zahteva informacije o elementih, oddaljenih dve plasti sosednosti; pri privzetem DEPTH=1 je glajenje ob mejah domen nezadostno. Za podrobnosti formulacije elementa glejte Knjižnico elementov.

Povečanje globine prekrivanja poveča število vozlišč in elementov, ki jih ohranijo sosednje poddomene, s tem pa poveča porabo pomnilnika in obseg komunikacije. Nastavite jo ob tehtanju izboljšane konvergence glede na večji računski strošek. Za izbiro predpogojevalnika glejte Reševalnik in predpogojevalniki.

Obravnava kontaktnih točk

Pri razdelitvi mreže, ki vsebuje kontaktne pare, !PARTITION omogoča s parametrom CONTACT določiti pravilo razporeditve kontaktnih točk po domenah. Razporeditev kontaktnih točk vpliva na stabilnost in obseg komunikacije vzporednih analiz, ki vključujejo iskanje stika in kontaktne omejitve.

Vrednost Vloga
DEFAULT Uporabi standardno pravilo razporeditve.
SIMPLE Uporabi razporeditev, podobno običajni razdelitvi, brez posebnih uteži za kontaktne točke.
AGGREGATE Razdeli tako, da se vozlišča, povezana s kontaktnimi pari, praviloma združujejo.
DISTRIBUTE Razdeli tako, da je manj verjetno kopičenje kontaktnih vozlišč na glavni strani v posameznih poddomenah.

Pri mrežah brez stika parametru CONTACT praviloma ni treba posvečati pozornosti. Če se pri vzporedni analizi s stikom pojavijo težave s konvergenco ali uravnoteženjem obremenitve, preverite pravilo razporeditve kontaktnih točk. Za podrobnosti vhodne sintakse glejte !PARTITION.

Neodvisno od tega je mogoče s parametrom CONTACT_OWNER izbrati shemo lastništva pri vzporednem stiku. Medtem ko CONTACT določa »kako razdeliti«, CONTACT_OWNER določa »katera stran je odgovorna po razdelitvi«.

Vrednost Vloga
MASTER Shema lastništva glavne strani (privzeto). Glavna ploskev je razdeljena po domenah, ki so lastniki elementov, podrejena vozlišča pa se replicirajo v vsako domeno lastnika glavne strani.
SLAVE Shema lastništva podrejene strani. Vsako podrejeno vozlišče se ohrani samo v njegovi lastniški domeni, celotna glavna ploskev pa se postavi v to domeno.

Pri končnem drsenju (INTERACTION=FSLID na !CONTACT) lahko shema MASTER, ko podrejeno vozlišče prečka mejo razdelitve domene na glavni ploskvi, prekine iskanje sosednosti na meji, kar povzroči izgubo kontaktnega stanja in zgodovine trenja ter odvisnost rešitve od števila domen. Shema SLAVE se tej težavi izogne. Določiti jo je mogoče samo pri TYPE=NODE-BASED; poraba pomnilnika se poveča v domenah, ki so lastniki podrejenih vozlišč.

Izpis slike razdelitve domene

Če pri !PARTITION določite parameter UCD, se izpiše datoteka UCD za preverjanje rezultata razdelitve. Datoteko UCD je mogoče uporabiti z orodji za vizualizacijo, kot je MicroAVS, za pregled številk domen in meja razdelitve.

Po spremembi števila domen, metode razdelitve ali globine prekrivanja je pomembno preveriti neuravnoteženost med razdeljenimi domenami ali nenaravno razdrobljenost. Izpis UCD je pomožna funkcija za preverjanje veljavnosti razdelitve pred izvajanjem vzporedne analize.

Sorodne teme

AI-assisted translation May contain errors Official docs Status