■入力データと計算方法■
ファイルWIRE0.DATは、ProgramWIRE3.FORのSUBROUTINE INPUTで取り込まれます。そして、SUBROUTINE INPUT を見ると次の様になっています。
行目 | 変数名 | 意 味 |
---|---|---|
1 | NE | 要素数 |
2 | DOMAINL | 領域のx方向の全長 |
3 | WDENSITY | Wire の単位長さ当りの質量 |
4 | TXMAX, TXMIN, TXSTEP |
3つの実数があります。これらが、計算の手順を示しています。微分方程式は、非線形ですから、z(x) の推測値が必要ですよね。一番簡単なz(x)の推測値として、両境界点を直線で結ぶ線が考えれます。このとき Wire の Tension は、無限大になりますよね。 そこで、計算方法として、まず、大きい値の Tx (TXMAX) と直線のguessのz(x)で解析を行い、z(x)を得ます。この場合、少ない繰り返し数で、解がえられます。次のステップとして、 Tx から少し小さな値(TXSTEP)を引いて、計算されたばかりのz(x)を使って解析します。この計算を Tx=TXMIN まで行います。 |
5 | Z1 | x=0 でのz座標値 |
6 | ZN | x=DOMAINL でのz座標値 |
入力データでは、Z1=0,ZN=10となっていますので注意して下さいね。ProgramWIRE3.FORを実行すると、 計算結果は、SOLUTION.FEMと SUMMARY.FEMの2つのファイルに入る様に設計されています。Excel で容易に読める様にフォーマットしてありますので、試してくださいね。
次に、入力データファイルのWIRE1.DATを見て下さい。要素数=60、領域の水平方向の長さ=60cm、Wire の質量=0.3571428571429grams/cm、TXMAX,TXMIN,TXSTEP=20grams, 4.grams, 1.gram となっていますね。プログラムの中で、重力は、1 としています。境界条件は、Z1=0.,ZN=0. となっていますね。
■計算例と実測■
この手の実験は、簡単ですので、やってみることにしました。上で説明した材料は、ホームセンター等で買える chain です。全長=112cm、全質量=40grams でした。壁に長さ60cmの水平線を描き、線の両端にchainの両端を画鋲で吊るしました。すると、最初のページで紹介した様に、chainは、曲線を描きます。この実験では、chain の最大深さは、約43cmになりました。この様な状況を実現するには、Tx=5.228grams になっていることが、計算からわかりました。 このときの結果を下図に示します。計算結果の半分を表示しています。実験と計算結果は、よく一致していますね。計算には、上のデータと同じWIRE1.DATを使いました。図をクリックすると、Excelで書かれた実験結果が得られます。 |
もう皆さんお気付きと思いますが、有限要素法のプログラムは、全てFortranで書いてあります。私は、Fortranが好きだからです。ところが、Fortranのcompilerは、Windows/DOS/Unix ベースが多く、私も、Windows用Windowsのcompilerを使っています。(しかし、htmlは、Macを使っていますがね。)ということで、皆様に使って頂けるMac用の実行ファイルが有りませんでした。
ところが、Viewerの一人のかど野 勝様よりMacの実行ファイルを頂きました。了解を頂いておりますので、是非、皆さん使ってみて下さい。かど野さん、有難うございます。
BACK | NEXT Two Dimensional FEM |
---|
Menu | View | Helm | wrm | Lin | Element | Rmrk | Vari | Para | Non-L | Wire |