Nettpartisjonering¶
Når et stort mesh skal analyseres parallelt med flere prosesser, må nettdataene for ett domene deles i deldomener, og informasjonen som kreves for hvert prosessansvar og kommunikasjonen mellom domenene, må genereres på forhånd. Denne forbehandlingen kalles nettpartisjonering.
I FrontISTR-parallellberegning deler hecmw_part1 nettdataene for ett domene i deldomener og oppretter distribuerte nettdata. De genererte distribuerte nettdataene leses av den parallelle fistr1 og brukes av den parallelle løseren sammen med informasjonen som trengs for kommunikasjon mellom domenene.
Denne siden beskriver partisjonstype, partisjoneringsmetode, overlappingsdybde og behandling av kontaktpunkter som velges ved nettpartisjonering. Se relaterte emner for kjøreprosedyren for hecmw_part1, konkret syntaks i styringsfilen og feilmeldinger.
Funksjonsoversikt¶
Nettpartisjonering er prosessen der nettdata for ett domene deles i flere deldomener. FrontISTR oppretter distribuerte nettdata ved å kombinere partisjonstype, partisjoneringsmetode, antall domener og overlappingsdybde.
| Valgakse | Viktigste alternativer | Rolle |
|---|---|---|
| Partisjonstype | Nodebasert partisjonering, elementbasert partisjonering | Bestemmer om noder eller elementer er enheten som får entydig domenetilhørighet. |
| Partisjoneringsmetode | RCB, METIS (pMETIS / kMETIS) | Bestemmer hvordan domenegrensene opprettes. |
| Antall domener | Vilkårlig positivt heltall (for RCB: \(2^n\)) | Bestemmer antallet deldomener i de distribuerte nettdataene. Vanligvis samsvarer dette med antallet MPI-prosesser. |
| Overlappingsdybde | Heltall på 1 eller større | Bestemmer hvor mange lag nabodomener beholder overlappende. Angis ved nodebasert partisjonering. |
| Kommunikasjonstabell | Import-, eksport- og delingsinformasjon | Definerer nødvendig datautveksling mellom nabodeldomener. Genereres automatisk ved nettpartisjonering. |
Kommunikasjonstabellen inngår i de distribuerte nettdataene, så brukeren trenger normalt ikke redigere den direkte. Den parallelle fistr1 leser disse distribuerte nettdataene og løser de lineære ligningene med parallelle direkte metoder som MUMPS eller iterative metoder.
Valg av nettpartisjonering¶
For vanlig strukturanalyse og varmeledningsanalyse bør nodebasert partisjonering vurderes først. Nodebasert partisjonering gjør det enkelt å håndtere kommunikasjon av nodeverdier som kreves i parallell FEM-analyse, og gjør det også mulig å angi overlappingsdybden. Elementbasert partisjonering er et alternativ for koblede analyser og andre tilfeller der den distribuerte informasjonen etter partisjonering skal håndteres med elementene som sentrum.
Partisjoneringsmetoden velges ut fra geometri og antall domener. For en enkel geometri der antallet domener kan være \(2^n\), er RCB et enkelt og stabilt valg. For komplisert geometri eller når et vilkårlig antall domener ønskes, er METIS-basert grafpartisjonering et alternativ.
| Problemets egenskaper | Anbefalt valg |
|---|---|
| Standard parallell strukturanalyse eller varmeledningsanalyse | Nodebasert partisjonering |
| Bruk av element-sentrert distribuert informasjon, for eksempel i koblede analyser | Elementbasert partisjonering |
| Enkel, omtrent rektangulær geometri og antall domener \(2^n\) | RCB |
| Komplisert geometri eller vilkårlig antall domener | METIS |
| Kontaktproblemer eller MPC-betingelser med SAINV-prekondisjonering | Nodebasert partisjonering med overlappingsdybde 2 eller større |
Antallet domener settes vanligvis lik antallet MPI-prosesser. Se Parallell analyse for fremgangsmåten for parallell kjøring og angivelse av prosessantall. Se også Løser og prekondisjonering for forholdet mellom SAINV-prekondisjonering og overlappingsdybde.
Partisjonstyper¶
Partisjonstypen bestemmer hvilken enhet i meshet som får en entydig tilhørighet til ett deldomene. Ved nodebasert partisjonering bestemmes tilhørigheten for nodene, mens den ved elementbasert partisjonering bestemmes for elementene. I begge tilfeller beholdes informasjon som kreves for beregning med nabodeldomener som overlapping.
Nodebasert partisjonering¶
Ved nodebasert partisjonering bestemmes ett entydig deldomene for hver node. I nabodeldomener beholdes elementer overlappende. I inndata angis dette med !PARTITION, TYPE=NODE-BASED.

