はりの計算式を解く(6)

はりの実用式は
  V''''(x) = p(x) = -w                  (1)
  V''' (x) = Q(x) = C1 + ∫ p(x) dx            (2)
  V''  (x) = M(x) = C2 + ∫ Q(x) dx             (3)
  r(x) = -M(x)                    (4)
  V'   (x) = T(x) = C3 + ∫ r(x) dx             (5)
  V    (x) = V(x) = C4 + ∫ T(x) dx + κ * EI / GA * ∫ Q(x) dx  (6)
  ただし
  κ   せん断変形の形状係数
  EI   曲げ剛性(一定)
  GA   せん断剛性(一定)
  x   位置
  L   スパン長
  p(x)  分布荷重
  w   等分布荷重
  Q(x)  せん断力
  M(x)  曲げモーメント
  r(x)    曲率(δ''=φ=r(x)/EI)
  T(x)  たわみ角(δ'=θ=T(x)/EI)
  V(x)  たわみ(δ=V(x)/EI)
  C1    積分定数(Q(x=0))
  C2    積分定数(M(x=0))
  C3    積分定数(T(x=0))
  C4    積分定数(V(x=0))
でした。

 

今回は 曲げとせん断の成分を表示するやり方を紹介します。

 

Mery で以下のスクリプトを書いて ファイル名 "000-3.bat" で保存して実行すれば表示されます。
: 等分布荷重 1端ピン他端固定
@echo off
path C:\maxima-5.46.0\bin;%path%
ruby -x %~f0 5 -10 0.15 0.3 6.5 6.5/15 1.2
pause
goto:eof

#!ruby
def pt_qm_tp_4(l, w, b, h, e, g, κ)
  f = open "| maxima --very-quiet", "w"
  f.print <<~Maxima
    p: -w$                           /* (M1) */
    Q: C1 + integrate(p, x)$      /* (M2) */
    M: C2 + integrate(Q, x)$      /* (M3) */
    r: -M$                        /* (M4) */
    T: C3 + integrate(r, x)$      /* (M5) */
    V: C4 + integrate(T, x) + κ * EI / GA * integrate(Q, x)$/*(M6)*/
    s: solve([ev(M, x = 0) = 0, ev(V, x = 0) = 0, ev(T, x = L) = 0, ev(V, x = L) = 0]
    , [C1, C2, C3, C4])$ /*(M7)*/
    [Q, M, T, V]: subst(s, [Q, M, T/EI, V/EI]);      /* (M8) */
    [L, w, B, D, e, g, κ]: [#{l}, #{w}, #{b}, #{h}, #{e}, #{g}, #{κ}]$      /* (M9) */
    [EI, GA]: [e*B*D^3/12, g*B*D] * 10^6$      /* (M10) */
    plot2d([T*1000, V*1000, (T - ev(T, κ=0))*1000, (V - ev(V, κ=0))*1000], [x, 0, L], [legend, "T", "V", "Ts", "Vs"], 
    [style, [lines,5,3], [lines,5,4], [lines,1,3], [lines,1,4]])$ /* (M11) */
    ?sleep(5)$ /* (M12) 5秒表示 */
    pvs: makelist([x, ev(V)*1000, ev(V,κ=0)*1000, (ev(V)-ev(V,κ=0))*1000], x, 0, L, L/10)$ /* (M12-1) */
    write_data(float(pvs), "C:/jww/ztemp_pvs.txt")$ /* (M12-2) */
    quit()$ /* (M13) 終了 */
  Maxima
  f.close
end
l, w, b, h, e, g, κ = ARGV.map { |x| eval(x) } # m, kN/m, m, m, kN/mm2, kN/mm2
pt_qm_tp_4(l, w, b, h, e, g, κ)

File.foreach("C:/jww/ztemp_pvs.txt") do |line|
  p ["x, V(x), Vb(x), Vs(x)", *line.split.map{|x| x.to_f.round(3)}]
end
__END__

 

(M11)で 曲げとせん断の回転角とたわみの変形成分が

と表示されます。

 

(M12-1)と(M12-2)で 曲げとせん断の回転角とたわみの変形のスパンを10等分した位置の数値が

と表示されます。

ただし
  ev(T)*1000 は 回転角 単位は x 1000 rad
  ev(T, κ=0)*1000 は 回転角の曲げ変形による成分
  (T - ev(T, κ=0))*1000 は 回転角のせん断変形による成分
  ev(V)*1000 は たわみ 単位は mm
  ev(V, κ=0)*1000 は たわみの曲げ変形による成分
  (V - ev(V, κ=0))*1000 は たわみのせん断変形による成分


せん断変形を考慮したはりが簡単に解ける時代になっていても、先入観が邪魔をします。当方もそうなのですがいろいろ難しいので考えません。


次回は 集中荷重と集中曲げを取り上げます。