Skip to content

Ugawaji wa Eneo

Wakati mesh kubwa inachanganuliwa sambamba kwa processes nyingi, mesh ya eneo moja lazima igawanywe kuwa subdomains, na taarifa zinazohitajika kwa kugawa eneo la kila process na mawasiliano kati ya maeneo zitengenezwe mapema. Preprocessing hii huitwa domain partitioning.

Katika kompyuta sambamba ya FrontISTR, hecmw_part1 hugawanya mesh ya eneo moja kuwa subdomains na kutengeneza distributed mesh data. Distributed mesh data iliyotengenezwa husomwa na fistr1 ya sambamba na kutumiwa na parallel solver pamoja na taarifa zinazohitajika kwa mawasiliano kati ya maeneo.

Ukurasa huu unaeleza partition type, partitioning method, overlap depth, na ushughulikiaji wa contact points unaochaguliwa katika domain partitioning. Kwa utaratibu wa kutekeleza hecmw_part1, sintaksia mahususi ya control file, na error messages, tazama vipengee vinavyohusiana.

Muhtasari wa kipengele

Domain partitioning ni mchakato wa kugawanya mesh ya eneo moja kuwa subdomains nyingi. FrontISTR hutengeneza distributed mesh data kwa kuchanganya partition type, partitioning method, idadi ya maeneo, na overlap depth.

Mhimili wa uchaguzi Chaguo kuu Jukumu
Partition type Node-based partitioning, element-based partitioning Huamua ikiwa umiliki utaamuliwa kwa nodi au elementi.
Partitioning method RCB, METIS (pMETIS / kMETIS) Huamua jinsi mipaka ya maeneo inavyoundwa.
Idadi ya maeneo Integer yoyote chanya (\(2^n\) kwa RCB) Huamua idadi ya subdomains katika distributed mesh data. Kwa kawaida hulinganishwa na idadi ya MPI processes.
Overlap depth Integer ya 1 au zaidi Huamua masafa yanayohifadhiwa kwa kurudiwa na maeneo jirani. Hubainishwa kwa node-based partitioning.
Communication table Taarifa za import/export, taarifa za shared Hufafanua ubadilishanaji wa data unaohitajika kati ya subdomains jirani. Hutengenezwa kiotomatiki wakati wa domain partitioning.

Kwa kuwa communication tables zimo katika distributed mesh data, kwa kawaida mtumiaji hahitaji kuzihariri moja kwa moja. fistr1 ya sambamba husoma distributed mesh data na kutatua linear equations kwa parallel direct method kama MUMPS au iterative method.

Jinsi ya kuchagua mpangilio wa domain partitioning

Kwa structural analysis na heat conduction analysis za kawaida, node-based partitioning iwe chaguo la kwanza. Node-based partitioning hurahisisha mawasiliano ya nodal values yanayohitajika katika parallel finite element analysis na pia huruhusu overlap depth kubainishwa. Element-based partitioning ni chaguo kwa matumizi kama coupled analysis ambapo taarifa baada ya partitioning inashughulikiwa hasa kwa elementi.

Chagua partitioning method kulingana na geometry na idadi ya maeneo. Kwa geometry rahisi ambapo idadi ya maeneo inaweza kuwa \(2^n\), RCB ni chaguo rahisi na thabiti. Kwa geometry tata au ukitaka idadi yoyote ya maeneo, METIS inayotegemea graph partitioning ni chaguo.

Sifa ya tatizo Chaguo linalopendekezwa
Parallel analysis ya kawaida ya structural analysis / heat conduction analysis Node-based partitioning
Matumizi yanayotumia distributed information inayolenga elementi, kama coupled analysis Element-based partitioning
Geometry rahisi karibu na cuboid, na idadi ya maeneo \(2^n\) RCB
Geometry tata au idadi yoyote ya maeneo METIS
Contact problem au MPC-constrained problem inayotumia SAINV preconditioner Node-based partitioning yenye overlap depth 2 au zaidi

Idadi ya maeneo kwa kawaida hulinganishwa na idadi ya MPI processes. Kwa utaratibu wa parallel execution na jinsi ya kubainisha idadi ya processes, tazama Uchanganuzi kwa parallel processing. Kwa uhusiano kati ya SAINV preconditioner na overlap depth, tazama pia Solver na preconditioning.

Partition type

Partition type ni uchaguzi unaoamua ni unit gani ndani ya mesh itapewa subdomain moja ya umiliki. Kwa node-based partitioning, umiliki wa nodi huamuliwa; kwa element-based partitioning, umiliki wa elementi huamuliwa. Katika zote mbili, taarifa zinazohitajika kwa hesabu na subdomains jirani huhifadhiwa kama overlap.

