材料の弾性特性を表す定数として、ヤング率 $E$、ポアソン比 $\nu$、剛性率 $G$、体積弾性率 $K$ があります。等方性弾性体ではこれら4つの量のうち独立なのは2つだけであり、残りは相互関係から導出できます。
この関係を理解することは、材料選定や有限要素法による数値シミュレーションにおいて不可欠です。
本記事の内容
- ヤング率 $E$、ポアソン比 $\nu$、剛性率 $G$、体積弾性率 $K$ の定義
- $G = E / 2(1+\nu)$ の導出
- $K = E / 3(1-2\nu)$ の導出
- 各材料の弾性定数の比較
- Pythonでの可視化
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
各弾性定数の定義
ヤング率 $E$
ヤング率(Young’s modulus) は、単軸引張における応力とひずみの比です。
$$ E = \frac{\sigma}{\varepsilon} $$
ヤング率が大きいほど材料は「硬い」(変形しにくい)ことを意味します。
ポアソン比 $\nu$
ポアソン比(Poisson’s ratio) は、軸方向のひずみに対する横方向ひずみの比の負値です。
$$ \nu = -\frac{\varepsilon_{\text{lateral}}}{\varepsilon_{\text{axial}}} $$
等方性材料では $-1 < \nu < 0.5$ の範囲を取ります。ほとんどの工学材料では $0.2 \leq \nu \leq 0.45$ です。
剛性率 $G$
剛性率(shear modulus) は、せん断応力とせん断ひずみの比です。
$$ G = \frac{\tau}{\gamma} $$
体積弾性率 $K$
体積弾性率(bulk modulus) は、静水圧 $p$ に対する体積ひずみ $\varepsilon_v = \Delta V / V$ の比です。
$$ K = -\frac{p}{\varepsilon_v} = \frac{p}{\Delta V / V} $$
符号のマイナスは、圧力(正)が体積減少(負の $\Delta V$)を引き起こすことに対応します。
$G = E / 2(1+\nu)$ の導出
純せん断応力状態を考えます。$xy$ 平面でせん断応力 $\tau_{xy}$ のみが作用する場合を考えましょう。
ステップ1: 主応力の計算
応力テンソルは:
$$ \bm{\sigma} = \begin{pmatrix} 0 & \tau_{xy} \\ \tau_{xy} & 0 \end{pmatrix} $$
主応力は固有値として求まります:
$$ \det\begin{pmatrix} -\sigma & \tau_{xy} \\ \tau_{xy} & -\sigma \end{pmatrix} = 0 $$
$$ \sigma^2 – \tau_{xy}^2 = 0 $$
$$ \sigma_1 = \tau_{xy}, \quad \sigma_2 = -\tau_{xy} $$
主軸は元の座標系から $45°$ 回転した方向です。
ステップ2: 主ひずみの計算
一般化フックの法則(2次元平面応力)を主軸方向に適用します:
$$ \varepsilon_1 = \frac{1}{E}(\sigma_1 – \nu\sigma_2) = \frac{1}{E}[\tau_{xy} – \nu(-\tau_{xy})] $$
$$ \varepsilon_1 = \frac{\tau_{xy}}{E}(1+\nu) \tag{1} $$
ステップ3: せん断ひずみとの関係
主ひずみとせん断ひずみの幾何学的関係から:
$$ \varepsilon_1 = \frac{\gamma_{xy}}{2} \tag{2} $$
また、せん断のフックの法則から:
$$ \gamma_{xy} = \frac{\tau_{xy}}{G} \tag{3} $$
式 (2) と (3) を組み合わせると:
$$ \varepsilon_1 = \frac{\tau_{xy}}{2G} \tag{4} $$
ステップ4: 等置
式 (1) と (4) を等置します:
$$ \frac{\tau_{xy}}{2G} = \frac{\tau_{xy}}{E}(1+\nu) $$
$\tau_{xy}$ で両辺を割ると:
$$ \frac{1}{2G} = \frac{1+\nu}{E} $$
$$ \boxed{G = \frac{E}{2(1+\nu)}} $$
$K = E / 3(1-2\nu)$ の導出
等方的な静水圧 $p$ を考えます。このとき $\sigma_{xx} = \sigma_{yy} = \sigma_{zz} = -p$ です。
一般化フックの法則から:
$$ \varepsilon_{xx} = \frac{1}{E}[-p – \nu(-p – p)] = \frac{-p}{E}(1 – 2\nu) $$
対称性より $\varepsilon_{xx} = \varepsilon_{yy} = \varepsilon_{zz}$ なので、体積ひずみは:
$$ \varepsilon_v = \varepsilon_{xx} + \varepsilon_{yy} + \varepsilon_{zz} = 3 \cdot \frac{-p}{E}(1-2\nu) = \frac{-3p(1-2\nu)}{E} $$
体積弾性率の定義より:
$$ K = -\frac{p}{\varepsilon_v} = -\frac{p}{\frac{-3p(1-2\nu)}{E}} = \frac{E}{3(1-2\nu)} $$
$$ \boxed{K = \frac{E}{3(1-2\nu)}} $$
$\nu \to 0.5$ のとき $K \to \infty$ となり、材料は非圧縮性になります。
弾性定数の相互変換表
任意の2つの定数から他を計算できます。よく使う関係をまとめます。
| 既知 | $E$ | $G$ | $K$ | $\nu$ | $\lambda$ |
|---|---|---|---|---|---|
| $E, \nu$ | — | $\frac{E}{2(1+\nu)}$ | $\frac{E}{3(1-2\nu)}$ | — | $\frac{E\nu}{(1+\nu)(1-2\nu)}$ |
| $E, G$ | — | — | $\frac{EG}{3(3G-E)}$ | $\frac{E}{2G}-1$ | $\frac{G(E-2G)}{3G-E}$ |
| $G, \nu$ | $2G(1+\nu)$ | — | $\frac{2G(1+\nu)}{3(1-2\nu)}$ | — | $\frac{2G\nu}{1-2\nu}$ |
各材料の弾性定数
| 材料 | $E$ [GPa] | $\nu$ | $G$ [GPa] | $K$ [GPa] |
|---|---|---|---|---|
| 鋼 | 200 | 0.30 | 76.9 | 166.7 |
| アルミニウム | 70 | 0.33 | 26.3 | 68.6 |
| 銅 | 120 | 0.34 | 44.8 | 125.0 |
| チタン | 110 | 0.34 | 41.0 | 114.6 |
| コンクリート | 30 | 0.20 | 12.5 | 16.7 |
| ゴム | 0.01 | 0.49 | 0.0034 | 0.167 |
Pythonでの実装
import numpy as np
import matplotlib.pyplot as plt
# --- 弾性定数の相互関係を可視化 ---
fig, axes = plt.subplots(1, 3, figsize=(16, 5))
# (1) G/E vs ν
nu = np.linspace(0.0, 0.49, 200)
G_over_E = 1 / (2 * (1 + nu))
axes[0].plot(nu, G_over_E, 'b-', linewidth=2.5)
axes[0].set_xlabel("Poisson's Ratio $\\nu$", fontsize=12)
axes[0].set_ylabel('$G/E$', fontsize=14)
axes[0].set_title('$G = E / 2(1+\\nu)$', fontsize=13)
axes[0].grid(True, alpha=0.3)
# 代表的材料をプロット
materials = {
'Steel': (0.30, 200),
'Al': (0.33, 70),
'Cu': (0.34, 120),
'Ti': (0.34, 110),
'Rubber': (0.49, 0.01),
}
for name, (nu_mat, E_mat) in materials.items():
G_mat = E_mat / (2 * (1 + nu_mat))
axes[0].plot(nu_mat, G_mat / E_mat, 'ro', markersize=8)
axes[0].annotate(name, (nu_mat, G_mat / E_mat),
textcoords="offset points", xytext=(5, 5), fontsize=9)
# (2) K/E vs ν
K_over_E = 1 / (3 * (1 - 2 * nu))
axes[1].plot(nu, K_over_E, 'r-', linewidth=2.5)
axes[1].set_xlabel("Poisson's Ratio $\\nu$", fontsize=12)
axes[1].set_ylabel('$K/E$', fontsize=14)
axes[1].set_title('$K = E / 3(1-2\\nu)$', fontsize=13)
axes[1].set_ylim(0, 10)
axes[1].grid(True, alpha=0.3)
axes[1].axvline(0.5, color='gray', linestyle='--', alpha=0.7, label='Incompressible')
axes[1].legend()
# (3) 各材料の弾性定数比較
mat_names = ['Steel', 'Al', 'Cu', 'Ti', 'Concrete']
E_vals = [200, 70, 120, 110, 30]
nu_vals = [0.30, 0.33, 0.34, 0.34, 0.20]
G_vals = [E / (2*(1+n)) for E, n in zip(E_vals, nu_vals)]
K_vals = [E / (3*(1-2*n)) for E, n in zip(E_vals, nu_vals)]
x = np.arange(len(mat_names))
width = 0.25
bars1 = axes[2].bar(x - width, E_vals, width, label='E [GPa]', color='steelblue')
bars2 = axes[2].bar(x, G_vals, width, label='G [GPa]', color='coral')
bars3 = axes[2].bar(x + width, K_vals, width, label='K [GPa]', color='mediumseagreen')
axes[2].set_xticks(x)
axes[2].set_xticklabels(mat_names)
axes[2].set_ylabel('Modulus [GPa]')
axes[2].set_title('Comparison of Elastic Moduli')
axes[2].legend()
axes[2].grid(True, alpha=0.3, axis='y')
plt.tight_layout()
plt.savefig('youngs_modulus_poisson.png', dpi=150, bbox_inches='tight')
plt.show()
まとめ
本記事では、ヤング率・ポアソン比・剛性率・体積弾性率の定義と相互関係を解説しました。
- 等方性弾性体の独立な弾性定数は 2 個($E$ と $\nu$ など)
- 剛性率: $G = E / 2(1+\nu)$(純せん断と主応力の対応から導出)
- 体積弾性率: $K = E / 3(1-2\nu)$(静水圧と体積ひずみから導出)
- $\nu \to 0.5$ で非圧縮性材料($K \to \infty$)
- 材料選定では $E$, $\nu$, $G$, $K$ を総合的に評価することが重要
次のステップとして、以下の記事も参考にしてください。