Phân hoạch lưới¶
Khi phân tích song song một lưới quy mô lớn bằng nhiều tiến trình, cần chia lưới của một miền duy nhất thành các miền con và tạo trước thông tin về miền do mỗi tiến trình phụ trách cùng thông tin cần thiết cho giao tiếp giữa các miền. Tiền xử lý này được gọi là phân hoạch lưới.
Trong tính toán song song của FrontISTR, hecmw_part1 chia lưới của một miền duy nhất thành các miền con và tạo dữ liệu lưới phân tán. Dữ liệu lưới phân tán được tạo sẽ được fistr1 song song đọc và sử dụng bởi bộ giải song song cùng với thông tin cần thiết cho giao tiếp giữa các miền.
Trang này mô tả loại phân hoạch, phương pháp phân hoạch, độ sâu chồng lấn và cách xử lý các điểm tiếp xúc được lựa chọn khi phân hoạch lưới. Về quy trình chạy hecmw_part1, cú pháp cụ thể của tệp điều khiển và thông báo lỗi, xem phần Chủ đề liên quan.
Tổng quan chức năng¶
Phân hoạch lưới là quá trình chia lưới của một miền duy nhất thành nhiều miền con. FrontISTR tạo dữ liệu lưới phân tán bằng cách kết hợp loại phân hoạch, phương pháp phân hoạch, số miền và độ sâu chồng lấn.
| Tiêu chí lựa chọn | Lựa chọn chính | Vai trò |
|---|---|---|
| Loại phân hoạch | Phân hoạch dựa trên nút, phân hoạch dựa trên phần tử | Quyết định dùng nút hay phần tử làm đơn vị xác định miền sở hữu. |
| Phương pháp phân hoạch | RCB, METIS (pMETIS / kMETIS) | Quyết định cách tạo biên miền. |
| Số miền | Số nguyên dương tùy ý (với RCB là \(2^n\)) | Quyết định số miền con của dữ liệu lưới phân tán. Thông thường đặt bằng số tiến trình MPI. |
| Độ sâu chồng lấn | Số nguyên từ 1 trở lên | Quyết định phạm vi mà các miền lân cận giữ trùng lặp. Chỉ định với phân hoạch dựa trên nút. |
| Bảng giao tiếp | Thông tin import/export, thông tin chia sẻ | Định nghĩa trao đổi dữ liệu cần thiết giữa các miền con lân cận. Được tạo tự động khi phân hoạch lưới. |
Vì bảng giao tiếp được chứa trong dữ liệu lưới phân tán, người dùng không cần chỉnh sửa trực tiếp trong phân tích thông thường. fistr1 song song đọc dữ liệu lưới phân tán này và giải phương trình tuyến tính bằng phương pháp trực tiếp song song như MUMPS hoặc phương pháp lặp.
Cách chọn phân hoạch lưới¶
Trong phân tích kết cấu và dẫn nhiệt thông thường, trước hết nên cân nhắc phân hoạch dựa trên nút. Phân hoạch dựa trên nút giúp xử lý thuận tiện việc giao tiếp các giá trị nút cần thiết trong phân tích phần tử hữu hạn song song và cho phép chỉ định độ sâu chồng lấn. Phân hoạch dựa trên phần tử là lựa chọn khi muốn xử lý thông tin sau phân hoạch theo phần tử, chẳng hạn trong phân tích liên hợp.
Phương pháp phân hoạch được chọn dựa trên hình dạng và số miền. Với hình dạng đơn giản và số miền có thể đặt thành \(2^n\), RCB là lựa chọn đơn giản và ổn định. Khi hình dạng phức tạp hoặc muốn phân hoạch thành số miền tùy ý, cân nhắc METIS dựa trên phân hoạch đồ thị.
| Đặc điểm bài toán | Lựa chọn khuyến nghị |
|---|---|
| Phân tích song song tiêu chuẩn cho kết cấu và dẫn nhiệt | Phân hoạch dựa trên nút |
| Ứng dụng dùng thông tin phân tán theo phần tử như phân tích liên hợp | Phân hoạch dựa trên phần tử |
| Hình dạng đơn giản gần khối hộp và số miền là \(2^n\) | RCB |
| Hình dạng phức tạp hoặc số miền tùy ý | METIS |
| Bài toán tiếp xúc hoặc ràng buộc MPC dùng tiền điều kiện SAINV | Dùng phân hoạch dựa trên nút với độ sâu chồng lấn từ 2 trở lên |
Số miền thường được đặt bằng số tiến trình MPI. Về quy trình chạy song song và chỉ định số tiến trình, xem Phân tích bằng xử lý song song. Về quan hệ giữa tiền điều kiện SAINV và độ sâu chồng lấn, xem thêm Bộ giải và tiền điều kiện.
Loại phân hoạch¶
Loại phân hoạch là lựa chọn quyết định đơn vị nào trong lưới được gán một miền con sở hữu duy nhất. Phân hoạch dựa trên nút xác định miền sở hữu của nút; phân hoạch dựa trên phần tử xác định miền sở hữu của phần tử. Trong cả hai trường hợp, thông tin cần thiết để tính toán với các miền con lân cận được giữ dưới dạng chồng lấn.
Phân hoạch dựa trên nút¶
Trong phân hoạch dựa trên nút, mỗi nút được gán duy nhất một miền con sở hữu. Ở các miền con lân cận, phần tử được giữ trùng lặp. Trong đầu vào, chỉ định bằng !PARTITION, TYPE=NODE-BASED.