Node-based partitioning

Katika node-based partitioning, kila nodi hupewa subdomain moja ya umiliki. Katika subdomains jirani, elementi huhifadhiwa kwa overlap. Katika ingizo, hubainishwa kwa !PARTITION, TYPE=NODE-BASED.

Dhana ya node-based partitioning

Mchoro 10.1 Dhana ya node-based partitioning

Kila subdomain huhifadhi internal nodes, elementi zinazojumuisha internal nodes hizo, na nodi zinazounda elementi hizo.

Nodi na elementi zinazohifadhiwa na kila subdomain katika node-based partitioning

Mchoro 10.2 Nodi na elementi zinazohifadhiwa na kila subdomain katika node-based partitioning

Communication tables za node-based partitioning zina taarifa zifuatazo.

  • Import nodes: Nodi zinazotumika ndani ya subdomain lakini zinamilikiwa na subdomain nyingine.
  • Export nodes: Internal nodes ambazo ni import nodes za subdomain nyingine.
  • Shared elements: Elementi zinazoshirikiwa na subdomains nyingine.

Import nodes katika node-based partitioning

Mchoro 10.3 Import nodes katika node-based partitioning

Export nodes katika node-based partitioning

Mchoro 10.4 Export nodes katika node-based partitioning

Shared elements katika node-based partitioning

Mchoro 10.5 Shared elements katika node-based partitioning

Element-based partitioning

Katika element-based partitioning, kila elementi hupewa subdomain moja ya umiliki. Katika subdomains jirani, nodi huhifadhiwa kwa overlap. Katika ingizo, hubainishwa kwa !PARTITION, TYPE=ELEMENT-BASED.

Dhana ya element-based partitioning

Mchoro 10.6 Dhana ya element-based partitioning

Kila subdomain huhifadhi internal elements, nodi zinazounda internal elements hizo, na elementi zinazojumuisha nodi hizo.

Nodi na elementi zinazohifadhiwa na kila subdomain katika element-based partitioning

Mchoro 10.7 Nodi na elementi zinazohifadhiwa na kila subdomain katika element-based partitioning

Communication tables za element-based partitioning zina taarifa zifuatazo.

  • Import elements: Elementi zinazotumika ndani ya subdomain lakini zinamilikiwa na subdomain nyingine.
  • Export elements: Internal elements ambazo ni import elements za subdomain nyingine.
  • Shared nodes: Nodi zinazoshirikiwa na subdomains nyingine.

Import elements katika element-based partitioning

Mchoro 10.8 Import elements katika element-based partitioning

Export elements katika element-based partitioning

Mchoro 10.9 Export elements katika element-based partitioning

Shared nodes katika element-based partitioning

Mchoro 10.10 Shared nodes katika element-based partitioning

Kwa partition type zote mbili, hecmw_part1 hutengeneza communication tables kiotomatiki na kuziandika katika distributed mesh data. Kwa hiyo, kwa kawaida mtumiaji hahitaji kutengeneza import/export information moja kwa moja.

Partitioning methods

Partitioning method huamua jinsi mipaka ya subdomain inavyoundwa. FrontISTR hutumia RCB inayotegemea coordinates na METIS inayotegemea graph partitioning.

Partitioning method Sifa Vikwazo na tahadhari kuu
RCB Hugawanya mesh mara mbili kwa kurudia kulingana na coordinate values. Hutoa partitioning ya haraka kwa geometry rahisi. Idadi ya maeneo imewekewa kikomo cha \(2^n\). Partitioning axes lazima zibainishwe.
pMETIS Hutumia graph partitioning huku ikizingatia connectivity kati ya maeneo. Inapatikana kwenye build yenye METIS iliyowezeshwa.
kMETIS Hutumia multiway graph partitioning, hivyo kurahisisha kuunda mipaka ya maeneo kwa geometry tata. Inapatikana kwenye build yenye METIS iliyowezeshwa.

RCB ni kifupi cha Recursive Coordinate Bisection na hurudia kugawanya mesh mara mbili kando ya coordinate axes. Inafaa ikiwa idadi ya maeneo inaweza kuwa \(2^n\) na ni rahisi kutumia kwa geometry rahisi ya umbo la boksi.

METIS huchukulia connectivity ya mesh kama graph na kutengeneza subdomains kwa graph partitioning. Ni chaguo kwa geometry tata au ikiwa idadi ya maeneo haitakiwi kufungwa kwa \(2^n\). Ili kutumia METIS, maktaba ya METIS lazima iwe imewezeshwa wakati wa build. Kwa ushughulikiaji wa dependencies, tazama Dependencies zinazohitajika na za hiari.

