Numerical Method & Algebla
Simultaneous Equations-7

■その4: 対称Multi-Diagonal Matrix■
連立方程式のマトリックスが対称で、かつ複数の筋が対角要素の両側に存在する場合です。下に示す図は、前回(その3)のマトリックスの左半分を取り除いた状態になっています。

===対称であるから
左半分を削除
===>

前回に比べ、マトリックスを保存するメモリーが、約半分になっています。これは、計算用メモリーの節約になります。特に、微分方程式が2次元3次元になるとバンド幅が著しく広くなり、このマトリックスを使った連立方程式の解法が威力を発揮することになります。 有限要素法では、このたぐいの連立方程式の解法が最も多く使われています。弾性解析の場合、マトリックスは、対称になりますので、ここで紹介している連立方程式の解法が、使えることになります。
下にプログラムの変数の説明がしてあります。

Sub Programの名称SYSTEMQ
変数:MXNメモリー確保のためのマトリックスサイズの最大値
変数:MXWメモリー確保のためのマトリックスのバンド幅の最大値
変数:NNODE計算に用いるマトリックのスサイズ(nxnのnのこと)
変数:NBWHalf bandwidthのこと
変数:Aマトリック [A]=[aij]
変数:B連立方程式の右辺。説明の{B}と同じ。

Program名をクリックするとソースが表示されます。 マトリックのサイズが、A(MXN,MXW)であることに注意してください。

私がこのサイトで紹介している、2次元のプログラムの殆どが、上で紹介しているSYSTEMQを、連立方程式の解法に使用しています。

連立方程式を数値的に解く場合、なるべく少ない数の掛け算と割り算で{X}が求めることが、キーポイントになります。計算の数が多くなると、時間がかかるだけでなく、丸め誤差が大きくなり、計算精度も悪化してきます。

ここで紹介した以外にも、様々な方法が有ります。文献を調べて、貴方のFEM解析に適した連立方程式の解法を探し出しみて下さい。

BACK 1Dim/Overview
Menu Integral Derivative Matrix Simultaneous