Penguraian Domain¶
Apabila jejaring berskala besar dianalisis secara selari menggunakan berbilang proses, jejaring domain tunggal perlu terlebih dahulu dibahagikan kepada subdomain dan maklumat yang diperlukan untuk penugasan setiap proses serta komunikasi antara domain perlu dijana terlebih dahulu. Langkah prapemprosesan ini dipanggil penguraian domain.
Dalam pengiraan selari FrontISTR, hecmw_part1 membahagikan jejaring domain tunggal kepada subdomain dan menghasilkan data jejaring teragih. Data jejaring teragih yang dihasilkan dibaca oleh fistr1 selari dan digunakan oleh penyelesai selari bersama maklumat yang diperlukan untuk komunikasi antara domain.
Halaman ini menerangkan jenis penguraian, kaedah penguraian, kedalaman tindihan dan pengendalian titik sentuhan yang dipilih untuk penguraian domain. Untuk prosedur pelaksanaan hecmw_part1, sintaks fail kawalan khusus dan mesej ralat, lihat topik berkaitan.
Gambaran Keseluruhan¶
Penguraian domain ialah proses membahagikan jejaring domain tunggal kepada beberapa subdomain. FrontISTR menghasilkan data jejaring teragih dengan menggabungkan jenis penguraian, kaedah penguraian, bilangan domain dan kedalaman tindihan.
| Paksi pemilihan | Pilihan utama | Peranan |
|---|---|---|
| Jenis penguraian | Penguraian berasaskan nod, penguraian berasaskan unsur | Menentukan sama ada pemilikan diberikan mengikut nod atau unsur. |
| Kaedah penguraian | RCB, METIS (pMETIS / kMETIS) | Menentukan cara sempadan domain dibentuk. |
| Bilangan domain | Sebarang integer positif (\(2^n\) untuk RCB) | Menentukan bilangan subdomain dalam data jejaring teragih. Biasanya disamakan dengan bilangan proses MPI. |
| Kedalaman tindihan | Integer 1 atau lebih | Menentukan julat yang disimpan secara berlebihan oleh domain berjiran. Ditentukan untuk penguraian berasaskan nod. |
| Jadual komunikasi | Maklumat import/eksport, maklumat perkongsian | Mentakrifkan pertukaran data yang diperlukan antara subdomain berjiran. Dijana secara automatik semasa penguraian domain. |
Oleh sebab jadual komunikasi disertakan dalam data jejaring teragih, pengguna biasanya tidak perlu menyuntingnya secara langsung. fistr1 selari membaca data jejaring teragih dan menyelesaikan persamaan linear menggunakan kaedah langsung selari seperti MUMPS atau kaedah lelaran.
Memilih Konfigurasi Penguraian Domain¶
Bagi analisis struktur dan konduksi haba biasa, penguraian berasaskan nod umumnya wajar dipertimbangkan terlebih dahulu. Penguraian berasaskan nod memudahkan komunikasi nilai nod yang diperlukan dalam analisis unsur terhingga selari dan juga membolehkan kedalaman tindihan ditentukan. Penguraian berasaskan unsur ialah pilihan untuk aplikasi seperti analisis terganding yang mengendalikan maklumat teragih terutamanya mengikut unsur.
Pilih kaedah penguraian berdasarkan geometri dan bilangan domain. Untuk geometri ringkas dengan bilangan domain \(2^n\), RCB ialah pilihan yang ringkas dan stabil. Untuk geometri kompleks atau apabila bilangan domain sebarang diperlukan, METIS yang berasaskan penguraian graf boleh dipertimbangkan.
| Ciri masalah | Pilihan yang disyorkan |
|---|---|
| Analisis struktur atau konduksi haba selari standard | Penguraian berasaskan nod |
| Aplikasi yang menggunakan maklumat teragih berpusatkan unsur, seperti analisis terganding | Penguraian berasaskan unsur |
| Geometri ringkas yang hampir kepada bongkah segi empat, dengan \(2^n\) domain | RCB |
| Geometri kompleks atau bilangan domain sebarang | METIS |
| Masalah sentuhan atau kekangan MPC yang menggunakan prapensyarat SAINV | Gunakan penguraian berasaskan nod dengan kedalaman tindihan 2 atau lebih |
Bilangan domain biasanya disamakan dengan bilangan proses MPI. Untuk prosedur pelaksanaan selari dan penetapan bilangan proses, lihat Analisis Selari. Untuk hubungan antara prapensyarat SAINV dan kedalaman tindihan, lihat juga Penyelesai dan Prapensyarat.
Jenis Penguraian¶
Jenis penguraian menentukan entiti jejaring yang diberi pemilikan unik oleh sesuatu subdomain. Penguraian berasaskan nod memberikan pemilikan kepada nod, manakala penguraian berasaskan unsur memberikannya kepada unsur. Dalam kedua-dua kes, maklumat yang diperlukan untuk pengiraan dengan subdomain berjiran disimpan sebagai data tindihan.
Penguraian Berasaskan Nod¶
Dalam penguraian berasaskan nod, setiap nod diberikan kepada tepat satu subdomain pemilik. Unsur disimpan dengan tindihan dalam subdomain berjiran. Dalam input, ini ditentukan dengan !PARTITION, TYPE=NODE-BASED.

