חלוקת תחום¶
בעת אנליזה מקבילית של רשת גדולה באמצעות מספר תהליכים, יש לחלק מראש את הרשת של התחום היחיד לתת־תחומים וליצור את המידע הדרוש לתחום שעליו אחראי כל תהליך ולתקשורת בין התחומים. עיבוד מקדים זה נקרא חלוקת תחום.
בחישוב המקבילי של FrontISTR, hecmw_part1 מחלק את רשת התחום היחיד לתת־תחומים ויוצר נתוני רשת מבוזרים. הנתונים שנוצרו נקראים על ידי fistr1 המקבילי ומשמשים את הפותר המקבילי יחד עם המידע הדרוש לתקשורת בין התחומים.
דף זה מסביר את סוג החלוקה, שיטת החלוקה, עומק החפיפה והטיפול בנקודות מגע הנבחרים בחלוקת תחום. להליך ההרצה של hecmw_part1, לפורמט המפורט של קובץ הבקרה ולהודעות שגיאה ראו את הנושאים הקשורים.
סקירת הפונקציות¶
חלוקת תחום היא תהליך חלוקת רשת של תחום יחיד למספר תת־תחומים. ב-FrontISTR נוצרים נתוני הרשת המבוזרים משילוב של סוג החלוקה, שיטת החלוקה, מספר התחומים ועומק החפיפה.
| ציר בחירה | אפשרויות עיקריות | תפקיד |
|---|---|---|
| סוג חלוקה | חלוקה מבוססת צמתים, חלוקה מבוססת אלמנטים | קובע אם יחידת השיוך היא צומת או אלמנט. |
| שיטת חלוקה | RCB, METIS (pMETIS / kMETIS) | קובעת כיצד נוצרים גבולות התחומים. |
| מספר תחומים | מספר שלם חיובי כלשהו (ב-RCB \(2^n\)) | קובע את מספר תת־התחומים בנתוני הרשת המבוזרים. בדרך כלל זהה למספר תהליכי MPI. |
| עומק חפיפה | מספר שלם 1 ומעלה | קובע את היקף המידע המוחזק בחפיפה בין תחומים סמוכים. מוגדר בחלוקה מבוססת צמתים. |
| טבלת תקשורת | מידע ייבוא/ייצוא ומידע משותף | מגדירה את חילופי הנתונים הדרושים בין תת־תחומים סמוכים. נוצרת אוטומטית בעת החלוקה. |
טבלת התקשורת כלולה בנתוני הרשת המבוזרים, ולכן באנליזה רגילה המשתמש אינו צריך לערוך אותה ישירות. fistr1 המקבילי קורא נתונים אלה ופותר את המשוואות הליניאריות באמצעות שיטה ישירה מקבילית כגון MUMPS או שיטה איטרטיבית.
בחירת חלוקת התחום¶
באנליזה מבנית רגילה ובאנליזת הולכת חום, חלוקה מבוססת צמתים היא בדרך כלל הבחירה הראשונה. היא מקלה על תקשורת ערכי הצמתים הנדרשת באנליזת אלמנטים סופיים מקבילית ומאפשרת להגדיר עומק חפיפה. חלוקה מבוססת אלמנטים מתאימה ליישומים כגון אנליזה מצומדת שבהם רוצים לטפל במידע המבוזר סביב האלמנטים.
שיטת החלוקה נבחרת לפי הגאומטריה ומספר התחומים. עבור גאומטריה פשוטה ומספר תחומים שניתן לכתוב כ-\(2^n\), RCB היא אפשרות פשוטה ויציבה. לגאומטריה מורכבת או למספר תחומים שרירותי מתאימה METIS המבוססת על חלוקת גרף.
| מאפיין הבעיה | בחירה מומלצת |
|---|---|
| אנליזה מקבילית סטנדרטית של מבנה או הולכת חום | חלוקה מבוססת צמתים |
| שימוש במידע מבוזר ממוקד־אלמנט, כגון אנליזה מצומדת | חלוקה מבוססת אלמנטים |
| גאומטריה פשוטה הדומה לתיבה ומספר תחומים \(2^n\) | RCB |
| גאומטריה מורכבת או מספר תחומים שרירותי | METIS |
| בעיות מגע או אילוצי MPC עם קדם־התניה SAINV | חלוקה מבוססת צמתים עם עומק חפיפה 2 ומעלה |
מספר התחומים בדרך כלל זהה למספר תהליכי MPI. להליך הרצה מקבילית ולהגדרת מספר התהליכים ראו אנליזה בעיבוד מקבילי. לקשר בין קדם־התניה SAINV לעומק החפיפה ראו גם פותר וקדם־התניה.
סוגי חלוקה¶
סוג החלוקה קובע לאיזו יחידה ברשת מוקצה תת־תחום בעלות יחיד. בחלוקה מבוססת צמתים נקבעת הבעלות של הצמתים, ובחלוקה מבוססת אלמנטים נקבעת הבעלות של האלמנטים. בשני המקרים מידע הדרוש לחישוב עם תת־תחומים סמוכים נשמר כחפיפה.
חלוקה מבוססת צמתים¶
בחלוקה מבוססת צמתים נקבע תת־תחום בעלות יחיד לכל צומת. בתת־תחומים סמוכים אלמנטים נשמרים בחפיפה. בקלט מציינים !PARTITION, TYPE=NODE-BASED.

