薄肉容器の応力解析を基礎から徹底解説

ガスボンベ、ボイラー、ロケットの推進剤タンク、あるいは炭酸飲料の缶 ── 私たちの身の回りには「内部に圧力がかかる容器」が数多くあります。これらの容器は、内圧によって壁面に応力が発生し、その応力が材料の許容範囲を超えると破裂します。では、壁の厚さがどれだけあれば安全なのでしょうか? また、壁に生じる応力はどのような法則に従うのでしょうか?

こうした疑問に答えるのが、薄肉容器の応力解析です。「薄肉」とは、容器の壁の厚さ $t$ が半径 $r$ に比べて十分に小さい($t/r \ll 1$)場合を指し、この仮定のもとで応力分布が著しく単純化されます。

薄肉容器の理論は、以下のような幅広い分野で応用されています。

  • 化学プラント・発電所: ボイラーや圧力容器の設計では、JIS や ASME のボイラー規格が薄肉容器の公式に安全率を加味して必要板厚を規定しています
  • 航空宇宙: ロケットの推進剤タンクや宇宙船の与圧キャビンは、軽量化のために可能な限り薄い壁で設計される必要があり、薄肉容器の応力式が設計の出発点となります
  • 土木・建築: 水道管やガスパイプラインの設計では、内圧によるフープ応力が管材の強度を決定します
  • 医療機器: 高圧酸素ボンベや人工心臓のポンプ室など、圧力容器の設計安全性が命に直結する分野でも基礎理論として用いられます

本記事の内容

  • 薄肉仮定の条件と物理的意味
  • 薄肉円筒の周方向応力(フープ応力)の力の釣合いからの導出
  • 薄肉円筒の軸方向応力の導出
  • 薄肉球殻の応力の導出
  • 複合荷重(内圧+軸力)の場合の応力
  • 厚肉円筒(ラメの式)との比較と薄肉仮定の妥当性
  • 設計への応用(許容応力・安全率・ボイラー規格)
  • Pythonによる可視化と設計チャート

前提知識

この記事を読む前に、以下の記事に目を通しておくと理解がスムーズです。

薄肉仮定とは

直感的な理解

まず、「薄肉」とは何を意味するのかを直感的に考えましょう。

風船を膨らませるとき、ゴムの膜の内側と外側の表面で応力がほとんど変わらないとイメージできます。これは、膜が十分に薄いため、壁の厚さ方向に応力が大きく変化する余地がないからです。逆に、分厚いコンクリートの壁に圧力がかかる場合、内壁と外壁では応力が大きく異なることが予想されます。

この「壁が十分に薄いので、壁厚方向の応力変化を無視できる」という仮定が薄肉仮定です。具体的には、壁の厚さ $t$ と容器の内半径 $r$ の比が次の条件を満たすとき、薄肉として扱います。

$$ \frac{t}{r} \leq \frac{1}{10} \quad \text{(一般的な目安)} $$

この条件は、壁の厚さが半径の 10 分の 1 以下であることを意味します。典型的な圧力容器の多くはこの条件を満たしており、薄肉理論で十分な精度が得られます。

薄肉仮定がもたらす簡略化

薄肉仮定を導入すると、以下の2つの重要な簡略化が成り立ちます。

  1. 壁厚方向の応力変化が無視できる: 壁の内面と外面で応力がほぼ等しいとみなせるため、壁全体で応力が一様と仮定できます
  2. 半径方向応力が無視できる: 壁の内面では $\sigma_r = -p$(内圧)、外面では $\sigma_r = 0$(大気圧)ですが、周方向応力や軸方向応力に比べて $p$ が十分小さいため、$\sigma_r \approx 0$ とできます

この結果、薄肉容器の壁面の応力状態は平面応力状態平面応力と平面ひずみを参照)として扱うことができ、解析が大幅に簡単になります。壁面の各点は、周方向応力 $\sigma_\theta$ と軸方向応力 $\sigma_z$(または緯度方向応力)の2つの主応力で記述されます。

それでは、まず最も基本的な薄肉円筒容器のフープ応力を導出しましょう。

薄肉円筒のフープ応力(周方向応力)

フープ応力とは

内圧を受ける円筒容器を想像してください。容器内部のガスや液体が壁を押す力は、壁を「膨らませよう」とする方向に働きます。この膨張に抵抗する力が、円筒の周方向(円周に沿った方向)に生じる引張応力です。これをフープ応力(hoop stress)あるいは周方向応力(circumferential stress)と呼びます。

「フープ」(hoop)とは「たが」のことです。樽を締めるたがが樽の膨張を抑えるのと同じ原理で、円筒の壁が自身の周方向の引張力によって内圧に抵抗します。

力の釣合いによる導出

フープ応力を求めるために、円筒を軸方向に沿って切断した自由体を考えます。長さ $L$、内半径 $r$、壁の厚さ $t$ の円筒を、直径を含む平面で2つに切断します。切断面は矩形の断面で、その面積は $2tL$(上下2か所の切断面、各 $t \times L$)です。

この自由体(半円筒)に作用する力を考えましょう。

内圧による力:内圧 $p$ は壁の内面全体に垂直に作用しますが、水平方向(切断面に垂直な方向)の合力を考えます。半円筒の内面に作用する圧力の水平方向合力は、投影面積に内圧を掛けたものに等しくなります。

この点は直感的に理解しにくいかもしれませんので、丁寧に説明します。内圧 $p$ は半円筒の内面のすべての点で法線方向に作用します。微小面積 $dA = r \, d\theta \cdot L$ に作用する力の水平方向成分は $p \cdot r \, d\theta \cdot L \cdot \cos\theta$ です($\theta$ は水平方向からの角度)。

これを $\theta = -\pi/2$ から $\theta = \pi/2$ まで積分すると、半円筒の内面に作用する全水平力 $F_p$ が得られます。

$$ F_p = \int_{-\pi/2}^{\pi/2} p \cdot r \cdot L \cdot \cos\theta \, d\theta $$

$\cos\theta$ を積分すると:

$$ F_p = p \cdot r \cdot L \left[\sin\theta\right]_{-\pi/2}^{\pi/2} = p \cdot r \cdot L \cdot (1 – (-1)) = 2prL $$

つまり、内圧による水平方向合力は $F_p = 2prL$ です。これは、投影面積 $2rL$(直径 $\times$ 長さ)に内圧 $p$ を掛けた値に等しいことがわかります。

壁の応力による力:切断面における周方向応力 $\sigma_\theta$ が、断面積 $tL$ の2つの切断面(上下)に作用します。したがって、壁の応力による合力は:

$$ F_\sigma = 2 \sigma_\theta \cdot t \cdot L $$

力の釣合い:自由体が静止しているため、水平方向の力は釣り合います。

$$ F_p = F_\sigma $$

$$ 2prL = 2\sigma_\theta tL $$

両辺を $2tL$ で割ると、フープ応力の公式が得られます。

$$ \boxed{\sigma_\theta = \frac{pr}{t}} $$

これが薄肉円筒容器のフープ応力の公式です。この公式は驚くほどシンプルですが、非常に強力で実用的です。

