Uyarı
Eyer noktası problemlerini çözmek, kesin problemlerden çok daha fazla seçenek içerir ve yanlış gidebilecek çok daha fazla şey vardır. Yakınsama hatalarını ayıklamak, yardımcı operatörler tekil olduğunda (genellikle yalnızca sabit bir boş alan) boş alanların doğru şekilde işlendiğinden emin olmak ve ön koşullu koşulların kararlı olmasını sağlamak için tüm düzeylerde monitörler kullanın. Bu teknikler bu soruda tartışılmıştır .
Eyer noktası problemlerini çözme
Kullanım Kılavuzunda blok matrisleri çözme bölümü ile başlayabilirsiniz . Stokes benzeri sorunlar için, PCFIELDSPLIT kullanarak bir Schur tamamlayıcısı önkoşulu oluşturabilirsiniz .
-pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_detect_saddle_point
Bu , Schur tamamlayıcısı ( ) için En Küçük Kareler Komütatörü önkoşulu ile birleştirilebilir -fieldsplit_1_pc_type lsc
. -fieldsplit_1_ksp_type preonly
Dış iterasyon işin çoğunu yapmak için yaygındır ve bırakın. Blok üçgen varyantları bu şekilde kullanıldığında popülerdir, örn -pc_fieldsplit_schur_fact_type upper
.
Çözücünün kompozisyonu hakkında daha fazla bilgiyi kağıdımızdaki (ön baskı) seçenekleri kullanarak kullanarak çoklu ayrıştırmayı blok ayrıştırmasıyla (alan bölmesini çoklu ızgara içine koyarak ) tartışmayı da tartışabilirsiniz.
Birçok sorun için, çoğu yardımcı operatör içeren alan ayrışmasını ve Schur tamamlayıcısı ön koşullarını özelleştirmek isteyeceksiniz. Örneğin, Elman ve arkadaşlarının "basınç konveksiyon-difüzyon" (PCD) yöntemi, basınç uzayında yardımcı bir operatörün ayrıştırılmasını gerektirir. Bu amaç için PCSHELL örneklerine ve kullanım kılavuzu bölümüne bakın.