目次

4. FDTDプログラムの高速化

4.1 ベンチマーク問題

4.1.1 ベンチマーク問題

本章では前章で説明したFDTDプログラムに[3]の高速化技術を適用します。
下記のベンチマーク問題を計算し、その計算時間から高速化を評価します。
計算モデルは図4-1-1の通りです。 誘電体のブロックの上に完全導体(PEC)の板があり、 その中心にモノポールアンテナが立っているものです。


図4-1-1 ベンチマーク問題(単位:mm)

計算条件として表4-1-1の各ケースを考えます。 以下ベンチマーク100~500と呼びます。

表4-1-1 ベンチマーク問題
ベンチマークセル数(Nx,Ny,Nz)セルサイズ(Δx,Δy,Δz)周波数タイムステップ数吸収境界条件使用メモリー
100100 X 100 X 1002X2X2[mm] 10GHz2000Mur 1次 30MB
200200 X 200 X 2001X1X1[mm] 20GHz2000Mur 1次 240MB
300300 X 300 X 3000.666X0.666X0.666[mm]30GHz2000Mur 1次 810MB
400400 X 400 X 4000.5X0.5X0.5[mm] 40GHz2000Mur 1次1920MB
500500 X 500 X 5000.4X0.4X0.4[mm] 50GHz2000Mur 1次3750MB

4.1.2 テスト環境

以下の環境で計算時間を測定します。
全体の計算時間(ofd.logのtotal行)を表示します。

4.1.3 二つのモード

電磁界を更新する式には式(2-3-5)(2-3-6)のようにその場所の物性値で決まる4個の係数 (c1,c2,d1,d2)があります。 これらを扱うには以下の二通りの方法があります。
(1) novectorモード
その場所の物性値番号(1バイト)から間接的に係数を計算します。 使用メモリーが少なくてすみます。
(2) vectorモード
係数の配列(単精度のとき各4バイト)を予め用意し直接アクセスします。 使用メモリーが増えます。