כל תת־תחום מחזיק צמתים פנימיים, אלמנטים המכילים צמתים פנימיים ואת הצמתים המרכיבים אלמנטים אלה.

טבלת התקשורת בחלוקה מבוססת צמתים כוללת את המידע הבא.
- צמתי ייבוא: צמתים המשמשים בתת־התחום אך שייכים לתת־תחום אחר.
- צמתי ייצוא: צמתים פנימיים המשמשים כצמתי ייבוא בתת־תחומים אחרים.
- אלמנטים משותפים: אלמנטים המשותפים עם תת־תחומים אחרים.



חלוקה מבוססת אלמנטים¶
בחלוקה מבוססת אלמנטים נקבע תת־תחום בעלות יחיד לכל אלמנט. בתת־תחומים סמוכים הצמתים נשמרים בחפיפה. בקלט מציינים !PARTITION, TYPE=ELEMENT-BASED.

כל תת־תחום מחזיק אלמנטים פנימיים, את הצמתים המרכיבים אותם ואת האלמנטים המכילים צמתים אלה.

טבלת התקשורת בחלוקה מבוססת אלמנטים כוללת את המידע הבא.
- אלמנטי ייבוא: אלמנטים המשמשים בתת־התחום אך שייכים לתת־תחום אחר.
- אלמנטי ייצוא: אלמנטים פנימיים המשמשים כאלמנטי ייבוא בתת־תחומים אחרים.
- צמתים משותפים: צמתים המשותפים עם תת־תחומים אחרים.



