026_MomentsInertia.mw

慣性モーメントの計算

イントロダクション

慣性モーメントの概念は機械工学や土木工学 エンジニアリングで直面する多くの設計・解析問題において重要です。また、機械や橋、その他の工学システムの設計でも必要とされます。慣性モーメントの計算はたいてい厄介なものです。一般的には積分を解析的に行う必要がありますし、いくつかの形状を組み合わせたような、特殊な場合には、多くの式や数を繰り返し扱う必要があります。Maple はこれらのどちらも実行できる理想的なツールです。

> restart;

積分の方法

この例では三角形領域に対する慣性モーメントの一般的な式をが導きます。

[Inserted Image]

微分慣性モーメントを定義します。

> dIx := y^2*dA:

微分領域の要素を定義します。

> dA := L*dy:

幾何学的拘束条件(三角形の相似)を使って L についての式を導きます。

> solve(L/b = (h-y)/h,L):

L にこの値を代入します。

> L := %;

L := -(-h+y)*b/h

Maple は自動的にこれらのすべての式を保持します。例えば微分領域 dA は、今次の様になります。

> dA;

-(-h+y)*b*dy/h

慣性の微分モーメントに対応する式は次の様になります。

> dIx;

-y^2*(-h+y)*b*dy/h

積分を行い、一般的な三角形の慣性モーメントの公式を導きます。 dyには値1を代入するので、MapleVの積分器はdyを数学的変数として混乱することはありません。

> dy := 1:

> lx := int(dIx,y=0..h);

lx := 1/12*h^3*b

複合オブジェクト (平行軸定理)

Maple でパラメトリックな設計を行うことにより、良く知られた平行軸定理のより活用することができます。Maple の数式処理エンジンは、重要なパラメータと未知数を保持することができるため、完全に 一般的な式を作成できます。また、式を操作することで最適化などの設計を行うことができ便利です。

断面の形状を次のように与え、パラメータt (厚さ) に関して Z-Z 軸についての慣性モーメントに対する一般的な式を導きます。

[Inserted Image]

もし上のオブジェクトが梁の断面であるなら、様々な負荷条件下で、最適な平板の厚さ (t) を簡単に決定できます。Maple を使って数式処理でアプローチすることで、この問題を直接解くことができます。

平行軸定理は比較的小さい、単純なモデルの数列を考えることにより、全体の問題を解きます。オブジェクト全体の重心位置の一般的な公式は以下の通りです。

> ybar := sum(y[i]*A[i],i=1..3)/A[total];

ybar := (y[1]*A[1]+y[2]*A[2]+y[3]*A[3])/A[total]

オブジェクトの部分領域の面積と全体の面積を定義します。

> A[1] := 10*t:
A[2] := (3-t)*t:
A[3] := (3-t)*t:
A[total] := A[1] + A[2] + A[3];

A[total] := 10*t+2*(3-t)*t

オブジェクトの部分領域の重心高さを定義します。

> y[1] := 3-t/2:
y[2] := (3-t)/2:
y[3] := (3-t)/2:

変数 ybar (重心位置) は、各項の定義によって決まった式を保持しています。現在の ybar の内容をプリント出力します。

> ybar;

(10*(3-1/2*t)*t+2*(3/2-1/2*t)*(3-t)*t)/(10*t+2*(3-t)*t)

式を簡単化します。

> ybar := simplify(ybar);

ybar := -1/2*(39-11*t+t^2)/(-8+t)

慣性モーメントの式を表示します。(平行軸定理)

> Izz := sum(I0[i]+A[i]*(y[i]-ybar)^2,i=1..3);

Izz := I0[1]+10*t*(3-1/2*t+1/2*(39-11*t+t^2)/(-8+t))^2+I0[2]+2*(3-t)*t*(3/2-1/2*t+1/2*(39-11*t+t^2)/(-8+t))^2+I0[3]

個々の慣性モーメント b*h^3/12 を定義します。

> I0[1] := (1/12)*10*t^3:
I0[2] := (1/12)*(t)*(3-t)^3:
I0[3] := (1/12)*(t)*(3-t)^3:

慣性モーメントに関する最終的な式を表示します。再び Maple はすべての変数の変化を保持しています。

> Izz;

5/6*t^3+10*t*(3-1/2*t+1/2*(39-11*t+t^2)/(-8+t))^2+1/6*t*(3-t)^3+2*(3-t)*t*(3/2-1/2*t+1/2*(39-11*t+t^2)/(-8+t))^2

結果を単純化します。

> Izz := simplify(Izz);

Izz := -1/6*t*(t^4-22*t^3+139*t^2-378*t+621)/(-8+t)

一般的な式を「オペレータ」形式 あるいは関数形式 (すなわち Izz(t)) に変換します。この結果は式の形を取っており、値 t に対する Izz の計算を素早く求めることができます。 変換は unapply() 関数で実行されます。

> Izz_value := unapply(Izz,t);

Izz_value := proc (t) options operator, arrow; -1/6*t*(t^4-22*t^3+139*t^2-378*t+621)/(-8+t) end proc

任意の t に対する慣性モーメントを計算します。

> Izz_value(.25);

2.875525032

> Izz_value(1.5);

11.44471154

オペレータ形式も数値的でない情報を扱うことができます。例えば、厚さ t は他のパラメータの関数、例えば t=(a-1) であっても構いません。

> Izz_value(a-1);

-1/6*(a-1)*((a-1)^4-22*(a-1)^3+139*(a-1)^2-378*a+999)/(-9+a)

> simplify(%);

-1/6*(a-1)*(a^4-26*a^3+211*a^2-726*a+1161)/(-9+a)

プロットを使って、慣性モーメントと厚さのパラメータ t の間の一般的な関係をまとめることができます。

> plot(Izz_value(x),x=0..5,title=`Moment of Inertia as a Function of Thickness`,labels = [`Thickness`,`Moment`]);

[Plot]