H: 第11章 モーメント法(MoM)

モーメント法(Method of Moments)は、未知の電荷や電流を基底関数の和で近似し、積分方程式の残差を試験関数で評価して連立一次方程式へ変える方法です。離れた波源点と観測点がGreen関数で直接結ばれるため、行列は密になります。その代わり、開放領域の放射条件をGreen関数へ組み込めます。

1 積分方程式未知電荷・電流が作る場を重ね合わせ、導体境界条件を課します。
2 基底関数未知関数を有限個のパルス関数、三角形関数、RWG基底などで表します。
3 試験関数点整合またはGalerkin法で残差を測り、行列方程式を作ります。
4 場の再構成求めた電荷・電流から近傍界、遠方界、入力インピーダンスを計算します。
5 低周波安定化電流と電荷を分けた混合系により、静電場極限まで条件数を制御します。
6 大規模化密行列の近接・遠方相互作用を分け、H-matrixまたはFMMで計算量を抑えます。

H-1 細い導体棒:積分方程式から密行列へ

長さ $L$、半径 $a$ の細い導体棒を一定電位 $V$ に保ちます。棒の中心軸上の線電荷密度を $\lambda(x')$ とすると、表面上の観測点 $x_m$ の電位は

\[ \phi(x_m,a) =\dfrac{1}{4\pi\varepsilon_0} \int_{-L/2}^{L/2} \dfrac{\lambda(x')}{\sqrt{(x_m-x')^2+a^2}}\,dx' =V \]

を満たします。未知関数を区分一定の基底関数 $f_n$ で

\[ \lambda_h(x')=\sum_{n=1}^{N}\lambda_n f_n(x') \]

と展開し、各区間の中心で境界条件を評価すると、

\[ \sum_{n=1}^{N}Z_{mn}\lambda_n=V, \qquad Z_{mn}=\dfrac{1}{4\pi\varepsilon_0} \int_{x_{n-1}}^{x_n} \dfrac{dx'}{\sqrt{(x_m-x')^2+a^2}} \]

という密行列が得られます。下のCanvasでは、分割数、棒の半径、注目する観測点を動かしてください。左は基底関数から再構成した線電荷密度、右は相互作用行列です。一つの観測点が全区間から寄与を受けるため、行列のほぼ全成分が0でないことが見えます。

対話型可視化。内容は直前の本文と数式でも説明しています。

Canvasで確かめること

1. 区間数を増やし、導体端部へ電荷が集中する形が収束するか確認します。

2. 観測区間を動かし、行列の選択行がすべての波源区間と結合することを確認します。

3. 半径を細くし、自己項と近接項が相対的に強くなることを確認します。

CollocationとGalerkin:残差をどこで0にするか

未知量を表す基底関数(trial function)$f_n$ と、残差を測る試験関数(test function)$w_m$ は役割が異なります。点整合法(collocation)では、試験関数を形式的に $w_m(x)=\delta(x-x_m)$ とみなし、選んだ点で残差を0にします。

\[ R(x)=V-\mathcal L[\lambda_h](x), \qquad R(x_m)=0, \qquad Z^{\mathrm C}_{mn}=\mathcal L[f_n](x_m) \]

Galerkin法では $w_m=f_m$ とし、各試験関数が覆う区間全体で残差の重み付き平均を0にします。点ごとの残差がすべて0になるという意味ではありません。

\[ \left\langle f_m,R\right\rangle =\int f_m(x)R(x)\,dx=0, \qquad Z^{\mathrm G}_{mn} =\left\langle f_m,\mathcal L[f_n]\right\rangle \]

対称な核と同じtrial/test空間を一貫して積分すれば、Galerkin行列は連続作用素の対称性を離散系へ反映しやすくなります。一方、点整合法は行列要素を1点で評価でき、実装が簡潔です。「Galerkinなら常に高精度」ではなく、基底、積分精度、特異積分、メッシュ、評価量をそろえて比較します。

対話型可視化。内容は直前の本文と数式でも説明しています。

