梁のたわみと弾性曲線方程式をわかりやすく解説

梁(はり)は構造物の基本要素であり、橋梁、建築物、航空機の翼など至るところに使われています。梁に荷重が加わると曲げ変形が生じ、このたわみ量を定量的に求めることは構造設計の基本です。

本記事では、オイラー・ベルヌーイ梁理論に基づく弾性曲線方程式を導出し、代表的な梁問題のたわみを求めます。

本記事の内容

  • 曲げモーメントと曲率の関係
  • 弾性曲線方程式の導出
  • 片持ち梁と単純支持梁のたわみ
  • Pythonによるたわみ分布の可視化

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

曲げモーメントと曲率の関係

オイラー・ベルヌーイ梁理論

オイラー・ベルヌーイ梁理論では、以下の仮定を置きます。

  1. 梁の断面は変形後も平面を保つ(平面保持の仮定)
  2. 断面はたわみ曲線に垂直を保つ
  3. 微小変形を仮定する

曲げモーメント $M$ と梁の曲率 $\kappa$ の関係は、

$$ M = EI\kappa $$

ここで $E$ はヤング率、$I$ は断面二次モーメントです。

曲率とたわみの関係

梁のたわみ $y(x)$ に対する曲率は、厳密には、

$$ \kappa = \frac{y”}{(1 + y’^2)^{3/2}} $$

微小変形の仮定 $|y’| \ll 1$ のもとでは、

$$ \kappa \approx y” $$

弾性曲線方程式

上記の関係を組み合わせると、弾性曲線方程式が得られます。

$$ \boxed{EI\frac{d^2y}{dx^2} = M(x)} $$

さらに、荷重分布 $w(x)$ との関係は、

$$ \frac{dV}{dx} = -w(x), \quad \frac{dM}{dx} = V(x) $$

ここで $V$ はせん断力です。これらを組み合わせると4階の微分方程式となります。

$$ EI\frac{d^4y}{dx^4} = w(x) $$

具体例1: 片持ち梁の集中荷重

長さ $L$ の片持ち梁の自由端に集中荷重 $P$ が作用する場合を考えます。

曲げモーメントの導出

固定端を原点とすると、位置 $x$ での曲げモーメントは、

$$ M(x) = -P(L – x) $$

たわみの導出

弾性曲線方程式に代入して積分します。

$$ EI y” = -P(L – x) $$

1回積分:

$$ EI y’ = -P\left(Lx – \frac{x^2}{2}\right) + C_1 $$

2回積分:

$$ EI y = -P\left(\frac{Lx^2}{2} – \frac{x^3}{6}\right) + C_1 x + C_2 $$

境界条件

固定端 $x = 0$ での境界条件は、

$$ y(0) = 0 \quad \Rightarrow \quad C_2 = 0 $$

$$ y'(0) = 0 \quad \Rightarrow \quad C_1 = 0 $$

たわみの公式

$$ y(x) = \frac{-P}{EI}\left(\frac{Lx^2}{2} – \frac{x^3}{6}\right) $$

自由端 $x = L$ での最大たわみは、

$$ \boxed{\delta_{\max} = \frac{PL^3}{3EI}} $$

具体例2: 単純支持梁の等分布荷重

長さ $L$ の単純支持梁に等分布荷重 $w$ が作用する場合を考えます。

曲げモーメント

支点反力は対称性から $R_A = R_B = wL/2$ です。位置 $x$ での曲げモーメントは、

$$ M(x) = \frac{wL}{2}x – \frac{wx^2}{2} $$

たわみの導出

$$ EI y” = \frac{wL}{2}x – \frac{wx^2}{2} $$

1回積分:

$$ EI y’ = \frac{wL}{4}x^2 – \frac{w}{6}x^3 + C_1 $$

2回積分:

$$ EI y = \frac{wL}{12}x^3 – \frac{w}{24}x^4 + C_1 x + C_2 $$

境界条件 $y(0) = 0$, $y(L) = 0$ より、

