030_CircularBending.mw

円盤のたわみ

イントロダクション

このワークシートでは、Maple を使用し円盤の解析にどのように使われるかをデモンストレーションします。

> restart;

> with(plots):

Warning, the name changecoords has been redefined

ワークシートの始めにセッションのパラメータを設定します。

> Outer:=128:
Iner:=8:
Load:=-4:
Poisson:=.25:

変位に対する式

負荷は集中的に x=a に分布しているので、変位は内側の領域と外側の領域の2つの式で表されます。
これらの式は完全にパラメトリックなので、どの項も数値あるいは数式に置き換えることができます。

内側について

> deflection1:=(W*a^2/(8*Pi*Dia))*(1/2*(1-d^2/a^2)*((3+nu)/(1+nu)-(1-nu)/(1+nu)*(r^2/a^2))-(r^2/a^2+d^2/a^2)*ln(a/d));

deflection1 := 1/8*W*a^2*(1/2*(1-d^2/a^2)*((3+nu)/(1+nu)-(1-nu)*r^2/((1+nu)*a^2))-(r^2/a^2+d^2/a^2)*ln(a/d))/(Pi*Dia)

外側について

> deflection2:=(W*a^2/(8*Pi*Dia))*(1/2*(1-r^2/a^2)*((3+nu)/(1+nu)-(1-nu)/(1+nu)*(d^2/a^2))-(d^2/a^2+r^2/a^2)*ln(a/r));

deflection2 := 1/8*W*a^2*(1/2*(1-r^2/a^2)*((3+nu)/(1+nu)-(1-nu)*d^2/((1+nu)*a^2))-(r^2/a^2+d^2/a^2)*ln(a/r))/(Pi*Dia)

最大変位に対する式

r=0 を代入することで最大変位が解ります。残りのパラメータは変数のままであることに注意してください。

> maxdef:=subs(r=0,deflection1);

maxdef := 1/8*W*a^2*(1/2*(1-d^2/a^2)*(3+nu)/(1+nu)-d^2*ln(a/d)/a^2)/(Pi*Dia)

変位方程式を評価し、半径のパラメータ r の式にします。

> defnew1:=evalf(subs(a=Outer,d=Iner,Dia=2*Outer,nu=Poisson,W=Load,deflection1));

defnew1 := -13.07964810+0.1909496771e-2*r^2

> defnew2:=evalf(subs(a=Outer,d=Iner,Dia=2*Outer,nu=Poisson,W=Load,deflection2));

defnew2 := -13.22975464+0.8074801418e-3*r^2+10.18591636*(0.6103515625e-4*r^2+0.3906250000e-2)*ln(128./r)

> defnew1:=unapply(defnew1,r):
defnew2:=unapply(defnew2,r):

最大変位の値

変位に対して数値が計算されます。しかし、Maple は前のシンボリック表現を保持していて、 望みの数式をいつでも得ることができます。

> maxdef:=evalf(subs(a=Outer,d=Iner,Dia=2*Outer,nu=Poisson,W=Load,r=0,deflection1));

maxdef := -13.07964810

> p1:=tubeplot( [0, 0, defnew1(z)], z=0..Iner, radius = z, style=PATCHNOGRID,
      tubepoints=20, view=[-Iner..Iner,-Iner..Iner,defnew1(0)..defnew1(Iner)],
      axes=boxed, orientation=[-46,57], shading=zhue):

> p2:=tubeplot( [0, 0, defnew2(z)], z=Iner..Outer, radius = z, style=PATCHNOGRID,
      tubepoints=20,view=[-Outer..Outer,-Outer..Outer,defnew2(Iner)..defnew2(Outer)],
     axes=boxed,orientation=[-46,57], shading=zhue):

二つの別々の領域が、一つのプロットまとめられて表示されています。

> display({p1,p2}, title = `CIRCULAR PLATE DEFLECTION`);

[Plot]