◆ちょっと理解に苦しむSubroutine FORM◆
全般的に、プログラムは、とても理解しやすい様に書いてあります。しかも、スッテプ数も短く、むだの無い設計になっています。しかし、1つだけ、貴方を悩ませるSubroutineがあります。それはFEM3Q.FORの中のSubroutine FORMQ です。ビールでも飲みながら、じっくり時間をかけて、ロジックを追ってみて下さい。きっと、理解できます。
◆プログラムで例題を計算してみよう◆
まず、プログラム(FEM3.FORまたはFEM3Q.FOR)と入力データを作成するプログラム
SETFEM3.FORを同じディレクトリーにコピーしておいて下さい。
次にプログラムSETFEM3.FORをコンパイルし実行してみて下さい。数値の入力(NEXとNEY)を要求してきますので、両方とも2を入れて下さい。
するとファイル
ファイルFEM03INPUT.DAT、
ファイルPARAM.DAT、
ファイルELEMENT3.OUT、
が作成されます。
境界条件は、例題と同じです。PARAM.DATは、プログラムFEM3.FORまたはFEM3Q.FORのメモリー制御に
使われるファイルです。ELEMENT3.OUTは、表計算ソフトのエクセルに読み込ませてて下さい。データを
スペース区切りとして展開するとA列のデータがBとC列に分かれます。そのBとC列を使って散布図を描くと
下図のような計算領域の要素分割が表示されます。
次に、プログラムFEM3.FOR(またはFEM3Q.FOR)をコンパイルし実行してみて下さい。計算結果と入力データのエコーが、ファイルSOLUTION.FEMに入っています。
節点番号の5と6で手計算と同じ結果が出ればOKです。
次にもう一度、プログラムSETFEM3.FORを実行して下さい。今度はNEX=20, NEY=20として下さい。その後、 プログラムFEM3.FOR(またはFEM3Q.FOR)の実行後、 プログラムGRA3FILE.FORを実行してみて下さい。すると、 ファイルTEMPERAT.OUTが作成されます。これを ELEMENT3.OUTと同様の手順で表計算ソフトのエクセルに読み込ませると、以下の図が得られます。プログラムFEM3.FOR(またはFEM3Q.FOR)は、GRA3FILE.FORのために計算結果のみをSOLUTION.BINにバイナリーで書きこんでいます。
BACK | NEXT |
---|
Menu | Heat Eq. | Cdtvty | WRM2 | Tri | Stiff | Bound | Ex | Rmk |