Gå til indholdet

Domænedekomponering

Ved parallel analyse af et stort net med flere processer skal nettet i ét domæne opdeles i deldomæner, og oplysninger om det område, som hver proces håndterer, samt om den nødvendige kommunikation mellem områderne, skal genereres på forhånd. Denne forbehandling kaldes domænedekomponering.

I FrontISTR-parallelberegning opdeler hecmw_part1 nettet i ét domæne i deldomæner og opretter distribuerede netdata. De genererede distribuerede netdata læses af den parallelle fistr1 og anvendes af den parallelle solver sammen med oplysningerne til kommunikation mellem domæner.

Denne side beskriver de dekomponeringstyper og -metoder, overlapdybden og håndteringen af kontaktpunkter, der vælges ved domænedekomponering. Se de relaterede emner for udførelsesproceduren for hecmw_part1, det konkrete format for kontrolfilen og fejlmeddelelser.

Funktionsoversigt

Domænedekomponering opdeler et net i ét domæne i flere deldomæner. FrontISTR opretter distribuerede netdata ved at kombinere dekomponeringstype, dekomponeringsmetode, antal domæner og overlapdybde.

Valgparameter Vigtigste valg Rolle
Dekomponeringstype Knudebaseret, elementbaseret Bestemmer, om tilhørsforholdet afgøres pr. knude eller element.
Dekomponeringsmetode RCB, METIS (pMETIS / kMETIS) Bestemmer, hvordan domænegrænserne dannes.
Antal domæner Vilkårligt positivt heltal (for RCB \(2^n\)) Bestemmer antallet af deldomæner i de distribuerede netdata. Sættes normalt lig med antallet af MPI-processer.
Overlapdybde Heltal på 1 eller mere Bestemmer omfanget, der lagres overlappende af nabodomæner. Angives ved knudebaseret dekomponering.
Kommunikationstabeller Import-, eksport- og delingsoplysninger Definerer den nødvendige dataudveksling mellem nabodeldomæner. Genereres automatisk ved domænedekomponering.

Da kommunikationstabellerne indgår i de distribuerede netdata, behøver brugeren normalt ikke at redigere dem direkte. Den parallelle fistr1 læser de distribuerede netdata og løser de lineære ligninger med en parallel direkte metode som MUMPS eller en iterativ metode.

Valg af domænedekomponering

Ved almindelig strukturanalyse og varmeledningsanalyse bør knudebaseret dekomponering først overvejes. Den gør det let at håndtere kommunikation af knudeværdier, som kræves ved parallel endelig-element-analyse, og overlapdybden kan angives. Elementbaseret dekomponering er et alternativ til anvendelser som koblede analyser, hvor de distribuerede oplysninger skal behandles elementcentreret.

Dekomponeringsmetoden vælges ud fra geometrien og antallet af domæner. Ved en enkel geometri, hvor antallet af domæner kan være \(2^n\), er RCB et enkelt og robust valg. Ved komplekse geometrier eller et vilkårligt antal domæner er METIS, som bygger på grafpartitionering, et relevant valg.

Problemkarakteristik Anbefalet valg
Standard parallel strukturanalyse eller varmeledningsanalyse Knudebaseret dekomponering
Anvendelser med elementcentrerede distribuerede data, f.eks. koblede analyser Elementbaseret dekomponering
Enkel, omtrent kasseformet geometri med \(2^n\) domæner RCB
Kompleks geometri eller vilkårligt antal domæner METIS
Kontaktproblemer eller MPC-begrænsninger med SAINV-prækonditionering Knudebaseret dekomponering med overlapdybde på 2 eller mere

Antallet af domæner sættes normalt lig med antallet af MPI-processer. Se Analyse med parallel behandling for proceduren for parallel kørsel og angivelse af procesantal. Se også Solver og prækonditionering for sammenhængen mellem SAINV-prækonditionering og overlapdybde.

Dekomponeringstyper

Dekomponeringstypen bestemmer, hvilken enhed i nettet der tildeles ét entydigt deldomæne. Ved knudebaseret dekomponering bestemmes knudernes tilhørsforhold; ved elementbaseret dekomponering bestemmes elementernes. I begge tilfælde lagres oplysninger, der kræves til beregning med nabodeldomæner, som overlap.