フープ応力の物理的意味

得られた公式 $\sigma_\theta = pr/t$ から、次のことが読み取れます。

  • 内圧 $p$ に比例: 圧力が2倍になれば、応力も2倍になります
  • 半径 $r$ に比例: 同じ圧力・同じ板厚でも、容器が大きいほど応力が高くなります。大型の圧力容器ほど厚い壁が必要な理由がここにあります
  • 壁の厚さ $t$ に反比例: 壁を厚くすれば応力は下がります。ただし、重量が増えるため、特に航空宇宙分野ではトレードオフが生じます

たとえば、内半径 $r = 500 \, \text{mm}$、壁厚 $t = 10 \, \text{mm}$、内圧 $p = 2 \, \text{MPa}$ の円筒容器のフープ応力は:

$$ \sigma_\theta = \frac{2 \times 500}{10} = 100 \, \text{MPa} $$

軟鋼の降伏応力(約 250 MPa)と比較すると、安全率は 2.5 程度あることがわかります。この具体的な数値から「十分に安全か」を判断するのが、圧力容器設計の基本的な考え方です。

フープ応力が求まったところで、次は円筒のもう一つの応力成分 ── 軸方向応力を導出しましょう。

薄肉円筒の軸方向応力

軸方向応力とは

円筒容器が閉じた端面(鏡板)を持つ場合、内圧は端面を外側に押し出す力も生じます。この力に抵抗するために、円筒の壁には軸方向(筒の長手方向)にも引張応力が発生します。これが軸方向応力(axial stress, longitudinal stress)$\sigma_z$ です。

開口した管(両端が開いた筒)の場合、端面がないので軸方向の力の釣合いは成り立たず、軸方向応力はゼロです。ここでは、端面が閉じた圧力容器を考えます。

力の釣合いによる導出

今度は、円筒を軸に垂直な平面で切断した自由体を考えます。

内圧による力:端面(円形)に作用する内圧の合力は、円形の面積 $\pi r^2$ に内圧 $p$ を掛けた値です。

$$ F_p = p \cdot \pi r^2 $$

ここで、厳密には端面の面積は内半径 $r$ に基づく $\pi r^2$ を使います。薄肉仮定のもとでは $r$ と $r + t$ の差は微小であり、$\pi r^2 \approx \pi(r+t/2)^2$ と近似できます。

壁の応力による力:切断面は円環状であり、その面積は $2\pi r t$(薄肉仮定のもとで、環の平均半径を $r$、厚さを $t$ として $2\pi r \cdot t$ と近似)です。軸方向応力 $\sigma_z$ がこの断面全体に一様に作用するので:

$$ F_\sigma = \sigma_z \cdot 2\pi r t $$

力の釣合い

$$ p \cdot \pi r^2 = \sigma_z \cdot 2\pi r t $$

両辺を $2\pi r t$ で割ると:

$$ \boxed{\sigma_z = \frac{pr}{2t}} $$

フープ応力と軸方向応力の関係

ここで非常に重要な事実が明らかになります。フープ応力と軸方向応力を比較すると:

$$ \sigma_\theta = \frac{pr}{t}, \quad \sigma_z = \frac{pr}{2t} $$

$$ \sigma_\theta = 2\sigma_z $$

つまり、フープ応力は軸方向応力の2倍です。この 2:1 の関係は、薄肉円筒容器の最も基本的な特徴です。

この結果は実際の破壊様式と一致します。圧力容器が内圧で破裂するとき、亀裂は通常軸方向に走ります。なぜなら、亀裂に垂直な方向の応力が大きい方が破壊を引き起こしやすく、フープ応力(周方向応力)のほうが大きいため、それに垂直な軸方向に亀裂が進展するからです。ソーセージを茹でたとき、皮が裂けるのは常に長手方向であることを思い出してください。これはまさにフープ応力が軸方向応力の2倍であることの日常的な証拠です。

薄肉円筒の壁面には、周方向と軸方向の2つの主応力が存在し、せん断応力はゼロです。この応力状態は主応力とモールの応力円の文脈では $\sigma_1 = \sigma_\theta = pr/t$ と $\sigma_2 = \sigma_z = pr/(2t)$ の二軸引張状態に対応します。最大面内せん断応力は:

$$ \tau_{\max,\text{in-plane}} = \frac{\sigma_1 – \sigma_2}{2} = \frac{pr}{4t} $$

ただし、壁の厚さ方向の応力 $\sigma_3 \approx 0$ を考慮すると、絶対最大せん断応力は:

$$ \tau_{\max} = \frac{\sigma_1 – \sigma_3}{2} = \frac{pr}{2t} $$

となります。これは降伏判定や組合せ応力の評価で重要な値です。

ここまでで薄肉円筒の応力が求まりました。では、容器の形状が球の場合はどうなるでしょうか。

薄肉球殻の応力

球殻の対称性

球殻は完全な球対称性を持つため、壁面のどの点でも、どの方向に切断しても同じ応力が現れます。つまり、球殻の壁面には方向によらず一様な応力 $\sigma$ が生じます。これは円筒のように「周方向」と「軸方向」で応力が異なる状況とは対照的です。

力の釣合いによる導出

球殻を赤道面(大円)で2つの半球に切断した自由体を考えます。

内圧による力:半球の投影面積(赤道面の円の面積)に内圧を掛けた値が、半球を押し出す合力です。

$$ F_p = p \cdot \pi r^2 $$

この結果は、薄肉円筒の軸方向応力の導出と同じ議論です。曲面に作用する圧力の合力は、その曲面の投影面積に圧力を掛けた値に等しいという一般的な定理を使っています。

壁の応力による力:切断面は円環(大円に沿った環)であり、その面積は $2\pi r t$ です。応力 $\sigma$ がこの断面に一様に作用するので:

$$ F_\sigma = \sigma \cdot 2\pi r t $$

力の釣合い

$$ p \cdot \pi r^2 = \sigma \cdot 2\pi r t $$

両辺を $2\pi r t$ で割ると:

$$ \boxed{\sigma = \frac{pr}{2t}} $$

球殻と円筒殻の比較

薄肉球殻の応力は $\sigma = pr/(2t)$ であり、これは薄肉円筒の軸方向応力と同じ値です。つまり、薄肉円筒のフープ応力 $pr/t$ と比較すると、球殻の応力はちょうど半分です。

$$ \sigma_{\text{sphere}} = \frac{pr}{2t} = \frac{1}{2}\sigma_{\theta,\text{cylinder}} $$

この結果は設計上きわめて重要です。同じ内圧・同じ半径・同じ壁厚で比較すると、球殻のほうが円筒殻よりも最大応力が低くなります。逆に言えば、同じ耐圧性能を得るのに、球殻は円筒殻の半分の壁厚で済むということです。

これが、深海潜水艇の耐圧殻が球形に設計される理由の一つです。また、ロケットの推進剤タンクの端面(鏡板)も球面にすることで、円筒部分より薄くできます。

ただし、球形の容器は製造が難しく、空間効率も円筒より劣るため、実際の圧力容器では円筒+球面鏡板の組み合わせが多く採用されています。

