MoM — CAE用語解説
MoM
先生、モーメント法(MoM)って電磁場解析の手法ですか?
理論と物理
MoMの基本概念
MoM(モーメント法)って、FEM(有限要素法)とどう違うんですか?どっちもCAEで使う数値解法ですよね。
根本的な違いは、支配方程式と離散化の対象です。FEMは微分形式の支配方程式(例えば熱伝導や構造力学)を領域全体で離散化します。一方、MoMは積分方程式形式の支配方程式、特に電磁界解析のMaxwell方程式を導体表面や境界面上で離散化します。つまり、FEMが「体」をメッシュ分割するのに対し、MoMは「面」をメッシュ分割するイメージです。
「面」だけを解くって、どういうことですか?例えばアンテナの放射パターンを計算する時、周りの空間の電界は考えなくていいんですか?
いい質問だ。MoMの肝は、空間の電磁界は導体表面に流れる電流(または電荷)分布さえ決まれば、積分計算によって一意に決まるという点だ。代表的な積分方程式である電気フィールド積分方程式(EFIE)は次の形をしている。
なるほど。でも、導体じゃないもの、例えば誘電体が入っている回路は解析できないんですか?
純粋なMoM(表面積分方程式法)だけでは難しい。誘電体がある場合は、体積積分方程式(VIE)を使う方法や、誘電体の表面も境界として扱う表面積分方程式(PMCHWなど)に拡張される。しかし、複雑な異方性材料や非線形材料が絡むと、FEMやFDTD(有限差分時間領域法)の方が適している。用途に応じて使い分けるか、ハイブリッド法(MoM+FEMなど)を選択するのが現実的だ。
数値解法と実装
離散化と基底関数
MoMで「面を離散化する」具体的な手順は?三角形メッシュを作って、その上で電流分布をどう表現するんですか?
典型的な手順はこうだ。まず導体表面を三角形や四角形のパッチ(要素)に分割する。次に、各要素上で定義された「基底関数」を使って未知の表面電流分布を近似する。最も一般的なのはRWG(Rao-Wilton-Glisson)基底関数だ。これは隣接する一対の三角形要素に渡って定義され、要素のエッジ上で電流の連続性を自然に満たすように設計されている。
基底関数で近似した後、積分方程式はどうやって解くんですか?「モーメント」を取るとは?
積分方程式
行列[Z]の各要素
その通りで、数値積分が必須だ。ただし、すべての要素ペアで高精度な積分をすると計算コストが膨大になる。そこで、基底関数と試験関数が離れている(例えば、要素中心間距離が波長の0.2倍以上)ペアについては、積分を1点評価で近似するなど効率化する。一方、自己項(m=n)や近接項は特異点があるので、注意深い数値積分が必要だ。この部分の実装精度が、全体の計算精度を大きく左右する。
実践ガイド
アンテナ設計での適用
実際にモノポールアンテナのインピーダンスをMoMで計算するとしたら、まず何をすればいいですか?
第一歩は幾何学モデルの準備とメッシュ分割だ。例えば、地面(無限大導体板)上の長さλ/4(例えば2.4GHzなら約31mm)の細い円柱をモデル化する。MoMソルバーでは、この円柱表面をメッシュする。重要なのはメッシュの粗さだ。経験則として、メッシュサイズは解析波長の1/10以下、少なくともλ/15程度にすることが多い。この場合、メッシュサイズは2mm以下が目安だ。
メッシュを切った後、ソルバー設定で気をつけることは?
主に3点だ。1. 給電点(フィード)のモデル化:現実の同軸給電をどう表現するか。ギャップ給電(電圧源を小さなギャップに印加)やポート励振が一般的。2. 積分方程式の選択:閉構造(金属板で囲まれた)には磁気フィールド積分方程式(MFIE)が、開構造(モノポールなど)には電気フィールド積分方程式(EFIE)が適している。3. ソルバー(行列解法)の選択:直接法(LU分解)か反復法(GMRESなど)か。未知数が数万以下で複数周波数点を解くなら直接法、数十万以上なら前処理付き反復法を選ぶ。
結果の信頼性をどう確認すれば?
最低限、以下のチェックリストを実行する。① メッシュ収束性:メッシュを1.5倍細かくして、インピーダンスやSパラメータの変化が1%以内か確認。② エネルギー保存則:放射効率が1(100%)から大きく外れていないか(無損失導体ならほぼ1)。③ 物理的妥当性:共振周波数が理論値(λ/4モノポールならc/(4*L))に近いか。④ 既知の実験データや文献値との比較。これらをパスして初めて「計算結果」と呼べる。
ソフトウェア比較
主要なMoMソルバー
市販のCAEソフトでMoMを使えるものは何がありますか?
電磁界解析に特化したツールが中心だ。Ansys社の「HFSS」は本来FEMベースだが、オプションでIE(Integral Equation)ソルバー、つまりMoMを搭載している。同じくAnsysの「Antenna Toolbox」や「SIwave」の一部エンジンもMoMを利用。Altairの「FEKO」はMoMをコア技術としており、MLFMM(マルチレベル高速多重極法)による大規模問題への対応が強みだ。Keysight(旧Agilent)の「EMPro」や「ADS Momentum」も回路基板やMMICの解析で広く使われるMoMソルバーだ。
HFSSのFEMとIE(MoM)ソルバーは、どう使い分けるんですか?
構造と材料で判断する。IEソルバーが有利なのは、① 大きな放射問題(アンテナ、EMC)で、② 主に導体(PEC)構造であり、③ 周囲に大きな開放空間がある場合だ。例えば、航空機のアンテナ配置解析はIEの典型例。逆に、FEMが有利なのは、① 複雑な誘電体や磁性体、異方性材料を含む(例えばレンズアンテナ)、② 閉じたキャビティ内の共振問題(フィルタ)、③ 非線形材料を含む場合だ。HFSSは解く問題領域に応じて最適なソルバーを自動選択する「ハイブリッド機能」も持っている。
オープンソースや学術用のMoMコードはありますか?
あるが、産業用途とは目的が異なる。MITの「FMM-MoM」コードや、Pythonベースの「PyMoM」などはアルゴリズム理解や小規模問題の検証に有用だ。また、規格団体IEEEやIECが提供するベンチマーク問題(例えば、IEEE P2812で議論されているアンテナモデル)に対して、自社コードの精度を確認する目的で参照される。しかし、GUI、前後処理、大規模行列ソルバー、並列計算など実用面では市販ソフトに遠く及ばないのが現実だ。
トラブルシューティング
よくある計算エラー
MoM計算で「行列が特異(singular)です」というエラーが出ました。原因は何ですか?
主に2つの原因が考えられる。1. 内部共振問題:特定の周波数で積分方程式(特にMFIE)が一意な解を持たなくなる理論的問題。対策として、EFIEとMFIEを組み合わせたCFIE(Combined Field Integral Equation)を使う。2. モデリング問題:導体構造が電気的に浮いている(グランドに接続されていない孤立導体)場合、電荷保存則を満たす条件が不足して特異性が生じる。対策は、その導体に抵抗成分を持つ「ランプ抵抗」を接続するか、電荷基底関数を追加して条件を補完することだ。ソフトによっては自動で処理してくれる。
計算は終わるけど、Sパラメータの結果が振動していて信用できません。例えばS11が周波数に対してギザギザです。
それは「メッシュ不足」または「数値積分の精度不足」の典型的な症状だ。MoMは波長に対してメッシュが粗いと、電流分布を正確に表現できず、特に高周波で結果が発振する。まず、メッシュサイズをλ/10からλ/15に細かくしてみよ。それでも改善しない場合、ソルバー設定の「積分オーダー」や「近接項の評価方法」を見直す。FEKOでは「Integration accuracy」を「High」に、HFSS IEソルバーでは「Solution Accuracy」をデフォルトから上げて再計算する。
メッシュを細かくしたら、計算時間が爆発的に増えました。どう対処すれば?
純粋なMoMでは未知数Nに対して行列生成がO(N²)、直接法での求解がO(N³)の計算量になる。対策は3段階ある。第一に、本当に全体を細かくする必要があるか見直す。電流が大きく変化する給電点付近やエッジ部分だけを局所細密化する。第二に、ソルバーを直接法から前処理付き反復法(例:MLFMM + GMRES)に切り替える。これでO(N log N)程度まで削減可能。第三に、ハードウェアを活用する。GPUアクセラレーションに対応したソルバー(Altair FEKOの一部など)を使うか、メモリとCPUコア数を増やす。10万未知数を超える問題では、これらの対策が必須だ。
関連トピック
なった
詳しく
報告