Ana içeriğe geç

Çözücü ve Önkoşullandırma

FrontISTR doğrusal çözücüleri, doğrudan veya yinelemeli yöntem seçilerek yapılandırılır; yinelemeli yöntemlerde doğrusal denklemleri çözmek için bir önkoşullandırıcı kullanılır. MPC işleme yöntemi ve temas serbestlik derecesi eliminasyonu, çok noktalı veya temas kısıtlarını içeren doğrusal sistemin hangi biçimde ele alınacağını belirleyen yardımcı seçimlerdir.

Genel Bakış

Çözücü ve önkoşullandırma ayarları aşağıdaki seçeneklerden oluşur. Önce doğrusal çözücü olarak yinelemeli veya doğrudan yöntem seçilir. Önkoşullandırıcı yalnızca yinelemeli yöntem seçildiğinde kullanılır.

Kategori Başlıca Seçenekler Rol
Yinelemeli yöntemler CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Büyük seyrek matrisleri bellek açısından verimli biçimde çözer.
Yinelemeli yöntem önkoşullandırıcıları SSOR, köşegen ölçekleme, BILU, AMG, SAINV, RIF Yinelemeli yöntemlerin yakınsamasını iyileştirir. Doğrudan yöntemlerde kullanılmaz.
Doğrudan yöntemler MUMPS, MKL Matris ayrıştırmasıyla doğrusal denklemleri sağlam biçimde çözer.
MPC işleme yöntemleri Ceza yöntemi, açık serbestlik derecesi eliminasyonu Çok noktalı kısıtları doğrusal sisteme yansıtır.
Temas serbestlik derecesi eliminasyonu Otomatik, her zaman etkin SLAGRANGE temasında eklenen temas serbestlik derecelerinin ele alınışını değiştirir.
Yardımcı işlevler Koşul sayısı tahmini, matris dökümü, günlük çıktısı Hata ayıklama, yakınsama değerlendirmesi ve performans ölçümünü destekler.

Paralel çalıştırmada, alan ayrıştırmasına dayalı MPI paralelliği OpenMP iş parçacığı paralelliğiyle birleştirilebilir. Yinelemeli yöntemler büyük ölçekli paralel analizler için standart seçenektir; doğrudan yöntemler ise gerekli kütüphanelerin bağlandığı ortamlarda daha sağlam bir çözüm gerektiğinde kullanılır.

Çözücü ve Önkoşullandırıcı Seçimi

Önce yinelemeli veya doğrudan yöntemden hangisinin kullanılacağına karar verilir; yinelemeli yöntem seçilirse ardından önkoşullandırıcı seçilir.

Karar Ölçütü Önerilen Yaklaşım
Problem boyutu Küçük ve orta ölçekli problemlerde doğrudan yöntemler kararlı ve kullanımı kolaydır. Büyük problemlerde yinelemeli yöntemler bellek açısından daha verimlidir.
Matris simetrisi Simetrik pozitif tanımlı problemlerde CG düşünülebilir. Simetrik olmayan problemlerde BiCGSTAB, GMRES, GPBiCG gibi yöntemler düşünülebilir.
Paralel ortam MPI paralelliğinde yinelemeli yöntem ile alan ayrıştırmasını birleştirin. OpenMP paralelliğindeki önkoşullandırmada çok renkli SSOR düşünülebilir.
Önkoşullandırıcı (yinelemeli yöntem kullanıldığında) Önce varsayılan SSOR denenir, ardından AMG değerlendirilir. Yakınsama iyiyse SSOR hesaplama açısından hafiftir; karmaşık ve büyük ölçekli problemler için AMG önkoşullandırması uygundur. AMG, Trilinos-ML uygulaması veya HEC-MW’nin yerleşik SA-AMG uygulaması olarak kullanılabilir; derleme yapılandırmasına göre seçim yapın.
Temas ve MPC Temas veya çok noktalı kısıt içeren analizlerde MPC işleme yöntemi ve temas serbestlik derecesi eliminasyonu yakınsamayı ve sağlamlığı etkiler.
Harici kütüphaneler MUMPS, MKL ve AMG (Trilinos-ML), ilgili kütüphanelerle bağlanmış derlemelerde kullanılabilir. AMG (SA-AMG), LAPACK etkin derlemelerde kullanılabilir.

Standart analizlerde yakınsama toleransı, azami yineleme sayısı ve önkoşullandırıcının köşegen düzeltme katsayısı için varsayılan değerler genellikle yeterlidir. Yalnızca yakınsama yavaş olduğunda veya çözüm ıraksadığında sırasıyla yinelemeli yöntem, önkoşullandırıcı, MPC işleme yöntemi ve temas serbestlik derecesi eliminasyonu gözden geçirilmelidir. Parametre değerleri ve sözdizimi için !SOLVER anahtar sözcük referansına bakın.

