応力特異点とメッシュ収束 — FEMで応力が発散する原理と実務対策
理論と物理 — なぜ応力は発散するのか
応力特異点とは何か
先生、応力特異点ってメッシュを細かくすると応力が無限に上がるって本当ですか? それってバグじゃないんですか?
バグじゃないんだ。弾性力学の理論解そのものが「応力無限大」を予測しているケースがある。90度のリエントラントコーナー(L字の内角270°の角)やき裂先端がその典型だよ。
えっ、理論自体が無限大ってことですか? じゃあFEMは正しく計算してるのに結果が使えないってこと…?
そう、まさにそこがポイント。FEMは弾性理論の近似解を求めているから、メッシュを細かくするほど「理論上の無限大」に近づいていく。つまり $\sigma_{\max}$ はメッシュサイズ $h \to 0$ で際限なく増加する。通常のメッシュ収束性チェック——3水準のメッシュで応力が一定値に収束するか確認する——が成立しないんだ。
じゃあ例えば、自動車のブラケットにL字形状があったら、メッシュを細かくした人ほど高い応力が出て「板厚を上げなきゃ!」って過設計になるってことですか?
まさにその通り。FEM初心者が最大von Mises応力で許容応力と比較する——これが特異点を含むモデルでの典型的な過設計パターンだ。メッシュを粗くした人は「OK」、細かくした人は「NG」になるから、結果がメッシュ担当者のさじ加減で変わってしまう。これはV&V的に完全にアウトだよ。
応力特異点(stress singularity)とは、弾性体の境界に鋭い角や亀裂が存在するとき、そのコーナーの先端で応力が理論的に無限大となる点を指す。FEMでは離散化により有限値が出力されるが、メッシュを細分化するほどその値は上昇し続け、収束しない。
Williams固有値解析と$r^\lambda$特異性
「応力が無限大になる」って、もう少し数学的にはどう表現されるんですか?
Williams(1952)が導いた古典的な固有値解析がある。くさび形領域の頂点からの距離を $r$、角度を $\theta$ とすると、応力場は次のように表される:
ここで $K$ は応力強度に関する係数、$f_{ij}(\theta)$ は角度依存の関数、そして $\lambda$ がWilliams固有値だ。この $\lambda$ はくさびの開き角 $2\alpha$ に依存して決まる。ポイントは、$\lambda < 1$ のとき $r \to 0$ で $\sigma \to \infty$ になるということ。
なるほど。具体的に90°のリエントラントコーナー(内角270°)だと $\lambda$ はいくつになるんですか?
Williamsの固有値方程式を解くと、内角270°(リエントラントコーナー)では $\lambda \approx 0.545$ だ。つまり応力は $\sigma \propto r^{-0.455}$ のオーダーで発散する。き裂先端(内角360°)ではおなじみの $\lambda = 0.5$ で $\sigma \propto r^{-1/2}$ になる。
代表的なコーナー角度と固有値の関係を以下に示す:
| 形状 | 内角 $2\alpha$ | Williams固有値 $\lambda$ | 応力の次数 | 特異性 |
|---|---|---|---|---|
| き裂先端 | 360° | 0.500 | $r^{-0.500}$ | 最も強い |
| リエントラントコーナー(90°段差) | 270° | 0.545 | $r^{-0.455}$ | 強い |
| 135°の鈍角コーナー | 225° | 0.674 | $r^{-0.326}$ | 中程度 |
| 直角コーナー | 180° | 1.000 | $r^{0}$ (定数) | なし |
| 鋭角コーナー | <180° | >1 | $r^{>0}$ | なし |
おお、内角180°(まっすぐな面)だと $\lambda = 1$ で特異性がなくなるんですね。角が鈍くなるほど特異性が弱くなるのが直感的に分かります。
その通り。だから実務ではフィレットR(丸み)を付けて角をなくすことで特異性を回避する。ただし、CADモデルにフィレットがあってもメッシュが角を十分に表現できないほど粗いと、数値的に特異性が残ることもあるので注意が必要だ。
メッシュ収束の破綻メカニズム
通常のFEM解析では「3水準のメッシュで収束性を確認しましょう」って教わりましたけど、特異点があるとこれが全く機能しないということですか?
正確に言うと、特異点から離れた位置の応力はちゃんと収束する。問題は特異点直近の最大応力だ。標準的なFEMの誤差評価式を見てみよう:
ここで $k$ は要素の多項式次数、$\lambda$ はWilliams固有値だ。滑らかな解なら $\lambda \geq k$ で $h^k$ の収束率が得られる。しかし特異点があると $\lambda < 1 < k$ なので、収束率は $h^\lambda$ に制限される。2次要素を使っても $h^2$ ではなく $h^{0.545}$ 程度にしかならない。
要素の次数を上げても意味がないんですか?! それは衝撃的です…
グローバルなエネルギーノルム誤差に対しては改善が遅いだけで意味がないわけではない。ただし、特異点での応力値そのものは要素次数を上げてもメッシュを細かくしても収束しない——これは本質的な限界だ。FEMのバグではなく、物理モデル(線形弾性体の鋭角コーナー)が持つ本質的な性質なんだよ。
具体例として、L字断面のリエントラントコーナーにおけるメッシュ収束の典型的な振る舞いを示す:
| メッシュサイズ $h$ [mm] | 要素数 | コーナー最大応力 [MPa] | コーナーから10mm離れた点 [MPa] |
|---|---|---|---|
| 4.0 | 1,200 | 185 | 82.3 |
| 2.0 | 4,800 | 254 | 85.1 |
| 1.0 | 19,200 | 348 | 86.4 |
| 0.5 | 76,800 | 478 | 86.8 |
| 0.25 | 307,200 | 657 | 86.9 |
わあ、コーナーの最大応力は185→657MPaまでどんどん上がってるのに、10mm離れた位置では82.3→86.9MPaとちゃんと収束してる! これが「特異点から離れれば大丈夫」ということですね。
その通り。だから「どこの応力で評価するか」が特異点問題の本質なんだ。最大応力のコンター図を見て「赤いところが危ない!」と反射的に判断するのは、特異点があるモデルでは完全に間違いだよ。
特異点が現れる代表的な形状
実務で特異点に出くわしやすい形状って、具体的にどんなものがありますか?
代表的なものを挙げるね:
- リエントラントコーナー — L字ブラケット、T字接合部のフィレットなし角部。実務で最も遭遇頻度が高い
- き裂先端 — 破壊力学モデルで意図的に導入するもの。$\lambda = 0.5$ で最も強い特異性
- 異種材料界面の端部 — ヤング率の異なる材料の接合端。バイマテリアル特異性と呼ぶ
- 集中荷重の作用点 — 点荷重・線荷重は理論的に接触面積ゼロ → 応力無限大
- 拘束条件の角部 — 固定端と自由端の境界にある角。数値的な特異性を生む
- V-ノッチ — 溶接ビード止端、キー溝の底部など
え、集中荷重も特異点になるんですか? 実習でよく使ってましたけど…
そう。ボルト締結の座面やベアリングの接触面を「1節点に集中荷重」で代替すると、その節点近傍の応力は物理的に意味がない。少なくとも荷重を面に分布させるか、荷重作用点近傍の応力は評価対象から外すのが鉄則だ。
数値解法 — 特異性のFEM的取り扱い
Quarter-point要素とバーフィールド法
特異点があるとFEMがダメなら、破壊力学の解析はどうやってるんですか? き裂先端は特異点そのものですよね?
いい質問だね。破壊力学では「応力値」ではなく「応力拡大係数 $K$」や「$J$ 積分」で評価するから、特異点での応力値そのものは使わない。ただし、FEMで $K$ を精度よく求めるための工夫としてquarter-point要素(1/4点要素)がある。
quarter-point要素って何ですか?
Barsoum(1976)が考案した手法だ。8節点四辺形の2次要素で、き裂先端側の中間節点を辺の1/4の位置にずらす。すると要素内の変位場に $\sqrt{r}$ の項が自然に現れて、き裂先端の $r^{-1/2}$ 特異性を要素レベルで正確に捕捉できる。
AbaqusやAnsysではき裂先端周りにこのquarter-point要素を配置する機能がビルトインされている。これと後述のJ積分やcontour integral法を組み合わせることで、$K_I, K_{II}, K_{III}$ を高精度に求められるんだ。
hp-refinementによる特異性の捕捉
先ほど「p次数を上げても特異点近傍の収束率は $h^\lambda$ に制限される」と聞きましたが、何か改善策はありますか?
hp-refinementが有効だ。特異点に向かって幾何学的級数(geometric grading)でメッシュを細分化し、同時に要素の多項式次数を上げる。Babuskaらの研究によると、この組み合わせにより指数関数的な収束が達成できる:
ここで $N$ は自由度数。通常のh-refinementでは代数的($N^{-\lambda/d}$)にしか収束しないのに対し、hp-refinementは指数的に収束するから圧倒的に効率がいい。ただし実装は複雑で、対応しているソルバーは限られる。StressCheckやp-FEMベースのソルバーが代表例だね。
応力拡大係数の抽出手法
応力拡大係数 $K$ をFEMから求める方法は、具体的にどんなものがありますか?
主に3つの方法がある:
- 変位外挿法 — き裂先端近傍の節点変位から $K = \lim_{r \to 0} \sigma\sqrt{2\pi r}$ の関係を用いて外挿。簡単だがメッシュ依存性が高い
- J積分法(等価領域積分) — き裂先端を囲む経路(コンター)に沿ってエネルギー解放率 $G$ を計算。$K_I = \sqrt{E' G}$($E'$は平面応力/ひずみで異なる)。パス非依存性があり精度が高い
- 相互作用積分法(Interaction Integral) — 補助場と実場のJ積分の相互作用を利用して $K_I, K_{II}, K_{III}$ を個別に分離抽出。混合モード問題に必須
J積分がパス非依存ということは、き裂先端から少し離れたコンターで計算しても精度がいいんですか?
その通り。だから特異点直上の応力値は使わず、やや離れた複数コンターの平均値で $J$ を求める。Abaqusでは *CONTOUR INTEGRAL で5〜10コンターを自動計算してくれる。外側のコンターほどメッシュの影響を受けにくくて安定するんだ。
実践ガイド — 応力特異点との付き合い方
ASME応力線形化(膜+曲げ評価)
特異点近傍の最大応力が使えないなら、圧力容器の設計審査ではどうやって強度を判定してるんですか?
ASME Boiler & Pressure Vessel Code Section VIII Division 2 が定めている応力線形化(stress linearization)が業界標準だ。これは板厚方向の応力分布を「膜応力 $\sigma_m$」と「曲げ応力 $\sigma_b$」に分解する手法だよ。
ここで $t$ は板厚、$x$ は板厚方向の座標だ。膜応力は断面を一様に引っ張る成分、曲げ応力は表裏で正負が反転する成分。特異点によるピーク応力 $\sigma_p$(線形化で残る非線形分布の残差)は一次評価の対象外とされる。
つまりピーク応力は無視していいということですか?
「一次応力評価」では無視する。ただし疲労評価ではピーク応力が重要になる。ASME Div.2 Part 5.5では疲労解析に full-range stress(膜+曲げ+ピーク)を使う。このとき特異点のピーク応力は物理的に意味がないから、フィレットR付きのサブモデルに切り替えて実際の応力集中を評価するのが正攻法だ。
なるほど! 一次評価は線形化で膜+曲げだけ見る、疲労評価はフィレットR付きモデルでピークも含めて見る、ということですね。
応力分類表(ASME Div.2 Table 5.1に基づく)
| 分類 | 記号 | 定義 | 許容値の例(設計荷重) |
|---|---|---|---|
| 一般膜応力 | $P_m$ | 断面全体にわたる平均応力 | $\leq S$(許容引張応力) |
| 局所膜応力 | $P_L$ | 不連続部近傍の膜応力 | $\leq 1.5 S$ |
| 膜+曲げ | $P_L + P_b$ | 局所膜+一次曲げ | $\leq 1.5 S$ |
| 二次応力 | $Q$ | 拘束による自己平衡応力 | $P_L + P_b + Q \leq 3S$ |
| ピーク応力 | $F$ | 応力集中・特異性によるピーク | 疲労評価のみ使用 |
破壊力学的評価への切替え
き裂がある構造では線形化は使えないですよね。どうすればいいですか?
き裂が存在する(または存在を仮定する)場合は、破壊力学パラメータで評価に切り替える。代表的な方法は3つ:
- 応力拡大係数 $K$ による評価 — $K_I < K_{IC}$(破壊靱性値)なら安全。線形弾性破壊力学(LEFM)の範囲
- $J$ 積分による評価 — 弾塑性域まで拡張可能。$J < J_{IC}$ で判定。ASTM E1820などの試験規格で $J_{IC}$ を実測
- FAD(Failure Assessment Diagram) — BS 7910 / API 579-1で規定。脆性破壊と塑性崩壊の両方を1つの図上で評価できる
つまり特異点問題の核心は「応力値で評価するな、エネルギーまたは力学パラメータで評価しろ」ということですね。
まさにそう。応力は $r^{-1/2}$ で発散するが、$J$ 積分はパス非依存で有限値に収束する。$K$ 値も $J$ から一意に定まる。特異性のある問題ではポイント値(応力)からグローバル値(エネルギー)への転換が本質的な解法なんだ。
サブモデリングと局所評価
実務で「まずグローバルモデル → 特異点周りだけサブモデル」という手順をよく聞きますが、これは特異点対策として有効ですか?
サブモデリングは2つの目的で使う:
- フィレットR付きの詳細形状での応力集中評価 — グローバルモデルでは省略した微小Rをサブモデルで再現し、物理的に意味のあるピーク応力を求める。これは疲労評価に有効
- 破壊力学解析のためのき裂モデル — グローバルモデルにき裂を入れずに解き、サブモデルにき裂を導入して $K$ や $J$ を計算。計算コストを大幅に削減できる
ただし注意点がある。サブモデルの切断境界(driven boundary)が特異点から十分離れていること、グローバルモデルの応力がその境界位置で十分収束していることが前提条件だ。サブモデルを特異点に近づけすぎると、境界の変位場自体が不正確になってしまう。
先生、まとめると応力特異点への対処法は次の3つということですね:
完璧なまとめだ。補足すると(0番目として)「フィレットRを付けて特異性自体をなくす」も重要だ。設計段階でR付けが可能なら、そもそも特異点を避けるのがベストだよ。
ソフトウェア別の対応機能
主要ソルバーの特異性処理機能
商用ソルバーでは応力特異点や破壊力学をどうサポートしてますか?
主要ソルバーの対応状況を比較するとこうなる:
| 機能 | Abaqus | Ansys Mechanical | Nastran | COMSOL |
|---|---|---|---|---|
| Quarter-point要素 | 自動配置(focused mesh) | KSCON コマンド | CQUAD8手動配置 | 手動ノード移動 |
| J積分 / Contour Integral | *CONTOUR INTEGRAL | CINT / Fracture Tool | SOL 401 (MFRAC) | J-Integral ノード |
| XFEM | Standard(3D対応) | SMART Crack Growth | 非対応 | 非対応 |
| 応力線形化 | Path操作で手動 | Stress Linearization Tool | FORCE出力で手動 | Line Integration |
| VCCT(仮想き裂閉合法) | 対応 | 対応 | SOL 400対応 | 非対応 |
| Cohesive Zone Model | COH要素 | CZM + Interface | 限定的 | 対応 |
Ansysの応力線形化ツールって便利そうですね。Abaqusでは手動なんですか?
Ansys WorkbenchのStress Linearization Toolは板厚方向のパスを指定するだけで $P_m, P_b, P_m+P_b, P_m+P_b+Q$ を自動計算してくれるから、圧力容器の設計審査では非常に便利だ。Abaqusでも *PATH でパスを定義してPythonスクリプトで線形化計算はできるが、ワンクリックというわけにはいかない。
オープンソースでは、CalculiXはJ積分計算に対応している。Code_AsterはフランスEDFが開発した汎用FEMで、POST_K1_K2_K3コマンドによる応力拡大係数の抽出やXFEMにも対応していて、破壊力学に関しては商用ソルバー並みの機能を持っているよ。
先端技術 — XFEM・位相場法
XFEM(拡張有限要素法)
XFEMって最近よく聞きますけど、従来のFEMと何が違うんですか?
従来のFEMでは、き裂はメッシュの要素境界に沿って表現する必要があった。つまりき裂が進展するたびにリメッシュが必要だった。XFEMでは既存のメッシュに「エンリッチメント関数」を追加することで、メッシュに依存せずにき裂を表現できる。
$H(\mathbf{x})$ はき裂面を横切るHeaviside関数(不連続性の表現)、$F_\ell$ はき裂先端近傍の $\sqrt{r}$ 特異性を表す関数群だ。き裂先端の特異性をメッシュではなく形状関数レベルで取り込むから、粗いメッシュでも高精度な $K$ 値が得られるのが最大の利点だよ。
すごい…! き裂進展のシミュレーションでリメッシュ不要というのは革命的ですね。
ただし万能ではない。3Dの複雑な形状でき裂面が分岐・合流するケースや、大きな塑性変形を伴う延性破壊では、まだ実用上の課題がある。Abaqusでは3D XFEMが使えるが、き裂進展は基本的にパリス則ベースの疲労き裂成長に限られる。任意方向への脆性き裂伝播は2Dでは良いが、3Dでは安定性に課題が残っているのが現状だ。
位相場破壊モデル
位相場法(Phase-field)を破壊力学に使うという話も聞きますが、どういう考え方ですか?
位相場破壊モデル(Phase-field fracture)は、き裂を鋭い不連続面ではなく、連続的なダメージ変数 $d \in [0, 1]$ で表現する手法だ。$d=0$ が健全、$d=1$ が完全破壊。Griffithのエネルギー釣り合いを変分原理で定式化するもので、Bourdinら(2000)が提案した。
第1項が弾性エネルギー($g(d)$で劣化)、第2項がき裂表面エネルギー。$G_c$ は臨界エネルギー解放率、$\ell$ は正則化長さパラメータだ。この方法の最大の利点はき裂の発生・進展・分岐・合流を自動的に捕捉できること。メッシュにき裂形状を事前定義する必要がない。
XFEMと比べるとどちらが実務で使われていますか?
2026年現在、商用ソルバーへの実装はまだ限定的だ。Abaqus 2024からUEL/UMATベースの位相場サポートが強化されてきているが、まだ研究段階の色合いが強い。XFEMの方が実務では先を行っている。ただしアカデミアでは位相場法の論文数がここ5年で爆発的に増えていて、今後5〜10年で商用ソルバーにも標準搭載されていくだろう。
トラブルシューティング
初心者が陥る典型的な失敗パターン
先生、応力特異点に関連して「これだけはやるな」という失敗パターンを教えてください。
よし、実務で見てきた典型的な失敗を5つ挙げるよ。
失敗1: 「メッシュを細かくしたら応力が上がった、もっと細かくしなければ」
→ 特異点ではメッシュを細かくするほど応力が上がるのが正しい挙動。収束しないのは当然。「収束するまで細かくする」は無限ループに入る。
失敗2: 「最大von Mises応力と許容応力を比較して安全率を計算した」
→ 特異点の最大応力はメッシュ依存。粗いメッシュなら安全率2.0、細かいメッシュなら安全率0.3——同じモデルなのにメッシュ次第で設計判断が変わる。これは設計手法として破綻している。
失敗3: 「コンター図の赤い部分にフィレットRを付けたら消えたからOK」
→ フィレットR付きで特異性を回避するのは正しいが、そのRが製造上実現可能か、メッシュがR形状を十分に分解しているか(最低3〜5要素)の確認が必要。R=0.1mmを要素サイズ1mmで切っていたら意味がない。
失敗4: 「異種材料の接合面端部の高応力を材料強度で評価した」
→ バイマテリアル特異性は界面端のフリーエッジで発生する。これもメッシュ依存の発散応力なので、SIF(応力強度因子)ベースの評価や、界面要素の剥離判定(CZMなど)に切り替える必要がある。
失敗5: 「線形化パスの位置が不適切」
→ ASME線形化で板厚方向パスを引くとき、パスが特異点を通過していると膜応力自体にメッシュ依存性が入り込む。パスは特異点から少なくとも板厚の0.5倍以上離すのが目安だ。
うわ、全部やりそう…。特に失敗2は教科書でも「von Misesで比較しましょう」って書いてあるから、特異点の存在に気づかないと自然にハマりますね。
そう。だからメッシュ収束性のチェックは「最大応力が収束すること」ではなく「評価点の応力が収束すること」を確認するものだと理解してほしい。コンター図の赤い場所が特異点かどうかを判別する目を養うことが、FEMエンジニアとしての重要なスキルだよ。
特異点チェックリスト
FEM結果を評価する前に、以下のチェックリストで特異点の有無を確認する:
| チェック項目 | 確認方法 | 対処法 |
|---|---|---|
| リエントラントコーナーの有無 | CADモデルの内角270°超の角部を目視確認 | フィレットR追加、または評価点を離す |
| 集中荷重の有無 | 1節点・1辺への荷重がないか確認 | 分布荷重に変更、または荷重点近傍を評価対象外とする |
| 異種材料界面の端部 | フリーエッジに材料境界があるか確認 | CZM/界面要素の導入、またはSIFベース評価 |
| メッシュ収束性の確認 | 3水準のメッシュで評価点の応力変化を確認 | 最大応力位置ではなく、設計上重要な位置で確認 |
| 応力勾配の異常 | 応力が要素サイズに比例して増大するか確認 | $\log(\sigma)$ vs $\log(h)$ プロットで傾きが $\lambda - 1$ に近いか確認 |
よし、いいまとめだ。最後にもう一つだけ。社内レビューで「最大応力がメッシュで変わるんですが…」と言われたとき、「それは応力特異点です。Williamsの固有値は $\lambda = 0.545$ で理論的に収束しません。評価方法を応力線形化またはJ積分に切り替えます」と説明できれば、一目置かれるエンジニアになれるよ。頑張れ!
なった
詳しく
報告