Knudebaseret dekomponering

Ved knudebaseret dekomponering tildeles hver knude ét entydigt deldomæne. Elementer lagres overlappende i nabodeldomæner. I input angives dette med !PARTITION, TYPE=NODE-BASED.

Princip for knudebaseret dekomponering

Figur 10.1 Princip for knudebaseret dekomponering

Hvert deldomæne indeholder indre knuder, elementer der indeholder de indre knuder, samt knuderne der udgør disse elementer.

Knuder og elementer, som hvert deldomæne indeholder ved knudebaseret dekomponering

Figur 10.2 Knuder og elementer i hvert deldomæne ved knudebaseret dekomponering

Kommunikationstabellen for knudebaseret dekomponering indeholder følgende oplysninger.

  • Importknuder: knuder, der anvendes i deldomænet, men tilhører et andet deldomæne.
  • Eksportknuder: indre knuder, som er importknuder i andre deldomæner.
  • Delte elementer: elementer, der deles med andre deldomæner.

Importknuder ved knudebaseret dekomponering

Figur 10.3 Importknuder ved knudebaseret dekomponering

Eksportknuder ved knudebaseret dekomponering

Figur 10.4 Eksportknuder ved knudebaseret dekomponering

Delte elementer ved knudebaseret dekomponering

Figur 10.5 Delte elementer ved knudebaseret dekomponering

Elementbaseret dekomponering

Ved elementbaseret dekomponering tildeles hvert element ét entydigt deldomæne. Knuder lagres overlappende i nabodeldomæner. I input angives dette med !PARTITION, TYPE=ELEMENT-BASED.

Princip for elementbaseret dekomponering

Figur 10.6 Princip for elementbaseret dekomponering

Hvert deldomæne indeholder indre elementer, knuderne der udgør de indre elementer, samt elementer der indeholder disse knuder.

Knuder og elementer, som hvert deldomæne indeholder ved elementbaseret dekomponering

Figur 10.7 Knuder og elementer i hvert deldomæne ved elementbaseret dekomponering

Kommunikationstabellen for elementbaseret dekomponering indeholder følgende oplysninger.

  • Importelementer: elementer, der anvendes i deldomænet, men tilhører et andet deldomæne.
  • Eksportelementer: indre elementer, som er importelementer i andre deldomæner.
  • Delte knuder: knuder, der deles med andre deldomæner.

Importelementer ved elementbaseret dekomponering

Figur 10.8 Importelementer ved elementbaseret dekomponering

Eksportelementer ved elementbaseret dekomponering

Figur 10.9 Eksportelementer ved elementbaseret dekomponering

Delte knuder ved elementbaseret dekomponering

Figur 10.10 Delte knuder ved elementbaseret dekomponering

For begge dekomponeringstyper genererer hecmw_part1 automatisk kommunikationstabellerne og skriver dem til de distribuerede netdata. Brugeren behøver derfor normalt ikke selv at oprette import- og eksportoplysninger.

Dekomponeringsmetoder

Dekomponeringsmetoden beskriver, hvordan grænserne mellem deldomæner bestemmes. FrontISTR understøtter RCB baseret på koordinatværdier og METIS baseret på grafpartitionering.

Dekomponeringsmetode Egenskaber Vigtigste begrænsninger/bemærkninger
RCB Rekursiv todeling baseret på koordinatværdier. Hurtig for enkle geometrier. Antallet af domæner er begrænset til \(2^n\). Dekomponeringsakser skal angives.
pMETIS Grafpartitionering, der tager forbindelser mellem domæner i betragtning. Tilgængelig i bygninger med METIS aktiveret.
kMETIS Grafpartitionering i flere domæner; egnet til at danne domænegrænser i komplekse geometrier. Tilgængelig i bygninger med METIS aktiveret.

RCB står for Recursive Coordinate Bisection og gentager todeling af nettet langs koordinatakser. Metoden er velegnet, når antallet af domæner kan være \(2^n\), og er let at anvende på enkle, omtrent kasseformede geometrier.

METIS behandler nettets forbindelser som en graf og opretter deldomæner ved grafpartitionering. Det er et relevant valg ved komplekse geometrier eller når antallet af domæner ikke skal begrænses til \(2^n\). For at bruge METIS skal METIS-biblioteket være aktiveret ved bygning. Se Obligatoriske og valgfrie afhængigheder for håndtering af afhængige biblioteker.