方式を切り替え、赤い観測点で $R(x_m)$ が0になる場合と、青い試験区間で $\langle f_m,R\rangle$ が0になる場合を見比べてください。区間数を増やすと両者は同じ連続解へ近づきますが、有限次元では「何を0にしたか」が残差曲線に残ります。

同じGreen関数、異なる未知量:音響MoMと電磁波MoM

音響の境界要素法(BEM)と電磁波のMoMは、別々の分野に見えても計算の骨格がよく似ています。均質媒質の時間調和問題では、どちらも外向き波を表すスカラーHelmholtz Green関数

\[ G_k(\vec r,\vec r') =\dfrac{e^{ikR}}{4\pi R}, \qquad R=\left|\vec r-\vec r'\right|, \qquad (\nabla^2+k^2)G_k=-\delta(\vec r-\vec r') \]

を出発点にします。境界上の基底関数 $f_n$ と試験関数 $w_m$ を使えば、行列要素はどちらも

\[ Z_{mn}=\left\langle w_m,\mathcal K_k[f_n]\right\rangle_S, \qquad \boldsymbol Z\boldsymbol x=\boldsymbol b \]

となり、離れた境界要素同士も $G_k$ で結ばれるため密行列になります。特異・近特異積分、内部共振、反復解法、H-matrix、FMMといった数値上の論点も共有します。ただし、同じなのは核と離散化の手順であり、未知量と境界作用素ではありません

音響では、静止した一様流体中の音圧 $p$ がスカラーHelmholtz方程式を満たします。時間依存を $e^{-i\omega t}$ とすると、法線粒子速度 $v_n$ とは $\partial_n p=i\omega\rho_0v_n$ で結ばれます。

\[ \nabla^2p+k_a^2p=0, \qquad c(\vec r)p(\vec r) =\int_S\left[ G_{k_a}\dfrac{\partial p}{\partial n'} -p\dfrac{\partial G_{k_a}}{\partial n'} \right]dS' \]

したがって代表的な未知量は、境界上の音圧 $p$ または法線速度 $v_n$です。剛壁、圧力開放、音響インピーダンスなど、スカラーの境界条件を課します。

一方、均質媒質中の電磁波では電界がベクトル波動方程式を満たし、完全導体のEFIEでは境界上の接線表面電流 $\vec J_s$を求めます。

\[ \nabla\times\nabla\times\vec E-k_e^2\vec E=\vec0, \qquad \overline{\overline G}_{k_e} =\left(\boldsymbol I+\dfrac{1}{k_e^2}\nabla\nabla\right)G_{k_e}, \qquad \vec n\times\left(\vec E^{\mathrm{inc}}+i\omega\mu \int_S\overline{\overline G}_{k_e}\cdot\vec J_s\,dS'\right)=\vec0 \]

電磁波では電流の向き、接線連続性、面発散と電荷保存が必要になるため、RWGのような辺基底を使います。音響のスカラー要素をそのまま置き換えるだけでは、偏波や電荷を表せません。

共通する骨格Helmholtz核、境界積分、基底・試験関数、密行列、特異積分、内部共振、H-matrix/FMM。
音響主にスカラー音圧 $p$ または法線速度 $v_n$。剛壁・圧力開放・インピーダンス境界を扱います。
電磁波接線ベクトル電流 $\vec J_s$、面発散、電荷保存、偏波を扱い、EFIE・MFIE・CFIEを使い分けます。
結果の読み方音響は音圧・粒子速度・音響強度、電磁波は $\vec E$・$\vec H$・偏波・Poyntingベクトルを観測します。
対話型可視化。内容は直前の本文と数式でも説明しています。

二つの図は同じ球面パネル、同じ観測点 $P$、同じ $G_k$ を使います。$ka$ を動かすと両方の伝搬位相が変わります。波源パネルを動かすと距離 $R$ は両方で変わりますが、電磁波側ではさらに接線電流と観測方向のなす角による横波射影 $\left|(\boldsymbol I-\hat{\vec R}\hat{\vec R})\vec t_s\right|$ が変わります。Canvasの電磁波表示はこの放射項の向き係数を抜き出した比較モデルで、完全なEFIEの近接項まで置き換えるものではありません。

音響で「BEM」、電磁波で「MoM」と呼ばれることが多いのは、前者が境界だけを要素分割する幾何を、後者が基底・試験関数による重み付き残差を強調してきたためです。実際には、音響BEMにもcollocationやGalerkinがあり、電磁波MoMにも境界積分方程式があります。音響BEMの定式化は S. M. Kirkup, *The Boundary Element Method in Acoustics: A Survey* (2019)、電磁波MoMの重み付き残差は R. F. Harrington, *Matrix Methods for Field Problems* (1967)、三角形面上の接線電流基底は S. M. Rao, D. R. Wilton, and A. W. Glisson (1982) を参照してください。

H-2 界等価原理:体積を境界の等価電流へ置き換える

時間調和場では、完全導体表面の接線電界が0になる条件から電界積分方程式を作ります。

\[ \vec n\times\left(\vec E^{\mathrm{inc}}+\mathcal L_k[\vec J_s]\right)=\vec0 \quad\text{on }S \]

表面電流を基底関数 $\vec f_n$ で展開し、試験関数 $\vec w_m$ を掛けると、

\[ \vec J_{s,h}=\sum_{n=1}^{N}I_n\vec f_n, \qquad \boldsymbol Z\vec I=\vec V, \qquad Z_{mn}=\langle\vec w_m,\mathcal L_k[\vec f_n]\rangle \]

となります。3次元面メッシュでは、隣接する二つの三角形にまたがるRWG基底が表面電流の法線連続性を表す代表例です。

物体を包む閉面 $S$ の法線を外向きにとると、面上の接線場は等価電流と等価磁流

\[ \vec J_s=\vec n\times\vec H, \qquad \vec M_s=-\vec n\times\vec E \]

に置き換えられます。外部の場は、これらがGreen関数を通じて作る場の重ね合わせです。

\[ \vec E(\vec r) =\vec E^{\mathrm{inc}}(\vec r) +\mathcal L_E[\vec J_s](\vec r) +\mathcal K_E[\vec M_s](\vec r), \qquad \vec r\notin S \]
対話型可視化。内容は直前の本文と数式でも説明しています。

位相を動かし、入射場が反転すると等価源も反転することを確かめてください。「境界の源が全空間の場を作る」のが、MoMで外部空気をメッシュ分割しなくてよい理由です。

### MoM/BEMがDtNを実装する Dirichlet-to-Neumann作用素(DtN)はMoM固有の手法ではありません。境界上の値を与え、その境界値問題を解いたときの共法線流束を返す**連続作用素**です。FEMでは、無限外部領域を消去して内部弱形式へ戻すために使います。その主教材は [G-9 FEMとDtN境界作用素](fem-dtn.php) に置きます。 一方、均質な外部領域ではGreen関数を使い、外部体積を離散化せずにDtNを作れます。scalar Laplace問題について、G-9と同じ法線・作用素規約を使い、境界値を $g$、DtN応答を $q=\mathcal S_{\mathrm{ext}}g$ とすると、
\[ \mathcal Vq =\left(\dfrac12\mathcal I-\mathcal K\right)g, \qquad \boldsymbol V\vec q =\left(\dfrac12\boldsymbol M-\boldsymbol K\right)\vec g \]
です。したがって離散DtN行列は
\[ \boxed{ \boldsymbol S_h^{\mathrm{BEM}} =\boldsymbol V^{-1} \left(\dfrac12\boldsymbol M-\boldsymbol K\right) } \]
となります。$\boldsymbol V$、$\boldsymbol K$ は境界上の離れた要素も結ぶため密です。H-matrixとFMMは、この密な境界作用素の保存形式、近似形式、または行列ベクトル積を高速化する技術であり、DtNの物理的定義そのものではありません。 Maxwell問題では、scalarの値と法線微分ではなく、境界上の接線traceを結ぶadmittance作用素を考えます。
\[ \mathcal S_M: \vec n\times\vec E \longmapsto \vec n\times\vec H \]
EFIE、MFIE、CFIE、Calderón作用素をRWG基底などで離散化するのがH編の役割です。符号と $1/2$ 跳躍項は法線・trace・二重層作用素の規約で変わるため、実装では球面固有値、外部エネルギーの正値性、既知散乱解の三つを独立に検査します。

H-3 RWG基底:共有辺を横切る表面電流をつなぐ

三角形 $T^+,T^-$ が長さ $l_e$ の辺 $e$ を共有し、それぞれの反対頂点を $\vec r_+,\vec r_-$ とします。RWG基底は

\[ \vec f_e(\vec r)= \begin{cases} \dfrac{l_e}{2A^+}(\vec r-\vec r_+),&\vec r\in T^+,\\[4pt] \dfrac{l_e}{2A^-}(\vec r_- -\vec r),&\vec r\in T^-,\\[4pt] \vec0,&\text{otherwise} \end{cases} \]

です。共有辺に垂直な面内成分が両側で等しく、電流が辺の途中で切れません。一方で面発散は各三角形内で一定です。

\[ \nabla_s\cdot\vec f_e= \begin{cases} +\dfrac{l_e}{A^+},&T^+,\\[4pt] -\dfrac{l_e}{A^-},&T^-. \end{cases} \qquad \int_{T^+\cup T^-}\nabla_s\cdot\vec f_e\,dS=0 \]
対話型可視化。内容は直前の本文と数式でも説明しています。

$I_e$ の符号を反転させ、電流の向きと二つの三角形の発散符号が同時に反転することを確かめます。視点を回すと、矢印が三角形の接面内にあることも分かります。

H-4 細線ダイポール:電流分布から遠方界へ

全長 $2h$ の中心給電細線ダイポールでは、細線近似の電流分布を

\[ I(z)\simeq I_0\sin\!\left(k(h-|z|)\right), \qquad -h\le z\le h \]

と表せます。この線電流を積分すると、遠方の角度パターンは

\[ F_\theta(\theta) =\dfrac{\cos(kh\cos\theta)-\cos(kh)}{\sin\theta}, \qquad E_\theta\propto\dfrac{e^{-jkr}}{r}F_\theta(\theta) \]

となります。Canvasでは電気長 $2h/\lambda$ を動かし、左の電流分布と右の放射パターンがどのように変わるかを連動させます。

対話型可視化。内容は直前の本文と数式でも説明しています。

H-5 Wegglerの低周波安定化:電流と電荷を同時に解く

時間調和Maxwell方程式の電界積分方程式をそのまま離散化すると、波数 $\kappa$ が小さいとき、発散を含む項だけが $1/\kappa^2$ で増幅されます。古典系は

\[ \left( \boldsymbol A_\kappa -\dfrac{1}{\kappa^2}\widetilde{\boldsymbol V}_\kappa \right)\boldsymbol\alpha_c =\boldsymbol M\boldsymbol\beta \]

です。$\widetilde{\boldsymbol V}_\kappa$ は面発散の零空間をもつため、$\kappa\to0$ でソレノイダル成分と非ソレノイダル成分の尺度が大きく離れ、丸め誤差と反復解法の停滞を招きます。Lucy Wegglerは、接線表面電流 $\vec j_h^{\,t}$ に加えて表面電荷密度 $\rho_{\Gamma,h}^{\,t}$ を独立な未知量にした混合系を用います。

\[ \begin{bmatrix} \boldsymbol A_\kappa & \boldsymbol Q_\kappa\\ \boldsymbol Q_\kappa^{\mathsf T} & \kappa^2\boldsymbol V_\kappa \end{bmatrix} \begin{bmatrix}\boldsymbol\alpha_1\\\boldsymbol\alpha_2\end{bmatrix} = \begin{bmatrix}\boldsymbol M\boldsymbol\beta\\\boldsymbol0\end{bmatrix} \]

ここで $\boldsymbol\alpha_1$ は表面電流、$\boldsymbol\alpha_2$ は表面電荷密度の係数です。離散面発散行列を $\boldsymbol D$ とすると、

\[ \boldsymbol Q_\kappa=\boldsymbol D\boldsymbol V_\kappa, \qquad \widetilde{\boldsymbol V}_\kappa =\boldsymbol D\boldsymbol V_\kappa\boldsymbol D^{\mathsf T} \]

なので、右下ブロックを消去したSchur補元は

\[ \boldsymbol A_\kappa -\boldsymbol Q_\kappa (\kappa^2\boldsymbol V_\kappa)^{-1} \boldsymbol Q_\kappa^{\mathsf T} =\boldsymbol A_\kappa -\dfrac{1}{\kappa^2}\widetilde{\boldsymbol V}_\kappa \]

となります。したがって $\kappa>0$ では、安定化系の表面電流解 $\boldsymbol\alpha_1$ は古典系の解 $\boldsymbol\alpha_c$ と同じです。物理モデルを変えたのではなく、電流と電荷の尺度を数値的に扱いやすい形へ分離しています。

$\kappa=0$ では安定化行列にも1個の零空間が残りますが、これは孤立した1個の特異値です。小さい順に $\sigma_1\le\sigma_2\le\cdots$ とすると、本質的条件数

\[ \operatorname{cond}_{\mathrm{ess}}(\boldsymbol A_s) =\dfrac{\sigma_{\max}}{\sigma_2} \]

は低周波極限で有界に保たれます。下のCanvasはWegglerの単位球・128要素の検証表を使い、波数と近似次数を変えたときの条件数を対数軸で比較します。

対話型可視化。内容は直前の本文と数式でも説明しています。

低周波側へ動かすと、古典系の条件数はおおむね $\kappa^{-2}$ で増えます。一方、安定化系では孤立特異値を除いた本質的条件数がほぼ一定です。高周波側では安定化系が常に小さいとは限りません。目的は、$\kappa\to0$ でも同じ物理解を数値的に追えることです。

一次資料は Lucy Weggler, *High Order Boundary Element Methods* (2011), DOI: 10.22028/D291-26256 です。式(5.20)が混合安定化系、表6.6・6.7が条件数の検証に対応します。

H-6 密行列を大規模化する:H-matrixとFMM

狭義のMoMは、積分方程式を基底関数と試験関数で離散化する定式化・離散化法です。H-matrixと高速多重極法(FMM)は、その結果に現れる遠距離相互作用を高速に評価する数値線形代数・高速和算法です。一方、実務でいう「MoM技術」や「MoMソルバー」には、積分方程式、基底・試験、特異積分、H-matrix/ACA、FMM/MLFMA、反復法、前処理までを含める広い用法があります。本教材も広義ではH-matrixとFMMをMoM技術に含めますが、計算を診断できるよう、図中では定式化、作用素実装、線形解法の層を分け、「FMM加速MoM」「H-matrix加速MoM」と明記します。

密MoMと疎FEMは、自由度だけで勝敗を決めない

境界だけを分割できるMoMは、開放領域の空気メッシュが不要なため、小規模問題では自由度が少なく、密行列を直接解く方法が簡潔で速いことがあります。ただし密行列の記憶量、行列ベクトル積、LU分解はそれぞれ

\[ M_{\mathrm{dense}}=O(N^2), \qquad C_{\mathrm{mv}}=O(N^2), \qquad C_{\mathrm{LU}}=O(N^3) \]

で増えます。FEM行列は局所要素だけが結合するため疎で、節点あたりの非零要素数が有界なら記憶量と1回の行列ベクトル積は概ね $O(N)$ です。ただし疎直接法にはfill-inがあり、反復法の総時間は前処理と反復回数に依存します。したがって「中規模なら必ずFEMが速い」という固定した境界はありません。同じ誤差、形状、材料、周波数、ソルバー、計算機で、組立て・圧縮・前処理・反復・後処理を分けて測ります。

H-matrix:遠方ブロックを低ランク行列として保存する

幾何クラスタ $t,s$ が十分離れているとき、対応する行列ブロックを低ランク近似します。代表的な許容条件と近似は

\[ \max\!\left\{\operatorname{diam}(B_t),\operatorname{diam}(B_s)\right\} \le \eta\operatorname{dist}(B_t,B_s), \qquad \boldsymbol Z_{t\times s} \simeq\boldsymbol U_{t\times k}\boldsymbol V_{s\times k}^{\mathsf T} \]

です。近接ブロックは密のまま保持し、遠方ブロックだけをACAなどで圧縮します。ランク $k$ が問題規模に対して緩やかに増える場合、記憶量と行列ベクトル積は代表的に $O(kN\log N)$ まで抑えられます。H-LUのような近似因子分解や複数右辺にも使えますが、許容条件、圧縮許容誤差、最大ランク、再圧縮、近接ブロック数を残さなければ再現できません。

FMM:遠方の多数の源を展開係数へまとめる

FMMは、近接相互作用を直接計算し、遠方相互作用を多重極展開と局所展開の変換でまとめます。

\[ \boldsymbol Z\vec I =\boldsymbol Z_{\mathrm{near}}\vec I +\boldsymbol Z_{\mathrm{far}}\vec I, \qquad \boldsymbol Z_{\mathrm{far}}\vec I \simeq\mathrm{L2P}\,\mathrm{L2L}\,\mathrm{M2L}\,\mathrm{M2M}\,\mathrm{P2M}(\vec I) \]

P2Mは源から多重極係数、M2Mは親クラスタへの集約、M2Lは遠方クラスタ間の変換、L2LとL2Pは観測点側への展開です。密行列全体を保存せず、反復解法の行列ベクトル積を代表的に $O(N\log N)$ または条件のよい場合に $O(N)$ へ近づけます。高周波電磁界では多階層高速多重極法(MLFMA)が使われます。展開次数、木の深さ、近接判定、反復回数が精度と時間を決めます。

密MoM全相互作用を密行列化。記憶量 $O(N^2)$、LUは $O(N^3)$。小規模、複数右辺、基準解に向きます。
疎FEM局所相互作用を疎行列化。記憶量は概ね $O(N)$。体積材料、非線形、中規模以上に向きます。
H-matrix加速MoM遠方ブロックを低ランク化。代表的に $O(kN\log N)$。行列保持と複数右辺に向きます。
FMM加速MoM遠方和を階層展開で評価。$O(N)$~$O(N\log N)$ の高速matvecを反復法で使います。

曲線を開く前に、$N$ の次数だけで増加倍率を考えます。

赤:密MoM(全結合行列) 青:疎FEM(局所結合) 紫:H-matrix(遠方低ランク) 緑:FMM(遠方階層集約)
対話型可視化。内容は直前の本文と数式でも説明しています。

まず $N:10^4\to10^5$ の10倍化でどの記憶量が最も増えるか確かめます。操作後は、赤の密MoMが $N^2$ のため100倍、疎FEMとFMMは $N$ のため10倍、H-matrixは $N\log_2N$ のため12.5倍となります。次に $k$ と $n_{\mathrm{it}}$ を動かし、曲線の高さと交差点は変わる一方、10倍化の倍率は変わらないことを固定軸で確かめます。低周波破綻や悪条件は高速化とは別問題であり、H-5の定式化や前処理が必要です。

一次資料として、MoMの重み付き残差は R. F. Harrington, *Matrix Methods for Field Problems* (1967)、H-matrixは W. Hackbusch, *A Sparse Matrix Arithmetic Based on H-Matrices. Part I* (1999)、FMMは L. Greengard and V. Rokhlin, *A Fast Algorithm for Particle Simulations* (1987)、電磁界のMLFMAは J. Song, C.-C. Lu, and W. C. Chew (1997) を参照してください。

H編の検算順序

1. 導体表面の境界条件残差が小さいかを確かめます。

2. 電荷または電流から場を再構成し、別の観測点で境界条件を再検算します。

3. メッシュと基底を細かくし、入力インピーダンスや放射パターンが収束するかを確かめます。

4. 全放射電力と給電電力の収支を確かめます。

5. 周波数を下げ、古典系と安定化系で表面電流解が一致したまま条件数だけがどう変わるかを確かめます。

6. Collocationでは点残差、Galerkinでは試験関数で重み付けした残差が0になることを別々に確かめます。

7. 大規模計算では $N$ だけでなく、密・疎の別、H-matrixの許容条件・圧縮誤差・ランク、FMMの展開次数、反復回数、各計算段階の時間を記録します。

長所と注意点

G: 有限要素法へ | 教材ポータルへ戻る | I: FDTDへ進む | 電磁界解析ソフトウェアを見る