以下に、ここまでの3つの応力公式をまとめます。

応力成分 公式 値の比較
円筒・フープ応力 $\sigma_\theta$ $pr/t$ 最大
円筒・軸方向応力 $\sigma_z$ $pr/(2t)$ フープの 1/2
球殻応力 $\sigma$ $pr/(2t)$ フープの 1/2

では、ここまでの理論をPythonで可視化して確認しましょう。

Pythonによる可視化: フープ応力と軸方向応力の比較

まず、薄肉円筒と薄肉球殻の応力を可視化し、フープ応力が軸方向応力の2倍であることをグラフで確認します。

import numpy as np
import matplotlib.pyplot as plt

# パラメータ設定
p = 2.0          # 内圧 [MPa]
t = 10.0         # 壁厚 [mm]
r = np.linspace(50, 1000, 200)  # 内半径 [mm]

# 応力計算
sigma_hoop = p * r / t          # 円筒フープ応力
sigma_axial = p * r / (2 * t)   # 円筒軸方向応力
sigma_sphere = p * r / (2 * t)  # 球殻応力

# 可視化
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(r, sigma_hoop, 'r-', linewidth=2.5, label=r'Cylinder hoop $\sigma_\theta = pr/t$')
ax.plot(r, sigma_axial, 'b--', linewidth=2.5, label=r'Cylinder axial $\sigma_z = pr/(2t)$')
ax.plot(r, sigma_sphere, 'g:', linewidth=2.5, label=r'Sphere $\sigma = pr/(2t)$')

# 降伏応力の参考線
ax.axhline(y=250, color='k', linestyle='-.', alpha=0.5, label='Yield stress (mild steel, 250 MPa)')

ax.set_xlabel('Inner radius $r$ [mm]', fontsize=13)
ax.set_ylabel('Stress [MPa]', fontsize=13)
ax.set_title('Thin-Walled Vessel Stress vs. Radius ($p = 2$ MPa, $t = 10$ mm)', fontsize=14)
ax.legend(fontsize=11)
ax.grid(True, alpha=0.3)
ax.set_xlim([50, 1000])
ax.set_ylim([0, 300])
plt.tight_layout()
plt.show()

上のグラフから、以下の重要な特徴が読み取れます。

  1. フープ応力は常に軸方向応力の2倍: 赤い実線(フープ応力)と青い破線(軸方向応力)の間隔が、半径が大きくなるにつれて広がっています。比率は常に 2:1 ですが、絶対的な差は半径とともに増大します
  2. 球殻の応力は軸方向応力と一致: 緑の点線が青の破線と完全に重なっています。球殻が構造的に有利であることが視覚的に確認できます
  3. 半径が大きくなると、降伏応力(250 MPa)に近づく: 内半径約 1,250 mm(この条件では)でフープ応力が降伏応力に達します。実際の設計では安全率を考慮するため、もっと小さい半径で壁厚を増やす必要があります

このように、半径が大きい容器ほど壁厚を増やすか、より高強度の材料を使う必要があることが定量的に理解できます。

次に、壁厚比 $t/r$ と応力の関係をより詳しく調べてみましょう。

Pythonによる可視化: 肉厚比と応力の関係

壁の厚さと半径の比 $t/r$ が応力にどう影響するかを可視化します。

import numpy as np
import matplotlib.pyplot as plt

# パラメータ設定
p = 5.0  # 内圧 [MPa]
t_over_r = np.linspace(0.01, 0.3, 300)  # 肉厚比 t/r

# 薄肉理論による応力(内圧で無次元化)
sigma_hoop_thin = 1.0 / t_over_r          # σ_θ / p = r/t = 1/(t/r)
sigma_axial_thin = 0.5 / t_over_r         # σ_z / p = r/(2t)
sigma_sphere_thin = 0.5 / t_over_r        # σ / p = r/(2t)

# 可視化
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 6))

# 左: 無次元応力 vs 肉厚比
ax1.plot(t_over_r, sigma_hoop_thin, 'r-', linewidth=2.5,
         label=r'Cylinder hoop $\sigma_\theta / p$')
ax1.plot(t_over_r, sigma_axial_thin, 'b--', linewidth=2.5,
         label=r'Cylinder axial $\sigma_z / p$')
ax1.axvline(x=0.1, color='gray', linestyle=':', alpha=0.7,
            label=r'Thin-wall limit $t/r = 0.1$')
ax1.set_xlabel('$t/r$ (wall thickness ratio)', fontsize=13)
ax1.set_ylabel(r'$\sigma / p$ (dimensionless stress)', fontsize=13)
ax1.set_title('Dimensionless Stress vs. Wall Thickness Ratio', fontsize=13)
ax1.legend(fontsize=10)
ax1.grid(True, alpha=0.3)
ax1.set_xlim([0.01, 0.3])
ax1.set_ylim([0, 60])

# 右: 具体的な数値例(p = 5 MPa, r = 500 mm)
r_val = 500.0  # mm
t_arr = np.linspace(5, 100, 200)  # mm
sigma_h = p * r_val / t_arr
sigma_a = p * r_val / (2 * t_arr)

ax2.plot(t_arr, sigma_h, 'r-', linewidth=2.5, label=r'Hoop stress $\sigma_\theta$')
ax2.plot(t_arr, sigma_a, 'b--', linewidth=2.5, label=r'Axial stress $\sigma_z$')
ax2.axhline(y=250, color='k', linestyle='-.', alpha=0.5, label='Yield (250 MPa)')
ax2.axhline(y=250/2.5, color='orange', linestyle='-.', alpha=0.5,
            label='Allowable (S.F.=2.5)')

ax2.set_xlabel('Wall thickness $t$ [mm]', fontsize=13)
ax2.set_ylabel('Stress [MPa]', fontsize=13)
ax2.set_title(f'Stress vs. Wall Thickness ($p={p}$ MPa, $r={int(r_val)}$ mm)',
              fontsize=13)
ax2.legend(fontsize=10)
ax2.grid(True, alpha=0.3)
ax2.set_xlim([5, 100])
ax2.set_ylim([0, 600])

plt.tight_layout()
plt.show()

この図からは、以下の点が読み取れます。

  1. 左図(無次元応力): 肉厚比 $t/r$ が小さいほど無次元応力 $\sigma/p$ が急激に増大します。$t/r = 0.1$ の薄肉限界では $\sigma_\theta/p = 10$ であり、内圧の 10 倍のフープ応力が生じることがわかります。これは、圧力容器の壁が「てこの原理」のように圧力を増幅して受け止めていることを意味します
  2. 右図(具体的数値例): 壁厚を増やすと応力は双曲線的に減少します。安全率 2.5 を考慮した許容応力(100 MPa)を満たすには、約 25 mm 以上の壁厚が必要であることが読み取れます。ただし、壁厚を増やしすぎると薄肉仮定($t/r < 0.1$、すなわち $t < 50$ mm)の範囲を超えてしまう点に注意が必要です