Yinelemeli Yöntemler

Yinelemeli yöntemler, büyük seyrek sistemlerde matris-vektör çarpımı ve önkoşullandırmayı tekrarlayarak çözümü günceller. FrontISTR aşağıdaki yinelemeli yöntemleri sağlar.

Yinelemeli Yöntem Tipik Uygulama Notlar
CG Simetrik pozitif tanımlı problemler Yapısal analiz ve ısı iletimi analizleri için standart bir adaydır.
BiCGSTAB Simetrik olmayan problemler Temas veya bağlı etkiler güçlü simetrisizlik oluşturduğunda bir adaydır.
GMRES Simetrik olmayan problemler Belirtilen Krylov alt uzay boyutuyla kullanılır.
GPBiCG Simetrik olmayan problemler BiCGSTAB ailesinin geliştirilmiş bir yöntemi olarak kullanılır.
GMRESR Simetrik olmayan problemler, ileri uygulamalar GMRES yöntemini iç içe kullanan bir seçenektir.
GMRESREN Simetrik olmayan problemler, ileri uygulamalar GMRESR ailesinin özyinelemeli bir çeşididir.

CG, matrisin simetrik pozitif tanımlı olduğunu varsayar. Sürtünmeli temas, simetrik olmayan kısıt işleme veya bağlı etkiler nedeniyle güçlü simetrisizlik varsa BiCGSTAB, GMRES, GPBiCG gibi yöntemler düşünülebilir. GMRES için Krylov alt uzayı büyütüldüğünde yakınsama iyileşebilir, ancak bellek kullanımı da artar.

METHOD2 belirtildiğinde, CG ıraksar veya çökerse alternatif bir yinelemeli yönteme geçilebilir. Bu işlev, CG ana çözücü olduğunda kullanılan bir geri dönüş mekanizmasıdır; diğer ayarlar ve veri satırları ana çözücüyle aynıdır.

CG, BiCGSTAB, GPBiCG ve PipeCG artık vektörünü yineleme bağıntısıyla güncellediğinden, yineleme sayısı arttıkça yuvarlama hataları birikir ve gerçek artıktan sapma oluşabilir. Bunu önlemek için artık vektörü belirli aralıklarla sağ taraf ve matris-vektör çarpımından yeniden hesaplanır. Bu aralık RECOMPUTE_RESIDUAL ile belirtilebilir. Aralığı uzatmak matris-vektör çarpımı sayısını azaltır; ancak bağıntıyla güncellenen artığın gerçek artıktan uzaklaşması ve yakınsamamış bir çözümün yakınsamış sayılması riskini artırır. Buna karşılık aralığı aşırı kısaltmak yalnızca matris-vektör çarpımlarını artırmakla kalmaz, bağıntının koruduğu artık ile yardımcı vektörler arasındaki ilişkiyi de bozabilir ve yakınsamanın kendisini kötüleştirebilir. Varsayılan değer her çözüm yöntemi için bu dengeyi gözetir; değiştirildiğinde yakınsama geçmişini ve son bağıl artığı kontrol edin.

Önkoşullandırma

Önkoşullandırma, yinelemeli yöntemin yakınsamasını iyileştirmek için katsayı matrisini dönüştürür ve yalnızca yinelemeli yöntem seçildiğinde uygulanır. Doğrudan yöntemlerde önkoşullandırma kullanılmaz. Aynı yinelemeli yöntemde bile önkoşullandırıcı seçimi, yakınsama için gereken yineleme sayısını ve hesaplama süresini önemli ölçüde değiştirebilir.

Önkoşullandırıcı Özellikler Tipik Uygulama
SSOR Standart önkoşullandırıcı; çok renkli sıralamayı destekler. İlk denenecek aday; yapısal analizde yaygın olarak kullanılır.
Köşegen ölçekleme Köşegen elemanları kullanan hafif önkoşullandırıcı. Düşük hesaplama maliyeti istendiğinde.
BILU Blok eksik LU ayrıştırması. SSOR ile yakınsaması zor problemlerde adaydır.
AMG (Trilinos-ML) Harici Trilinos-ML kütüphanesini kullanan cebirsel çoklu ızgara. Büyük ölçekli veya hiyerarşik hata bileşenlerinin baskın olduğu problemler için adaydır.
AMG (SA-AMG) HEC-MW’ye yerleşik yumuşatılmış agregasyon (Smoothed Aggregation) türü cebirsel çoklu ızgara. Yukarıdakiyle aynı; harici bir kütüphane eklemeden AMG kullanmak için adaydır.
SAINV Sparse Approximate Inverse. Temas problemleri veya dağıtık bellek ortamları için özel bir önkoşullandırma seçeneğidir.
RIF Robust Incomplete Factorization. Eksik ayrıştırma ailesinde başka bir seçenektir.

