Maasverdeling¶
Wanneer ’n grootskaalse maas parallel met verskeie prosesse ontleed word, moet die enkeldomeinmaas eers in subdomeine verdeel word, en die inligting wat nodig is om elke proses toe te wys en vir kommunikasie tussen domeine, moet vooraf gegenereer word. Hierdie voorverwerkingstap word maasverdeling genoem.
In FrontISTR se parallelle berekening verdeel hecmw_part1 ’n enkeldomeinmaas in subdomeine en skep verspreide maasdata. Die gegenereerde verspreide maasdata word deur parallelle fistr1 gelees en saam met die inligting wat vir kommunikasie tussen domeine nodig is deur die parallelle oplosser gebruik.
Hierdie bladsy beskryf die verdelingstipe, verdelingsmetode, oorvleuelingsdiepte en hantering van kontakpunte wat vir maasverdeling gekies word. Vir die uitvoeringsprosedure van hecmw_part1, die spesifieke sintaksis van die beheerlêer en foutboodskappe, sien die verwante onderwerpe.
Oorsig¶
Maasverdeling is die proses waardeur ’n enkeldomeinmaas in verskeie subdomeine verdeel word. FrontISTR skep verspreide maasdata deur ’n verdelingstipe, verdelingsmetode, aantal domeine en oorvleuelingsdiepte te kombineer.
| Keuse-as | Belangrikste opsies | Rol |
|---|---|---|
| Verdelingstipe | Nodusgebaseerde verdeling, elementgebaseerde verdeling | Bepaal of eienaarskap per nodus of per element toegeken word. |
| Verdelingsmetode | RCB, METIS (pMETIS / kMETIS) | Bepaal hoe domeingrense geskep word. |
| Aantal domeine | Enige positiewe heelgetal (\(2^n\) vir RCB) | Bepaal die aantal subdomeine in die verspreide maasdata. Normaalweg word dit met die aantal MPI-prosesse ooreenstem. |
| Oorvleuelingsdiepte | Heelgetal van 1 of groter | Bepaal die omvang wat oorbodig deur naburige domeine behou word. Word vir nodusgebaseerde verdeling gespesifiseer. |
| Kommunikasietabelle | Invoer-/uitvoerinligting, gedeelde inligting | Definieer die data-uitruiling wat tussen naburige subdomeine nodig is. Word outomaties tydens maasverdeling gegenereer. |
Omdat die kommunikasietabelle in die verspreide maasdata ingesluit is, hoef gebruikers dit normaalweg nie direk te redigeer nie. Parallelle fistr1 lees die verspreide maasdata en los die lineêre vergelykings op met ’n parallelle direkte metode soos MUMPS of ’n iteratiewe metode.
Keuse van ’n maasverdelingskonfigurasie¶
Vir gewone strukturele en warmtegeleidingsanalises behoort nodusgebaseerde verdeling gewoonlik eerste oorweeg te word. Nodusgebaseerde verdeling maak kommunikasie van noduswaardes wat in parallelle eindige-elementanalise benodig word eenvoudig, en laat ook toe dat die oorvleuelingsdiepte gespesifiseer word. Elementgebaseerde verdeling is ’n opsie vir toepassings soos gekoppelde analise waar die verdeelde inligting hoofsaaklik per element hanteer moet word.
Kies die verdelingsmetode volgens die geometrie en die aantal domeine. Vir eenvoudige geometrieë waar die aantal domeine \(2^n\) kan wees, is RCB ’n eenvoudige en stabiele keuse. Vir komplekse geometrieë of wanneer ’n willekeurige aantal domeine vereis word, is METIS, wat op grafiekverdeling gebaseer is, ’n kandidaat.
| Probleemeienskappe | Aanbevole keuse |
|---|---|
| Standaard parallelle strukturele of warmtegeleidingsanalise | Nodusgebaseerde verdeling |
| Toepassings wat elementgesentreerde verspreide inligting gebruik, soos gekoppelde analise | Elementgebaseerde verdeling |
| Eenvoudige geometrie naby aan ’n reghoekige prisma, met \(2^n\) domeine | RCB |
| Komplekse geometrie of willekeurige aantal domeine | METIS |
| Kontak- of MPC-beperkte probleme wat die SAINV-voorkondisioneerder gebruik | Gebruik nodusgebaseerde verdeling met ’n oorvleuelingsdiepte van 2 of groter |
Die aantal domeine word normaalweg met die aantal MPI-prosesse ooreenstem. Vir die prosedure vir parallelle uitvoering en die spesifikasie van die prosesgetal, sien Parallelle analise. Vir die verband tussen die SAINV-voorkondisioneerder en oorvleuelingsdiepte, sien ook Oplosser en voorkondisioneerders.
Verdelingstipes¶
Die verdelingstipe bepaal aan watter maas-entiteit unieke eienaarskap deur ’n subdomein toegeken word. Nodusgebaseerde verdeling ken eienaarskap aan nodusse toe, terwyl elementgebaseerde verdeling eienaarskap aan elemente toeken. In albei gevalle word inligting wat vir berekening met naburige subdomeine nodig is as oorvleuelingsdata behou.
Nodusgebaseerde verdeling¶
In nodusgebaseerde verdeling word elke nodus aan presies een eienaar-subdomein toegeken. Elemente word met oorvleueling in naburige subdomeine behou. In die invoer word dit met !PARTITION, TYPE=NODE-BASED gespesifiseer.