ここまでで薄肉理論の基本的な応力分布が明らかになりました。しかし、壁厚が増えて薄肉仮定が成り立たなくなる場合、応力分布はどう変わるのでしょうか。次に、厚肉円筒の理論(ラメの式)との比較を行います。

厚肉円筒の理論 ── ラメの式

なぜ厚肉理論が必要か

薄肉仮定 $t/r \leq 1/10$ が成り立たない場合、壁の厚さ方向で応力が一様であるという前提が崩れます。たとえば、高圧の油圧シリンダーや砲身などでは壁厚比が大きくなり、内壁面と外壁面で応力が大きく異なります。

このような厚肉円筒の応力分布を正確に記述するのが、フランスの数学者ガブリエル・ラメ(Gabriel Lame)が導いたラメの式(Lame equations)です。

ラメの式の導出の概要

厚肉円筒において、軸対称かつ平面ひずみ条件を仮定すると、半径 $\rho$ の位置での半径方向応力 $\sigma_r$ と周方向応力 $\sigma_\theta$ は以下のように求まります。

内半径 $r_i$、外半径 $r_o$ の円筒に、内圧 $p_i$(外圧は $p_o = 0$)が作用する場合、境界条件は:

$$ \sigma_r(r_i) = -p_i, \quad \sigma_r(r_o) = 0 $$

ラメの式から得られる応力分布は以下の通りです。

$$ \boxed{\sigma_r(\rho) = \frac{r_i^2 \, p_i}{r_o^2 – r_i^2}\left(1 – \frac{r_o^2}{\rho^2}\right)} $$

$$ \boxed{\sigma_\theta(\rho) = \frac{r_i^2 \, p_i}{r_o^2 – r_i^2}\left(1 + \frac{r_o^2}{\rho^2}\right)} $$

これらの式において、$\rho$ は中心からの距離($r_i \leq \rho \leq r_o$)です。

ラメの式の読み方

ラメの式から次のことがわかります。

半径方向応力 $\sigma_r$: – 内壁($\rho = r_i$)で $\sigma_r = -p_i$(圧縮応力 = 内圧そのもの) – 外壁($\rho = r_o$)で $\sigma_r = 0$ – 壁の中で $1/\rho^2$ に従って変化します

周方向応力 $\sigma_\theta$: – 内壁で最大値をとり、外壁に向かって減少します – しかし、外壁でもゼロにはならず正の値(引張)を保ちます – 内壁での値:$\sigma_\theta(r_i) = p_i(r_o^2 + r_i^2)/(r_o^2 – r_i^2)$ – 外壁での値:$\sigma_\theta(r_o) = 2r_i^2 p_i/(r_o^2 – r_i^2)$

薄肉近似との対応

ラメの式で $t = r_o – r_i$ とし、$t \ll r_i$ の極限をとると薄肉の公式に帰着することを確認しましょう。

$r_o = r_i + t$ を代入し、$t/r_i$ の1次の項まで展開します。

$$ r_o^2 – r_i^2 = (r_o – r_i)(r_o + r_i) = t(2r_i + t) \approx 2r_i t $$

$$ r_o^2 + r_i^2 = r_i^2 + (r_i+t)^2 = 2r_i^2 + 2r_i t + t^2 \approx 2r_i^2 $$

内壁でのフープ応力にこれらの近似を代入すると:

$$ \sigma_\theta(r_i) = p_i \frac{r_o^2 + r_i^2}{r_o^2 – r_i^2} \approx p_i \frac{2r_i^2}{2r_i t} = \frac{p_i r_i}{t} $$

これは薄肉のフープ応力の公式 $\sigma_\theta = pr/t$ と一致します。同様に、壁の中央($\rho \approx r_i$)でのフープ応力も $pr/t$ に近づきます。

つまり、ラメの式は薄肉理論を一般化したものであり、薄肉の公式はラメの式の特殊な場合として位置づけられます。

では、薄肉理論とラメの式がどの程度の肉厚比まで一致するかを、Pythonで定量的に比較してみましょう。

Pythonによる可視化: ラメの式との比較

import numpy as np
import matplotlib.pyplot as plt

# パラメータ
p_i = 10.0   # 内圧 [MPa]
r_i = 100.0  # 内半径 [mm]

# 肉厚比の範囲
t_over_r_arr = np.linspace(0.02, 0.5, 200)

# 薄肉理論によるフープ応力(壁全体で一様と仮定)
sigma_thin = p_i / t_over_r_arr  # σ = pr/t = p/(t/r)

# ラメの式による内壁フープ応力
sigma_lame_inner = np.zeros_like(t_over_r_arr)
sigma_lame_outer = np.zeros_like(t_over_r_arr)
sigma_lame_mid = np.zeros_like(t_over_r_arr)

for i, tr in enumerate(t_over_r_arr):
    t_val = tr * r_i
    r_o = r_i + t_val
    r_mid = r_i + t_val / 2

    # 内壁フープ応力
    sigma_lame_inner[i] = p_i * r_i**2 / (r_o**2 - r_i**2) * (1 + r_o**2 / r_i**2)
    # 外壁フープ応力
    sigma_lame_outer[i] = p_i * r_i**2 / (r_o**2 - r_i**2) * (1 + r_o**2 / r_o**2)
    # 中壁フープ応力
    sigma_lame_mid[i] = p_i * r_i**2 / (r_o**2 - r_i**2) * (1 + r_o**2 / r_mid**2)

# 誤差の計算(薄肉理論 vs ラメ内壁)
error_pct = (sigma_thin - sigma_lame_inner) / sigma_lame_inner * 100

# 可視化
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 6))

# 左: 応力の比較
ax1.plot(t_over_r_arr, sigma_thin, 'r-', linewidth=2.5, label='Thin-wall theory')
ax1.plot(t_over_r_arr, sigma_lame_inner, 'b-', linewidth=2.5, label="Lamé (inner wall)")
ax1.plot(t_over_r_arr, sigma_lame_mid, 'g--', linewidth=2, label="Lamé (mid-wall)")
ax1.plot(t_over_r_arr, sigma_lame_outer, 'm:', linewidth=2, label="Lamé (outer wall)")
ax1.axvline(x=0.1, color='gray', linestyle=':', alpha=0.7, label='$t/r = 0.1$')

ax1.set_xlabel('$t/r$ (wall thickness ratio)', fontsize=13)
ax1.set_ylabel(r'Hoop stress $\sigma_\theta$ [MPa]', fontsize=13)
ax1.set_title(f'Thin-Wall vs. Lamé Equation ($p = {int(p_i)}$ MPa)', fontsize=13)
ax1.legend(fontsize=10)
ax1.grid(True, alpha=0.3)
ax1.set_xlim([0.02, 0.5])
ax1.set_ylim([0, 600])

# 右: 誤差
ax2.plot(t_over_r_arr, error_pct, 'k-', linewidth=2.5)
ax2.axhline(y=0, color='gray', linestyle='-', alpha=0.3)
ax2.axvline(x=0.1, color='gray', linestyle=':', alpha=0.7, label='$t/r = 0.1$')
ax2.axhline(y=-5, color='orange', linestyle='--', alpha=0.7, label='$-5\\%$ error')
ax2.axhline(y=-10, color='red', linestyle='--', alpha=0.7, label='$-10\\%$ error')

