Solid Mechanics
3-Dim Finite Element Equations of Elasticity-11

■[k]を剛性マトリクス[K]に足し込む操作(Assembly)■
要素毎の剛性マトリクスが計算できたら、次はグローバル剛性マトリクスへのAssembly作業が待っています。このプログラミングですが、ちょっと頭が混乱します。順を追って説明しますので、何べんも復習してみて下さい。まず、[k]は対称マトリクスですから、半分だけ記憶すればよいことになります。ここでは、連立方程式の解法で紹介した対称Multi-Diagonal Matrixを使うことにします。更に、これまで説明してきた[B]T[D][B]に掛け算される変位ベクトルは、u1,u2,.....u8,v1,v2,.....v8,w1,w2,.....w8の並びになっています。グローバル剛性マトリクス[K]をこのような変数配列に対応するようにAssembly作業を行うとフルマトリクスに近い状態になってしまい、大量のメモリーが必要になります。そこで、変数をu1,v1,w1,u2,v2,w2,.....u8,v8,w8に対応するように[k]を[K]にassembleします。すると、[K]は圧縮されたバンドマトリクスになり、メモリーが節約できるだけでなく、計算速度も速くなります。ここで注意しておきたいことは、[k]の対角要素は[K]の列1に足し込まれることになります。

さて問題は出来上がった24×24の[k]をどのように[K]にAssembleしたらよいかです。頭が混乱するのはここです。まず、要素のK節点に対応したグローバル節点をiとしておきます。そして要素のL節点に対応したグローバル節点からiを差し引き1を加算した値をjとします。すると、kmnKLは以下の位置の[K]に足し込まなければなりません。

j×3-4j×3-3j×3-2j×3-1j×3-0
i×3-2--k11KLk12KLk13KL
i×3-1-k21KLk22KLk23KL-
i×3-0k31KLk32KLk33KL--

例えば、k13KLはKi×3-2,j×3へ足し込まれることになります。ただし、条件として、足し込む際 Ki,jのjがゼロまたは負になってはなりません。全ての要素に対し、KとLをそれぞれ1からnまで、この足し込み操作(assembly)を行うとGlobal stiffness matrix [K]が出来上がります。

BACK NEXT
Menu Basics Material τ-ε Failure Navier 3dim 2dim Sample