Ana içeriğe geç

Alan Bölümleme

Büyük ölçekli bir ağ birden fazla işlem kullanılarak paralel analiz edildiğinde, tek alanlı ağın önce alt alanlara bölünmesi ve her işlemin atanması ile alanlar arası iletişim için gerekli bilgilerin önceden oluşturulması gerekir. Bu ön işleme adımına alan bölümleme denir.

FrontISTR paralel hesaplamasında hecmw_part1, tek alanlı ağı alt alanlara böler ve dağıtılmış ağ verilerini oluşturur. Oluşturulan dağıtılmış ağ verileri paralel fistr1 tarafından okunur ve alanlar arası iletişim için gereken bilgilerle birlikte paralel çözücüde kullanılır.

Bu sayfa, alan bölümleme için seçilen bölümleme türünü, bölümleme yöntemini, örtüşme derinliğini ve temas noktalarının işlenmesini açıklar. hecmw_part1 çalıştırma prosedürü, belirli kontrol dosyası sözdizimi ve hata mesajları için ilgili konulara bakın.

Genel Bakış

Alan bölümleme, tek alanlı bir ağı birden fazla alt alana bölme işlemidir. FrontISTR; bölümleme türünü, bölümleme yöntemini, alan sayısını ve örtüşme derinliğini birleştirerek dağıtılmış ağ verileri oluşturur.

Seçim ekseni Ana seçenekler Rol
Bölümleme türü Düğüm tabanlı bölümleme, eleman tabanlı bölümleme Sahipliğin düğüm ya da eleman bazında atanacağını belirler.
Bölümleme yöntemi RCB, METIS (pMETIS / kMETIS) Alan sınırlarının nasıl oluşturulacağını belirler.
Alan sayısı Herhangi bir pozitif tamsayı (RCB için \(2^n\)) Dağıtılmış ağ verilerindeki alt alan sayısını belirler. Normalde MPI işlem sayısıyla eşleştirilir.
Örtüşme derinliği 1 veya daha büyük tamsayı Komşu alanların yinelenen biçimde tuttuğu aralığı belirler. Düğüm tabanlı bölümleme için belirtilir.
İletişim tabloları İçe/dışa aktarma bilgileri, paylaşılan bilgiler Komşu alt alanlar arasında gerekli veri alışverişini tanımlar. Alan bölümleme sırasında otomatik oluşturulur.

İletişim tabloları dağıtılmış ağ verilerine dahil olduğundan kullanıcıların normalde bunları doğrudan düzenlemesi gerekmez. Paralel fistr1, dağıtılmış ağ verilerini okur ve doğrusal denklemleri MUMPS gibi paralel bir doğrudan yöntem veya iteratif yöntem kullanarak çözer.

Alan Bölümleme Yapılandırmasının Seçilmesi

Olağan yapısal ve ısı iletim analizlerinde genellikle önce düğüm tabanlı bölümleme düşünülmelidir. Düğüm tabanlı bölümleme, paralel sonlu eleman analizinde gerekli düğüm değerlerinin iletişimini kolaylaştırır ve örtüşme derinliğinin belirtilmesine de izin verir. Eleman tabanlı bölümleme, bölümlenmiş bilginin esas olarak eleman bazında işleneceği bağlı analiz gibi uygulamalar için bir seçenektir.

Bölümleme yöntemini geometriye ve alan sayısına göre seçin. Alan sayısının \(2^n\) olabildiği basit geometrilerde RCB basit ve kararlı bir seçimdir. Karmaşık geometrilerde veya keyfî sayıda alan gerektiğinde grafik bölümlemeye dayalı METIS bir adaydır.

Problem özellikleri Önerilen seçim
Standart paralel yapısal veya ısı iletim analizi Düğüm tabanlı bölümleme
Bağlı analiz gibi eleman merkezli dağıtılmış bilgi kullanan uygulamalar Eleman tabanlı bölümleme
Dikdörtgenler prizmasına yakın basit geometri, \(2^n\) alan RCB
Karmaşık geometri veya keyfî alan sayısı METIS
SAINV önkoşullandırıcısını kullanan temas veya MPC kısıtlı problemler Örtüşme derinliği 2 veya daha büyük olacak şekilde düğüm tabanlı bölümleme kullanın

