Lineer Esneklikte Sert Vücut Hareketleri nasıl kaldırılır?


9

Çözmek istiyorum Ku=b nerede Kbenim sertlik matrisim. Bununla birlikte, bazı kısıtlamalar eksik olabilir, bu nedenle sistemde hala bir katı vücut hareketi mevcut olabilir (özdeğer sıfır nedeniyle). CG'yi doğrusal sistemi çözmek için kullandığım için bu bazen kabul edilemez, çünkü bazen CG yarı pozitif problemler üzerinde birleşmez (ancak bazen birleşebilir).

Aslında formun cezasını eklediğim için cezalandırılmış bir yerinden etme yaklaşımı kullanıyorum α||u||2elastik enerjiye. Enerji okur

W(u):=12uT(K+αI)ubtu
nerede αsertlik matrisinin köşegen girişiyle orantılı olarak alınır. Ama aslında bu, bazen sahip olmak istediğim bazı deformasyon modlarını nemlendirme etkisine sahiptir.

Bazı sorum:

a) Orijinal sistemi tekillik ve pozitif tanımdan (koordinat dönüşümü veya uyum dönüşümü ya da her neyse) arındırmak zorunda kılabilir miyim? Benim fikrim bu dönüşümü hala dönüştürülmüş problem üzerinde CG kullanmak için kullanmaktır

b) Bu tekilliklerle baş etmenin standart bir yolu var mı?

Çok teşekkür ederim !

Saygılarımla,

Tom

Yanıtlar:


6

Standart yol kısıtlamayı eklemektir u(x0)=0 keyfi olarak seçilmiş bir düğüm için x0. Bu, vücudunuzun çeviremediğinden veya dönemediğinden emin olur ve bu nedenle sıfır özdeğerini ortadan kaldırır. Bu kısıtlamaya sahip ortaya çıkan sistem, ceza süreniz olmasa bile pozitif olarak belirlenebilir.


1
Teşekkür ederim! Evet, ama benim durumumda yüzer alt yapılarım var ve düzeltmek için hangi düğümleri (3'te 3 doğrusal olmayan düğüm) söyleyemiyorum. Bu yüzden benim durumumda boş alan iyi bilindiğinden daha yüksek bir çözüm olup olmadığını merak ediyorum.
Tom

Birkaç yapınız varsa, her yapı için bir düğümü düzeltmeniz gerekir. Hangisinin önemi yok, sadece yapı başına bir tane seçin.
Wolfgang Bangerth

3
@WolfgangBangerth Bu 3B esnekliktir, bu nedenle 6 boyutunun sıfır boşluğunu kontrol etmek için üç adet doğrusal olmayan noktayı sabitlemeniz gerekir . boş alan çözümü değiştirmez. Sabitlenecek herhangi bir nokta ve değer seçimi için, sabitlenmiş probleminizin sadece bir üye için doğru cevabı verdiği 3 boyutlu bir sağ taraf ailesi vardır.
Jed Brown

Hayır, 9 kısıtlama için 3 noktayı sabitleyemezsiniz çünkü göreceli mesafelerini de sabitlersiniz. Sınır koşullarınız gerçekten başka herhangi bir kısıtlama sağlamıyorsa (örneğin, bir daire üzerinde normal yer değiştirme yoksa), toplam 6 kısıtlama için 1 nokta + diğer iki noktadaki çeşitli dönüş açılarını düzeltmeniz gerekir.
Wolfgang Bangerth

6

Boş alanı biliyorsanız, sağ tarafı uyumlu hale getirebilir ve Krylov yönteminin ön koşullayıcının kirliliğe neden olmasını önleyebilirsiniz, bkz. Boş alanı kaldırmak için neden bir noktaya sabitleme? daha fazla tartışma için. PETSc'de bu, MatNullSpacenesne kullanılarak yapılır . Eğer ki Not kendi fonksiyonunu sağlamak birçok yüzen yapılara sahip olmaları projeksiyon maliyetini azaltmak için yararlı olacağını boş alan, dışarı proje.

Boş alanı bilmiyorsanız ve uyumsuz bir sağ taraftan kaçınamıyorsanız, MINRES-QLP gibi asgari norm çözümünü bulabilen özel Krylov yöntemleri vardır . Bu yaklaşım, yalnızca bazı modları birleştiren menteşeleriniz ve tek nokta bağlantılarınız varsa faydalı olabilir. Kirliliğe neden olan önkoşul konusunda hala dikkatli olmanız gerektiğini unutmayın (örneğin, LU faktorizasyonu sıfır pivot bulma, belki de çok seviyeli bir multigrid seviyesinde).


Teşekkürler Jed! Sıfır alanı doğrudan yinelemeli yöntemime yansıtarak çıkarmayı düşündüm. Ama çok maliyetli olup olmadığını merak ediyordum (esneklik açısından gerçekten önemsiz olduğu için boş alanı yansıtan bir operatör oluşturabilirim). Ayrıca artıkların da yansıtılması gerektiğini düşünüyorum?
Tom

2
Sağ tarafı uyumlu hale getirin ve her ön koşullandırıcı uygulamasından sonra boş alanı dışarı çıkarın (çünkü birçok ön koşullandırıcı boş alanı kirletecektir). Bu bir Krylov operatörü verirK=(IN)P1A öyle ki {b,Kb,K2b,}sıfır uzayına diktir. Sorununuz simetrik olduğundan, sol ve sağ boş alanlar için farklı bir rutine ihtiyacınız yoktur. Eğer ararsanız PETSc bunu yapar MatSetNullSpace().
Jed Brown
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.