Elke subdomein behou sy interne nodusse, die elemente wat daardie interne nodusse bevat, en die nodusse waaruit daardie elemente bestaan.

Die kommunikasietabelle vir nodusgebaseerde verdeling bevat die volgende inligting.
- Invoernodusse: Nodusse wat in ’n subdomein gebruik word maar deur ’n ander subdomein besit word.
- Uitvoernodusse: Interne nodusse wat invoernodusse van ’n ander subdomein is.
- Gedeelde elemente: Elemente wat met ander subdomeine gedeel word.



Elementgebaseerde verdeling¶
In elementgebaseerde verdeling word elke element aan presies een eienaar-subdomein toegeken. Nodusse word met oorvleueling in naburige subdomeine behou. In die invoer word dit met !PARTITION, TYPE=ELEMENT-BASED gespesifiseer.

Elke subdomein behou sy interne elemente, die nodusse waaruit daardie interne elemente bestaan, en die elemente wat daardie nodusse bevat.

Die kommunikasietabelle vir elementgebaseerde verdeling bevat die volgende inligting.
- Invoerelemente: Elemente wat in ’n subdomein gebruik word maar deur ’n ander subdomein besit word.
- Uitvoerelemente: Interne elemente wat invoerelemente van ’n ander subdomein is.
- Gedeelde nodusse: Nodusse wat met ander subdomeine gedeel word.



