Ana içeriğe geç

!SOLVER

Çözücü kontrolü

Zorunlu kontrol verisidir.

Parametreler

METHOD =    Çözüm yöntemi (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Temas analizi dışındaki doğrudan yöntem (yalnızca seri işlem) (şu anda kullanılamaz)
            DIRECTmkl  : Intel MKL kullanan doğrudan yöntem
            MUMPS      : MUMPS kullanan doğrudan yöntem
            Doğrudan yöntem seçildiğinde veri satırları göz ardı edilir.
            3-DOF problemleri için yinelemeli yöntemler OpenMP ile iş parçacığı paralel çalıştırmayı destekler

PRECOND =   Yinelemeli yöntemler için önkoşullandırma yöntemi (1, 2, 3, 5, 10, 11, 12, 22)
            1, 2       : (Blok) SSOR (yalnızca 3-DOF problemlerinde çok renkli sıralama ile)
            3          : (Block) köşegen ölçekleme
            5          : Çok ızgaralı önkoşullandırma paketi ML kullanan AMG
            10         : Block ILU(0)
            11         : Block ILU(1)
            12         : Block ILU(2)
            22         : HEC-MW'nin yerleşik SA-AMG'sini (Smoothed Aggregation AMG) kullanan AMG
            10, 11 ve 12 yalnızca 3-DOF problemlerinde kullanılabilir
            22 yalnızca LAPACK etkinleştirilmiş derlemelerde kullanılabilir
            OpenMP iş parçacığı paralel çalıştırması için SSOR, köşegen ölçekleme, ML veya SA-AMG önerilir

ITERLOG =   Yinelemeli çözücünün yakınsama geçmişinin çıktılanıp çıktılanmayacağı          (YES/NO)(Varsayılan: NO)

TIMELOG =   Çözücü hesaplama süresinin çıktılanıp çıktılanmayacağı                   (YES/NO/VERBOSE)(Varsayılan: NO)

LOGLEVEL =  Önkoşullandırıcı tanılama çıktı düzeyi                       (tamsayı)(Varsayılan: çıktı yok)
            ITERLOG ve TIMELOG'dan bağımsız olarak belirtilir
            1 veya üzeri değerlerde AMG önkoşullandırıcılarının (PRECOND=5,22) hiyerarşi yapısı ve diğer bilgileri çıktılanır
            2 veya üzeri değerlerde daha ayrıntılı bilgiler (örneğin bellek kullanımı) çıktılanır

USEJAD =    Vektör işlemcileri için sıralama kullanılıp kullanılmayacağı             (YES/NO)(Varsayılan: NO)
            Yalnızca 3-DOF probleminde yinelemeli yöntem kullanıldığında geçerlidir

SCALING =   Köşegen girdileri 1 olacak şekilde matrisin ölçeklenip ölçeklenmeyeceği  (YES/NO)(Varsayılan: NO)
            Yalnızca 3-DOF probleminde yinelemeli yöntem kullanıldığında geçerlidir

DUMPTYPE =  Matris döküm biçimi (NONE, MM, CSR, BSR) (esas olarak hata ayıklama için)
            NONE : Döküm alma (Varsayılan)
            MM   : Matrix Market biçimi
            CSR  : Compressed Sparse Row (CSR) biçimi
            BSR  : Bloklu CSR biçimi

DUMPEXIT =  Matris dökümünden hemen sonra programı sonlandır                         (YES/NO)(Varsayılan: NO)

MPCMETHOD = Çok noktalı kısıtların işlenme yöntemi (1, 3)
            1: ceza yöntemi (doğrudan yöntem kullanıldığında varsayılan)
            3: Açık DOF eliminasyonu (yinelemeli yöntem kullanıldığında varsayılan)
            MPC-CG yöntemi (2) kaldırılmıştır. 2 belirtilirse bir uyarı verilir ve varsayılan yöntem kullanılır.

ESTCOND =   Koşul sayısı tahmin sıklığı (deneysel)
            Belirtilen her iterasyon aralığında ve iterasyonların sonunda koşul sayısını tahmin eder
            0 belirtildiğinde tahmin yapılmaz

RECOMPUTE_RESIDUAL = Artık vektörünü yeniden hesaplama sıklığı
            Yalnızca METHOD için CG, BiCGSTAB, GPBiCG veya PipeCG belirtildiğinde geçerlidir
            Yinelemeli yöntemler artık vektörünü bir yineleme bağıntısıyla güncellediğinden yuvarlama hataları birikir
            Belirtilen her iterasyon aralığında artık vektörü {b}-[A]{x} ifadesinden yeniden hesaplanır
            0 belirtildiğinde her yöntemin varsayılan değeri kullanılır (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Negatif bir değer belirtildiğinde periyodik yeniden hesaplama yapılmaz
            Yakınsama kriteri sağlandığında doğrulama amacıyla yeniden hesaplama bu ayardan bağımsız olarak her zaman yapılır
            Çok kısa bir periyot yalnızca matris-vektör çarpımlarını artırmakla kalmaz, aynı zamanda
            yakınsamayı da kötüleştirebilir veya çözümün artık yakınsamamasına yol açabilir
            Bu ayarı varsayılan değerinden değiştirdikten sonra yakınsama geçmişini ve son bağıl artığı kontrol edin

METHOD2 =   İkincil çözüm yöntemi (BiCGSTAB, GMRES, GPBiCG) (deneysel)
            Yalnızca METHOD için CG belirtildiğinde geçerlidir
            CG ıraksarsa otomatik olarak ikincil yönteme geçilir ve çözüm sürdürülür
            Diğer parametreler ve veri satırları için aynı değerler kullanılır

CONTACT_ELIM = Temas analizinde DOF eliminasyonu yapılıp yapılmayacağını belirtir (0,1)
               0: Yalnızca yinelemeli yöntem kullanıldığında DOF eliminasyonu yap (Varsayılan)
               1: Her zaman DOF eliminasyonu yap (doğrudan yöntem kullanıldığında da)

** 2. satır ve sonrası **

(2. satır) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Değişken adı Öznitelik Açıklama
NITER I İterasyon sayısı (Varsayılan: 100)
iterPREmax I Additive Schwarz önkoşullandırma iterasyonu sayısı (Varsayılan: 1)
(Önerilen değer: 1; bazı paralel hesaplamalarda 2 etkili olabilir)
NREST I Krylov alt uzay boyutu (Varsayılan: 10)
(Yalnızca çözüm yöntemi olarak GMRES seçildiğinde geçerlidir)
NCOLOR_IN I Çok renkli sıralama için hedef renk sayısı (Varsayılan: 10)
(Yalnızca OpenMP iş parçacığı sayısı 2 veya daha fazla olduğunda geçerlidir)
RECYCLEPRE I Önkoşullandırıcı kurulum bilgisinin yeniden kullanım sayısı (Varsayılan: 3)
(Yalnızca doğrusal olmayan analizde geçerlidir)
(3. satır) RESID, SIGMA_DIAG, SIGMA
Değişken adı Öznitelik Açıklama
RESID R Kesme hatası (Varsayılan: 1.0e-8)
SIGMA_DIAG R Önkoşullandırma matrisi hesaplanırken köşegen girdilerine uygulanan ölçek katsayısı (Varsayılan: 1.0)
(ILU önkoşullandırmasında sıfıra bölme veya ıraksama oluşursa 1.0'dan büyük bir değer belirtilmesiyle problem yakınsayabilir)
SIGMA R Kullanılmıyor (Varsayılan: 0.0)

PRECOND=5 olduğunda (isteğe bağlı)

PRECOND için 5 veya 22 dışında bir değer belirtilirse 4. satır göz ardı edilir.

(4. satır) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Değişken adı Öznitelik Açıklama
ML_CoarseSolver I ML için kaba ızgara çözücüsü (1: yumuşatıcı kullan, 2: KLU (seri doğrudan yöntem), 3: MUMPS (paralel doğrudan yöntem)) (Varsayılan: 1)
(Önerilen: zor problemler için 3 veya 2, olağan problemler için 1)
ML_Smoother I ML yumuşatıcısı (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (Varsayılan: 1)
(Önerilen: 1)
ML_MGCycle I ML çok ızgaralı çevrimi (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (Varsayılan: 1)
(Önerilen: zor problemler için 2, olağan problemler için 1)
ML_MaxLevels I En fazla ML seviye sayısı (Varsayılan: 10)
(Özellikle zor problemler için doğrudan kaba çözücü ve 2 seviye (bellek yetersizse 3) kullanın; olağan problemler için 10 önerilir)
ML_CoarseningScheme I ML kabalaştırma şeması (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (Varsayılan: 1)
(Önerilen: 1 veya 5)
ML_NumSweep I ML yumuşatıcısının süpürme sayısı (Chebyshev için polinom derecesi) (Varsayılan: 2)
(Önerilen: Chebyshev için 2, SymBlockGaussSeidel için 1)

PRECOND=22 olduğunda (isteğe bağlı)

PRECOND için 22 dışında bir değer belirtilirse 5. satır göz ardı edilir. 4. ve 5. satırların her biri bütünüyle atlanabilir; ayrıca her iki satırın sonundaki öğeler de atlanabilir. 0 olarak belirtilen her öğe için varsayılan değer kullanılır.

Dördüncü satırdaki 1 ile 7 arasındaki öğeler PRECOND=5 (ML) seçenek satırıyla aynı sıradadır; bu nedenle ML seçenek satırı değiştirilmeden yeniden kullanılabilir. 8 ile 10 arasındaki öğeler SA-AMG’ye özgüdür.

(4. satır) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (kullanılmıyor), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (kullanılmıyor)
Değişken adı Öznitelik Açıklama
SA_CoarseSolver I Kaba ızgara çözücüsü (0: otomatik, 1: yumuşatıcı kullan, 2: yoğun matrisli doğrudan yöntem, 3: MUMPS (paralel doğrudan yöntem)) (Varsayılan: 0)
(Otomatik modda, MUMPS etkinleştirilmiş derlemelerde MUMPS; diğerlerinde yoğun matrisli doğrudan yöntem kullanılır)
SA_Smoother I Yumuşatıcı (0 veya 1: Chebyshev) (Varsayılan: 0)
(Yalnızca Chebyshev desteklenir. Başka bir değer belirtilirse uyarı verilir ve Chebyshev kullanılır)
SA_MGCycle I Çok ızgaralı çevrim (0: varsayılan (W-cycle), 1: V-cycle, 2: W-cycle) (Varsayılan: 0)
(Full-V-cycle desteklenmez)
SA_MaxLevels I En fazla seviye sayısı (Varsayılan: 20)
(kullanılmıyor) I ML kabalaştırma şemasına karşılık gelen konum. SA-AMG her zaman bağlantısız agregasyon kullandığından, sıfırdan farklı bir değer uyarı üretir ve göz ardı edilir
SA_ChebyDegree I Chebyshev yumuşatıcısının polinom derecesi (Varsayılan: 2)
SA_CoarseSize I Kaba ızgara kesme boyutu (Varsayılan: kaba ızgara çözücüsü olarak MUMPS kullanıldığında 50000, diğer durumlarda 100)
SA_MaxAggSize I En büyük agrega boyutu (Varsayılan: 96)
SA_GalerkinLowMem I Kaba ızgara matrisi hesaplama yöntemi (0: normal (hız öncelikli), pozitif değer: bellek tasarruflu) (Varsayılan: 0)
(Kurulum sırasında bellek yetersizse pozitif bir değer belirtin)
(kullanılmıyor) I Gelecekteki genişletmeler için ayrılmıştır

Beşinci satır SA-AMG’ye özgüdür ve ML tarafından okunmaz.

(5. satır) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Değişken adı Öznitelik Açıklama
SA_Theta R Güçlü bağlantıları belirleme eşiği (Varsayılan: 0.0)
(0.0 değerinde matrisin sıfır olmayan yapısı doğrudan graf olarak kullanılır)
SA_ChebyAlpha R Chebyshev yumuşatıcısının hedeflediği özdeğer aralığının alt sınırını belirleyen oran (Varsayılan: 20.0)
SA_Safety R Tahmini en büyük özdeğere uygulanan güvenlik katsayısı (Varsayılan: 1.1)
SA_TaperK R Kabalaştırma taper katsayısı K (Varsayılan: 100)
(2. seviyeden itibaren, en az yaklaşık K agrega kalacak şekilde kabalaştırma daha kademeli yapılır. Negatif değer taper işlemini devre dışı bırakır)
SA_AggOrder R Agregasyon tarama sırası (0: varsayılan (BFS sırası), 1: BFS sırası, 2: düğüm numaralarının hash sırası (deneysel), 3: dereceye göre artan sıra (deneysel), 4: dereceye göre azalan sıra (deneysel), negatif değer: düğüm numarası sırası) (Varsayılan: 0)
SA_MinAggSize R En küçük agrega boyutu (Varsayılan: 3)
SA_Verify R Kurulum sırasında öz denetim yapılıp yapılmayacağı (0: hayır, pozitif değer: evet) (Varsayılan: 0) (esas olarak hata ayıklama için)
SA_DumpVTK R En üst seviyedeki agregasyonun VTK biçiminde çıktılanıp çıktılanmayacağı (0: çıktı yok, pozitif değer: çıktı) (Varsayılan: 0) (esas olarak hata ayıklama için)

Örnek

SSOR önkoşullandırması ile CG kullanın ve en fazla iterasyon sayısını 10000, kesme hatasını 1.0e-8 olarak ayarlayın

!SOLVER, METHOD=CG, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

SSOR önkoşullandırması ile GMRES kullanın ve Krylov alt uzay boyutunu 40, çok renkli sıralama için hedef renk sayısını 100 olarak ayarlayın

!SOLVER, METHOD=GMRES, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1, 40, 100
  1.0e-8, 1.0, 0.0

ILU(0) önkoşullandırması ile CG kullanın ve önkoşullandırma matrisi hesaplanırken köşegen girdilerine uygulanan ölçek katsayısını 1.1 olarak ayarlayın

!SOLVER, METHOD=CG, PRECOND=10, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.1, 0.0

CG için önkoşullandırıcı olarak ML tarafından sağlanan AMG kullanın

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

CG için önkoşullandırıcı olarak ML tarafından sağlanan AMG kullanın ve kaba ızgara çözücüsü olarak MUMPS kullanın (zor problemler için)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

CG için önkoşullandırıcı olarak ML tarafından sağlanan AMG kullanın ve çok ızgaralı çevrim olarak W-cycle kullanın (zor problemler için)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  1, 1, 2

CG için önkoşullandırıcı olarak ML tarafından sağlanan AMG kullanın, kaba ızgara çözücüsü olarak MUMPS kullanın ve en fazla seviye sayısını 2 olarak ayarlayın (çok zor problemler için)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2

CG için önkoşullandırıcı olarak HEC-MW'nin yerleşik SA-AMG'sini kullanın

!SOLVER, METHOD=CG, PRECOND=22, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

CG için önkoşullandırıcı olarak SA-AMG ve kaba ızgara çözücüsü olarak MUMPS kullanın

!SOLVER, METHOD=CG, PRECOND=22, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

Sürtünmeli temas analizinde SA-AMG önkoşullandırmalı BiCGSTAB kullanın ve AMG önkoşullandırıcı hiyerarşisini çıktılattırın

!SOLVER, METHOD=BiCGSTAB, PRECOND=22, ITERLOG=YES, TIMELOG=YES, LOGLEVEL=1
  10000, 1
  1.0e-8, 1.0, 0.0