ax2.set_xlabel('$t/r$ (wall thickness ratio)', fontsize=13)
ax2.set_ylabel('Error of thin-wall theory [%]', fontsize=13)
ax2.set_title('Error: Thin-Wall vs. Lamé (Inner Wall)', fontsize=13)
ax2.legend(fontsize=10)
ax2.grid(True, alpha=0.3)
ax2.set_xlim([0.02, 0.5])

plt.tight_layout()
plt.show()

この比較から、以下の重要な知見が得られます。

  1. 左図: 薄肉理論(赤線)はラメの式の中壁値(緑破線)に近い値を与えますが、内壁値(青線)よりは低く見積もっています。つまり、薄肉理論は壁面の応力を「平均化」した値を与えており、最大応力(内壁面)を過小評価しています
  2. 右図: 薄肉理論の誤差は $t/r = 0.1$ で約 $-5\%$ 程度です。$t/r = 0.2$ になると誤差は $-10\%$ を超え、薄肉理論だけでは危険側の設計になるおそれがあります。これが「$t/r \leq 0.1$ で薄肉」という経験則の根拠です
  3. ラメの式の内壁と外壁の差: 肉厚比が大きくなるほど、内壁と外壁のフープ応力の差が広がります。$t/r = 0.5$ では内壁のフープ応力は外壁の約 2 倍にもなり、応力の不均一性が顕著です

このように、薄肉理論はシンプルで使いやすい一方、厚い容器には厚肉理論(ラメの式)を適用する必要があります。

次に、内圧以外の荷重が加わる場合の応力解析を見ていきましょう。

複合荷重 ── 内圧と軸力の重ね合わせ

実際の圧力容器に作用する荷重

実際の圧力容器は、内圧だけでなく、さまざまな外力を受けることがあります。

  • 自重: 縦置きの容器では、壁に軸方向の圧縮応力が生じます
  • 配管反力: 接続された配管からの力やモーメントが容器壁に伝わります
  • 温度差: 容器の内外で温度が異なると熱応力が発生します
  • 外部荷重: 支持構造からの反力や、地震による慣性力が作用します

ここでは、最も基本的な複合荷重として、内圧に加えて軸方向の力 $F$ が作用する場合を考えましょう。

応力の重ね合わせ

弾性域におけるフックの法則の範囲内では、応力は荷重ごとに独立に計算し、重ね合わせの原理で合算できます。

内圧 $p$ と軸力 $F$(引張を正)が同時に作用する場合:

フープ応力(軸力の影響を受けない):

$$ \sigma_\theta = \frac{pr}{t} $$

軸方向応力(内圧+軸力の寄与):

$$ \sigma_z = \frac{pr}{2t} + \frac{F}{2\pi r t} $$

ここで、第1項は内圧による軸方向応力、第2項は軸力 $F$ を壁の断面積 $A = 2\pi r t$ で割った直応力です。

応力状態の変化

軸力が作用すると、2つの主応力の比が変化します。

  • 引張の軸力 ($F > 0$) が加わると $\sigma_z$ が増大し、$\sigma_\theta$ と $\sigma_z$ の差が小さくなります
  • 圧縮の軸力 ($F < 0$) が加わると $\sigma_z$ が減少し、場合によっては $\sigma_z < 0$(圧縮)となることもあります

この応力状態の変化は、主応力とモールの応力円を用いて分析すると直感的に理解できます。最大せん断応力は $\tau_{\max} = (\sigma_\theta – \sigma_z)/2$ であり、軸力による応力の変化が降伏条件にどう影響するかを正確に評価する必要があります。

また、壁面のある傾いた方向に沿った応力を求めたい場合は、組合せ応力の変換公式を適用します。

ひずみの計算

応力状態が二軸($\sigma_\theta$, $\sigma_z$, $\sigma_r \approx 0$)であるため、ヤング率とポアソン比を用いて各方向のひずみを計算できます。フックの法則の一般化フックの法則を適用すると:

$$ \varepsilon_\theta = \frac{1}{E}(\sigma_\theta – \nu \sigma_z) $$

$$ \varepsilon_z = \frac{1}{E}(\sigma_z – \nu \sigma_\theta) $$

$$ \varepsilon_r = -\frac{\nu}{E}(\sigma_\theta + \sigma_z) $$

周方向ひずみ $\varepsilon_\theta$ は容器の直径変化に直結するため、精密な寸法管理が必要な容器(例: 液体ロケットエンジンの燃焼室)では重要な設計パラメータです。

このように、複合荷重の場合でも薄肉の基本公式を活用して応力とひずみを計算できます。次に、これらの知識を圧力容器の設計にどう応用するかを見ていきましょう。

設計への応用 ── 許容応力・安全率・規格

設計の基本的な考え方

圧力容器の設計における最も基本的な問い は、「この容器は壊れないか?」です。この問いに定量的に答えるために、以下のフレームワークが用いられます。

  1. 応力の計算: 薄肉の公式(またはラメの式)で壁面の応力を求める
  2. 強度基準との比較: 計算された応力が材料の強度(降伏応力や引張強さ)以下であることを確認する
  3. 安全率の確保: 不確実性や予期しない荷重に対するマージンを確保する

許容応力と安全率

安全率(Safety Factor, S.F.)は、材料の限界応力を設計に用いる許容応力で割った値です。

$$ \text{S.F.} = \frac{\sigma_{\text{limit}}}{\sigma_{\text{allow}}} \quad \Leftrightarrow \quad \sigma_{\text{allow}} = \frac{\sigma_{\text{limit}}}{\text{S.F.}} $$

$\sigma_{\text{limit}}$ として何を採用するかは規格や用途によって異なります。

限界応力 記号 説明
降伏応力 $\sigma_y$ 永久変形が始まる応力。通常、耐力(0.2% オフセット)で定義
引張強さ $\sigma_u$ 材料が耐えられる最大応力

典型的な安全率の例を示します。

用途 安全率(対降伏) 安全率(対引張強さ) 備考
ボイラー(ASME Sec. VIII Div. 1) 3.5 歴史的に保守的
一般圧力容器 1.5〜2.0 3.0〜4.0 静荷重
航空宇宙 1.25〜1.5 1.5〜2.0 重量最小化のため低め
原子力 2.0〜3.0 4.0〜5.0 放射性物質の封じ込め

航空宇宙分野で安全率が小さいのは、重量増加が直接的に性能低下(燃費悪化や打ち上げ能力の減少)につながるためです。そのぶん、材料試験、非破壊検査、応力解析の精度が厳しく要求されます。

必要壁厚の計算

フープ応力の公式と許容応力から、必要な壁厚を直接求めることができます。

$$ \sigma_\theta = \frac{pr}{t} \leq \sigma_{\text{allow}} $$

$t$ について解くと:

$$ \boxed{t \geq \frac{pr}{\sigma_{\text{allow}}}} $$

