■その4: 対称Multi-Diagonal Matrix■
連立方程式のマトリックスが対称で、かつ複数の筋が対角要素の両側に存在する場合です。
下に示す図は前回(その3)のマトリックスの左半分を取り除いた状態になっています。
=== | 対称であるから 左半分を削除 |
===> |
Sub Programの名称 | SYSTEMQ |
---|---|
変数:MXN | メモリー確保のためのマトリックスサイズの最大値 |
変数:MXW | メモリー確保のためのマトリックスのバンド幅の最大値 |
変数:NNODE | 計算に用いるマトリックのスサイズ(nxnのnのこと) |
変数:NBW | Half bandwidthのこと |
変数:A | マトリック [A]=[aij] |
変数:B | 連立方程式の右辺。説明の{B}と同じ。 |
私がこのサイトで紹介している2次元のプログラムの殆どが上で紹介しているSYSTEMQを連立方程式の解法に使用しています。
連立方程式を数値的に解く場合なるべく少ない数の掛け算と割り算で{X}が求めることがキーポイントになります。 計算の数が多くなると時間がかかるだけでなく 丸め誤差が大きくなり計算精度も悪化してきます。
ここで紹介した以外にも様々な方法が有ります。 文献を調べて貴方のFEM解析に適した連立方程式の解法を探し出しみて下さい。