随伴法 — CAE用語解説
随伴法
随伴法って名前が難しそうですけど、「最適化に使う感度計算の手法」って書いてあります。普通に設計変数を少しずつ変えてみる差分法とどう違うんですか?
定義
そもそも「感度」って、最適化でどう使うんですか?
感度とは「設計変数をちょっと変えたとき、目的関数がどのくらい変わるか」の微分値だよ。形状最適化で翼の形を改善するなら、翼面上の何千点もの座標が設計変数で、それぞれの感度(抵抗をどれだけ下げるか)が分かれば勾配降下法でどんどん改善できる。
数値解法における役割
設計変数が1000個あったら、差分法だと1000回解析を回すんですか? それは重すぎる…
そう、だから随伴法の出番だ。随伴法を使うと「元の解析 × 1回+随伴解析 × 1回」の合計2回の計算で、設計変数が何万個あっても全部の感度が一気に求まる。翼の空力最適化でOpenFOAMのadjoint solverが使われているのも、この圧倒的な計算効率のためだ。
え、変数の数に関係なく2回でいいんですか!? なんでそんな魔法みたいなことが?
「目的関数の変化」を設計変数ごとに個別に計算するのではなく、随伴方程式(元の方程式の転置)を一度解いて感度を一括回収する、という数学的なトリックなんだ。逆問題(測定データから未知の材料物性を推定するなど)にも同じ考え方が使える。
関連用語
随伴法と組み合わせるツールや手法には何がありますか?
設計変数の数が多ければ多いほど随伴法のアドバンテージが大きくなるんですね。トポロジー最適化みたいなピクセルレベルの形状最適化でも使えるわけだ!
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
Project NovaSolver — CAE実務の課題に向き合う研究開発
「随伴法をもっと効率的に解析できないか?」——私たちは実務者の声に耳を傾け、既存ワークフローの改善を目指す次世代CAEプロジェクトに取り組んでいます。具体的な機能はまだ公開前ですが、開発の進捗をお届けします。
進捗通知を受け取る →なった
詳しく
報告