たとえば、内圧 $p = 3 \, \text{MPa}$、内半径 $r = 600 \, \text{mm}$、材料の降伏応力 $\sigma_y = 250 \, \text{MPa}$、安全率 S.F. = 2.5 の場合:

$$ \sigma_{\text{allow}} = \frac{250}{2.5} = 100 \, \text{MPa} $$

$$ t \geq \frac{3 \times 600}{100} = 18 \, \text{mm} $$

この計算では、薄肉仮定の妥当性も確認する必要があります。$t/r = 18/600 = 0.03 \leq 0.1$ なので、薄肉仮定は十分に成り立ちます。

ボイラー規格における公式

実際のボイラー規格(JIS B 8201 や ASME Sec. VIII)では、薄肉の基本公式に溶接継手効率 $\eta$(0 < $\eta$ \leq 1)と腐れ代 $c$ を考慮した公式が使われます。

$$ \boxed{t = \frac{pr}{\sigma_{\text{allow}} \eta – 0.6p} + c} $$

各項の意味は以下の通りです。

  • 溶接継手効率 $\eta$: 溶接部は母材より強度が低い場合があるため、許容応力を低減します。全線放射線検査を行った場合は $\eta = 1.0$、抜き取り検査の場合は $\eta = 0.85$ 程度です
  • $-0.6p$: 壁厚が有限であることの補正項(平均半径を使う場合に生じる)
  • 腐れ代 $c$: 長期使用による腐食を見越して余分の厚さを加えます(通常 1〜3 mm)

破壊モードの考慮

圧力容器の設計では、静的な降伏だけでなく、以下の破壊モードも考慮する必要があります。

  • 疲労破壊: 圧力の繰り返し変動により、降伏応力以下でも亀裂が進展し破壊に至る場合があります。加圧・減圧を繰り返す容器(充填式ガスボンベなど)では疲労解析が必須です
  • 応力集中: ノズル取付部、マンホール開口部、溶接部などでは局所的に応力が集中するため、応力集中係数を考慮した解析が必要です
  • 座屈: 外圧を受ける薄肉容器や、圧縮応力が生じる部分では座屈(壁面の急激な変形)が問題になります
  • クリープ: 高温環境で長時間使用される容器では、時間依存の変形(クリープ)が許容応力を低減させます

実際の設計では、これらの破壊モードを総合的に評価し、最も厳しい条件が支配的な設計基準となります。

Pythonによる圧力容器の設計チャート

ここでは、設計者が実用的に使える設計チャートをPythonで作成します。内圧と内半径の組み合わせに対して、必要な壁厚をカラーマップで表示します。

import numpy as np
import matplotlib.pyplot as plt

# 設計パラメータ
sigma_y = 250.0       # 降伏応力 [MPa](軟鋼 SS400 相当)
safety_factors = [1.5, 2.0, 2.5, 3.5]

# 軸の範囲
p_range = np.linspace(0.5, 20, 200)    # 内圧 [MPa]
r_range = np.linspace(50, 1500, 200)    # 内半径 [mm]
P, R = np.meshgrid(p_range, r_range)

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

for ax, sf in zip(axes.flatten(), safety_factors):
    sigma_allow = sigma_y / sf
    T_required = P * R / sigma_allow  # 必要壁厚 [mm]

    # 薄肉条件 t/r <= 0.1 を満たさない領域をマスク
    thin_wall_valid = T_required / R <= 0.1

    cs = ax.contourf(P, R, T_required, levels=20, cmap='YlOrRd')
    # 薄肉条件の境界
    ax.contour(P, R, T_required / R, levels=[0.1], colors='blue',
               linewidths=2, linestyles='--')

    cbar = plt.colorbar(cs, ax=ax)
    cbar.set_label('Required wall thickness $t$ [mm]', fontsize=10)
    ax.set_xlabel('Internal pressure $p$ [MPa]', fontsize=11)
    ax.set_ylabel('Inner radius $r$ [mm]', fontsize=11)
    ax.set_title(f'S.F. = {sf}  ($\\sigma_{{allow}}$ = {sigma_allow:.0f} MPa)',
                 fontsize=12)
    ax.text(0.02, 0.98, 'Blue dashed: thin-wall limit ($t/r = 0.1$)',
            transform=ax.transAxes, fontsize=9, verticalalignment='top',
            color='blue')

plt.suptitle('Design Chart: Required Wall Thickness (SS400, $\\sigma_y = 250$ MPa)',
             fontsize=14, y=1.01)
plt.tight_layout()
plt.show()

この設計チャートから、以下の設計上の知見が得られます。

  1. 安全率の影響: 安全率が 1.5 から 3.5 に増えると、必要壁厚はおよそ 2.3 倍になります。これは航空宇宙(S.F.=1.5)とボイラー規格(S.F.=3.5)で求められる壁厚が大きく異なる理由を定量的に示しています
  2. 青い破線(薄肉限界)の右上領域: この領域では $t/r > 0.1$ となり、薄肉仮定が成立しません。ラメの式を使うか、FEM(有限要素法)による解析が必要です
  3. 圧力と半径の両方が大きい場合: チャート右上の領域では必要壁厚が急激に増大します。このような条件では、高強度材料の採用や多層構造(自緊圧力容器)の検討が必要になります

次に、もう少し詳細な解析として、ラメの式に基づく壁厚方向の応力分布を可視化してみましょう。

Pythonによる可視化: 厚肉円筒の応力分布

ラメの式による応力分布を壁の半径方向にプロットし、薄肉理論との差を視覚的に確認します。

import numpy as np
import matplotlib.pyplot as plt

# パラメータ
p_i = 10.0   # 内圧 [MPa]
r_i = 100.0  # 内半径 [mm]

# 3つの肉厚比で比較
t_over_r_list = [0.05, 0.1, 0.3]
labels = ['$t/r = 0.05$ (thin)', '$t/r = 0.10$ (limit)', '$t/r = 0.30$ (thick)']
colors = ['green', 'blue', 'red']

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 6))

for tr, label, color in zip(t_over_r_list, labels, colors):
    t_val = tr * r_i
    r_o = r_i + t_val
    rho = np.linspace(r_i, r_o, 200)

    # 正規化した半径位置 (0=内壁, 1=外壁)
    x_norm = (rho - r_i) / (r_o - r_i)

    # ラメの式
    A = r_i**2 * p_i / (r_o**2 - r_i**2)
    sigma_r = A * (1 - r_o**2 / rho**2)
    sigma_theta = A * (1 + r_o**2 / rho**2)

    # 薄肉理論の値
    sigma_thin = p_i * r_i / t_val

    ax1.plot(x_norm, sigma_theta, color=color, linewidth=2, label=f'{label}')
    ax2.plot(x_norm, sigma_r, color=color, linewidth=2, label=f'{label}')

    # 薄肉理論の水平線
    ax1.axhline(y=sigma_thin, color=color, linestyle=':', alpha=0.5)

ax1.set_xlabel('Normalized radial position (0=inner, 1=outer)', fontsize=12)
ax1.set_ylabel(r'Hoop stress $\sigma_\theta$ [MPa]', fontsize=12)
ax1.set_title('Hoop Stress Distribution (Lamé)', fontsize=13)
ax1.legend(fontsize=10)
ax1.grid(True, alpha=0.3)

