「FLD見ておいて」——プレス加工の現場で一度は聞いたことがあるこの言葉。でも、なぜ板金が破れるのか、数式とコードで説明できますか?
今回は、ブラウザで動く成形限界図シミュレーターを題材に、「破断ラインが材料によって動く理由」 と 「歪みパスが破断をどう予測するか」 を、数式→コード→数値例の順で完全に解説します。
▶ 今回のシミュレーター: 成形限界図(FLD)と歪みパス可視化ツール (ブラウザで動作・登録不要)
導入——「安全なはずが破れた」はなぜ起きる?
プレス成形の現場で、「シミュレーションでは大丈夫だったのに、実機で割れた」 という話を聞いたことはありませんか?
原因の一つは、成形限界図(FLD)の読み方にあります。FLDには「FLC(Forming Limit Curve)」と呼ばれる破断の境界線が描かれていますが、この線は 材料によって上下に動く んです。軟鋼と高張力鋼ではFLCの高さが全然違う——その事実を知らずに設計すると、薄肉化が進んで破断するリスクが一気に高まります。
このシミュレーターのすごいところは、スライダーを動かすだけでFLCがリアルタイムに変化する点。加工硬化指数 $n$ や板厚 $t_0$ を変えると、破断ラインがグワッと上下する様子が目で見てわかります。
ざっくり本質——「地図」と「進む道」で考える
FLDを一言で表すなら、こうです。
「板金が破れるかどうかの危険ラインが描かれた地図」
- 横軸:板が横に縮む/伸びる量(副ひずみ $\varepsilon_2$)
- 縦軸:板が縦に伸びる量(主ひずみ $\varepsilon_1$)
- 曲線(FLC):この線より上に行くと破断、下なら安全
さらに、歪みパスという考え方があります。これは「板のある一点が、プレス中にどのようにひずんでいくかの履歴」です。例えば:
- 単軸引張:点が右斜め上に進む
- 双軸引張:点が右上がりに進む(破断に近づきやすい)
- 平面ひずみ:点が真上に進む(最も危険な経路)
このシミュレーターでは、歪みパスの種類を選ぶだけで、点が動いていくアニメーションが見られるんです。破断に至るプロセスが直感的に理解できます。
数式で理解する——FLCはどう決まるのか
このシミュレーターのコアは、Keeler-Goodwinの経験式に基づいています。順番に整理しましょう。
体積一定則(塑性変形の大前提)
まず、板金の塑性変形では体積が変わらないという大原則があります。
\varepsilon_1 + \varepsilon_2 + \varepsilon_3 = 0
ここで $\varepsilon_1$ は板面内の主ひずみ(最大)、$\varepsilon_2$ は副ひずみ(最小)、$\varepsilon_3$ は板厚方向ひずみです。板厚減少率は $-\varepsilon_3$ で計算できます。
加工硬化則(材料の強さを決める)
材料が変形するときの応力-ひずみ関係は、次のべき乗則で近似されます。
\sigma = K\varepsilon^n
$n$ が加工硬化指数で、この値が大きいほど材料は均一に伸びやすい(局部くびれが起きにくい)。自動車用高張力鋼板は $n=0.18\sim0.22$ 程度、アルミは $0.15\sim0.25$ と幅があります。
平面ひずみ限界(FLC₀)の計算
このツールでは、まず 平面ひずみ状態($\varepsilon_2=0$)での限界ひずみ を次の式で求めます。
FLC_0 = FLC_{0,\mathrm{base}} + 0.04\,\ln(t_0)
ここで:
- $FLC_{0,\mathrm{base}}$ :材料ごとの基準値(軟鋼0.24、高張力鋼0.18、アルミ5xxx系0.20など)
- $t_0$ :初期板厚(mm)
板厚が厚いほど $FLC_0$ が上がる のは、厚板ほど局部集中が起きにくいからです。$t_0=1.0$mm のとき $\ln(1.0)=0$ なので基準値そのまま、$t_0=0.6$mm なら $\ln(0.6)=-0.51$ で $0.04\times(-0.51)=-0.02$、つまり $FLC_0$ が0.02下がります。
任意の副ひずみに対する限界曲線
$FLC_0$ が決まったら、任意の $\varepsilon_2$ に対する主ひずみ限界 $\varepsilon_1^{limit}$ を計算します。簡易モデルでは次の形がよく使われます。
\varepsilon_1^{limit} = f(FLC_0, \varepsilon_2)
具体的には、Keelerの提案に基づき、FLC₀を頂点とする放物線状 の曲線を描きます。左側($\varepsilon_2<0$:縮みフランジ)と右側($\varepsilon_2>0$:張出し)で非対称になるのが特徴です。
コードで実装する ★最重要★
それでは、このシミュレーターのコアロジックを JavaScriptで実装 してみましょう。実際にブラウザで動くコードです。
/**
* 成形限界図(FLD)のコア計算エンジン
* Keeler-Goodwinモデルに基づくFLC計算と破断判定
*/
class FLDCalculator {
/**
* @param {string} material - 材料プリセット名
* @param {number} thickness - 初期板厚 (mm)
*/
constructor(material, thickness) {
// 材料データベース(FLC₀基準値)
this.materialDB = {
'軟鋼 (SPCC系)': { baseFLC0: 0.24, n: 0.22 },
'高張力鋼 590MPa': { baseFLC0: 0.18, n: 0.18 },
'アルミ 5xxx系': { baseFLC0: 0.20, n: 0.20 },
'アルミ 6xxx系': { baseFLC0: 0.15, n: 0.16 },
'カスタム': { baseFLC0: 0.22, n: 0.20 }
};
this.material = material;
this.thickness = thickness;
this.matData = this.materialDB[material];
// 平面ひずみ限界(FLC₀)を計算
this.FLC0 = this.matData.baseFLC0 + 0.04 * Math.log(thickness);
}
/**
* FLC曲線上の点を計算(副ひずみε₂に対する主ひずみ限界ε₁)
* @param {number} eps2 - 副ひずみ
* @returns {number} 限界主ひずみ
*/
calcFLCPoint(eps2) {
// Keelerの放物線近似(非対称)
// 左側(eps2 < 0):縮みフランジ領域
// 右側(eps2 > 0):張出し領域
const a = eps2 < 0 ? 0.5 : 0.8; // 曲率パラメータ
return this.FLC0 + a * eps2 - 0.2 * eps2 * eps2;
}
/**
* 破断判定
* @param {number} eps1 - 現在の主ひずみ
* @param {number} eps2 - 現在の副ひずみ
* @returns {object} { isFractured, safetyMargin, thicknessReduction }
*/
judgeFracture(eps1, eps2) {
const limitEps1 = this.calcFLCPoint(eps2);
const safetyMargin = limitEps1 - eps1; // 安全マージン(正:安全、負:破断)
const isFractured = safetyMargin < 0;
// 板厚減少率(体積一定則から)
const eps3 = -(eps1 + eps2); // 板厚方向ひずみ
const thicknessReduction = 1 - Math.exp(eps3); // 減少率(0〜1)
return {
isFractured,
safetyMargin,
thicknessReduction,
limitEps1
};
}
/**
* 歪みパス上の点を生成(線形経路)
* @param {string} pathType - 'uniaxial', 'biaxial', 'planeStrain', 'custom'
* @param {number} step - 進行度(0〜1)
* @param {number} customRho - カスタムの歪み比(ε₂/ε₁)
* @returns {object} { eps1, eps2 }
*/
generateStrainPath(pathType, step, customRho = 0) {
const maxEps1 = 0.5; // 最大主ひずみ
const eps1 = maxEps1 * step;
let rho; // 歪み比 ρ = ε₂/ε₁
switch(pathType) {
case 'uniaxial': rho = -0.5; break; // 単軸引張
case 'biaxial': rho = 1.0; break; // 双軸引張
case 'planeStrain': rho = 0.0; break; // 平面ひずみ
case 'custom': rho = customRho; break;
default: rho = 0.0;
}
const eps2 = rho * eps1;
return { eps1, eps2 };
}
}
// ===== 使用例 =====
// 軟鋼、板厚1.0mmでFLCを計算
const calc = new FLDCalculator('軟鋼 (SPCC系)', 1.0);
console.log(`FLC₀ = ${calc.FLC0.toFixed(4)}`); // 0.24 + 0.04*ln(1.0) = 0.24
// 副ひずみ0.1のときの限界主ひずみ
const limit = calc.calcFLCPoint(0.1);
console.log(`ε₂=0.1 での限界ε₁ = ${limit.toFixed(4)}`);
// 双軸引張パスで進行度0.8のときの破断判定
const path = calc.generateStrainPath('biaxial', 0.8);
const result = calc.judgeFracture(path.eps1, path.eps2);
console.log(`状態: (${path.eps1.toFixed(3)}, ${path.eps2.toFixed(3)})`);
console.log(`破断: ${result.isFractured}, 安全マージン: ${result.safetyMargin.toFixed(3)}`);
console.log(`板厚減少率: ${(result.thicknessReduction * 100).toFixed(1)}%`);
このコードで何ができるか:
- 材料と板厚を指定するだけでFLC曲線が計算できる
- 任意の歪みパスに対する破断判定がリアルタイムで可能
- 安全マージンと板厚減少率も同時に取得できる
実際のシミュレーターでは、これをベースに アニメーション描画 や インタラクティブ操作 が追加されています。
数値例で確かめる
実際の数値を入れて計算してみましょう。
条件:
- 材料:高張力鋼 590MPa(基準FLC₀ = 0.18)
- 板厚:$t_0 = 0.8$ mm
- 歪みパス:双軸引張($\rho = 1.0$)
- 進行度:$step = 0.7$(つまり $\varepsilon_1 = 0.5 \times 0.7 = 0.35$)
Step 1: FLC₀の計算
FLC_0 = 0.18 + 0.04 \times \ln(0.8) = 0.18 + 0.04 \times (-0.2231) = 0.18 - 0.0089 = 0.1711
板厚0.8mmと薄いため、基準値から約0.009下がりました。
Step 2: 歪み状態の計算
\varepsilon_1 = 0.5 \times 0.7 = 0.35
\varepsilon_2 = 1.0 \times 0.35 = 0.35
双軸引張なので $\varepsilon_1 = \varepsilon_2 = 0.35$ です。
Step 3: 限界主ひずみの計算
\varepsilon_1^{limit} = 0.1711 + 0.8 \times 0.35 - 0.2 \times 0.35^2 = 0.1711 + 0.28 - 0.0245 = 0.4266
Step 4: 破断判定
\text{安全マージン} = 0.4266 - 0.35 = 0.0766 > 0
安全マージンは約7.7%。まだ破断していない と判定されます。
Step 5: 板厚減少率
\varepsilon_3 = -(0.35 + 0.35) = -0.70
\text{板厚減少率} = 1 - e^{-0.70} = 1 - 0.4966 = 0.5034 \approx 50.3\%
板厚が半分近くに減っています。安全マージンは7.7%と小さく、実用的には危険域と言えます。
この計算を先ほどのコードで実行すると、全く同じ結果が得られます。理論と実装が一致する のが確認できました。
シミュレーターで遊ぶ——3つの実験
実験1:板厚を変えてFLCの変化を体感
- 設定:軟鋼(SPCC系)、板厚を0.6mm → 1.2mm → 2.0mm と変更
- 結果:板厚が厚くなるほどFLC曲線が上にシフト
なぜ? $FLC_0 = 0.24 + 0.04\ln(t_0)$ の式で、$t_0$ が大きいほど $\ln(t_0)$ が正の値になるから。厚板ほど局部くびれが起きにくく、より大きなひずみに耐えられるんです。
実験2:加工硬化指数nの影響を見る
- 設定:板厚1.0mm固定、材料を軟鋼(n=0.22)→ 高張力鋼(n=0.18)→ アルミ6xxx系(n=0.16)と変更
- 結果:nが小さいほどFLC曲線が低くなる
なぜ? n値が大きいほど材料が均一に伸び、局部集中が遅れるため、限界ひずみが高くなります。高張力鋼はnが小さいので、同じ形状でも破断リスクが高い——これが現場で「高張力鋼は成形が難しい」と言われる理由です。
実験3:歪みパスの違いで破断タイミングが変わる
- 設定:高張力鋼590MPa、板厚0.8mm
- パスA:単軸引張(ρ=-0.5)→ 進行度0.9でも安全
- パスB:双軸引張(ρ=1.0)→ 進行度0.75で破断
- パスC:平面ひずみ(ρ=0)→ 進行度0.65で破断
なぜ? 平面ひずみ状態($\varepsilon_2=0$)が最も危険で、FLC₀がそのまま効くから。双軸引張はFLC曲線が高い方にシフトするため、少し余裕がある——ただし今回の条件では板厚が薄いので、それでも早期に破断しています。
現場でハマるポイント——3つの落とし穴
1. 「FLCの下なら絶対安全」は幻想
このシミュレーターの安全マージンが教えてくれるのは、あくまで理想状態での判定。実際の現場では:
- 金型の面粗度のバラつき
- 潤滑状態のムラ
- 材料の板厚公差
- プレス速度によるひずみ速度効果
これらが重なると、安全マージン10%でも破断することがある。現場の知恵としては、複雑形状部で20%以上、単純形状でも10%以上 のマージンを確保するのが鉄則です。
2. 材料パラメータの入力ミスが命取り
加工硬化指数 $n$ は、引張試験のひずみ速度 によって値が変わります。データシートに「n=0.22」とあっても、それが準静的な値なのか、プレス速度相当の値なのかを確認しないと、FLCの見積もりが大きく狂います。
このシミュレーターではプリセットが用意されていますが、カスタムモードで実材料の試験データを入力する のがベストプラクティスです。
3. 歪みパスは「一直線」とは限らない
シミュレーターでは線形の歪みパスを仮定していますが、実際のプレス成形では:
- 最初は単軸引張、途中で双軸引張に変化
- 金型形状によっては 非線形経路 になる
特に 「一度安全マージンが増えてから減る」 ような複雑なパスでは、単純な線形モデルでは破断リスクを過小評価する可能性があります。実務では CAEシミュレーションで得られた実際の歪み履歴 をプロットする必要があります。
まとめ——この記事で押さえるべき3つのポイント
-
FLDのFLC曲線は材料と板厚で動く — 加工硬化指数 $n$ が大きいほど、板厚 $t_0$ が厚いほど、破断ラインが上昇する。この原理を数式とコードで理解しよう。
-
歪みパスが破断リスクを決める — 平面ひずみ($\rho=0$)が最も危険、双軸引張($\rho>0$)はやや安全。パスの選択で破断タイミングが変わる。
-
安全マージンは10%以上確保 — 理論上の破断ラインは理想状態。現場のバラつきを考慮すると、最低でも10%、複雑形状なら20%のマージンが必要。
今回解説した計算ロジックは、実際のシミュレーターでそのまま動いています。板厚と材料を変えながら、歪みパスを動かして、破断の瞬間を目で見て確かめてください。
▶ 成形限界図(FLD)と歪みパス可視化ツール — ブラウザで即動作、登録不要
NovaSolverでは700以上の工学シミュレーターを無料公開中 👉 一覧はこちら
「数式がわかれば、シミュレーターはもっと面白くなる」——この記事が、プレス加工の原理を深く理解するきっかけになれば幸いです。