線形弾性の剛体運動を削除する方法は?


9

私が解決したいKは私の剛性行列であるが。ただし、一部の制約が欠落している可能性があるため、(固有値がゼロのため)剛体の動きがシステムにまだ残っている可能性があります。線形システムを解くためにCGを使用しているため、これは受け入れられません。CGが準肯定的な問題に収束しない場合があります(ただし、収束する場合もあります)。Ku=bK

実際、私はの形のペナルティを追加しているという意味で、ペナルティドディスプレイスメントアプローチを使用しています| u | | 2弾性エネルギーに。したがって、エネルギーはWu )を読み取ります = 1α||u||2α剛性行列のいくつかの対角エントリに比例するとしました。しかし、実際には、これは私がいつか持ちたいいくつかの変形モードを弱める効果があります。

W(u):=12uT(K+αI)ubtu
α

私の質問のいくつかは:

a)元のシステムを変換できますか?そのため、特異性と正定性がないようにする必要があります(座標変換や合同変換など)。私の考えは、そのような変換を使用して、変換された問題にCGを使用することです

b)これらの特異点を処理する標準的な方法はありますか?

どうもありがとうございました !

敬具、

トム

回答:


6

u(x0)=0x0


1
ありがとうございました!ええ、でも私は私の場合ですが、いくつかのフローティングサブストラクチャーがあり、どのノード(3Dの3つの非同一ノード)を修正するのかわかりません。私の場合、ヌルスペースはよく知られているので、これが、より高レベルの解決策がないかと思います。
トム

複数の構造がある場合は、構造ごとに1つのノードを修正する必要があります。どちらでもかまいません。構造ごとに1つだけ選択してください。
Wolfgang Bangerth

3
@WolfgangBangerthこれは3D弾性であるため、次元6のヌル空間を制御するために3つの非共線点を固定する必要があります。これらの3つの変位の固定はランク9の摂動であり、ランク3の変更がnullスペースはソリューションを変更しません。固定するポイントと値の選択については、固定された問題が1人のメンバーだけに正しい答えを与える右側の3次元ファミリーがあります。
ジェドブラウン

いいえ、3つの点を9つの制約に固定することはできません。これは、それらの相対距離も固定するためです。境界条件が他の制約を実際に提供しない場合(例えば、それらが円の通常の変位でない場合)、合計6つの制約のために、1つの点+他の2つの点のさまざまな回転角度を修正する必要があります。
Wolfgang Bangerth、2012年

6

ヌルスペースがわかっている場合は、右側に互換性を持たせ、Krylovメソッドでプリコンディショナーが汚染を引き起こすのを防ぐことができます。「ポイントを固定してヌルスペースを削除するのはなぜ悪いのですか?」を参照してくださいさらなる議論のために。PETScでは、これはMatNullSpaceオブジェクトを使用して行われます。独自の関数提供してnullスペースを投影できることに注意してください。これは、浮動構造が多数ある場合に投影コストを削減するのに役立ちます。

ヌルスペースがわからず、互換性のない右側を回避できない場合は、MINRES-QLPなどの特殊なKrylovメソッドがありますが、最小ノルム解を見つけることができます。このアプローチは、いくつかのモードのみを結合するヒンジとシングルポイント接続がある場合に役立ちます。ただし、汚染を引き起こす前提条件には注意が必要です(たとえば、LU分解によりピボットがゼロになるため、おそらく粗いレベルのマルチグリッドで)。


ジェッドありがとう!反復法で直接ヌルスペースを投影して削除することを考えました。しかし、あまりコストがかからないのではないかと思っていました(弾力性が非常に小さいので、nullスペースを投影する演算子を作成できます)。また、残差も投影する必要があると思いますか?
トム

2
K=(IN)P1A{b,Kb,K2b,}MatSetNullSpace()
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.