בשני סוגי החלוקה, טבלת התקשורת נוצרת אוטומטית על ידי hecmw_part1 ונכתבת לנתוני הרשת המבוזרים. לכן באנליזה רגילה המשתמש אינו צריך ליצור ישירות מידע ייבוא וייצוא.
שיטות חלוקה¶
שיטת החלוקה קובעת כיצד נקבעים גבולות תת־התחומים. FrontISTR תומך ב-RCB המבוססת על ערכי קואורדינטות וב-METIS המבוססת על חלוקת גרף.
| שיטת חלוקה | מאפיינים | מגבלות והערות עיקריות |
|---|---|---|
| RCB | חלוקה בינארית רקורסיבית לפי ערכי הקואורדינטות; מהירה בגאומטריות פשוטות. | מספר התחומים מוגבל ל-\(2^n\) ויש להגדיר ציר חלוקה. |
| pMETIS | חלוקה על בסיס גרף תוך התחשבות בקישוריות בין תחומים. | זמינה בבנייה שבה METIS מופעלת. |
| kMETIS | חלוקת גרף למספר תחומים, המקלה על יצירת גבולות גם בגאומטריות מורכבות. | זמינה בבנייה שבה METIS מופעלת. |
RCB הוא קיצור של Recursive Coordinate Bisection, והוא חוזר על חלוקה של הרשת לשניים לאורך צירי הקואורדינטות. הוא מתאים כאשר מספר התחומים הוא \(2^n\) ונוח במיוחד לגאומטריות פשוטות דמויות תיבה.
METIS מתייחס לקישוריות הרשת כגרף ויוצר תת־תחומים באמצעות חלוקת גרף. הוא מתאים לגאומטריה מורכבת או כאשר לא רוצים להגביל את מספר התחומים ל-\(2^n\). כדי להשתמש ב-METIS, הספרייה METIS חייבת להיות מופעלת בזמן הבנייה. לטיפול בספריות תלויות ראו ספריות תלות נדרשות ואופציונליות.
עומק חפיפה¶
עומק החפיפה הוא מספר השכבות של הטווח המוחזק בחפיפה על ידי תת־תחומים סמוכים. בחלוקה מבוססת צמתים, באמצעות !PARTITION והפרמטר DEPTH ניתן להגדיר מספר שלם 1 ומעלה. ברירת המחדל היא 1.
באנליזה מקבילית רגילה DEPTH=1 מספיק. עם זאת, כאשר משתמשים בקדם־התניה ממשפחת SAI כגון SAINV בבעיות מגע או אילוצי MPC, הגדלת עומק החפיפה ל-2 ומעלה עשויה לשפר את איכות קדם־ההתניה.
גם כאשר משתמשים בניסוח החלקה סלקטיבית של צלעות וצמתים (FORM341=SELECTIVE_ESNS) עבור אלמנט טטראהדר ליניארי 341 במקביליות MPI, יש להגדיר עומק חפיפה 2 ומעלה. בהחלקה מבוססת צלעות/צמתים ממוצעים גדלים של אלמנטים סמוכים, ולכן להרכבת הקשיחות בתוך תת־תחום נדרש מידע על אלמנטים "שכנים של שכנים"; עם ברירת המחדל DEPTH=1 ההחלקה ליד גבול התחום אינה מספקת. לפרטי ניסוח האלמנט ראו ספריית האלמנטים.
כאשר עומק החפיפה גדל, מספר הצמתים והאלמנטים המוחזקים בתת־תחומים סמוכים גדל, ולכן גם צריכת הזיכרון ונפח התקשורת גדלים. יש לבחור את הערך תוך איזון בין שיפור ההתכנסות לעלות החישוב. לבחירת קדם־ההתניה ראו פותר וקדם־התניה.
טיפול בנקודות מגע¶
בעת חלוקת רשת הכוללת זוגות מגע, !PARTITION והפרמטר CONTACT מאפשרים להגדיר את מדיניות מיקום נקודות המגע בין התחומים. מיקום נקודות המגע משפיע על יציבות האנליזה המקבילית ועל נפח התקשורת כאשר יש חיפוש מגע ואילוצי מגע.
| ערך | משמעות |
|---|---|
DEFAULT | שימוש במדיניות המיקום הסטנדרטית. |
SIMPLE | ללא משקל מיוחד לנקודות מגע; מיקום הקרוב לחלוקה רגילה. |
AGGREGATE | חלוקה הנוטה לרכז קבוצות צמתים הקשורות לזוג מגע. |
DISTRIBUTE | חלוקה הנוטה לפזר את צמתי צד המאסטר של המגע בין תת־התחומים. |
ברשת ללא מגע אין צורך להתייחס לפרמטר CONTACT. אם באנליזה מקבילית עם מגע קיימות בעיות התכנסות או איזון עומס, כדאי לבחון מחדש את מדיניות מיקום נקודות המגע. לפורמט הקלט ראו !PARTITION.
בנפרד מכך, הפרמטר CONTACT_OWNER מאפשר לבחור את שיטת הבעלות במגע מקבילי. בעוד CONTACT קובע "כיצד לחלק", CONTACT_OWNER קובע "איזה צד אחראי לאחר החלוקה".
| ערך | משמעות |
|---|---|
MASTER | בעלות מאסטר (ברירת מחדל). משטחי המאסטר מחולקים לפי תחום הבעלות של האלמנט, וצמתי הסלייב משוכפלים לכל תחום בעלות מאסטר. |
SLAVE | בעלות סלייב. צומת סלייב מוחזק רק בתחום הבעלות שלו, וכל משטח המאסטר ממוקם באותו תחום. |
בהחלקה סופית (ב־!CONTACT עם INTERACTION=FSLID), אם צומת סלייב חוצה גבול חלוקת תחום של משטח המאסטר, במצב MASTER חיפוש השכנים נקטע בגבול, מצב המגע והיסטוריית החיכוך אובדים והפתרון נעשה תלוי במספר התחומים. SLAVE מונע זאת. ניתן להגדירו רק עם TYPE=NODE-BASED, והוא מגדיל את צריכת הזיכרון בתחום המחזיק את הסלייב.
פלט תמונת חלוקת התחום¶
כאשר ב־!PARTITION מוגדר הפרמטר UCD, ניתן להפיק קובץ UCD לבדיקת תוצאת החלוקה. הקובץ משמש להצגת מספרי התחומים וגבולות החלוקה בכלי ויזואליזציה כגון MicroAVS.
לאחר שינוי מספר התחומים, שיטת החלוקה או עומק החפיפה, חשוב לבדוק שאין הטיה חריגה או פיצול לא טבעי של התחומים. פלט UCD הוא כלי עזר לבדיקת סבירות החלוקה לפני הרצת אנליזה מקבילית.
נושאים קשורים¶
- אנליזה בעיבוד מקבילי — הליך הרצת
hecmw_part1, קובצי קלט ובדיקת פלט הרשת המבוזרת. - פותר וקדם־התניה — פותרים מקביליים, קדם־התניה והקשר בין SAINV לעומק החפיפה.
- רשימת הודעות שגיאה — הודעות שגיאה אופייניות של
hecmw_part1ו-fistr1. - שיטת האלמנטים הסופיים המקבילית — הרקע התאורטי של חלוקת תחום ו-FEM מקבילי.
- !PARTITION — פורמט הקלט לנתוני הבקרה של כלי חלוקת התחום.