ADI-BPM
概要:「複雑な3次元の線型方程式」を「簡単な1次元の方程式」に分解することで高速に解く手法
翻訳:交互方向陰的差分法
交互方向(Alternating,Direction):x方向とy方向に分けて交互に計算(z方向への伝播)
隠的(Implict):伝搬の各ステップで連立一次方程式全体から安定に導出
詳細:
z方向への伝播計算をx軸とy軸の2ステップに分解する(演算子分割法) 言い換えると,3次元の方程式を複数の1次元の方程式に分解する
これにより,3次元の線型方程式を高速に解くことが可能になる
差分法(微分を有限差分近似する数値解析手法)の一つ 陽的(explicit):各ステップで直前ステップに値を代入して,高速に計算する手法 安定条件を満たさないと不安定化
安定条件を満たす伝搬方向の刻み幅($ \Delta z)の値は極めて小さい
隠的(implicit):各ステップで連立一次方程式全体を用いて,安定に計算する手法 常に安定して計算可能
伝搬方向の刻み幅を大きな値(波長程度の長さ)に設定可能
連立一次方程式を少ない計算量で解けるアルゴリズム
行列が以下のような形(バンド幅が3)のときに利用可能
code:latex
A=
\begin{bmatrix}
\ast & \ast & & & \\
\ast & \ast & \ast & & \\
& \ast & \ast & \ast & \\
& & \ddots & \ddots & \ddots \\
& & & \ast & \ast
\end{bmatrix}
\quad (バンド幅=3)
未知数をN個(N元連立一次方程式)とすると,計算量は$ O(N)で済む
通常,未知数がN個の連立一次方程式をガウスの消去法で解くときの計算量は$ O(N^3)
コーディングが容易
収束判定基準の決定が不要
高速
前提
x軸とy軸の計算格子:$ M\times N
z軸の伝播計算手順:ステップ$ k→ステップ$ k+\frac{1}{2}→ステップ$ k+1と順に導出
ステップ$ k:伝播前の複素振幅分布がある状態
ステップ$ k+\frac{1}{2}:途中計算の状態
ステップ$ k+1:1ステップ伝播後の複素振幅分布が導出される状態
ADI-BPMにおける手順とそれぞれのコスト
1. ステップ$ k→ステップ$ k+\frac{1}{2}
バンド幅3で未知数M個の連立一次方程式をN回解く
2. ステップ$ k+\frac{1}{2}→ステップ$ k+1
バンド幅3で未知数N個の連立一次方程式をM回解く
三次元導波路解析のための計算手順
具体的には,TM波(※1)とTE波(※2)をそれぞれ独立に扱うスカラ方程式を解く
具体的には,支配的な一成分のみを残したスカラ方程式を解く
Cf. 光導波路解析入門
ーーー
2025/8/29 15:41