Setiap subdomain menyimpan nod dalamannya, unsur yang mengandungi nod dalaman tersebut, dan nod yang membentuk unsur tersebut.

Jadual komunikasi untuk penguraian berasaskan nod mengandungi maklumat berikut.
- Nod import: Nod yang digunakan dalam sesuatu subdomain tetapi dimiliki oleh subdomain lain.
- Nod eksport: Nod dalaman yang merupakan nod import bagi subdomain lain.
- Unsur dikongsi: Unsur yang dikongsi dengan subdomain lain.



Penguraian Berasaskan Unsur¶
Dalam penguraian berasaskan unsur, setiap unsur diberikan kepada tepat satu subdomain pemilik. Nod disimpan dengan tindihan dalam subdomain berjiran. Dalam input, ini ditentukan dengan !PARTITION, TYPE=ELEMENT-BASED.

Setiap subdomain menyimpan unsur dalamannya, nod yang membentuk unsur dalaman tersebut, dan unsur yang mengandungi nod tersebut.

Jadual komunikasi untuk penguraian berasaskan unsur mengandungi maklumat berikut.
- Unsur import: Unsur yang digunakan dalam sesuatu subdomain tetapi dimiliki oleh subdomain lain.
- Unsur eksport: Unsur dalaman yang merupakan unsur import bagi subdomain lain.
- Nod dikongsi: Nod yang dikongsi dengan subdomain lain.



