040_StaticTruss.mw

トラスの静的解析

イントロダクション

> restart;

Maple の数式計算機能を用いることで、従来のツールより役に立つ設計情報を計算することが出来ます。

結合構築の方法を使用しトラスの解析を考えます。

[Inserted Image]

モデルの定義:結合の方法

結合 A:sum(F[x]) sum(F[y])

> EqAx := Fab*cos(theta) + Fac = 0;
EqAy := Ray + Fab*sin(theta) = 0;

EqAx := Fab*cos(theta)+Fac = 0

EqAy := Ray+Fab*sin(theta) = 0

結合 B:sum(F[x]) sum(F[y])

> EqBx := -F1 - Fab*cos(theta) + Fbd*cos(theta) = 0;
EqBy := -Fab*sin(theta) + Fbc - Fbd*sin(theta) = 0;

EqBx := -F1-Fab*cos(theta)+Fbd*cos(theta) = 0

EqBy := -Fab*sin(theta)+Fbc-Fbd*sin(theta) = 0

結合 C:sum(F[x]) sum(F[y])

> EqCx := -Fac + Fcd = 0;
EqCy := -Fbc - F2 = 0;

EqCx := -Fac+Fcd = 0

EqCy := -Fbc-F2 = 0

結合 D:sum(F[x]) sum(F[y])

> EqDx := -Fbd*cos(theta) - Fcd + Rdx = 0;
EqDy := Rdy + Fbd*sin(theta) = 0;

EqDx := -Fbd*cos(theta)-Fcd+Rdx = 0

EqDy := Rdy+Fbd*sin(theta) = 0

解決方法

全ての未知の効力を同時に解きます。全ての期間の表示において中断がないようにします。はず初めに全ての均衡方程式から連立方程式の集合と未知の変数の集合を定義します。

> eqns := {EqAx, EqAy, EqBx, EqBy, EqCx, EqCy, EqDx, EqDy};

eqns := {-F1-Fab*cos(theta)+Fbd*cos(theta) = 0, -Fab*sin(theta)+Fbc-Fbd*sin(theta) = 0, -Fac+Fcd = 0, -Fbc-F2 = 0, -Fbd*cos(theta)-Fcd+Rdx = 0, Rdy+Fbd*sin(theta) = 0, Ray+Fab*sin(theta) = 0, Fab*cos(...eqns := {-F1-Fab*cos(theta)+Fbd*cos(theta) = 0, -Fab*sin(theta)+Fbc-Fbd*sin(theta) = 0, -Fac+Fcd = 0, -Fbc-F2 = 0, -Fbd*cos(theta)-Fcd+Rdx = 0, Rdy+Fbd*sin(theta) = 0, Ray+Fab*sin(theta) = 0, Fab*cos(...

> vars := {Ray, Rdx, Rdy, Fab, Fac, Fbd, Fcd, Fbc}:

この連立方程式を解析的に解きます。

解の集合は、負荷力 (F1 と F2) と角度 theta のどんな値においても、その反応と結合力を計算した式解を提供します。

> soln := solve(eqns,vars); assign(soln);

soln := {Fbc = -F2, Rdx = F1, Fab = -1/2*(F2*cos(theta)+F1*sin(theta))/(sin(theta)*cos(theta)), Fbd = 1/2*(-F2*cos(theta)+F1*sin(theta))/(sin(theta)*cos(theta)), Fcd = 1/2*(F2*cos(theta)+F1*sin(theta)...soln := {Fbc = -F2, Rdx = F1, Fab = -1/2*(F2*cos(theta)+F1*sin(theta))/(sin(theta)*cos(theta)), Fbd = 1/2*(-F2*cos(theta)+F1*sin(theta))/(sin(theta)*cos(theta)), Fcd = 1/2*(F2*cos(theta)+F1*sin(theta)...

負荷解析

必要な断面積が極端な荷重条件の下では失敗を防ぐ必要であると判断します。上の厳密解を使用して、各結果に関する軸方向応力を計算します。まず最初に、いくつかのパラメーターの単位情報を含めた値を定義します。

許容応力

> sigma := 15000*lbf/(inch^2):

トラスの角度は、

> theta := 30*Pi/180;

theta := 1/6*Pi

F1、F2 に以下の負荷を仮定します。

> F1 := 4000*lbf:

> F2 := 2000*lbf:

上の負担を減らす為に許容応力より低い値で応力レベルを維持しする為に必要な断面積を計算します。

注:表示は、緊張/圧縮の仮定に関連します。

> Aab := evalf(Fab/sigma);
Aac := evalf(Fac/sigma);
Abd := evalf(Fbd/sigma);
Acd := evalf(Fcd/sigma);
Abc := evalf(Fbc/sigma);

Aab := -.2872934052*inch^2

Aac := .2488033872*inch^2

Abd := 0.2062673842e-1*inch^2

Acd := .2488033872*inch^2

Abc := -.1333333333*inch^2

グラフによる解析

例えば、負荷 F1 と F2 を独立変数についてや、断面積 A[BD] を従属変数について表面プロットするなど、指定した範囲内でのすべての負荷の値のグラフィックを結果として確認することができます。

A[BD] (上で求めた解析解に基づいて) について負荷 F1 と F2 が 1000 から 8000 の間を取ると仮定します。

> F1 := 'F1': F2 := 'F2': inch := 1: lbf := 1:

> f := abs(Fbd)/sigma;

f := 1/22500*3^(1/2)*abs(-1/2*F2*3^(1/2)+1/2*F1)

> plot3d(f, F1=1000..8000, F2=1000..8000, orientation=[24,50], axes=BOXED, title=`Affect of F1 and F2 on Cross-Section Area of BD`, style=PATCHNOGRID);

[Plot]

このプロット内の "くぼみ" は力が伸張から圧縮に変わる F1 と F2 の値の範囲を示しています。

加えて、設計変数に関してキーとなる変数の感度を一般情報として手に入れることができます。