はりの計算式(13) - 境界条件 集中荷重 -

はりの計算式を連載で紹介しています。

 

境界条件 集中荷重 です。


支持条件

tp = 0 単純ばり

tp = 1 片持ち梁(自由固定)

tp = 2 片持ち梁(固定自由)

tp = 3 両端固定

tp = 4 1端ピン他端固定

tp = 5 1端固定他端ピン

境界条件

qA = Q(x=0) せん断力

mA = M(x=0) 曲げモーメント

tA = T(x=0) たわみ角を曲げ剛性 EI で乗じたもの

vA = V(x=0) たわみを曲げ剛性 EI で乗じたもの

からはりを計算するやり方です。

 

計算式本体

(x < a ? 0 : 1) は 三項演算子 ternary operator で x< a なら 0 でないなら 1 を返します。

 

境界条件

 

チェック用プログラム

 

:境界条件 集中荷重
@echo off
ruby -x %0
pause
goto:eof
#!ruby

def mq1(x, tp, l, a, w, qa, ma, ta, va, ei = nil, __g__ = 0)

  r = (x < a ? 0 : 1.0)
  q = qa - w * r
  m = ma + qa * x - w * r * (x - a)
  t = ta - ma * x - qa / 2 * x ** 2 + w * r / 2 * (x - a) ** 2
  v = va + ta * x - ma / 2 * x ** 2 - qa / 6 * x ** 3 + w * r / 6 * (x - a) ** 3   + __g__ * (m - ma) * l ** 2

  if ei == nil
    return q, m, t, v
  else
    return q, m, t / ei, v / ei
  end
end

x = 2.5   #m
l = 5.0   #m
a = 2.5   #m
w = 50.0  #kN
e = 6.5 * 10**6 #kN/m2
t = 0.15  #m
h = 0.30  #m
g = e/15  #kN/m2

ei = e * t * h ** 3 / 12
ga = g * t * h
__g__ = 1.2 * ei / ga / l ** 2

tp = 0

if tp == 0
# o-----o
  qa = -w * (a - l) / l
  ma = 0.0
  ta = w * a * (a - 2 * l) * (a - l) / (6 * l)
  va = 0.0
elsif tp == 1
# ------|
  qa = 0.0
  ma = 0.0
  ta = -w * (a - l) ** 2 / 2
  va = w * (a - l) * ( (a + l) * a - 2 * (3 * __g__ + 1) * l ** 2) / 6
elsif tp == 2
# |------
  qa = w
  ma = -w * a
  ta = 0.0
  va = 0.0
elsif tp == 3
# |-----|
  qa = w * (a - l) * ( (2 * a - l) * a - (12 * __g__ + 1) * l ** 2) / (l ** 3 * (12 * __g__ + 1))
  ma = -w * a * (a - l) * (a - (6 * __g__ + 1) * l) / (l ** 2 * (12 * __g__ + 1))
  ta = 0.0
  va = 0.0
elsif tp == 4
# o-----|
  qa = w * (a - l) * ( (a + l) * a - 2 * (3 * __g__ + 1) * l ** 2) / (2 * l ** 3 * (3 * __g__ + 1))
  ma = 0.0
  ta = w * a * (a - l) * (a - (6 * __g__ + 1) * l) / (4 * l * (3 * __g__ + 1))
  va = 0.0
elsif tp == 5
# |-----o
  qa = w * (a - l) * ( (a - 2 * l) * a - 2 * (3 * __g__ + 1) * l ** 2) / (2 * l ** 3 * (3 * __g__ + 1))
  ma = -w * a * (a - 2 * l) * (a - l) / (2 * l ** 2 * (3 * __g__ + 1))
  ta = 0.0
  va = 0.0
end

  q, m, t, v = mq1(x, tp, l, a, w, qa, ma, ta, va, ei, __g__)
  p [x, q, m, t, v]
__END__

 

x = 2.5   #m
l = 5.0   #m
a = 2.5   #m
w = 50.0  #kN
e = 6.5 * 10**6 #kN/m2
t = 0.15  #m
h = 0.30  #m
g = e/15  #kN/m2

 

計算結果は

となります。[x, q, m, t, v]

 

弾性曲線式