Pereiti prie turinio

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.

Skaidymo pagal mazgus principas

10.1 pav. Skaidymo pagal mazgus principas

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

Mazgai ir elementai, kuriuos kiekvienas posritis saugo skaidant pagal mazgus

10.2 pav. Mazgai ir elementai, kuriuos kiekvienas posritis saugo skaidant pagal mazgus

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.

Importuojami mazgai skaidant pagal mazgus

10.3 pav. Importuojami mazgai skaidant pagal mazgus

Eksportuojami mazgai skaidant pagal mazgus

10.4 pav. Eksportuojami mazgai skaidant pagal mazgus

Bendrinami elementai skaidant pagal mazgus

10.5 pav. Bendrinami elementai skaidant pagal mazgus

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.

Skaidymo pagal elementus principas

10.6 pav. Skaidymo pagal elementus principas

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

Mazgai ir elementai, kuriuos kiekvienas posritis saugo skaidant pagal elementus

10.7 pav. Mazgai ir elementai, kuriuos kiekvienas posritis saugo skaidant pagal elementus

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.

Importuojami elementai skaidant pagal elementus

10.8 pav. Importuojami elementai skaidant pagal elementus

Eksportuojami elementai skaidant pagal elementus

10.9 pav. Eksportuojami elementai skaidant pagal elementus

Bendrinami mazgai skaidant pagal elementus

10.10 pav. Bendrinami mazgai skaidant pagal elementus

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

AI-assisted translation May contain errors Official docs Status