Hvert deldomene beholder interne noder, elementer som inneholder interne noder, og nodene som utgjør disse elementene.

Kommunikasjonstabellen ved nodebasert partisjonering inneholder følgende informasjon.
- Importnoder: Noder som brukes i deldomenet, men som tilhører et annet deldomene.
- Eksportnoder: Interne noder som er importnoder i et annet deldomene.
- Delte elementer: Elementer som deles med andre deldomener.



Elementbasert partisjonering¶
Ved elementbasert partisjonering bestemmes ett entydig deldomene for hvert element. I nabodeldomener beholdes noder overlappende. I inndata angis dette med !PARTITION, TYPE=ELEMENT-BASED.

Hvert deldomene beholder interne elementer, nodene som utgjør de interne elementene, og elementene som inneholder disse nodene.

Kommunikasjonstabellen ved elementbasert partisjonering inneholder følgende informasjon.
- Importelementer: Elementer som brukes i deldomenet, men som tilhører et annet deldomene.
- Eksportelementer: Interne elementer som er importelementer i et annet deldomene.
- Delte noder: Noder som deles med andre deldomener.



For begge partisjonstyper genererer hecmw_part1 kommunikasjonstabellen automatisk og skriver den til de distribuerte nettdataene. Derfor trenger brukeren normalt ikke opprette import- og eksportinformasjon direkte.
Partisjoneringsmetoder¶
Partisjoneringsmetoden bestemmer hvordan grensene mellom deldomenene opprettes. FrontISTR kan bruke koordinatbasert RCB og grafbasert METIS.
| Partisjoneringsmetode | Egenskaper | Viktigste begrensninger og merknader |
|---|---|---|
| RCB | Deler rekursivt i to ut fra koordinatverdier. Kan dele enkel geometri raskt. | Antall domener er begrenset til \(2^n\). Delingsakse må angis. |
| pMETIS | Partisjonerer med grafdeling og tar hensyn til forbindelsene mellom domenene. | Tilgjengelig når FrontISTR er bygget med METIS aktivert. |
| kMETIS | Grafdeling i flere domener; gjør det lettere å lage domenegrenser også for komplisert geometri. | Tilgjengelig når FrontISTR er bygget med METIS aktivert. |
RCB står for Recursive Coordinate Bisection og deler gjentatte ganger meshet i to langs koordinataksene. Metoden passer når antallet domener kan være \(2^n\), og er enkel å bruke for geometri som ligner en rektangulær blokk.
METIS behandler forbindelsene i meshet som en graf og oppretter deldomener ved grafpartisjonering. Det er et alternativ når geometrien er komplisert eller når antallet domener ikke skal begrenses til \(2^n\). For å bruke METIS må METIS-biblioteket være aktivert ved bygging. Se Påkrevde og valgfrie avhengigheter for håndtering av avhengigheter.
Overlappingsdybde¶
Overlappingsdybden er antall lag med informasjon som nabodeldomener beholder overlappende. Ved nodebasert partisjonering kan et heltall på 1 eller større angis med parameteren DEPTH i !PARTITION. Standard overlappingsdybde når parameteren utelates, er 1.
Ved vanlig parallell analyse er DEPTH=1 tilstrekkelig. Når prekondisjonering av SAI-typen, som SAINV, brukes på kontaktproblemer eller problemer med MPC-betingelser, kan en overlappingsdybde på 2 eller større forbedre kvaliteten på prekondisjoneringen.
Når selektiv kant-/nodeutjevningsformulering (FORM341=SELECTIVE_ESNS) brukes med førsteordens tetraederelement 341 i MPI-parallell kjøring, må overlappingsdybden også være 2 eller større. Ved kantbasert/nodebasert utjevning gjennomsnittberegnes størrelser fra elementer ved siden av målelementet. For å sammenstille stivheten innenfor et deldomene trengs derfor informasjon fra «naboens nabo»-elementer, og standard DEPTH=1 gir utilstrekkelig utjevning nær domenegrensene. Se Elementbibliotek for detaljer om elementformuleringen.
Økt overlappingsdybde betyr at nabodeldomener beholder flere noder og elementer, slik at både minnebruk og kommunikasjonsmengde øker. Innstillingen bør velges ved å veie mulig forbedring i konvergens mot økt beregningskostnad. Se Løser og prekondisjonering for valg av prekondisjonering.
Behandling av kontaktpunkter¶
Når et mesh med kontaktpar partisjoneres, kan parameteren CONTACT i !PARTITION brukes til å angi strategien for plassering av kontaktpunkter mellom domenene. Plasseringen påvirker stabiliteten og kommunikasjonsmengden i parallell analyse med kontaktsøk og kontaktbetingelser.
| Verdi | Betydning |
|---|---|
DEFAULT | Bruker standardstrategien for plassering. |
SIMPLE | Bruker en plassering nær vanlig partisjonering uten særskilt vekting av kontaktpunkter. |
AGGREGATE | Partisjonerer i retning av å samle nodegrupper som er knyttet til kontaktpar. |
DISTRIBUTE | Partisjonerer slik at mastersidens kontaktnoder i mindre grad blir skjevt fordelt mellom deldomenene. |
For mesh uten kontakt er det ikke nødvendig å ta hensyn til parameteren CONTACT. Hvis det oppstår problemer med konvergens eller lastbalansering i en parallell analyse med kontakt, bør strategien for plassering av kontaktpunkter vurderes. Se !PARTITION for detaljert inndatastruktur.
Uavhengig av dette kan parameteren CONTACT_OWNER brukes til å velge eierskapsmodell for parallell kontakt. Mens CONTACT angir «hvordan det deles», angir CONTACT_OWNER «hvilken side som har ansvaret etter delingen».
| Verdi | Betydning |
|---|---|
MASTER | Master-eierskap (standard). Masterflaten deles etter eierdomene for elementene, og slavenodene dupliseres til hvert master-eierdomene. |
SLAVE | Slave-eierskap. Slavenoden beholdes bare av sitt eierdomene, og hele masterflaten plasseres i dette domenet. |
Ved endelig glidning (INTERACTION=FSLID i !CONTACT) kan en slavenode krysse en domenepartisjonsgrense på masterflaten. Med MASTER kan nabosøket da brytes ved grensen, slik at kontaktstatus og friksjonshistorikk går tapt og løsningen blir avhengig av antallet domener. SLAVE unngår dette. Det kan bare angis når TYPE=NODE-BASED, og minnebruken øker i domenet som eier slavenoden.
Utdata av bilde av nettpartisjoneringen¶
Når parameteren UCD i !PARTITION angis, kan en UCD-fil skrives ut for å kontrollere partisjoneringsresultatet. UCD-filen kan brukes i visualiseringsverktøy som MicroAVS til å kontrollere domenenumre og partisjonsgrenser.
Etter at antall domener, partisjoneringsmetode eller overlappingsdybde er endret, er det viktig å kontrollere at domenene ikke er ubalanserte eller delt opp på en unaturlig måte. UCD-utdata er en hjelpefunksjon for å kontrollere at partisjoneringen er rimelig før den parallelle analysen kjøres.
Relaterte emner¶
- Parallell analyse — kjøreprosedyre for
hecmw_part1, inndatafiler og kontroll av utdata for distribuerte nettdata. - Løser og prekondisjonering — parallell løser, prekondisjonering og forholdet mellom SAINV og overlappingsdybde.
- Liste over feilmeldinger — representative feilmeldinger fra
hecmw_part1ogfistr1. - Parallell endelig element-metode — teoretisk bakgrunn for domenedekomponering og parallell FEM.
- !PARTITION — inndatastruktur for styringsdata til nettpartisjoneringsverktøyet.