SSOR standart seçenektir ve OpenMP paralelliğinde çok renkli sıralama sürümü kullanılır. Köşegen ölçekleme hafiftir, ancak yakınsama iyileştirmesi probleme bağlıdır. BILU, blok eksik LU ayrıştırması olarak uygulanır ve genel serbestlik derecesi sayısına sahip matrisleri de destekler. BILU ailesinde yinelemeli yöntem ıraksadığında köşegen düzeltme katsayısı SIGMA_DIAG otomatik olarak artırılıp yeniden denenebilir; değerin nasıl belirtileceği için anahtar sözcük referansına bakın.

AMG’nin (cebirsel çoklu ızgara) iki uygulaması vardır: harici Trilinos-ML kütüphanesini kullanan uygulama ve HEC-MW’nin yerleşik SA-AMG uygulaması. Bunlar, gerekli derleme yapılandırmaları ve kullanılabilir seçenekleri farklı olan bağımsız uygulamalardır.

Trilinos-ML kullanan AMG için derleme sırasında ML etkin olmalıdır. Yumuşatıcı, çoklu ızgara çevrimi, kabalaştırma yöntemi ve diğer ayarlar belirtilebilir; ayrıntılı değerler için anahtar sözcük referansına bakın.

SA-AMG, yumuşatılmış agregasyon türü bir cebirsel çoklu ızgara önkoşullandırıcısıdır ve Trilinos-ML gerektirmez. Bununla birlikte LAPACK’i dahili olarak kullandığından LAPACK etkin bir derleme gerekir; LAPACK olmayan bir derlemede seçilirse analiz başlatılmadan çalışma sona erer. Kaba ızgara çözümleri için MUMPS etkin derlemelerde MUMPS kullanılabilir; aksi halde yerleşik yoğun matris doğrudan yöntemi kullanılır.

SA-AMG esas olarak simetrik pozitif tanımlı sistemleri (CG) hedefler, ancak sürtünmeli temasın oluşturduğu simetrik olmayan indirgenmiş sistemleri de (BiCGSTAB, GMRES ve diğerleri) destekler. Düğüm başına 1 (ısı iletimi), 2 (düzlem), 3 (katı) ve 6 (kabuk) serbestlik derecesini destekler; ancak serbestlik derecesi sayısının düğüme göre değiştiği matrisleri desteklemez. Kaba ızgara çözücüsü, çoklu ızgara çevrimi, yumuşatıcı derecesi ve diğer seçenekler belirtilebilir; standart analizlerde varsayılan değerler kullanılabilir. Değerler ve sözdizimi için anahtar sözcük referansına bakın. GPU’nun (OpenACC) etkin olduğu derlemelerde önkoşullandırıcının uygulama aşaması GPU üzerinde çalışır.

SAINV, temas veya MPC kısıtları içeren paralel analizde kullanıldığında alan ayrıştırmasında kullanılan örtüşme derinliği yakınsamayı etkileyebilir.

Doğrudan Yöntemler

Doğrudan yöntemler katsayı matrisini ayrıştırarak doğrusal denklemleri çözer. Yineleme sayısına bağlı olmadıkları için sağlamdır ve temas veya kısıt koşulları içeren analizlerde kararlı bir seçenek olabilir. Ancak problem boyutu büyüdükçe bellek kullanımı artar.

Doğrudan Yöntem Paralel Ortam Uygulama
MUMPS MPI paralel Dağıtık bellek ortamında seyrek matrisleri doğrudan yöntemle çözer.
MKL Intel MKL / OpenMP Intel MKL tabanlı doğrudan çözücüdür. İçeride Intel PARDISO kullanılır. Birden çok MPI sürecinde Cluster MKL yolu kullanılır. DIRECTmkl, MKL için bir takma addır.

Doğrudan yöntemler hem simetrik hem simetrik olmayan matrislerde kullanılabilir. MUMPS ve MKL, ilgili kütüphanelerin derleme sırasında bağlanmasını gerektirir. Bu kütüphaneler bulunmayan ortamlarda kullanılamaz; gerekli bağımlılıklar ve CMake seçenekleri için derleme kılavuzuna bakın.

FrontISTR ayrıca harici kütüphane kullanmayan yerleşik bir doğrudan çözücü yolu içerir; ancak sıradan analizlerde doğrudan yöntem gerektiğinde normalde önce MUMPS veya MKL değerlendirilmelidir.

Doğrudan yöntemlere önkoşullandırma uygulanmaz. !SOLVER içinde önkoşullandırıcı belirtilmiş olsa bile doğrudan çözücü yolunda kullanılmaz.

MPC İşleme Yöntemleri