Bagi kedua-dua jenis penguraian, hecmw_part1 menjana jadual komunikasi secara automatik dan menulisnya ke data jejaring teragih. Oleh itu, pengguna biasanya tidak perlu mencipta maklumat import/eksport secara langsung.
Kaedah Penguraian¶
Kaedah penguraian menentukan cara sempadan subdomain dibentuk. FrontISTR menyokong RCB berasaskan koordinat dan METIS berasaskan penguraian graf.
| Kaedah penguraian | Ciri | Kekangan dan catatan utama |
|---|---|---|
| RCB | Membelah dua jejaring secara rekursif berdasarkan nilai koordinat. Menyediakan penguraian pantas untuk geometri ringkas. | Bilangan domain terhad kepada \(2^n\). Paksi penguraian mesti ditentukan. |
| pMETIS | Menggunakan penguraian graf sambil mempertimbangkan kesalinghubungan antara domain. | Tersedia dalam binaan yang mendayakan METIS. |
| kMETIS | Menggunakan penguraian graf berbilang hala, sesuai untuk membentuk sempadan domain dalam geometri kompleks. | Tersedia dalam binaan yang mendayakan METIS. |
RCB ialah singkatan bagi Recursive Coordinate Bisection dan membelah dua jejaring berulang kali sepanjang paksi koordinat. Ia sesuai apabila bilangan domain boleh berupa \(2^n\) dan mudah digunakan untuk geometri ringkas berbentuk kotak.
METIS memperlakukan kesalinghubungan jejaring sebagai graf dan membentuk subdomain melalui penguraian graf. Ia sesuai dipertimbangkan untuk geometri kompleks atau apabila bilangan domain tidak seharusnya terhad kepada \(2^n\). Untuk menggunakan METIS, pustaka METIS mesti didayakan semasa binaan. Untuk pengendalian kebergantungan, lihat Kebergantungan Diperlukan dan Pilihan.
Kedalaman Tindihan¶
Kedalaman tindihan ialah bilangan lapisan dalam julat yang disimpan secara berlebihan oleh subdomain berjiran. Untuk penguraian berasaskan nod, !PARTITION membolehkan integer 1 atau lebih ditentukan dengan parameter DEPTH. Kedalaman tindihan lalai ialah 1.
Untuk analisis selari biasa, DEPTH=1 mencukupi. Walau bagaimanapun, apabila prapensyarat keluarga SAI seperti SAINV digunakan untuk masalah sentuhan atau masalah dengan kekangan MPC, meningkatkan kedalaman tindihan kepada 2 atau lebih boleh meningkatkan kualiti prapensyarat.
Kedalaman tindihan 2 atau lebih juga diperlukan apabila formulasi pelicinan tepi/nod terpilih (FORM341=SELECTIVE_ESNS) digunakan dengan unsur tetrahedron tertib pertama 341 dalam pengiraan selari MPI. Pelicinan berasaskan tepi dan berasaskan nod mempuratakan kuantiti merentasi unsur yang bersebelahan dengan unsur sasaran, jadi pemasangan kekakuan dalam subdomain memerlukan maklumat daripada unsur sehingga dua lapisan kejiranan; dengan DEPTH=1 lalai, pelicinan berhampiran sempadan domain tidak mencukupi. Untuk butiran formulasi unsur, lihat Pustaka Unsur.
Meningkatkan kedalaman tindihan menambah bilangan nod dan unsur yang disimpan oleh subdomain berjiran, sekali gus meningkatkan penggunaan memori dan isipadu komunikasi. Tetapkannya dengan menyeimbangkan peningkatan penumpuan dan pertambahan kos pengiraan. Untuk pemilihan prapensyarat, lihat Penyelesai dan Prapensyarat.
Pengendalian Titik Sentuhan¶
Apabila menguraikan jejaring yang mengandungi pasangan sentuhan, !PARTITION membolehkan parameter CONTACT digunakan untuk menentukan dasar penempatan domain bagi titik sentuhan. Penempatan titik sentuhan mempengaruhi kestabilan dan isipadu komunikasi analisis selari yang melibatkan carian sentuhan dan kekangan sentuhan.
| Nilai | Peranan |
|---|---|
DEFAULT | Menggunakan dasar penempatan standard. |
SIMPLE | Menggunakan penempatan yang hampir dengan penguraian biasa tanpa memberikan pemberat khas kepada titik sentuhan. |
AGGREGATE | Menguraikan dengan cara yang cenderung mengelompokkan nod yang berkaitan dengan pasangan sentuhan. |
DISTRIBUTE | Menguraikan supaya nod sentuhan sisi induk kurang cenderung tertumpu pada subdomain tertentu. |
Bagi jejaring tanpa sentuhan, parameter CONTACT umumnya tidak memerlukan perhatian. Jika penumpuan atau pengimbangan beban bermasalah dalam analisis selari yang melibatkan sentuhan, semak dasar penempatan titik sentuhan. Untuk butiran sintaks input, lihat !PARTITION.
Secara berasingan, parameter CONTACT_OWNER boleh digunakan untuk memilih skim pemilikan bagi sentuhan selari. CONTACT menentukan "cara menguraikan", manakala CONTACT_OWNER menentukan "pihak yang bertanggungjawab selepas penguraian".
| Nilai | Peranan |
|---|---|
MASTER | Skim pemilik induk (lalai). Permukaan induk diuraikan mengikut domain pemilik unsur, dan nod hamba direplikasi ke setiap domain pemilik induk. |
SLAVE | Skim pemilik hamba. Setiap nod hamba hanya disimpan oleh domain pemiliknya, dan seluruh permukaan induk ditempatkan dalam domain tersebut. |
Untuk gelinciran terhingga (INTERACTION=FSLID pada !CONTACT), apabila nod hamba melintasi sempadan penguraian domain pada permukaan induk, skim MASTER boleh memutuskan carian kejiranan di sempadan, menyebabkan keadaan sentuhan dan sejarah geseran hilang serta menjadikan penyelesaian bergantung pada bilangan domain. Skim SLAVE mengelakkan masalah ini. Ia hanya boleh ditentukan apabila TYPE=NODE-BASED; penggunaan memori meningkat dalam domain yang memiliki nod hamba.
Mengeluarkan Imej Penguraian Domain¶
Dengan !PARTITION, menentukan parameter UCD akan mengeluarkan fail UCD untuk memeriksa hasil penguraian. Fail UCD boleh digunakan dengan alat visualisasi seperti MicroAVS untuk memeriksa nombor domain dan sempadan penguraian.
Selepas menukar bilangan domain, kaedah penguraian atau kedalaman tindihan, penting untuk memeriksa ketakseimbangan antara domain yang diuraikan atau pemecahan yang tidak semula jadi. Keluaran UCD ialah fungsi bantuan untuk mengesahkan kesahihan penguraian sebelum menjalankan analisis selari.
Topik Berkaitan¶
- Analisis Selari — prosedur pelaksanaan
hecmw_part1, fail masukan dan pengesahan keluaran data jejaring teragih. - Penyelesai dan Prapensyarat — penyelesai selari, prapensyarat dan hubungan antara SAINV dengan kedalaman tindihan.
- Senarai Mesej Ralat — mesej ralat perwakilan daripada
hecmw_part1danfistr1. - Kaedah Unsur Terhingga Selari — latar belakang teori penguraian domain dan kaedah unsur terhingga selari.
- !PARTITION — sintaks input untuk data kawalan utiliti penguraian domain.