はりの計算式を解く(13)-両端曲げ-

はりの計算式を解くやり方をいろいろと紹介しています。


本稿の弾性曲線式は
    V''''(x) = p(x),  x | 0 => L (technical theory of beam, Euler–Bernoulli beam theory)
    V''''(x) = p(x) - κ * EI / GA * p''(x),  x | 0 => L (Timoshenko beam theory)
と改めます。上は普通の梁で、下はせん断変形を考慮した梁の式です。


はりの計算式は
  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)
     G(x) = κ * EI / GA * Q(x)     (4-1)
  V'   (x) = T(x) = C3 + ∫ r(x) dx    (5)
  V    (x) = V(x) = C4 + ∫ T(x) + G(x) dx (6)
  ただし
  κ   せん断変形の形状係数
  EI   曲げ剛性(一定)
  GA   せん断剛性(一定)
  x   位置
  L   スパン長
  p(x)  分布荷重
  w   等分布荷重
  Q(x)  せん断力
  M(x)  曲げモーメント
  r(x)    曲率(δ''=φ=r(x)/EI)
  G(x)  せん断角(γ=G(x)/EI、鉛直方向のせん断歪は全断面で一定とし、材軸方向は0とする)
  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))
とします。G(x) = 0 とすれば普通の梁です。


この計算式は 荷重 p(x) を 与えると 機械的に解けます。パソコンを利用すれば 境界条件 C1, C2, C3, C4 を計算することは それほど難しくはありません。数式処理ソフトを使えば、手計算のように 静定 と 不静定を区別したり 仮想仕事や相反作用の原理を 持ち出す必要がないからです。また、普通の梁でもせん断変形を考慮した梁でも同じ計算式が使えるので便利です。
本稿のアイデアは たわみ角 T(x) と たわみ V(x) の与え方にあります。曲げ剛性とせん断剛性が一定のとき、T(x) と V(x) を たわみ角とたわみとみなすことで 弾性曲線式は積分を繰り返すとその都度 Q(x)、M(x)、T(x)、V(x) となります。たわみ角とたわみは T(x)/EI と V(x)/EI とすればもとに戻せます。


今回は 両端曲げについて考えます。


Mery で以下のスクリプトを書いて ファイル名 "000-11.bat" で保存して実行すれば両端曲げが処理されます。
単純支持として、はりの両端に曲げを与えます。

: 両端曲げ
@echo off
path C:\maxima-5.47.0\bin;%path%
ruby -x %~f0 5 -20 -30 0.15 0.3 6.5 6.5/15 1.2
pause
goto:eof

#!ruby
def pt_qm_tp_3(l, pm1, pm2, t, h, e, g, κ)
=begin
  pm1  PM1  は(x=0)の曲げモーメント kNm  右回りが負、左回りが正
  pm2  PM2  は(x=L)の曲げモーメント kNm  右回りが負、左回りが正
=end
  f = open "| maxima --very-quiet", "w"
  f.print <<~Maxima
    p: -0$ /*(M1)*/
    Q: C1 + integrate(p, x)$ /*(M2)*/
    M: C2 + integrate(Q, x)$ /*(M3)*/
    r: -M$ /*(M4)*/
    G: κ * EI / GA * Q$ /*(M4-1)*/
    T: C3 + integrate(r, x)$ /*(M5)*/
    V: C4 + integrate(T + G, x)$ /*(M6)*/
    s: solve([
      ev(M, x = 0) = PM1, ev(V, x = 0) = 0, ev(M, x = L) = -PM2, ev(V, x = L) = 0
    ], [C1, C2, C3, C4])$ /*(M7)*/
    [Q, M, T, V, G]: ev([Q, M, T/EI*1000, V/EI*1000, G/EI*1000], s)$ /*(M8)*/
    [L, PM1, PM2, t, D, e, g, κ]: [#{l}, #{pm1}, #{pm2}, #{t}, #{h}, #{e}, #{g}, #{κ}]$ /*(M9)*/
    [EI, GA]: [e*t*D^3/12, g*t*D] * 10^6$      /*(M10)*/
    plot2d([Q, M, T, V], [x, 0, L], [legend, "Q", "M", "T", "V"])$ /*(M11)*/
    ?sleep(5)$ /*(M12) 5秒表示*/
    quit()$ /*(M13) 終了*/
  Maxima
  f.close
end
l, pm1, pm2, t, h, e, g, κ = ARGV.map { |x| eval(x) } # (R14) m, kNm, kNm, m, m, kN/mm2, kN/mm2
pt_qm_tp_3(l, pm1, pm2, t, h, e, g, κ) # (R15)
__END__


(M11)で

と表示されます。

 


曲げモーメントは、終端(右端)で与えた値とは逆の符号になります。

左端 PM1 = -20 kNm、右端 PM2 = -30 kNm

 

 

座標系は右手右ねじ系としています。
(x) は材軸方向
(y) は上下方向で上向きが正、下向きが負
(z) は回転方向で左回りが正、右回りが負

     y
     |
     |___________x
   /
  z

慣用の座標系も右手右ねじ系ですが向きが違います。
(x) は材軸方向
(y) は上下方向で下向きが正、上向きが負
(z) は回転方向で右回りが正、左回りが負

           z
        /
     /__________x
     |
     |
     y


次回は 複数の集中曲げについて取り上げます。