Mỗi miền con giữ các nút nội bộ, các phần tử chứa nút nội bộ và các nút cấu thành các phần tử đó.

Bảng giao tiếp của phân hoạch dựa trên nút chứa các thông tin sau.
- Nút import: trong các nút được dùng trong miền con, các nút thuộc miền con khác.
- Nút export: các nút nội bộ là nút import của miền con khác.
- Phần tử chia sẻ: các phần tử được chia sẻ với miền con khác.



Phân hoạch dựa trên phần tử¶
Trong phân hoạch dựa trên phần tử, mỗi phần tử được gán duy nhất một miền con sở hữu. Ở các miền con lân cận, các nút được giữ trùng lặp. Trong đầu vào, chỉ định bằng !PARTITION, TYPE=ELEMENT-BASED.

Mỗi miền con giữ các phần tử nội bộ, các nút cấu thành phần tử nội bộ và các phần tử chứa các nút đó.

Bảng giao tiếp của phân hoạch dựa trên phần tử chứa các thông tin sau.
- Phần tử import: trong các phần tử được dùng trong miền con, các phần tử thuộc miền con khác.
- Phần tử export: các phần tử nội bộ là phần tử import của miền con khác.
- Nút chia sẻ: các nút được chia sẻ với miền con khác.



Với cả hai loại phân hoạch, bảng giao tiếp được hecmw_part1 tự động tạo và ghi vào dữ liệu lưới phân tán. Vì vậy, trong phân tích thông thường người dùng không cần tự tạo trực tiếp thông tin import/export.
Phương pháp phân hoạch¶
Phương pháp phân hoạch biểu thị cách xác định biên của các miền con. FrontISTR có thể sử dụng RCB dựa trên giá trị tọa độ và METIS dựa trên phân hoạch đồ thị.
| Phương pháp phân hoạch | Đặc điểm | Ràng buộc và lưu ý chính |
|---|---|---|
| RCB | Chia đôi đệ quy dựa trên độ lớn của giá trị tọa độ. Có thể phân hoạch nhanh các hình dạng đơn giản. | Số miền bị giới hạn ở \(2^n\). Cần chỉ định trục phân hoạch. |
| pMETIS | Phân hoạch dựa trên đồ thị, có xét kết nối giữa các miền. | Có thể dùng trong bản biên dịch có bật METIS. |
| kMETIS | Dựa trên phân hoạch đồ thị thành nhiều miền, dễ tạo biên miền ngay với hình dạng phức tạp. | Có thể dùng trong bản biên dịch có bật METIS. |
RCB là viết tắt của Recursive Coordinate Bisection và lặp lại quá trình chia đôi lưới dọc theo các trục tọa độ. Phù hợp khi số miền có thể đặt thành \(2^n\) và dễ dùng với hình dạng đơn giản kiểu khối hộp.
METIS coi quan hệ kết nối của lưới là một đồ thị và tạo các miền con bằng phân hoạch đồ thị. Đây là lựa chọn khi hình dạng phức tạp hoặc không muốn giới hạn số miền ở \(2^n\). Để dùng METIS, thư viện METIS phải được bật khi biên dịch. Về cách xử lý thư viện phụ thuộc, xem Thư viện phụ thuộc bắt buộc và tùy chọn.
Độ sâu chồng lấn¶
Độ sâu chồng lấn là số lớp của phạm vi được các miền con lân cận giữ trùng lặp. Với phân hoạch dựa trên nút, trong !PARTITION có thể chỉ định một số nguyên từ 1 trở lên bằng tham số DEPTH. Khi bỏ qua, độ sâu chồng lấn là 1.
Trong phân tích song song thông thường, DEPTH=1 là đủ. Tuy nhiên, khi dùng tiền điều kiện họ SAI như SAINV cho bài toán tiếp xúc hoặc ràng buộc MPC, tăng độ sâu chồng lấn lên 2 hoặc hơn có thể cải thiện chất lượng tiền điều kiện.
Ngoài ra, khi sử dụng công thức làm trơn cạnh/nút chọn lọc (FORM341=SELECTIVE_ESNS) cho phần tử tứ diện bậc nhất 341 trong MPI song song, độ sâu chồng lấn cũng phải từ 2 trở lên. Vì làm trơn dựa trên cạnh/nút lấy trung bình đại lượng của các phần tử kề với phần tử mục tiêu, việc lắp ráp độ cứng trong miền con cần thông tin phần tử “kề của kề”; với DEPTH=1 mặc định, làm trơn gần biên miền sẽ không đủ. Về chi tiết công thức phần tử, xem Thư viện phần tử.
Khi tăng độ sâu chồng lấn, số nút và phần tử mà các miền con lân cận giữ cũng tăng, do đó lượng bộ nhớ và giao tiếp cũng tăng. Hãy thiết lập bằng cách cân nhắc giữa cải thiện hội tụ và tăng chi phí tính toán. Về lựa chọn tiền điều kiện, xem Bộ giải và tiền điều kiện.
Xử lý điểm tiếp xúc¶
Khi phân hoạch lưới có chứa cặp tiếp xúc, trong !PARTITION, tham số CONTACT cho phép chỉ định chính sách bố trí miền cho các điểm tiếp xúc. Cách bố trí điểm tiếp xúc ảnh hưởng đến độ ổn định và lượng giao tiếp của phân tích song song có tìm kiếm tiếp xúc hoặc ràng buộc tiếp xúc.
| Giá trị | Ý nghĩa |
|---|---|
DEFAULT | Dùng chính sách bố trí tiêu chuẩn. |
SIMPLE | Không gán trọng số đặc biệt cho điểm tiếp xúc và dùng bố trí gần với phân hoạch thông thường. |
AGGREGATE | Phân hoạch theo hướng gom các nhóm nút liên quan đến cặp tiếp xúc. |
DISTRIBUTE | Phân hoạch theo hướng giảm độ lệch của các nút phía master tiếp xúc giữa các miền con. |
Với lưới không có tiếp xúc, không cần quan tâm đến tham số CONTACT. Khi phân tích song song có tiếp xúc gặp vấn đề về hội tụ hoặc cân bằng tải, hãy xem xét lại chính sách bố trí điểm tiếp xúc. Về chi tiết cú pháp đầu vào, xem !PARTITION.
Độc lập với điều này, tham số CONTACT_OWNER cho phép chọn phương thức sở hữu tiếp xúc song song. Trong khi CONTACT chỉ định “chia như thế nào”, CONTACT_OWNER chỉ định “sau khi chia, phía nào phụ trách”.
| Giá trị | Ý nghĩa |
|---|---|
MASTER | Phương thức sở hữu master (khi bỏ qua). Chia bề mặt master theo miền sở hữu phần tử và sao chép các nút slave vào từng miền sở hữu master. |
SLAVE | Phương thức sở hữu slave. Chỉ miền sở hữu giữ nút slave và toàn bộ bề mặt master được bố trí trong miền đó. |
Trong trượt hữu hạn (trong !CONTACT, INTERACTION=FSLID), nếu nút slave đi qua biên phân hoạch lưới của bề mặt master, với MASTER việc tìm kiếm lân cận bị gián đoạn tại biên, trạng thái tiếp xúc và lịch sử ma sát bị mất, khiến nghiệm phụ thuộc vào số miền. SLAVE tránh được điều này. Chỉ có thể chỉ định khi TYPE=NODE-BASED, và lượng bộ nhớ sử dụng ở miền sở hữu slave sẽ tăng.
Xuất hình ảnh phân hoạch lưới¶
Trong !PARTITION, khi chỉ định tham số UCD, có thể xuất tệp UCD để kiểm tra kết quả phân hoạch. Tệp UCD được dùng để kiểm tra số miền và biên phân hoạch bằng các công cụ trực quan hóa như MicroAVS.
Sau khi thay đổi số miền, phương pháp phân hoạch hoặc độ sâu chồng lấn, điều quan trọng là kiểm tra xem các miền đã phân hoạch có bị lệch hoặc chia nhỏ bất tự nhiên hay không. Đầu ra UCD là chức năng bổ trợ để kiểm tra tính hợp lý của phân hoạch trước khi chạy phân tích song song.
Chủ đề liên quan¶
- Phân tích bằng xử lý song song — Quy trình chạy
hecmw_part1, tệp đầu vào và kiểm tra đầu ra dữ liệu lưới phân tán. - Bộ giải và tiền điều kiện — Quan hệ giữa bộ giải song song, tiền điều kiện, SAINV và độ sâu chồng lấn.
- Danh sách thông báo lỗi — Các thông báo lỗi điển hình của
hecmw_part1vàfistr1. - Phương pháp phần tử hữu hạn song song — Cơ sở lý thuyết của phân hoạch miền và phương pháp phần tử hữu hạn song song.
- !PARTITION — Cú pháp đầu vào dữ liệu điều khiển tiện ích phân hoạch lưới.