■プログラムと計算例■
簡単なプログラムと計算例を紹介します。まず、連立方程式を解くプログラムに読み込ますデータを作成する必要が
有ります。ここでは、数値をランダムに選択しマトリクス[A]と右辺のベクトル{B}を作成します。ランダム数値と
して円周率のデータを使うことにしました。データは、PI.DATを見て下さい。
そして連立方程式のデータを作成するMATRIX-DATA-CREATOR2.FOR を実行すると、以下の2つのファイルを出力してくれます。
SYSFULL.DAT MTRIXLDLVT.DATSYSFULL.DATにはフルマトリクス[A]とベクトル{B}が書き込まれています。
まずフルマトリクス[A]とベクトル{B}を使ったプログラムを紹介します。プログラム名は、 SIMLUTA-SQUARE2.FORです。このプログラムを 実行すると、SOLUTION-BY-LDL.OUTが結果と してファイル出力されます。
次にハーフバンドマトリクスを用いた場合のプログラムを紹介します。プログラム名は
SIMLUTA-CRUSH-VTCL-NRML.FOR
です。このプログラムは今後様々なFEMのプログラムに埋め込むことにより、計算速度を
上げることができます。私も流体のプログラムNSEQ8DD.FORに埋め込みました。計算速度が
著しく向上しました。
このプログラムを実行すると、SOLUTION-CRUSHVT.SIMが結果と
してファイル出力されます。SIMLUTA-SQUARE2.FORの場合と
同じ計算結果になっています。
プログラム名 | 機能および目的 |
---|---|
SIMLUTA-SQUARE2.FOR | フルマトリクス[A]を[L][D][L]Tに分解し連立方程式を解く。 [L][D][L]T分解の学習に活用して下さい。 |
SOLUTION-CRUSHVT.SIM | バンドマトリクス[A]を[L][D][L]Tに分解し連立方程式を解く。FEMの プログラムに埋め込み計算速度アップに活用してみて下さい。 |
[L][D][L]T{x}={B}による連立方程式の計算方法の説明は以上です。
BACK | NEXT-Stiffness Matrix |
---|
Menu | LU Decompo | Stiff | 3D Solid | 3D Fluid | Eigen&Lanczos | Sound Eigen | Solid Eigen | Solid Axisym |