$$ C_2 = 0, \quad C_1 = -\frac{wL^3}{24} $$

$$ y(x) = \frac{w}{24EI}\left(-x^4 + 2Lx^3 – L^3x\right) $$

中央 $x = L/2$ での最大たわみは、

$$ \boxed{\delta_{\max} = \frac{5wL^4}{384EI}} $$

Pythonでの実装

片持ち梁と単純支持梁のたわみ分布を可視化します。

import numpy as np
import matplotlib.pyplot as plt

# 共通パラメータ
E = 200e9     # ヤング率 [Pa](鋼)
b = 0.05      # 幅 [m]
h = 0.1       # 高さ [m]
I = b * h**3 / 12   # 断面二次モーメント [m^4]
L = 2.0       # 梁の長さ [m]

x = np.linspace(0, L, 500)

fig, axes = plt.subplots(2, 2, figsize=(14, 10))

# --- 片持ち梁(集中荷重) ---
P = 1000  # 集中荷重 [N]
y_cant = -P / (E * I) * (L * x**2 / 2 - x**3 / 6)
M_cant = -P * (L - x)

axes[0, 0].plot(x, y_cant * 1e3, 'b-', linewidth=2)
axes[0, 0].set_xlabel('Position $x$ [m]')
axes[0, 0].set_ylabel('Deflection $y$ [mm]')
axes[0, 0].set_title(f'Cantilever Beam - Point Load (P={P} N)')
axes[0, 0].grid(True)
axes[0, 0].invert_yaxis()

axes[0, 1].plot(x, M_cant, 'r-', linewidth=2)
axes[0, 1].set_xlabel('Position $x$ [m]')
axes[0, 1].set_ylabel('Bending Moment $M$ [N·m]')
axes[0, 1].set_title('Bending Moment Diagram')
axes[0, 1].grid(True)

# --- 単純支持梁(等分布荷重) ---
w = 5000  # 等分布荷重 [N/m]
y_simple = w / (24 * E * I) * (-x**4 + 2 * L * x**3 - L**3 * x)
M_simple = w * L / 2 * x - w * x**2 / 2

axes[1, 0].plot(x, y_simple * 1e3, 'b-', linewidth=2)
axes[1, 0].set_xlabel('Position $x$ [m]')
axes[1, 0].set_ylabel('Deflection $y$ [mm]')
axes[1, 0].set_title(f'Simply Supported Beam - Uniform Load (w={w} N/m)')
axes[1, 0].grid(True)
axes[1, 0].invert_yaxis()

axes[1, 1].plot(x, M_simple, 'r-', linewidth=2)
axes[1, 1].set_xlabel('Position $x$ [m]')
axes[1, 1].set_ylabel('Bending Moment $M$ [N·m]')
axes[1, 1].set_title('Bending Moment Diagram')
axes[1, 1].grid(True)

plt.tight_layout()
plt.show()

# たわみの最大値を表示
print(f"片持ち梁の最大たわみ: {abs(y_cant[-1])*1e3:.3f} mm")
print(f"片持ち梁の理論値 PL^3/(3EI): {P*L**3/(3*E*I)*1e3:.3f} mm")
print(f"単純支持梁の最大たわみ: {abs(min(y_simple))*1e3:.3f} mm")
print(f"単純支持梁の理論値 5wL^4/(384EI): {5*w*L**4/(384*E*I)*1e3:.3f} mm")

片持ち梁では自由端で最大たわみが生じ、単純支持梁では中央で最大たわみが生じることが確認できます。

まとめ

本記事では、梁のたわみと弾性曲線方程式について解説しました。

  • オイラー・ベルヌーイ梁理論: 曲げモーメントと曲率の関係 $M = EI\kappa$
  • 弾性曲線方程式: $EI y” = M(x)$
  • 片持ち梁(集中荷重)の最大たわみ: $\delta = PL^3/(3EI)$
  • 単純支持梁(等分布荷重)の最大たわみ: $\delta = 5wL^4/(384EI)$

次のステップとして、以下の記事も参考にしてください。