Vir enige van die verdelingstipes genereer hecmw_part1 die kommunikasietabelle outomaties en skryf dit na die verspreide maasdata. Gebruikers hoef dus normaalweg nie invoer-/uitvoerinligting direk te skep nie.
Verdelingsmetodes¶
Die verdelingsmetode bepaal hoe subdomeingrense geskep word. FrontISTR ondersteun koördinaatgebaseerde RCB en grafiekverdeling-gebaseerde METIS.
| Verdelingsmetode | Eienskappe | Belangrikste beperkings en opmerkings |
|---|---|---|
| RCB | Halveer die maas rekursief op grond van koördinaatwaardes. Bied vinnige verdeling vir eenvoudige geometrieë. | Die aantal domeine is tot \(2^n\) beperk. Verdelingsasse moet gespesifiseer word. |
| pMETIS | Gebruik grafiekverdeling terwyl verbinding tussen domeine in ag geneem word. | Beskikbaar in bouweergawes waarin METIS geaktiveer is. |
| kMETIS | Gebruik meerweg-grafiekverdeling en is geskik om domeingrense in komplekse geometrieë te skep. | Beskikbaar in bouweergawes waarin METIS geaktiveer is. |
RCB staan vir Recursive Coordinate Bisection en halveer die maas herhaaldelik langs koördinaatasse. Dit is geskik wanneer die aantal domeine \(2^n\) kan wees en is maklik om vir eenvoudige, boksagtige geometrieë te gebruik.
METIS behandel maasverbinding as ’n grafiek en skep subdomeine deur grafiekverdeling. Dit is ’n kandidaat vir komplekse geometrieë of wanneer die aantal domeine nie tot \(2^n\) beperk moet wees nie. Om METIS te gebruik, moet die METIS-biblioteek tydens die bouproses geaktiveer wees. Vir die hantering van afhanklikhede, sien Vereiste en opsionele afhanklikhede.
Oorvleuelingsdiepte¶
Die oorvleuelingsdiepte is die aantal lae in die gebied wat oorbodig deur naburige subdomeine behou word. Vir nodusgebaseerde verdeling laat !PARTITION toe dat ’n heelgetal van 1 of groter met die DEPTH-parameter gespesifiseer word. Die verstek-oorvleuelingsdiepte is 1.
Vir gewone parallelle analise is DEPTH=1 voldoende. Wanneer ’n SAI-familie-voorkondisioneerder soos SAINV egter vir ’n kontakprobleem of ’n probleem met MPC-beperkings gebruik word, kan die verhoging van die oorvleuelingsdiepte tot 2 of groter die kwaliteit van die voorkondisioneerder verbeter.
’n Oorvleuelingsdiepte van 2 of groter word ook vereis wanneer die selektiewe rand-/nodusgladstrykformulering (FORM341=SELECTIVE_ESNS) met eerste-orde tetraëdriese element 341 in MPI-parallelle berekening gebruik word. Randgebaseerde en nodusgebaseerde gladstryk neem gemiddeldes van hoeveelhede oor elemente wat aan die teikenelement grens; die samestelling van styfheid binne ’n subdomein vereis dus inligting van elemente twee aangrensingslae weg. Met die verstek DEPTH=1 is gladstryk naby domeingrense onvoldoende. Vir besonderhede van die elementformulering, sien Elementbiblioteek.
Die verhoging van die oorvleuelingsdiepte verhoog die aantal nodusse en elemente wat deur naburige subdomeine behou word, en verhoog dus sowel geheuegebruik as kommunikasievolume. Stel dit deur verbeterde konvergensie teen verhoogde berekeningskoste af te weeg. Vir die keuse van voorkondisioneerder, sien Oplosser en voorkondisioneerders.
Hantering van kontakpunte¶
Wanneer ’n maas wat kontakpare bevat verdeel word, laat !PARTITION toe dat die CONTACT-parameter gebruik word om die domeinplasingsbeleid vir kontakpunte te spesifiseer. Die plasing van kontakpunte beïnvloed die stabiliteit en kommunikasievolume van parallelle analises wat kontaksoektog en kontakbeperkings behels.
| Waarde | Rol |
|---|---|
DEFAULT | Gebruik die standaardplasingsbeleid. |
SIMPLE | Gebruik plasing naby aan gewone verdeling sonder om spesiale gewigte aan kontakpunte toe te ken. |
AGGREGATE | Verdeel op ’n manier wat geneig is om nodusse wat met kontakpare verband hou saam te groepeer. |
DISTRIBUTE | Verdeel sodat kontaknodusse aan die meesterkant minder geneig is om in bepaalde subdomeine gekonsentreer te word. |
Vir maasse sonder kontak verg die CONTACT-parameter gewoonlik geen aandag nie. Indien konvergensie of lasbalansering problematies is in parallelle analise met kontak, hersien die plasingsbeleid vir kontakpunte. Vir besonderhede oor invoersintaksis, sien !PARTITION.
Onafhanklik hiervan kan die CONTACT_OWNER-parameter gebruik word om die eienaarskapskema vir parallelle kontak te kies. Terwyl CONTACT spesifiseer "hoe om te verdeel", spesifiseer CONTACT_OWNER "watter kant ná verdeling verantwoordelik is".
| Waarde | Rol |
|---|---|
MASTER | Meester-eienaarskema (verstek). Die meesteroppervlak word volgens elementbesittende domeine verdeel, en slaafnodusse word na elke meesterbesittende domein gerepliseer. |
SLAVE | Slaaf-eienaarskema. Elke slaafnodus word slegs deur sy eienaarsdomein behou, en die volledige meesteroppervlak word in daardie domein geplaas. |
Vir eindige gly (INTERACTION=FSLID op !CONTACT), wanneer ’n slaafnodus ’n maasverdelingsgrens op die meesteroppervlak oorsteek, kan die MASTER-skema die aangrensendheidsoektog by die grens onderbreek, waardeur die kontaktoestand en wrywingsgeskiedenis verlore raak en die oplossing afhanklik van die aantal domeine word. Die SLAVE-skema vermy hierdie probleem. Dit kan slegs gespesifiseer word wanneer TYPE=NODE-BASED; geheuegebruik neem toe in domeine wat slaafnodusse besit.
Uitvoer van ’n maasverdelingsbeeld¶
Wanneer die UCD-parameter met !PARTITION gespesifiseer word, word ’n UCD-lêer uitgevoer waarmee die verdelingsresultaat nagegaan kan word. Die UCD-lêer kan met visualiseringsgereedskap soos MicroAVS gebruik word om domeinnommers en verdelingsgrense te ondersoek.
Nadat die aantal domeine, verdelingsmetode of oorvleuelingsdiepte verander is, is dit belangrik om na wanbalans tussen die verdeelde domeine of onnatuurlike fragmentasie te kyk. UCD-uitvoer is ’n hulpfunksie waarmee die geldigheid van die verdeling nagegaan kan word voordat die parallelle analise uitgevoer word.
Verwante onderwerpe¶
- Parallelle analise — uitvoeringsprosedure vir
hecmw_part1, invoerlêers en verifikasie van die uitvoer van verspreide maasdata. - Oplosser en voorkondisioneerders — parallelle oplossers, voorkondisioneerders en die verband tussen SAINV en oorvleuelingsdiepte.
- Lys van foutboodskappe — verteenwoordigende foutboodskappe van
hecmw_part1enfistr1. - Parallelle eindige-elementmetode — teoretiese agtergrond van domeinverdeling en parallelle eindige-elementmetodes.
- !PARTITION — invoersintaksis vir die beheerdata van die maasverdelingshulpmiddel.