eem-fdm(fdtde-em.co.jp/doc/seminar_fdm.pdf2 1. fdtd法 • fdtd法とは: •...
TRANSCRIPT
1
EEMセミナー
EEM-FDM(FDTD法)
株式会社EEM
2
1. FDTD法• FDTD法とは:
• 電磁波の物理法則であるMaxwell方程式を厳密に数値計算する方法の一つ
• 時間領域差分法(Finite Difference Time Domain method)
• 適用範囲が広く汎用的であり、最近のPCの能力の向上により、いろいろな分野の設計・開発現場で使われるようになった
• 準静電界(~MHz)~電波(~GHz)~マイクロ波(>GHz)~ミリ波(>>GHz)~光(>>THz)の広い周波数に適用可能
3
1.1 Maxwell方程式
∇×E=−∂ B∂ t−Jm (Ampere 's law )
∇×H=∂ D∂ t+J (Faraday ' s law)
D=ϵE (構成方程式)B=μ H (同上:磁気版)J=σ E (Ohm 's law)
Jm=σ*H (同上:磁気版)
E :電界D :電束密度H :磁界
B :磁束密度J :電流Jm :磁流 :誘電率 :透磁率 :導電率 *:導磁率
4
構成方程式とOhmの法則を代入すると
∇×E=− ∂H∂ t−*H
∇×H= ∂ E∂ t E
電界と磁界の連立方程式になる→FDTD法ではこれを解く
E,H : 場所と時間の関数(未知量)ε,μ,σ,σ* : 場所の関数(既知量)
5
Yee格子
X
Y
Z
Ez
Hy
ExHz
Ey
Hx
・電界の3成分、磁界の3成分を計算する点がすべて異なる
・電界は辺の中心の接線方向、磁界は面の中心の法線方向
・rotを含むMaxwell方程式と極めて相性がよい
・異なる誘電体の境界条件(Etが連続)と相性がよい
・FDTD法を使用するときはYee格子を念頭に置いておくことが重要
1.2 離散化
6
FDTD法
時間的に電界Eと磁界Hを交互に計算する(蛙跳び法、leap frog法)
時間tE
H
En
Hn-1/2 Hn+1/2
En+1
7
時刻t=nΔtで第1式のX成分を離散化する(Y,Z成分も同様)
∇×E xni , j12 , k12
=− i , j12 , k12H x
n12 i , j12 , k12−H x
n−12 i , j12 , k12
t
− *i , j12 , k12H x
n12 i , j12 , k12
これから、t=(n-1/2)ΔtのHxとt=nΔtのEからt=(n+1/2)ΔtのHxが計算される
H x
n12 i , j12 , k12 =
i , j12 , k12 i , j12 , k12 *i , j12 , k12 t
H x
n−12 i , j12 , k12
− t
i , j12 , k12 *i , j12 , k12 t∇×E x
ni , j12 , k12
8
時刻t=(n+1/2)Δtで第2式のX成分を離散化する(Y,Z成分も同様)
∇×H xn 12 i 12 , j , k
これから、t=nΔtのExとt=(n+1/2)ΔtのHからt=(n+1)ΔtのExが計算される
=i12 , j , kE xn1i12 , j , k−E xni12 , j , k
t
i12 , j , kE xn1i12 , j , k
E xn1i12 , j , k=
i12 , j , ki12 , j , ki12 , j , k t
E xni12 , j , k
t
i12 , j , ki12 , j , k t∇×H x
n12 i12 , j , k
9
1.3 波源モデル
(1)電圧給電・アンテナモデルに相当・導線上の1点(Yee格子の電界点)に電圧を強制的に与える→これが波源となり、系全体に電磁波が伝搬する
(2)平面波入射・散乱現象に相当・外部から平面波を入射する→系全体に電磁波が照射され、電磁界分布が決定される
波源は以下の2つのどちらかでモデル化される
Vin
放射
アンテナ
給電点
平面波入射
散乱
物体
10
波源の波形としては以下の2通りがある
(1)パルス・有限時間のパルスを印加し、すべての電磁界が外部に放射され、系全体の電磁界がゼロになるまで計算する・各点での時間波形をフーリエ変換し周波数特性を計算する・利点:多数の周波数での周波数特性が一度の計算で求まる
(2)正弦波・指定した周波数の正弦波を無限時間印加し、系全体の電磁界が周期的になるまで計算する・収束後、1周期の時間波形をフーリエ変換し、その周波数での電磁界とする・利点:周波数が特定されているときに効率よく計算できる
11
物体
解析領域
吸収境界条件
1.4 吸収境界条件
吸収境界条件としては以下の2通りがある(1)Mur1次多くの場合はこれで十分であるが、精度上PMLが望ましい場合がある(2)PML精度は非常にいいが、計算時間と必要メモリーが少し余分に必要になる
無限に広がる電磁波を有限の領域で計算するために、物体の周囲に適当な空間をとり、その外側に吸収境界条件を設ける
~λ
12
t≤ 1
c 1mini xi
21
minj y j
21
mink z k
2
1.5 安定性条件
Δtには上限がある(Courant条件、c:光速)
小さいセルを入力するとΔtが小さくなり、必要なタイムステップ数が増え計算時間が増える→セルは必要以上に小さくしない
13
1.6 遠方界
解析領域
境界面(E,H)
遠方界
放射
E r , ,=exp − jkr r
F ,
FDTD法は有限領域の計算であるが、境界面の電磁界から積分計算によって遠方界(無限遠での指向性)を計算することができる。
14
1.7 入力インピーダンス
Z in f =F {V in t }F {I in t }
入力インピーダンスは給電波形Vin(t)によらない→給電波形は原理的には何でもよいが、通常、ガウスパルスまたは微分ガウスパルスを用いる(広帯域特性が安定しているため)
入力インピーダンスは給電点での電圧と電流の時間波形のフーリエ変換の比から求める。
入力インピーダンスZinと給電線の特性インピーダンスZ
0
(ユーザー入力値)からVSWRと反射損失が計算される
15
1.8 利得
g (θ ,ϕ)= 1P in4π r2
2Z {∣Eθ(r ,θ ,ϕ)∣2+∣Eϕ(r ,θ ,ϕ)∣2}
P in=∑n
12ℜ {V inn I in* n}
1.9 散乱断面積
,= 1E in2 4 r
2 {∣E ,∣2∣E ,∣2}
(給電電力、n:給電点の和)
16
1.10 Sパラメータ
S n1 f =F {En t }F {E1+t }
n1
S 11 f =F {E1-t }F {E1+t }
Sパラメータは適当なサンプル点の電界の時間波形のフーリエ変換の比から求める(1+:ポート1の進行波、1-:ポート1の後退波)
ポート1ポート2
ポート3デバイス1+
1-
17
1.11 FDTD法の計算時間と必要メモリー
計算時間 ∝ Nx * Ny * Nz * Nt
必要メモリー = (30 + 24 * Nf) * Nx * Ny * Nz バイト(例:Nx=Ny=Nz=100,Nf=1のとき54MB)
・Nx,Ny,Nz:セル数解析対象の大きさ/波長と形状の複雑さで決まる
・Nt:タイムステップ数解析対象の電磁界特性と収束しやすさで決まる
・Nf : 周波数の数計算時間は、パルスのときはNfに無関係、正弦波のときはNfに比例する
18
1.12 GPU高速計算
EEM-FDMはGPU(NVIDIAビデオカード)高速計算に対応
ハードウェア(CPU/GPU) 計算時間 (速度比)CPU 1コア 3861秒 (1.0)CPU 4コア 924秒 (4.2)
GPU GTX460 87秒 (44.4)
計算条件:Nx=Ny=Nz=300,Nt=500CPU : Intel i5 750 3.0GHz
GPUを用いることに計算時間が格段に短縮され、作業効率が大幅に向上する→バッチ的処理からリアルタイム処理へのパラダイムシフト
19
2.入力データ
FDTD法で計算するには、ユーザーは以下のデータを入力する必要がある。
1) 解析対象の形状
2) 解析対象の材質(金属、誘電率、透磁率)3) 空間のセル分割
4) 周波数
5) 波源
6)その他の計算条件
20
2.1 解析対象の形状
解析対象を複数の基本図形に分解して入力する
#1
#2
#3
データ入力上の注意:予め図面上に入力すべき座標値を記入しておくと作業がはかどる。入力しながら座標値を考えると効率が悪い。
21
基本形状
直方体、最も基本的、なるべくこれで表現した方がいい、面と線も表現できる
球、楕円体も可
円柱、断面は楕円も可
中空四角筒、導波管用
四角柱、任意断面のとき使用
円錐台 四角錘台
22
直方体ユニット
X Y
Z
X1
X2
Y1
Y2
Z1
Z2
X1,X2,Y1,Y2,Z1,Z2を入力する Z1=Z2とすると平面(四角形)になる
面の入力方法
線の入力方法
さらにY1=Y2とすると線分になる
23
3D図形表示
入力した形状を3D表示で確認する2頁目ではキーボードmでスライス、キーボードbで半透明→物体内部の確認材質ごとに色が異なる(灰色:完全導体、それ以外:誘電体)
24
複数のユニットが重複するところではユニット番号が大きい方(後に入力した方)の材質が優先される
スリット
+ =
ユニット#1 ユニット#2
空気(εr=1)
25
εr1 εr2
(εr1+εr2)/2
異なる誘電体が接する所は平均の誘電率となる
完全導体(PEC)と誘電体が接するときは境界でPECが優先されるようにPECを後に入力する
#1#2
誘電体
PEC
26
2.2 解析対象の材質
解析対象の材質(電気的定数)として以下のものを入力する ・比誘電率 ε
r=ε/ε
0
・導電率 σ[S/m]・比透磁率 μ
r=μ/μ
0
・導磁率 σ*[1/Sm]
※磁性体以外はμr=1,σ*=0でよい
ε0 = 8.854 * 10-12[F/m]
μ0= 4π * 10-7 [H/m]
MKSA単位系F:Farad, H:Henry, S:Siemens=1/Ω
27
2.3 空間のセル分割
・3次元の直交座標であり、X,Y,Z各方向に独立に空間をセルに分割する。
・単位セルは直方体になる。
・各方向を複数の区間に分割し、不均一に分割することが可能。
・解析物体の周囲にも適当な空間が必要(吸収境界条件のため)
28
セル分割のポイント
λ/10セルサイズはλ/10が標準
隣接するメッシュサイズの比(不連続度)は1:3以内に抑える
メッシュの縦横比(アスペクト比)は1:3以内に抑える
1:3以内
形状の境界で区間を区切るのが望ましい
1:3以内
物体
・電気的に重要な部分は小さいめのセルにする。
・誘電体内では波長が√εr分の1になるので小さめのセルにする。
・計算時間はNx*Ny*Nzに比例するので計算精度と計算時間を考慮して決める。
・メッシュ数を各方向2倍にすると計算時間は16倍になり(Courant条件込み)、必要メモリーは8倍になるが、計算誤差は半分になるに過ぎない。
→計算時間と計算精度のトレードオフ
29
2.4 周波数
○Maxwell方程式は低周波から光領域まで共通のものであるから、FDTD法の対象とする周波数は原理的には制限はない。
○上限周波数セルサイズがλ/10以下、扱えるセル数は各方向で数百までであるから解析領域の大きさは数十λまでとなる。→これから上限周波数が決まる。
○下限周波数低周波では周期ΔTが大きくなるが、タイムステップΔtには安定性条件から上限があり、従ってタイムステップ数が大きくなり、計算時間がかかる。→FDTD法は「解析領域<<λ」となる低周波の計算には不向き→周波数を固定した別の解法(周波数領域差分法)が適している
30
時間波形(FDTDが直接計算するもの)
フーリエ変換周波数特性
時間 周波数
周波数特性の計算:FDTD法の計算する時間波形をフーリエ変換して周波数特性を計算する。
31
3. 操作方法
EEM-FDMの主ウィンドウ
幾何データ入力部
各処理ボタン
図形表示制御部図形表示部使い方は[ヘルプ]を参考
32
3.1 処理ボタン
の順に作業をする
ボタンの上にマウスを置くと簡単な説明が表示される
幾何データ以外のデータを入力するウィンドウが現れる
CPUで計算するかGPUで計算するか選択する
計算を開始する
ポスト処理の各種設定を行う
ポスト処理を行う
2次元図形表示を行う
3次元図形表示を行う
動画表示を行う
33
3.2 幾何データ入力部
ユニットを追加・挿入・削除する
現在のユニット番号とユニット総数が表示される
現在のユニット番号を変える
基本形状の種類を選択する
物性値をリストから選択する
座標値を入力するデータの個数は形状で変わる直方体の場合はX1<X<X2, Y1<Y<Y2, Z1<Z<Z2の6個のデータ(X1,X2,Y1,Y2,Z1,Z2)を入力する
現在のユニットにコメントを記入する(オプション)現在のユニット=編集中のユニット
34
3.3 データ入力ウィンドウサブウィンドウが開く
最初に決定するここの設定によって入力データが変わる
詳しくはそれぞれの[注]を参考のこと
35
・使用する材質を登録する・ここで入力したデータが幾何形状入力部の[物性値]リストに追加される・入力するデータ:比誘電率、導電率、比透磁率、導磁率
3.4 物性値編集ウィンドウ
36
・メッシュ(セル)を入力する。・X,Y,Z方向に独立に入力する。・複数の区間を使用することによって不均一分割を行うことが可能
3.5 メッシュ編集ウィンドウ
[説明あり]形式[説明なし]形式
注意:区間数が3以上のときは両端の区間のセルサイズは一次関数になるように分割される(セルサイズの急激な変化を避けるため)。これをOFFにするには分割数に負の値を入力する。
37
3.6 集中定数編集ウィンドウ・集中定数(RまたはLまたはC)を計算するときに使用する・電界の向きと位置(Yee格子の電界点)と集中定数値(R/L/C:MKSA単位)を入力する
38
3.7 観測点編集ウィンドウ
・主にSパラメーターを計算するときに使用する・各観測点の電界の向きと位置(Yee格子の電界点)を入力する・観測点1を通過する波の[伝搬方向]を指定する(1+と1-成分に分割するために必要)
39
・アンテナの給電点のデータを入力する・位置(Yee格子の電界点)、電界の向き、振幅、位相を入力する・パルスのときはさらに[パルスデータ]が必要
3.8 給電点編集ウィンドウ
収束を加速するために使用
正弦波のとき有効
通常、0(=既定値)でよい
40
給電点入力の注意・給電点は電磁界の源であるから正しく入力することが重要
(1)導線を入力する
(2)給電点を入力する・座標は辺の中心(Yee格子電界点)・ユニットの中心で給電するには分割数を奇数にする
(3)3D表示で正しく入力されていることを確認する
41
給電点のモデル化:・給電点には電界が強制的に加えられるのでその点に何があっても結果は同じ・下の3つはどれも同じ結果を与える
誘電体などギャップ(1セル長)
給電点
導線
給電点 給電点
導線導線
(1) (2) (3)
42
パルス波形について
(1)ガウスパルス
(2)三角波パルス
給電点の電圧・電流波形 平均電磁界時間変化(赤:電界、青:磁界)
入力アドミッタンスの周波数特性
収束状況はあまりよくない 計算結果は同じ
ガウスまたは微分ガウス推奨
43
給電点の電圧・電流波形
平均電磁界時間変化 入力アドミッタンスの周波数特性
(1)ガウスパルス
(2)微分ガウスパルス
ループアンテナとパルス形状の関係
電流が減衰しない磁界が減衰しない
計算結果がおかしい
低周波でゼロにならない=直流電流が流れ得る
ループ形状では微分ガウスを選択すること
44(2)仮想抵抗=5Ω
(1)仮想抵抗なし
(3)仮想抵抗=10Ω
収束遅い
収束速い
仮想抵抗とは
・給電点に抵抗を加え、電流を強制的に減衰させ、収束を速くすること・収束が遅いとき有効なことがある・抵抗分は後で補正されるので計算結果は同じ
収束さらに速い
45
3.9 設定ウィンドウ
ここで各種環境を設定する
[データ確認3D]の表示項目を選択する通常すべてONでよい
入力時の座標単位
データ数がこれを超えるときは予め大きな数値を入力してEEM-FDMを再起動しておく
CPUで計算するとき、コア数を入力すると計算時間が短縮できる
46
3.10 ポスト処理制御
右の当該タブで詳細を設定する
[注]を参考のこと
図形出力する項目をONにする
47
ポスト処理とは?計算終了後、図形処理を行うこと
[ポスト処理制御]ウィンドウで設定を変えて繰り返し行うことができる。
計算結果はsol.out(バイナリファイル)に保存される。名前を変えて保存しておき、後で名前をsol.outに戻すと再度ポスト処理を行うことができる。ただし、入力データの詳細は忘れがちなので多用しないほうがいい。再度計算したほうが確実(特にGPUでは)。
48
3.11 収束について
FDTD法は反復計算なので、正しい結果を得るには十分収束させることが必要である。ポスト処理の[1 平均電磁界]で収束状況を確認する。
(1)正弦波のとき1周期前との相対誤差の全領域平均
(2)パルスのとき全領域の平均電磁界
赤:電界、青:磁界、縦軸は対数
49(1)収束がよい例 (2)収束が悪い例
・新規にデータを作成したときは必ず収束状況を確認する・パラメータを変えたときも時々確認する・収束判定条件は、正弦波のときもパルスのときも0.001が標準的・収束誤差が大きいときは計算誤差もほぼそれに比例して大きい
収束が遅い原因:・セルサイズの不連続度が大きい・誘電率(=波長)の不連続度が大きい・本質的に収束が遅い(共振器など)
50
3.12 計算作業の手順(1)計算対象を電気的特性を失わない程度に簡略化する。部品点数が少ないほど、データ入力も考察も楽になる。(重要でないが少しは影響あると思われるものは最後に追加して影響を見る。)
(2)紙の上ですべての座標を記入しておく。
(3)座標データとその他のすべてのデータを入力する。(最初はなるべく少ない分割数(=大きいセルサイズ)にする。セルサイズを半分にすると計算時間が16倍になることに注意)
(4)計算を行う。
(5)計算が正しく行われていること、モデル化が妥当であることを確認する。
(6)セルサイズを計算時間が許す限り小さくして精度よい値を得る。
51
計算がうまく行かなかったとき
(1)形状データを確認する。・予期しない断線・短絡はないか。・導体と誘電体が接する所は導体になっているか。(2)セルは適切に分割されているか。(3)十分収束しているか。・前節のことを確認する。
計算精度をさらに上げるには
(1)吸収境界条件にPMLを使用する。(2)パルス波形は適切であるか。(3)簡略化した形状を実モデルに近づける。(4)セルサイズを小さくする。
52
新規にデータを作成するときの注意事項
・最も近いと思われるサンプルデータから始めるのが便利(製品添付のサンプルデータ(約50個)は正しく入力されている)
・データ変更は一回に一箇所とする複数箇所変更すると結果がおかしいとき原因が特定できない
・セルサイズは必要以上に小さくしない(計算時間のため:ターンアラウンド=作業効率)(GPUでかなり緩和される)
・入力と計算作業が終了したら最後にパラメーターを変えて結果が変わるか変わらないかチェックする > 吸収境界条件をMur PML⇔ と変えてみる > 収束判定条件を変えてみる > 正弦波⇔パルスを変えてみる > パルスの波形を変えてみる > その他いろいろ・・・以上のテストにパスする(不可解な現象が発生しない)と、計算結果の信頼度が上がる
53
4.計算例
FDTDの用途
(1)各種線状/面状アンテナの解析評価
(2)電子機器の放射する電磁波の解析評価(EMC)
(3)電磁波応用機器、電波吸収体の解析評価
(4)各種物体のレーダー断面積(RCS)の計算
(5)プリントアンテナ、伝送線路、マイクロ波回路の解析
(6)光の散乱特性の解析
54
(1)ダイポールアンテナ
放射パターン入力アドミッタンスの周波数特性
近傍界分布図
55
(2)八木アンテナ
放射パターン(全方向)
放射パターン(Z面)
電流分布(Z=0面)
56
(3)ホイップアンテナ
放射パターン(Y面)
放射パターン(全方向)入力インピーダンス周波数特性
57
(4)逆Fアンテナ
放射パターン(全方向)電流分布
放射パターン(X面)
給電点
58
(5)パッチアンテナ(同軸給電)
放射パターン(Y面)
グランド板
基板
アンテナ
反射損失周波数特性 電流分布(Z面)
59Sパラメータ周波数特性(0-20GHz)
(6)マイクロストリップアンテナ
電流分布(7.2GHz)
放射パターン(全方向)
(仮想)給電点
観測点#1
アンテナ
マイクロストリップ線路
グランド板
誘電基板
60Sパラメータの周波数特性(0-20GHz)
(7)フィルタ(マイクロストリップ線路型)
電流分布(7GHz:遮断周波数)
電流分布(5GHz:透過周波数)
観測点1観測点2
(仮想)給電点
61
(8)車体内外の電界分布
アンテナ
周波数=2.5GHz
62
・2次元モデル・周波数100MHz(VHF)・計算領域の広さ=300mX100m・入射方向=右から
(9)ビルによる電波障害
電界分布
ビルの大きさ=10mX10m
ビルの大きさ=20mX20m
63
(10)電車内の電界分布
アンテナ
・周波数2.5GHz(無線LAN)・データ作成ライブラリ使用
電界分布
64
(11)フォトニック結晶光導波路
・電界分布・波長=1.5μm・データ作成ライブラリ使用
電界分布
65
・2次元モデル・直径20nmの二つの銀球を1nm離して置く・平面波入射・周波数700THz(波長429nm)で粒子間に最大電力(入射光の10000倍の電力)が発生する・比誘電率が負になるので分散性媒質としての解析が必要
電界分布
(12)銀微粒子の電界分布
66
(13)メタマテリアル
Sパラメータの周波数特性(0-2GHz)
電界分布(1GHz)
電界分布(1GHz,X方向)
負の屈折率
67
5 バッチ処理
・指定したフォルダにあるデータをすべて計算するバッチ処理プログラム(最適化などに便利)・ホームページに公開・ポスト処理のバッチ処理も可能・複数データ作成にはデータ作成ライブラリが便利
○使用方法コマンドプロンプトで以下のコマンドを実行する> cscript fdm_sol.vbs データフォルダ計算が終了すると計算結果sol.outが名前を変えて保存されている
68
6 データ作成ライブラリ
○データ作成ライブラリとは?・データをウインドウ上で入力するのではなく、データを作成するプログラムを作成するためのツール・EEMホームページに公開されているフリーソフト
○必要な知識は?・CまたはJavaの初歩的なプログラミング知識(for文やif文程度)が必要
○どのようなときに使うのか?・データ量が多く、規則的なとき・何らかの電子データがあり、それを利用するとき・パラメータを変えて繰り返し計算するとき
69
#include "fdm_datalib.h"int main(void){
// (1) initialize
fdm_init(); 初期化
// (2) title
fdm_title("sample1"); タイトル
// (3) domain
fdm_domain(0); 計算方法(0/1/2)// (4) mesh
fdm_xsection(2, -50e-3, +50e-3); X方向区間fdm_xdivision(1, 20); X方向分割数
fdm_ysection(2, -50e-3, +50e-3); Y方向区間fdm_ydivision(1, 20); Y方向分割数
fdm_zsection(4, -75e-3, -25e-3, +25e-3, +75e-3); Z方向区間fdm_zdivision(3, 10, 11, 10); Z方向分割数
データ作成ライブラリを使用したプログラム例
70
// (5) material
fdm_material(2.0, 0.0, 1.0, 0.0); 物性値
// (6) geometry
fdm_unit6(1, 1, 0e-3, 0e-3, -25e-3, 0e-3, 0e-3, 25e-3); 形状データ
// (7) incidence
fdm_feed(3, 0e-3, 0e-3, 0e-3, 1, 0); 給電点
// (8) observation point// (9) frequency
fdm_freq(3e9, 3e9, 0); 周波数fdm_freq2(2e9, 4e9, 20);// (10) solver
fdm_iteration(1e-3, 2000, 100); 計算条件
// (11) output
fdm_outdat("sample1.fdm"); 出力ファイル名
return 0;}
71
参考文献[1]宇野亨「FDTD法による電磁界およびアンテナ解析」、コロナ社、1998[2]電気学会編「計算電磁気学」第2章、培風館、2003
EEM-FDMドキュメント(理論説明書、取扱説明書)http://www.e-em.co.jp/document.htm
EEM-FDMホームページ(詳細な技術情報)http://www.e-em.co.jp/fdm/eem_fdm.htm