ax2.set_xlabel('Normalized radial position (0=inner, 1=outer)', fontsize=12)
ax2.set_ylabel(r'Radial stress $\sigma_r$ [MPa]', fontsize=12)
ax2.set_title('Radial Stress Distribution (Lamé)', fontsize=13)
ax2.legend(fontsize=10)
ax2.grid(True, alpha=0.3)

plt.tight_layout()
plt.show()

このグラフから次のことが読み取れます。

  1. 左図(フープ応力): 薄い容器($t/r = 0.05$、緑線)ではフープ応力が壁厚方向にほぼ一様であり、点線で示した薄肉理論の値とほぼ一致しています。一方、厚い容器($t/r = 0.3$、赤線)では内壁で応力が著しく高く、外壁に向かって大きく減少しています。薄肉理論(赤点線)はこの内壁の高い応力を捉えられません
  2. 右図(半径方向応力): $\sigma_r$ は内壁で $-p_i = -10$ MPa、外壁でゼロです。薄い容器(緑線)ではフープ応力(約 200 MPa)に比べて $\sigma_r$ の大きさ(10 MPa)が無視できるほど小さく、$\sigma_r \approx 0$ とする薄肉仮定の妥当性が確認できます。しかし、厚い容器(赤線)でもフープ応力(約 40〜60 MPa)に対して $\sigma_r$ は依然として小さいため、半径方向応力の無視は比較的影響が小さいことがわかります

これらの結果は、応力とひずみで学んだ3次元応力状態の理解と合わせて考えると、薄肉仮定の物理的意味がより深く理解できます。

最後に、実践的な設計に役立つ、複数の材料を比較する設計チャートを作成しましょう。

Pythonによる可視化: 材料比較と最適設計

複数の材料について、設計圧力に対する最小壁厚と容器重量を比較します。

import numpy as np
import matplotlib.pyplot as plt

# 材料データベース
materials = {
    'Mild Steel (SS400)': {'sigma_y': 245, 'rho': 7850, 'color': 'blue'},
    'Stainless Steel (SUS304)': {'sigma_y': 205, 'rho': 7930, 'color': 'green'},
    'Al Alloy (A6061-T6)': {'sigma_y': 276, 'rho': 2700, 'color': 'orange'},
    'Ti Alloy (Ti-6Al-4V)': {'sigma_y': 880, 'rho': 4430, 'color': 'red'},
    'CFRP (quasi-iso)': {'sigma_y': 600, 'rho': 1600, 'color': 'purple'},
}

# 容器パラメータ
r = 500.0        # 内半径 [mm]
L = 2000.0       # 円筒長さ [mm]
sf = 2.0         # 安全率
p_range = np.linspace(0.5, 30, 200)

fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(18, 6))

for name, mat in materials.items():
    sigma_allow = mat['sigma_y'] / sf
    t_req = p_range * r / sigma_allow   # 必要壁厚 [mm]

    # 円筒部分の質量 [kg](簡易計算: m = ρ × 2πr × t × L)
    volume = 2 * np.pi * r * t_req * L * 1e-9  # mm^3 -> m^3
    mass = mat['rho'] * volume  # kg

    # 比強度: σ_y / ρ [kPa·m³/kg = kN·m/kg]
    specific_strength = mat['sigma_y'] / (mat['rho'] * 1e-3)  # MPa/(g/cm³)

    ax1.plot(p_range, t_req, color=mat['color'], linewidth=2, label=name)
    ax2.plot(p_range, mass, color=mat['color'], linewidth=2, label=name)

# 薄肉限界
t_limit = 0.1 * r  # 50 mm
ax1.axhline(y=t_limit, color='gray', linestyle=':', alpha=0.7,
            label=f'Thin-wall limit ($t = {t_limit:.0f}$ mm)')

ax1.set_xlabel('Internal pressure $p$ [MPa]', fontsize=12)
ax1.set_ylabel('Required wall thickness $t$ [mm]', fontsize=12)
ax1.set_title(f'Min. Wall Thickness ($r={int(r)}$ mm, S.F.={sf})', fontsize=13)
ax1.legend(fontsize=9, loc='upper left')
ax1.grid(True, alpha=0.3)
ax1.set_xlim([0.5, 30])

ax2.set_xlabel('Internal pressure $p$ [MPa]', fontsize=12)
ax2.set_ylabel('Cylinder mass [kg]', fontsize=12)
ax2.set_title(f'Cylinder Mass ($r={int(r)}$ mm, $L={int(L)}$ mm)', fontsize=13)
ax2.legend(fontsize=9, loc='upper left')
ax2.grid(True, alpha=0.3)
ax2.set_xlim([0.5, 30])

# 比強度の棒グラフ
names = list(materials.keys())
spec_str = [mat['sigma_y'] / (mat['rho'] * 1e-3) for mat in materials.values()]
bar_colors = [mat['color'] for mat in materials.values()]

bars = ax3.barh(range(len(names)), spec_str, color=bar_colors, alpha=0.8)
ax3.set_yticks(range(len(names)))
ax3.set_yticklabels([n.split('(')[0].strip() for n in names], fontsize=10)
ax3.set_xlabel('Specific strength $\\sigma_y / \\rho$ [MPa/(g/cm$^3$)]', fontsize=12)
ax3.set_title('Specific Strength Comparison', fontsize=13)
ax3.grid(True, alpha=0.3, axis='x')

for bar, val in zip(bars, spec_str):
    ax3.text(bar.get_width() + 1, bar.get_y() + bar.get_height()/2,
             f'{val:.1f}', va='center', fontsize=10)

plt.tight_layout()
plt.show()

この材料比較チャートから、設計上の重要な指針が得られます。

  1. 左図(必要壁厚): チタン合金(赤線)は降伏応力が非常に高いため、必要壁厚が最も薄くなります。一方、ステンレス鋼(緑線)は降伏応力がやや低いため、軟鋼(青線)よりも厚い壁が必要です。ただし、耐食性が必要な環境ではステンレス鋼が選択されるため、壁厚だけで材料を選定することはできません
  2. 中央図(容器質量): 必要壁厚が薄くても、密度が高い材料は重くなります。アルミ合金(橙線)は軟鋼と同程度の壁厚ですが、密度が約 1/3 のため質量は大幅に軽くなります。CFRP(紫線)は壁厚・質量ともに最も有利です
  3. 右図(比強度): 比強度($\sigma_y / \rho$)は「単位重量あたりの強度」を表す指標で、軽量設計の指標となります。CFRP とチタン合金が突出しており、航空宇宙分野でこれらの材料が多用される理由が定量的にわかります

特に航空宇宙分野では、比強度が高い材料を選択することで推進剤タンクの構造質量を最小化し、ペイロード質量を最大化することが設計の鍵となります。流体の性質で学ぶ推進剤の密度と合わせて、タンク全体の質量効率を最適化する設計が行われます。

具体例: ロケット推進剤タンクの設計

