トポロジー最適化 (Topology Optimization) — CAE用語解説
トポロジー最適化とは
ざっくり言うと、寸法最適化は「板厚を何mmにするか」、形状最適化は「外形の曲線をどう動かすか」を決める。でもトポロジー最適化はもっと根本的で、「そもそもどこに穴を空けてどこに材料を残すか」まで自由に決められるんだ。設計空間内の材料配置そのものが設計変数になる。
ということは、人間が全く思いつかないような形が出てくる可能性があるんですね?
その通り。結果として骨のトラベキュラ構造みたいな有機的な形状が出てくることが多い。実際、人間の大腿骨の内部構造は荷重に最適化された天然のトポロジー最適化の結果なんだ。例えば自動車のサスペンションアームをトポロジー最適化にかけると、従来の板金設計と全く違う、枝分かれしたトラス状の形状が得られて、30〜50%の軽量化が可能になったりする。
SIMP法(密度法)
商用ソルバーでよく使われてるSIMP法って、具体的にはどんな仕組みなんですか?
SIMP(Solid Isotropic Material with Penalization)法は、各有限要素に0〜1の擬似密度変数 $\rho_e$ を割り当てる。要素の弾性率を密度のべき乗でペナルティ付きに補間するのがポイントだ:
ここで $E_0$ は元の材料のヤング率、$p$ はペナルティ係数で通常 $p=3$ を使う。$\rho_e=1$ なら材料あり($E_e = E_0$)、$\rho_e=0$ なら空洞($E_e = 0$)。重要なのは $p > 1$ にすることで、中間密度(例えば $\rho_e=0.5$)の要素は $0.5^3 = 0.125$ しか剛性を持たなくなる。つまり「中途半端な密度は損」という圧力がかかって、0か1に収束しやすくなるんだ。
なるほど、ペナルティで中間密度を追い出すわけですね。でもそれでも完全に0か1にならない「グレースケール」が残ることはないんですか?
残ることはある。特に荷重条件が複雑だったり、体積制約が緩いときに起きやすい。実務ではいくつかの対策がある:
- 密度フィルター — 各要素の密度を近傍要素の加重平均に置き換えることで、チェッカーボード模様(市松模様の数値的なアーティファクト)を防ぐ
- Heaviside投影 — フィルター後の密度をさらにステップ関数的に投影して、0/1に近づける
- ペナルティ継続法 — $p$ を段階的に上げていく($p=1 \to 2 \to 3$)ことで、初期は広く探索→後半で0/1に絞り込む
商用ソルバーのOptiStructやAnsys Mechanical、TOSCA Structureではこれらが自動で処理されるけど、パラメータの意味を理解しておかないと「なぜか変な形が出た」で終わってしまうよ。
レベルセット法
SIMP以外の手法も聞いたことがあります。レベルセット法ってSIMPとどう違うんですか?
レベルセット法は構造の境界を陰関数 $\phi(\mathbf{x})$ で表現する。$\phi > 0$ なら材料あり、$\phi < 0$ なら空洞、$\phi = 0$ が境界面だ。最適化ではこの $\phi$ をハミルトン-ヤコビ方程式で時間発展させて境界を移動させる:
$V_n$ は法線方向の境界速度で、感度解析から決まる。SIMPとの最大の違いは、境界が常に明確なこと。グレースケール問題が原理的に発生しないし、得られた形状は滑らかでCADに戻しやすい。
じゃあレベルセット法の方が優れてるんですか? なぜSIMPの方が主流なんだろう…
レベルセット法には弱点もある。標準的な実装では新しい穴を自発的に生成できない(初期形状に穴がないと穴なしの最適化になりがち)。Topological derivativeを組み合わせて穴の核生成を行う手法もあるけど、実装が複雑になる。あとSIMPは既存のFEMソルバーに密度変数を追加するだけで実装できるから、商用ソルバーとの親和性が高い。実務ではSIMPが8割以上のシェアだと思うよ。レベルセット法は研究レベルでは盛んだし、AMとの相性で今後伸びる可能性がある。
コンプライアンス最小化
トポロジー最適化でよく聞く「コンプライアンス最小化」って何ですか? コンプライアンスって法令遵守の方じゃないですよね…?
全然違うね(笑)。構造力学でのコンプライアンス $C$ は「構造の柔軟性」を表す指標で、外力と変位の内積で定義される:
コンプライアンスが大きい=たわみやすい=剛性が低い。だからコンプライアンスを最小化する=剛性を最大化するということ。標準的な定式化はこうなる:
$V^*$ が許容体積(例えば設計空間の40%)、$v_e$ が各要素の体積、$\rho_{\min}$ は数値的安定性のための微小値(通常 $10^{-3}$)だ。
体積制約の40%って、材料を6割削れるってことですか? すごい…。でもコンプライアンス以外の目的関数はないんですか? 応力を下げたいこともありますよね?
いい質問だ。実務では以下のような拡張がよく使われる:
- 応力制約付きトポロジー最適化 — 局所応力が許容値を超えないようにする。ただし数千〜数百万個の要素ごとに制約が入るので計算が重い。P-norm応力やKS関数で集約するのが一般的
- 固有振動数最大化 — 1次固有振動数を上げたいときに使う。自動車の車体やブラケットでよく使われる
- マルチロードケース — 複数の荷重条件の重み付き和でコンプライアンスを定義。実際の部品は1つの荷重だけ受けるわけじゃないからね
ただ、最初はコンプライアンス最小化から始めるのが王道。問題設定がself-adjoint(随伴問題が元の問題と一致)で感度計算が簡単だから、収束も安定しているんだ。
製造制約の組み込み
トポロジー最適化の結果って、現実に作れないような形になりませんか? 例えば金型で射出成形する部品だとアンダーカットはNGですよね…
まさにそこが実務のキモだ。製造プロセスに応じた制約を最適化に組み込まないと、美しいけど作れない形が出てくる。主な製造制約をまとめると:
- 最小寸法制約 — 密度フィルターの半径 $r_{\min}$ で制御。例えば $r_{\min}=3\,\text{mm}$ と設定すれば、3mm未満の細い柱やリブは出現しない
- 抜き方向制約(Draw direction) — 射出成形やダイカスト向け。指定方向にアンダーカットが生じないよう、密度分布に単調性制約を課す
- 対称制約 — 面対称・回転対称を強制。半分だけ解いて反転コピーする手法が一般的
- 最大寸法制約 — 大きすぎる塊を防ぐ。鋳造のヒケ(収縮巣)対策になる
- 押し出し制約(Extrusion) — 板金プレスやアルミ押し出し向け。ある方向に断面が一定になるよう制約
え、そんなに色々な制約があるんですね。制約を入れると最適化の結果はかなり変わりますか?
劇的に変わるよ。例えば自動車のサスペンションブラケットを最適化するとき、制約なしだと3D的に枝分かれした有機的形状が出る。そこに抜き方向制約を入れると、型抜きできるリブ構造に変わる。剛性は制約なしに比べて10〜20%落ちるけど、現実に量産できる形状になる。このトレードオフを定量的に把握できるのがトポロジー最適化の強みなんだ。「制約なしの理想形」と「制約ありの実現形」を比べることで、製造法を変える価値があるかどうかの判断材料になる。
アディティブマニュファクチャリング(AM)との統合
最近は金属3Dプリンタ(AM)でトポロジー最適化の結果をそのまま造形できるって聞いたんですけど、本当に制約なしで何でも作れるんですか?
「AMだから何でも自由」というのは半分正しくて半分間違い。確かに金型が不要だから抜き方向やアンダーカットの制約はなくなる。でもAM固有の制約がある:
- オーバーハング制約 — パウダーベッド方式(SLM/SLS)では、ビルド方向に対して45度以上のオーバーハングにはサポート材が必要。サポートレス造形にするなら、オーバーハング角度制約を最適化に組み込む
- 最小壁厚 — レーザー径や粉末粒径に依存。金属AMだと概ね0.3〜0.5mm以上
- 残留応力・反り — 積層造形中の熱履歴で残留応力が溜まる。極端に薄い壁や鋭い角は反りやクラックのリスク
- 粉末除去 — 内部に閉じた空洞があると未焼結粉末が取り出せない。排出穴を設けるか、ラティス構造で充填する
オーバーハング制約を入れた最適化って、具体的にどうやるんですか? 見た目がかなり変わりそう…
典型的な方法はビルド方向(例えばZ軸正方向)に対して、各要素の密度がその下方の要素の密度以上になるよう制約を課す。数学的にはフィルター的な操作で実装される。結果として、下から見て「キノコ形」のオーバーハングが消え、セルフサポート可能な逆三角形や樹木状の形状になる。OptiStructやnTopology、Siemens NX TOPOではこのAM制約がGUIから設定できるようになっている。航空宇宙ではGE AviationのFuel Nozzle Tipが有名で、従来20個の溶接部品を1個のAM部品に統合して25%軽量化・耐久性5倍を達成した事例がある。
実務ワークフローと注意点
実際にトポロジー最適化を使うときのワークフローを教えてください。いきなりソルバーに投げればいいんですか?
現場での典型的な流れはこうだ:
- 設計空間の定義 — 最適化可能な領域(Design Space)と、変更不可の領域(Non-Design Space:ボルト穴、嵌合面など)を分ける。ここが一番重要で、設計空間が狭すぎると最適化の自由度が足りず、広すぎると非現実的な形状が出る
- 荷重・拘束の設定 — 全ての使用条件を荷重ケースとして定義。抜けがあると「その荷重を無視した最適形状」になってしまう
- 目的関数・制約の選択 — コンプライアンス最小化 + 体積制約40%、のように設定
- 製造制約の付加 — 抜き方向、最小寸法、対称性など
- 最適化実行 — 通常50〜200イテレーション。収束判定はコンプライアンスの変化率
- 結果の解釈とCAD再構築 — 等値面(iso-surface、$\rho=0.3$ 程度)で形状を抽出し、CADでスムージング・フィレット追加
- 検証解析 — 再構築したCAD形状で通常のFEM解析を実施し、応力・変位が許容値内か確認
最適化結果をそのまま使わず、わざわざCADに戻して検証するんですね。それって二度手間じゃないですか?
二度手間に見えるけど必須だよ。理由は3つある。まず、最適化中のメッシュは粗いことが多い(計算コスト削減のため)ので、応力評価の精度が不十分。次に、CAD再構築時にフィレットや微修正を加えるから形状が変わっている。最後に、最適化は線形静解析ベースで行うことが多いけど、実際の部品は非線形解析(大変形、接触、疲労)が必要なケースがある。最適化はあくまで「概念形状を導出するフェーズ」で、最終検証は別途やるのが鉄則だ。
メッシュの粗さの話が出ましたけど、最適化のメッシュサイズってどう決めればいいですか? 細かくすれば良い結果が出る?
メッシュを細かくすれば解像度は上がるけど、計算コストは要素数に比例して増える。トポロジー最適化では毎イテレーションFEMを解くから、100万要素×200イテレーション=2億回相当の計算になることもある。実務での目安としては、最小寸法制約 $r_{\min}$ の中に最低3〜4個の要素が入る程度のメッシュサイズが推奨される。例えば $r_{\min}=5\,\text{mm}$ なら要素サイズ1.2〜1.7mm程度。まずは粗いメッシュで傾向を掴んでから、最終回だけ細かくするのが効率的だよ。
関連用語
トポロジー最適化の周辺で押さえておくべき用語を教えてください。
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
トポロジー最適化の実務で感じる課題を教えてください
Project NovaSolverは、CAEエンジニアが日々直面する課題——セットアップの煩雑さ、計算コスト、結果の解釈——の解決を目指しています。あなたの実務経験が、より良いツール開発の原動力になります。
お問い合わせ(準備中)関連トピック
なった
詳しく
報告