Alan sayısı normalde MPI işlem sayısıyla eşleştirilir. Paralel çalıştırma prosedürü ve işlem sayısının belirtilmesi için Paralel Analiz bölümüne bakın. SAINV önkoşullandırıcısı ile örtüşme derinliği arasındaki ilişki için ayrıca Çözücü ve Önkoşullandırıcılar bölümüne bakın.

Bölümleme Türleri

Bölümleme türü, hangi ağ varlığına bir alt alan tarafından benzersiz sahiplik atanacağını belirler. Düğüm tabanlı bölümleme sahipliği düğümlere, eleman tabanlı bölümleme ise elemanlara atar. Her iki durumda da komşu alt alanlarla hesaplama için gereken bilgiler örtüşme verisi olarak tutulur.

Düğüm Tabanlı Bölümleme

Düğüm tabanlı bölümlemede her düğüm tam olarak bir sahip alt alana atanır. Elemanlar komşu alt alanlarda örtüşmeli olarak tutulur. Girişte bu, !PARTITION, TYPE=NODE-BASED ile belirtilir.

Düğüm tabanlı bölümleme kavramı

Şekil 10.1 Düğüm tabanlı bölümleme kavramı

Her alt alan, iç düğümlerini, bu iç düğümleri içeren elemanları ve bu elemanları oluşturan düğümleri tutar.

Düğüm tabanlı bölümlemede her alt alanın tuttuğu düğümler ve elemanlar

Şekil 10.2 Düğüm tabanlı bölümlemede her alt alanın tuttuğu düğümler ve elemanlar

Düğüm tabanlı bölümleme için iletişim tabloları aşağıdaki bilgileri içerir.

  • İçe aktarma düğümleri: Bir alt alanda kullanılan ancak başka bir alt alanın sahip olduğu düğümler.
  • Dışa aktarma düğümleri: Başka bir alt alanın içe aktarma düğümleri olan iç düğümler.
  • Paylaşılan elemanlar: Diğer alt alanlarla paylaşılan elemanlar.

Düğüm tabanlı bölümlemede içe aktarma düğümleri

Şekil 10.3 Düğüm tabanlı bölümlemede içe aktarma düğümleri

Düğüm tabanlı bölümlemede dışa aktarma düğümleri

Şekil 10.4 Düğüm tabanlı bölümlemede dışa aktarma düğümleri

Düğüm tabanlı bölümlemede paylaşılan elemanlar

Şekil 10.5 Düğüm tabanlı bölümlemede paylaşılan elemanlar

Eleman Tabanlı Bölümleme

Eleman tabanlı bölümlemede her eleman tam olarak bir sahip alt alana atanır. Düğümler komşu alt alanlarda örtüşmeli olarak tutulur. Girişte bu, !PARTITION, TYPE=ELEMENT-BASED ile belirtilir.

Eleman tabanlı bölümleme kavramı

Şekil 10.6 Eleman tabanlı bölümleme kavramı

Her alt alan, iç elemanlarını, bu iç elemanları oluşturan düğümleri ve bu düğümleri içeren elemanları tutar.

Eleman tabanlı bölümlemede her alt alanın tuttuğu düğümler ve elemanlar

Şekil 10.7 Eleman tabanlı bölümlemede her alt alanın tuttuğu düğümler ve elemanlar

Eleman tabanlı bölümleme için iletişim tabloları aşağıdaki bilgileri içerir.

  • İçe aktarma elemanları: Bir alt alanda kullanılan ancak başka bir alt alanın sahip olduğu elemanlar.
  • Dışa aktarma elemanları: Başka bir alt alanın içe aktarma elemanları olan iç elemanlar.
  • Paylaşılan düğümler: Diğer alt alanlarla paylaşılan düğümler.

Eleman tabanlı bölümlemede içe aktarma elemanları

Şekil 10.8 Eleman tabanlı bölümlemede içe aktarma elemanları

