Numerical Method & Algebla
Simultaneous Equations-4
■その1: Tri-Diagonal Matrix■
有限要素法では、出来上がった連立方程式のマトリックスがBanded Matrixになることが多い。つまり、マトリックスの対角要素付近に数値が現われ、対角要素から遠い部分はゼロに成っています。まず、Tri-Diagonal Matrix について説明します。下に典型的なTri-Diagonal Matrixを持つ連立方程式を示します。
対角要素の両隣に1本づつ筋が走っているように値がつまっていて、その他はゼロになっています。この様にゼロの為にをメモリー確保するのは無駄になってしまいます。そこでマトリックスを次のように立てます。
マトリックスを、この様にコンパクトにすると、計算に必要なメモリーを大幅に削減できます。
前に紹介したGaussの消去法では、nxn であるのに対し、この場合、nx3で解析が可能になります。
下に、上図のように、コンパクト化したTri-Diagonal Matrixの連立方程式を、Gaussの消去法で解くSub Programを紹介します。Program名をクリックするとソースが表示されます。
Sub Programの名称 | TRIDIA |
変数:MXN | メモリー確保のためのマトリックスサイズの最大値 |
変数:NNODE | 計算に用いるマトリックスのスサイズ |
変数:A | マトリック [A]=[aij] |
変数:B | 連立方程式の右辺。説明の{B}と同じ。 |
マトリックスのサイズが、A(MXN,3)であることに注意して下さい。