上表(前のページ)のファイル名をクリックすると、内容が表示されます。 この後に紹介する例題の ビームの自由端にモーメントMが作用している場合 を8節点ヘキサ1次要素のNEX×NEY×NEZ=10×2×4、27節点ヘキサ2次要素のNEX×NEY×NEZ=5×1×2で分割したときの各プログラムからの出力ファイルです。 ファイルのDISPLACE.MNTはバイナリーです。
■3DSTATIC8QFXCOMBINE.FOR■
8と27節点ヘキサ要素を用いた弾性解析を行うプログラムです。
要素形状については、8節点6面体1次要素を参考にして下さい。
それでは、プログラムについて簡単に説明します。
下にサブルーチン名と機能を表にまとめてみました。
既に紹介済みのサブルーチンの説明は省きます。
2次元では、境界条件と境界値をまとめるBCASSYと言うサブルーチンがありましたが、この機能はサブルーチンINPUTに統合しました。
また、2次元サブルーチンASSEMBで行っていた要素剛性マトリクスをグローバル剛性マトリクスへassemblyする作業は、
サブルーチンGSMで行っています。したがって、2次元に比べ3次元のプログラムは少ないサブルーチンで作動します。
Subroutine名 | 機能 | 返す変数 |
---|---|---|
GSM | 要素剛性マトリックス[SK]を計算し、グローバル剛性マトリクス[AM]をアッセンブルする。 | AM |
SOLVE | 未知数U,V,Wを計算する。U,V,Wは、{RHS}に格納されている。 | RHS |
NEUMANN | Neumann型境界条件をマトリックス型有限要素式に組み込む。 | RHS |
FORM | irichlet型境界条件をマトリックス型有限要素式に組み込む。 | AM,RHS |
SYSTEM | 連立方程式を解く。 | B |
INPUT | ファイルSTATC3D8.DATからデータを読み込む。X,Y,Z方向、別々に読み込まれた境界条件と境界値を1つの変数にまとめる。 | 諸々 |
RESULT | ファイルSOLUTION.FEMとDISPLACE.MNTを作成する | なし |
■WEBSS3D8.FOR■
8節点ヘキサ要素を用いて片持ちビームのデータを作成します。
ビームの長手方向が座標xで断面が座標yzです。ビームの寸法は、TLX, TLY, TLZで指定します。
座標軸方向の要素数は、NEX, NEY, NEZで表します。ヤング係数、ポアソン比、要素の節点番号、節点の座標、境界条件がデータとして
入力ファイルに書き込まれます。
■SOILD-OPTIMIZERX.FOR■
WEBSS3D8.FORやWEBSS3D27.FORでは出来るだけグローバル剛性マトリクスのバンド幅が狭くなるようにプログラミングしていますが、
たまにSOILD-OPTIMIZERX.FORを通すとバンド幅がより狭くなるときがあります。
特に、計算領域が長方形でなくなった
場合などは、SOILD-OPTIMIZERX.FORが威力を発揮します。結果的に3DSTATIC8QFXCOMBINE.FORでの計算時間が短くなります。