Eleman tabanlı bölümlemede dışa aktarma elemanları

Şekil 10.9 Eleman tabanlı bölümlemede dışa aktarma elemanları

Eleman tabanlı bölümlemede paylaşılan düğümler

Şekil 10.10 Eleman tabanlı bölümlemede paylaşılan düğümler

Her iki bölümleme türünde de hecmw_part1 iletişim tablolarını otomatik olarak oluşturur ve dağıtılmış ağ verilerine yazar. Bu nedenle kullanıcıların normalde içe/dışa aktarma bilgilerini doğrudan oluşturması gerekmez.

Bölümleme Yöntemleri

Bölümleme yöntemi, alt alan sınırlarının nasıl oluşturulacağını belirler. FrontISTR koordinat tabanlı RCB ve grafik bölümleme tabanlı METIS yöntemlerini destekler.

Bölümleme yöntemi Özellikler Ana kısıtlamalar ve notlar
RCB Koordinat değerlerine göre ağı yinelemeli olarak ikiye böler. Basit geometriler için hızlı bölümleme sağlar. Alan sayısı \(2^n\) ile sınırlıdır. Bölümleme eksenleri belirtilmelidir.
pMETIS Alanlar arasındaki bağlantıyı dikkate alarak grafik bölümleme kullanır. METIS etkin derlemelerde kullanılabilir.
kMETIS Çok yönlü grafik bölümleme kullanır ve karmaşık geometrilerde alan sınırları oluşturmaya uygundur. METIS etkin derlemelerde kullanılabilir.

RCB, Recursive Coordinate Bisection ifadesinin kısaltmasıdır ve ağı koordinat eksenleri boyunca yinelemeli olarak ikiye böler. Alan sayısının \(2^n\) olabildiği durumlarda uygundur ve basit, kutu benzeri geometrilerde kullanımı kolaydır.

METIS, ağ bağlantısını bir grafik olarak ele alır ve grafik bölümleme yoluyla alt alanlar oluşturur. Karmaşık geometriler veya alan sayısının \(2^n\) ile sınırlanmaması gereken durumlar için bir adaydır. METIS kullanmak için METIS kitaplığı derleme sırasında etkinleştirilmelidir. Bağımlılıkların işlenmesi için Gerekli ve İsteğe Bağlı Bağımlılıklar bölümüne bakın.

Örtüşme Derinliği

Örtüşme derinliği, komşu alt alanların yinelenen biçimde tuttuğu aralıktaki katman sayısıdır. Düğüm tabanlı bölümlemede !PARTITION, DEPTH parametresiyle 1 veya daha büyük bir tamsayı belirtilmesine izin verir. Varsayılan örtüşme derinliği 1'dir.

Olağan paralel analiz için DEPTH=1 yeterlidir. Ancak SAINV gibi SAI ailesi bir önkoşullandırıcı, temas problemi veya MPC kısıtlı bir problem için kullanıldığında örtüşme derinliğini 2 veya daha büyük bir değere çıkarmak önkoşullandırıcı kalitesini iyileştirebilir.

Birinci dereceden tetrahedral eleman 341 ile seçici kenar/düğüm yumuşatma formülasyonu (FORM341=SELECTIVE_ESNS) MPI paralel hesaplamasında kullanıldığında da 2 veya daha büyük örtüşme derinliği gerekir. Kenar tabanlı ve düğüm tabanlı yumuşatma, hedef elemana komşu elemanlar üzerinden büyüklüklerin ortalamasını aldığından, bir alt alanda rijitlik montajı için iki komşuluk katmanı uzaklıktaki elemanların bilgisi gerekir; varsayılan DEPTH=1 ile alan sınırlarına yakın yumuşatma yetersiz kalır. Eleman formülasyonunun ayrıntıları için Eleman Kütüphanesi bölümüne bakın.

Örtüşme derinliğinin artırılması, komşu alt alanların tuttuğu düğüm ve eleman sayısını artırarak hem bellek kullanımını hem iletişim hacmini yükseltir. Yakınsama iyileşmesi ile artan hesaplama maliyetini dengeleyerek ayarlayın. Önkoşullandırıcı seçimi için Çözücü ve Önkoşullandırıcılar bölümüne bakın.