Overlapdybde

Overlapdybden er antallet af lag i det område, som nabodeldomæner lagrer overlappende. Ved knudebaseret dekomponering kan parameteren DEPTH i !PARTITION angives som et heltal på 1 eller mere. Standardværdien er 1.

Ved almindelig parallel analyse er DEPTH=1 tilstrækkeligt. Når SAI-prækonditionering som SAINV anvendes til kontaktproblemer eller MPC-begrænsninger, kan en overlapdybde på 2 eller mere forbedre prækonditioneringens kvalitet.

Ved MPI-parallel anvendelse af formuleringen med selektiv kant-/knudeudglatning (FORM341=SELECTIVE_ESNS) for det lineære tetraederelement 341 skal overlapdybden også være 2 eller mere. Kant- og knudebaseret udglatning gennemsnitter størrelser fra elementer, der støder op til målelementet, så samling af stivheden i et deldomæne kræver oplysninger om elementer "to naboer væk"; standarden DEPTH=1 giver derfor utilstrækkelig udglatning nær domænegrænser. Se Elementbibliotek for detaljer om elementformuleringen.

En større overlapdybde øger antallet af knuder og elementer, som nabodeldomæner lagrer, og dermed også hukommelsesforbrug og kommunikation. Indstil værdien ved at afveje forbedret konvergens mod øgede beregningsomkostninger. Se Solver og prækonditionering for valg af prækonditionering.

Håndtering af kontaktpunkter

Ved dekomponering af et net med kontaktpar kan parameteren CONTACT i !PARTITION angive strategien for placering af kontaktpunkter i domæner. Placeringen påvirker stabiliteten og kommunikationsmængden i parallel analyse med kontaktsøgning og kontaktbegrænsninger.

Værdi Betydning
DEFAULT Brug standardstrategien for placering.
SIMPLE Brug en placering tæt på almindelig dekomponering uden særlig vægtning af kontaktpunkter.
AGGREGATE Dekomponer med tendens til at samle knudegrupper, der indgår i kontaktpar.
DISTRIBUTE Dekomponer, så masterknuderne i kontakten fordeles mere jævnt mellem deldomæner.

For net uden kontakt er det ikke nødvendigt at tage hensyn til parameteren CONTACT. Hvis der opstår problemer med konvergens eller belastningsfordeling i parallel analyse med kontakt, bør strategien for kontaktpunktplacering revurderes. Se !PARTITION for detaljer om inputformatet.

Uafhængigt heraf kan parameteren CONTACT_OWNER vælge ejerskabsmetode for parallel kontakt. CONTACT angiver "hvordan der opdeles", mens CONTACT_OWNER angiver "hvilken side der er ansvarlig efter opdelingen".

Værdi Betydning
MASTER Master-ejerskab (standard). Masterfladen opdeles efter elementernes ejerdomæner, og slaveknuder kopieres til hvert masterejende domæne.
SLAVE Slave-ejerskab. Hver slaveknude beholdes kun i dens ejerdomæne, og hele masterfladen placeres i dette domæne.

Når en slaveknude ved endelig glidning (INTERACTION=FSLID i !CONTACT) krydser en domænegrænse på masterfladen, kan nabosøgningen med MASTER afbrydes ved grænsen, så kontakttilstand og friktionshistorik mistes, og løsningen bliver afhængig af antallet af domæner. SLAVE undgår dette. Det kan kun angives med TYPE=NODE-BASED, og hukommelsesforbruget øges i det domæne, der ejer slaven.

Output af domænedekomponeringsbillede

Når parameteren UCD i !PARTITION angives, kan der skrives en UCD-fil til kontrol af dekomponeringsresultatet. UCD-filen bruges til at kontrollere domænenumre og dekomponeringsgrænser i visualiseringsværktøjer som MicroAVS.

Efter ændring af antal domæner, dekomponeringsmetode eller overlapdybde er det vigtigt at kontrollere, om de opdelte domæner er ubalancerede eller unaturligt fragmenterede. UCD-output er en hjælpefunktion til at kontrollere dekomponeringens rimelighed før den parallelle analyse køres.

Relaterede emner

AI-assisted translation May contain errors Official docs Status