すると、結果的に、下に示す Wire & Chain の式が出来上がります。
■Program WIRE3.FOR■
上のプログラム名をクリックするとソースコードが表示されます。
このプログラムは
BUCKLE1A.FOR
をベースにしてWIREの解析ができる様に改良しました。
追加および改良した Subroutine 名とそれらの役目を下に表示しますのでソースコードを見ながらロジックを確認して下さい。
これまでのプログラムと違い内部で要素情報を作成する Subroutine が用意されています。
Subroutine名 | 引数 | Return 変数 |
役割/目的 |
---|---|---|---|
PRT | 結果の出力 | ||
PARAB | MXN NNODE X TX GW RHS PARA |
PARA |
ds/dx=1 のときの Wire の座標値を計算します。つまり、答えは Parabolic になります。 GW は、Wire の単位長さ当りの重さ(WDENSITY) に重力加速度(GRAVITY)をかけたものです。 このプログラムでは GRAVITY=1 としてあります。 |
CMPDEPTH | MXN NNODE X RHS DEPTH WL |
DEPTH WL |
Wire の最大深さ(DEPTH)と Wire の全長(WL)を計算します |
TENSION | ND,MXE MXN,NE NODEX,X RHS,TX TS,SUMTZ |
TS,SUMTZ | Wire の各節点での Tension(TS(I)) を計算します。 また、両境界でのz軸方向の力の合計(SUMTZ)も計算します。 SUMTZはWire 全長の重量になります。 |
INITIALZ | Z(I) の最初のGuess の値を計算します。 境界の2点間を直線としています。 | ||
NEWZ | MXN,NNODE DOMAINL,RHS Z,DZMAXER |
Z,DZMAXER |
計算されたz軸の座標値(RHS(I)) と繰り返し計算の1つ前のz軸の座標値(Z(I))から新しいz軸の座標値(Z(I))を予測します。 このときに今回と前回のz軸の座標値の最大誤差(DZMAXER)も計算します。 |
ELEMENT | DOMAINL,MXE MXN,ND NE,NNODE NODEX,X |
NODEX,X | ここでは要素を作成しています。 DOMAINLは両境界間の水平距離です。 |
MATRIX | ds/dx の計算に注目してください |