ここまで学んだ内容を総合的に使って、具体的な設計問題を解いてみましょう。

問題設定

液体酸素(LOX)タンクを設計します。設計条件は以下の通りです。

  • 内半径: $r = 1{,}000 \, \text{mm}$
  • 設計圧力: $p = 4.0 \, \text{MPa}$(加圧送り方式)
  • 材料: Al 合金 A2219-T87($\sigma_y = 345 \, \text{MPa}$, $\sigma_u = 455 \, \text{MPa}$, $\rho = 2{,}840 \, \text{kg/m}^3$)
  • 安全率: S.F. = 1.4(対降伏応力)

解法

Step 1: 許容応力の決定

$$ \sigma_{\text{allow}} = \frac{\sigma_y}{\text{S.F.}} = \frac{345}{1.4} = 246.4 \, \text{MPa} $$

Step 2: 必要壁厚の計算(フープ応力基準)

$$ t = \frac{pr}{\sigma_{\text{allow}}} = \frac{4.0 \times 1{,}000}{246.4} = 16.2 \, \text{mm} $$

設計上は余裕を持たせて $t = 17 \, \text{mm}$ とします。

Step 3: 薄肉仮定の確認

$$ \frac{t}{r} = \frac{17}{1{,}000} = 0.017 \ll 0.1 \quad \checkmark $$

薄肉仮定は十分に成り立ちます。

Step 4: 応力の確認

$$ \sigma_\theta = \frac{4.0 \times 1{,}000}{17} = 235.3 \, \text{MPa} < 246.4 \, \text{MPa} \quad \checkmark $$

$$ \sigma_z = \frac{4.0 \times 1{,}000}{2 \times 17} = 117.6 \, \text{MPa} $$

Step 5: 構造質量の概算

円筒部の長さを $L = 3{,}000 \, \text{mm}$ とすると、円筒部分の質量は:

$$ m = \rho \cdot 2\pi r t L = 2{,}840 \times 2\pi \times 1.0 \times 0.017 \times 3.0 = 911 \, \text{kg} $$

(球面鏡板の質量は別途計算が必要です)

このように、薄肉容器の基本公式から出発して、材料選定、壁厚決定、応力確認、質量概算という設計の一連の流れを実行できます。

発展: 薄肉容器の変形

応力だけでなく、内圧による容器の変形(膨張)も重要な設計パラメータです。フックの法則と二軸応力状態から、円筒の半径方向膨張量 $\delta_r$ を求めてみましょう。

周方向ひずみ $\varepsilon_\theta$ は、一般化フックの法則(ヤング率とポアソン比を参照)から:

$$ \varepsilon_\theta = \frac{1}{E}(\sigma_\theta – \nu \sigma_z) = \frac{pr}{Et}\left(1 – \frac{\nu}{2}\right) $$

$\sigma_\theta = pr/t$ と $\sigma_z = pr/(2t)$ を代入し整理しました。

周方向ひずみは $\varepsilon_\theta = \delta_r / r$(微小変形の仮定のもと)なので、半径方向の膨張量は:

$$ \boxed{\delta_r = \frac{pr^2}{Et}\left(1 – \frac{\nu}{2}\right)} $$

軸方向の伸び $\delta_L$ についても同様に:

$$ \varepsilon_z = \frac{1}{E}(\sigma_z – \nu \sigma_\theta) = \frac{pr}{Et}\left(\frac{1}{2} – \nu\right) $$

$$ \boxed{\delta_L = \frac{prL}{Et}\left(\frac{1}{2} – \nu\right)} $$

たとえば、先ほどのロケットタンクの例($p = 4$ MPa, $r = 1{,}000$ mm, $t = 17$ mm, $E = 73{,}000$ MPa, $\nu = 0.33$, $L = 3{,}000$ mm)で計算すると:

$$ \delta_r = \frac{4 \times 1{,}000^2}{73{,}000 \times 17}\left(1 – \frac{0.33}{2}\right) = \frac{4{,}000{,}000}{1{,}241{,}000} \times 0.835 = 2.69 \, \text{mm} $$

$$ \delta_L = \frac{4 \times 1{,}000 \times 3{,}000}{73{,}000 \times 17}\left(\frac{1}{2} – 0.33\right) = \frac{12{,}000{,}000}{1{,}241{,}000} \times 0.17 = 1.64 \, \text{mm} $$

内圧 4 MPa で半径が約 2.7 mm 膨らみ、長さが約 1.6 mm 伸びるという結果は、直感的にも妥当です。この変形量は、Oリングのシール設計や配管接続部のクリアランス設計に影響するため、実務では無視できません。

球殻の場合は、応力が等方的($\sigma_1 = \sigma_2 = pr/(2t)$)なので:

$$ \varepsilon = \frac{1}{E}\left(\frac{pr}{2t} – \nu \frac{pr}{2t}\right) = \frac{pr}{2Et}(1 – \nu) $$

$$ \boxed{\delta_r = \frac{pr^2}{2Et}(1 – \nu)} $$

円筒と球殻の膨張量を比較すると、球殻のほうが膨張が小さいことがわかります。これもまた球形タンクの構造的優位性の一つです。

まとめ

本記事では、薄肉容器の応力解析を基礎から体系的に解説しました。

  • 薄肉仮定($t/r \leq 0.1$)のもとでは、壁厚方向の応力変化と半径方向応力が無視でき、壁面は平面応力状態として扱えます
  • 薄肉円筒のフープ応力は $\sigma_\theta = pr/t$、軸方向応力は $\sigma_z = pr/(2t)$ であり、フープ応力は常に軸方向応力の2倍です。この 2:1 の関係が、円筒容器の軸方向亀裂が支配的な破壊モードとなる理由です
  • 薄肉球殻の応力は $\sigma = pr/(2t)$ であり、同じ条件の円筒のフープ応力の半分です。球殻は構造効率が高い反面、製造コストが高くなります
  • ラメの式(厚肉理論)との比較により、薄肉仮定は $t/r \leq 0.1$ で約 5% 以内の精度を持つことが定量的に確認できました
  • 設計実務では、安全率・溶接継手効率・腐れ代を考慮した規格公式が用いられます。航空宇宙では安全率を小さくして軽量化を図り、ボイラーでは安全率を大きくして信頼性を確保します
  • 材料選定では、単なる強度だけでなく比強度($\sigma_y / \rho$)が重要であり、チタン合金やCFRPの優位性が定量的に示されました
  • 内圧による容器の変形量(膨張)は、一般化フックの法則から計算でき、シール設計や寸法管理に重要なパラメータです

薄肉容器の応力解析は、材料力学の中でも特に実用性の高いトピックです。ここで学んだ基本公式は、圧力容器のみならず、パイプラインや航空機の与圧胴体など、さまざまな構造物の設計に応用されます。

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

  • 応力集中 — ノズルや開口部での応力集中係数の求め方
  • 疲労破壊 — 繰り返し加圧を受ける圧力容器の寿命評価
  • 熱応力 — 高温・低温環境での圧力容器に生じる熱応力
  • 組合せ応力 — 内圧と曲げ・ねじりが同時に作用する場合の解析