Overlap depth

Overlap depth ni idadi ya layers katika masafa yanayohifadhiwa kwa kurudiwa na subdomains jirani. Kwa node-based partitioning, parameter ya DEPTH ya !PARTITION inaweza kubainishwa kama integer ya 1 au zaidi. Overlap depth chaguo-msingi ni 1.

Kwa parallel analysis ya kawaida, DEPTH=1 inatosha. Hata hivyo, SAI-family preconditioner kama SAINV ikitumika kwa contact problem au MPC-constrained problem, kuongeza overlap depth hadi 2 au zaidi kunaweza kuboresha ubora wa preconditioner.

Overlap depth ya 2 au zaidi pia inahitajika wakati selective edge/nodal smoothing formulation (FORM341=SELECTIVE_ESNS) inapotumika kwa first-order tetrahedral element 341 katika MPI parallel computation. Edge-based na node-based smoothing hu-average quantities za elementi zilizo jirani na elementi lengwa; kwa hiyo ku-assemble stiffness ndani ya subdomain kunahitaji taarifa za elementi zilizo umbali wa adjacency layers mbili, na DEPTH=1 chaguo-msingi haitoshi kwa smoothing karibu na domain boundaries. Kwa maelezo ya element formulation, tazama Maktaba ya elementi.

Kuongeza overlap depth huongeza idadi ya nodi na elementi zinazohifadhiwa na subdomains jirani, hivyo kuongeza matumizi ya memory na communication volume. Weka thamani kwa kulinganisha uboreshaji wa convergence na ongezeko la computational cost. Kwa uchaguzi wa preconditioner, tazama Solver na preconditioning.

Ushughulikiaji wa contact points

Unapogawanya mesh yenye contact pairs, parameter ya CONTACT ya !PARTITION inaweza kutumika kubainisha domain-placement policy ya contact points. Uwekaji wa contact points huathiri uthabiti na communication volume ya parallel analysis inayojumuisha contact search na contact constraints.

Thamani Jukumu
DEFAULT Hutumia placement policy ya kawaida.
SIMPLE Hutumia placement iliyo karibu na partitioning ya kawaida bila kutoa special weights kwa contact points.
AGGREGATE Hugawanya kwa mwelekeo wa kukusanya vikundi vya nodi vinavyohusiana na contact pairs.
DISTRIBUTE Hugawanya ili contact nodes za upande wa master zisikusanyike sana katika subdomains fulani.

Kwa mesh isiyo na contact, kwa kawaida hakuna haja ya kuzingatia parameter CONTACT. Ikiwa convergence au load balancing ina tatizo katika parallel analysis yenye contact, pitia upya contact-point placement policy. Kwa maelezo ya sintaksia ya ingizo, tazama !PARTITION.

Bila kutegemea hilo, parameter CONTACT_OWNER inaweza kutumika kuchagua ownership scheme ya parallel contact. Wakati CONTACT hubainisha “jinsi ya kugawanya”, CONTACT_OWNER hubainisha “ni upande gani unaowajibika baada ya kugawanya”.

Thamani Jukumu
MASTER Master-owner scheme (chaguo-msingi). Master surface hugawanywa kwa element-owning domains, na slave nodes hunakiliwa kwa kila master-owning domain.
SLAVE Slave-owner scheme. Kila slave node huhifadhiwa na owning domain yake pekee, na master surface yote huwekwa katika domain hiyo.

Kwa finite sliding (INTERACTION=FSLID ya !CONTACT), slave node inapovuka domain-partition boundary kwenye master surface, kwa MASTER adjacency search inaweza kukatika kwenye mpaka, contact state na friction history zikapotea, na suluhisho likategemea idadi ya maeneo. SLAVE huepuka tatizo hili. Inaweza kubainishwa tu kwa TYPE=NODE-BASED; matumizi ya memory huongezeka katika domains zinazomiliki slave nodes.

Kutoa picha ya domain partitioning

Ukibainisha parameter UCD ya !PARTITION, UCD file inaweza kutolewa ili kukagua matokeo ya partitioning. UCD file inaweza kutumika katika visualization tools kama MicroAVS kukagua domain numbers na partition boundaries.

Baada ya kubadilisha idadi ya maeneo, partitioning method, au overlap depth, ni muhimu kukagua ikiwa kuna imbalance kati ya maeneo yaliyogawanywa au fragmentation isiyo ya kawaida. UCD output ni kipengele saidizi cha kuthibitisha uhalali wa partitioning kabla ya kuendesha parallel analysis.

Vipengee vinavyohusiana

AI-assisted translation May contain errors Official docs Status