MPC işleme yöntemi, çok noktalı kısıtlarla bağlı serbestlik derecelerinin doğrusal denklemlere nasıl yansıtılacağını belirler. Girişteki kısıt denklemleri aynı olsa bile işleme yöntemi katsayı matrisinin özelliklerini ve yakınsamasını değiştirir.

MPC İşleme Yöntemi Rol Varsayılan Kullanım
Ceza yöntemi Kısıt denklemlerine büyük rijitlik terimleri ekleyerek kısıtları yaklaşık olarak sağlar. Doğrudan yöntemler için varsayılan.
Açık serbestlik derecesi eliminasyonu Kısıtlı serbestlik derecelerini elimine eder ve indirgenmiş doğrusal sistemi çözer. Yinelemeli yöntemler için varsayılan.

Ceza yöntemi doğrudan yöntemlerde, açık serbestlik derecesi eliminasyonu ise yinelemeli yöntemlerde varsayılandır. Önceden seçilebilen MPC-CG yöntemi kaldırılmıştır; MPCMETHOD=2 belirtilen girdiler için bir uyarı verilir ve işleme bu varsayılanlara göre devam edilir.

Açık serbestlik derecesi eliminasyonunda, modal analizde ve açık dinamik analizde kullanılan yığılı kütleler de rijitlik matrisiyle aynı dönüşüm kullanılarak indirgenir. İndirgenmiş kütle matrisi genel olarak köşegen olmadığından, satır toplamları yığılı kütle olarak kullanılır. Kısıt denklemindeki katsayıların toplamının 1 olduğu bağlama veya enterpolasyon kısıtlarında, bağımlı serbestlik derecelerinin kütlesi ana serbestlik derecelerine katsayılarla orantılı olarak dağıtılır.

MPC işleme yöntemi !SOLVER içindeki MPCMETHOD ile açıkça belirtilebilir. Her değerin anlamı ve sözdizimi için anahtar sözcük referansına bakın.

Temas Serbestlik Derecesi Eliminasyonu

Temas serbestlik derecesi eliminasyonu, SLAGRANGE temasının eklediği temas serbestlik derecelerini doğrusal çözücüye aktarmadan önce indirger. Bu serbestlik derecelerinin elimine edilmesi, yinelemeli yöntemin ele aldığı doğrusal sistemin özelliklerini iyileştirebilir.

Varsayılan otomatik modda temas serbestlik derecesi eliminasyonu yinelemeli yöntemlerde etkin, doğrudan yöntemlerde devre dışıdır. Doğrudan yöntemlerde temas serbestlik derecelerini içeren genişletilmiş sistemi doğrudan çözen bir yol sağlanır.

CONTACT_ELIM açıkça belirtildiğinde, doğrudan yöntem kullanılırken de temas serbestlik derecesi eliminasyonu yapılabilir. Giriş tarafındaki temas tipi, temas çifti ve temas algoritması seçimleri için Temas ve Gömme sayfasına bakın.

Yardımcı İşlevler

Çözücü yakınsamasını ve performansını incelemek için koşul sayısı tahmini, matris dökümü ve günlük çıktısı kullanılabilir. Bunlar normal analizlerde gerekli değildir; esas olarak hata ayıklama veya performans değerlendirmesi için etkinleştirilir.

İşlev Amaç Notlar
Koşul sayısı tahmini CG ve GMRES için koşul sayısının bir göstergesini çıktı olarak verir. LAPACK etkin derlemelerde kullanılabilir.
Matris dökümü Çözücüye aktarılan matrisi ve sağ tarafı dosyaya kaydeder. Matrix Market, CSR ve BSR biçimlerini destekler.
DUMPEXIT Matris dökümünden sonra analizi sonlandırır. Yalnızca matrisin dışarıda doğrulanması gerektiğinde kullanılır.
ITERLOG Yinelemeli yöntemin yakınsama geçmişini çıktı olarak verir. Artık eğilimini incelemek için kullanılır.
TIMELOG Çözücü hesaplama süresini çıktı olarak verir. VERBOSE daha ayrıntılı döküm verir.
STEPLOG Adım bilgilerini çıktı olarak verir. Analiz prosedürünü incelemek için kullanılır.
LOGLEVEL AMG önkoşullandırıcılarının hiyerarşi yapısı gibi tanılama bilgilerini çıktı olarak verir. ITERLOG ve TIMELOG seçeneklerinden bağımsız olarak belirtilir. Daha büyük değerler çıktı miktarını artırır.

Matris dökümü, analizde monte edilen katsayı matrisinin harici araçlarla incelenmesini sağlar. DUMPEXIT etkinse matris ve sağ taraf kaydedildikten sonra analiz sonlanır. Koşul sayısı tahmini, CG ve GMRES ile kullanılabilen deneysel bir işlevdir ve yakınsama davranışını teşhis etmek için kullanılabilir.

İlgili Konular