すると、結果的に、下に示す 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 の計算に注目してください。 |
BACK | NEXT |
---|
Menu | View | Helm | wrm | Lin | Element | Rmrk | Vari | Para | Non-L | Wire |