Temas Noktalarının İşlenmesi

Temas çiftleri içeren bir ağ bölümlenirken !PARTITION, temas noktaları için alan yerleştirme politikasını belirtmek üzere CONTACT parametresinin kullanılmasına izin verir. Temas noktası yerleşimi, temas araması ve temas kısıtlarını içeren paralel analizlerin kararlılığını ve iletişim hacmini etkiler.

Değer Rol
DEFAULT Standart yerleştirme politikasını kullanır.
SIMPLE Temas noktalarına özel ağırlıklar atamadan olağan bölümlemeye yakın bir yerleştirme kullanır.
AGGREGATE Temas çiftleriyle ilişkili düğümleri gruplama eğiliminde olacak şekilde böler.
DISTRIBUTE Ana taraf temas düğümlerinin belirli alt alanlarda yoğunlaşma olasılığını azaltacak şekilde böler.

Temas içermeyen ağlarda CONTACT parametresi genellikle özel dikkat gerektirmez. Temas içeren paralel analizde yakınsama veya yük dengeleme sorunluysa temas noktası yerleştirme politikasını gözden geçirin. Giriş sözdiziminin ayrıntıları için !PARTITION bölümüne bakın.

Bundan bağımsız olarak, paralel temas için sahiplik şemasını seçmek üzere CONTACT_OWNER parametresi kullanılabilir. CONTACT "nasıl bölümleneceğini" belirtirken CONTACT_OWNER "bölümlemeden sonra hangi tarafın sorumlu olduğunu" belirtir.

Değer Rol
MASTER Master-sahip şeması (varsayılan). Master yüzey, elemana sahip alanlara göre bölümlenir ve slave düğümler her master-sahip alana çoğaltılır.
SLAVE Slave-sahip şeması. Her slave düğüm yalnızca sahibi olan alanda tutulur ve master yüzeyin tamamı o alana yerleştirilir.

Sonlu kayma için (!CONTACT üzerinde INTERACTION=FSLID), bir slave düğüm master yüzeydeki alan-bölümleme sınırını geçtiğinde MASTER şeması komşuluk aramasını sınırda keserek temas durumu ve sürtünme geçmişinin kaybolmasına ve çözümün alan sayısına bağımlı olmasına neden olabilir. SLAVE şeması bu sorunu önler. Yalnızca TYPE=NODE-BASED olduğunda belirtilebilir; slave düğümlere sahip alanlarda bellek kullanımı artar.

Alan Bölümleme Görüntüsünün Çıktılanması

!PARTITION ile UCD parametresinin belirtilmesi, bölümleme sonucunu kontrol etmek için bir UCD dosyası çıktılar. UCD dosyası, alan numaralarını ve bölümleme sınırlarını incelemek üzere MicroAVS gibi görselleştirme araçlarıyla kullanılabilir.

Alan sayısı, bölümleme yöntemi veya örtüşme derinliği değiştirildikten sonra bölümlenmiş alanlar arasındaki dengesizliği ya da doğal olmayan parçalanmayı kontrol etmek önemlidir. UCD çıktısı, paralel analizi çalıştırmadan önce bölümlemenin geçerliliğini doğrulamak için yardımcı bir işlevdir.

İlgili Konular

  • Paralel Analizhecmw_part1 çalıştırma prosedürü, giriş dosyaları ve dağıtılmış ağ verisi çıktısının doğrulanması.
  • Çözücü ve Önkoşullandırıcılar — Paralel çözücüler, önkoşullandırıcılar ve SAINV ile örtüşme derinliği arasındaki ilişki.
  • Hata Mesajları Listesihecmw_part1 ve fistr1 tarafından verilen temsilî hata mesajları.
  • Paralel Sonlu Elemanlar Yöntemi — Alan ayrıştırma ve paralel sonlu elemanlar yöntemlerinin teorik altyapısı.
  • !PARTITION — Alan bölümleme yardımcı programı kontrol verileri için giriş sözdizimi.