5.3 入力データ作成

5.3.1 全体の書式

OpenFDTDの入力データは一つのテキストファイルです。
リスト5-3-1に一例を示します。

最初の行
最初の行は必ず"OpenFDTD 2 6"としてください。
ここで数字は書式のバージョンを表します。OpenFDTDのデータは上位互換性があります。 すなわち古いバージョンのデータは新しいバージョンでも使えます。

最後の行
最後の行は必ず"end"として下さい。
この行の下は読み込まれませんので、コメントやデータの一時退避に使用することができます。

データ本体
最初の行と最後の行以外がデータの本体です。書式は
キーワード = データ1 データ2 ...
となります。キーワードはすべて小文字です。データは数値または文字列です。 等号"="の前後とデータの間には1個以上のスペースを置いて下さい。
データの入力順は任意ですが、リスト5-3-1の順を推奨します。

コメント行
最初の文字が"#"である行はコメント行です。その行は飛ばされます。

行内コメント
所定の数のデータの後ろに1個以上の空白の後に任意のコメントを入力することができます。
ただし、データの数が不定である行(xmesh/ymesh/zmseh)にはコメントは入力できません。


リスト5-3-1 入力データの一例
OpenFDTD 2 6
title = dipole antenna
xmesh = -0.075 30 0.075
ymesh = -0.075 30 0.075
zmesh = -0.075 10 -0.025 11 0.025 10 0.075
material = 1 2.0 0.0 1.0 0.0
geometry = 1 1 0 0 0 0 -0.025 0.025
name = ダイポール
feed = Z 0 0 0 1 0 50
frequency1 = 2e9 3e9 5
frequency2 = 3e9 3e9 0
solver = 1000 100 1e-3
plotiter = 1
plotfeed = 0
plotpoint = 0
plotsmith = 1
plotzin = 1
plotyin = 1
plotref = 1
plotfar1d = X 36
far1dstyle = 0
far1dcomponent = 1 0 0
far1ddb = 1
far1dnorm = 0
plotfar2d = 18 36
far2dcomponent = 1 0 0 0 0 0 0
far2ddb = 1
far2dobj = 0.5
plotnear1d = E Z 0.03 0
near1ddb = 0
plotnear2d = E X 0.03
near2ddim = 1 1
near2ddb = 0
near2dcontour = 0
near2dobj = 1
window2d = 750 500 15 0
window3d = 600 600 12 60 30
end

5.3.2 入力データの書式と意味

表5-3-1と表5-3-2に入力データの書式と意味を示します。
ここでは説明の都合上計算部とポスト処理部に分けていますが、 データファイルは両者が結合したものです。 データの並びは任意でかまいませんが以下の順序を推奨します。
"必須"は1個以上必要なデータです。 これが入力されていないときはメッセージを出して計算が終了します。
"(必須)"は必要なときは必要なデータ(既定値がないデータ)です。
"オプション"は入力しないときは既定値が代入されるデータです。
書式の"R I C"は順に実数、整数、文字列です。 "[]"はデータ数が可変であることを表します。
実数のところに整数を入力すると実数とみなされます。例えば"1"は"1.0"となります。
単位はすべてMKSA単位系です。角度の単位は度です。

表5-3-1 入力データの書式と意味(計算部)
No.キーワード必須/オプション書式(R:実数,I:整数,C:文字列)意味
(1)titleオプション任意の文字列(空白も含む)タイトル
(2)xmesh必須R1 I1 R2 ...X方向メッシュ
(3)ymesh必須R1 I1 R2 ...Y方向メッシュ
(4)zmesh必須R1 I1 R2 ...Z方向メッシュ
(5)material(必須)1 R1 R2 R3 R4 C1物性値(複数行可)
(6)geometry(必須)I1 I2 R1 R2 R3 R4 R5 R6 [R7 R8 R9 R10]物体形状(複数行可)
(7)nameオプション任意の文字列(空白も含む)直前の物体形状の名前
(8)feed(必須)C1 R1 R2 R3 R4 R5 R6給電点(複数行可)
(9)rfeedオプションR1給電点の内部抵抗[Ω]
(10)pulsewidthオプションR1給電電圧波形のパルス幅[sec]
(11)planewave(必須)R1 R2 I1平面波入射
(12)load(必須)C1 R1 R2 R3 C2 R4集中定数
(13)abcオプションI1 [I2 R1 R2]吸収境界条件
(14)frequency1(必須)R1 R2 I1第1周波数
(15)frequency2(必須)R1 R2 I1第2周波数
(16)solverオプションI1 I2 R1反復計算パラメーター
(17)timestepオプションR1反復計算タイムステップ[sec]
(18)pointオプションC1 R1 R2 R3 [C2]Sパラメータ用観測点(複数行可)

表5-3-2 入力データの書式と意味(ポスト処理部)
No.キーワード必須/オプション書式(R:実数,I:整数,C:文字列)意味
(19)matchinglossオプションI1利得に整合損を含めるか(0/1)
(20)plotiter(必須)I1収束状況の図形出力(0/1) (2D)
(21)plotfeed(必須)I1給電点波形・スペクトルの図形出力(0/1) (2D)
(22)plotpoint(必須)I1観測点波形・スペクトルの図形出力(0/1) (2D)
(23)plotsmith(必須)I1スミスチャートの図形出力(0/1) (2D)
(24)plotzin(必須)I1 [R1 R2 I2]入力インピーダンスの図形出力(0/1/2) (2D)
(25)plotyin(必須)I1 [R1 R2 I2]入力アドミッタンスの図形出力(0/1/2) (2D)
(26)plotref(必須)I1 [R1 R2 I2]反射係数の図形出力(0/1/2) (2D)
(27)plotspara(必須)I1 [R1 R2 I2]Sパラメーターの図形出力(0/1/2) (2D)
(28)plotcoupling(必須)I1 [R1 R2 I2]結合度の図形出力(0/1/2) (2D)
(29)plotfar0d(必須)R1 R2 I1 [R3 R4 I2]指定した方向の遠方界の周波数特性 (2D)
(30)freqdivオプションI1周波数軸の分割数
(31)plotfar1d(必須)C1 I1 [R1]遠方界面上パターン図(複数行可) (2D)
(32)far1dstyleオプションI1遠方界面上の出力形式(0/1)
(33)far1dcomponentオプションI1 I2 I3遠方界面上の成分(0/1)
(34)far1ddbオプションI1遠方界面上の単位(0/1)
(35)far1dnormオプションI1遠方界面上を最大値で正規化するか(0/1)
(36)far1dscaleオプションR1 R2 I1遠方界面上のスケール
(37)plotfar2d(必須)I1 I2遠方界全方向パターン図 (3D)
(38)far2dcomponentオプションI1 I2 I3 I4 I5 I6 I7遠方界全方向の成分(0/1)
(39)far2ddbオプションI1遠方界全方向の単位(0/1)
(40)far2dscaleオプションR1 R2遠方界全方向のスケール
(41)far2dobjオプションR1遠方界全方向の物体表示の大きさ
(42)plotnear1d(必須)C1 C2 R1 R2近傍界線上分布図(複数行可) (2D)
(43)near1ddbオプションI1近傍界線の単位(0/1)
(44)near1dscaleオプションR1 R2 I1近傍界線のスケール
(45)near1dnoincオプションI1近傍界線で入射波を除くか
(46)plotnear2d(必須)C1 C2 R1近傍界面上分布図(複数行可) (2D+3D)
(47)near2ddimオプションI1 I2近傍界面の2D/3D図の選択(0/1)
(48)near2dframeオプションI1近傍界面の動画のフレーム数
(49)near2ddbオプションI1近傍界面の単位(0/1)
(50)near2dscaleオプションR1 R2近傍界面のスケール
(51)near2dcontourオプションI1近傍界面の描画方法(0/1/2/3)
(52)near2dobjオプションI1近傍界面に物体を描くか(0/1/2)
(53)near2dnoincオプションI1近傍界面で入射波を除くか
(54)near2dzoomオプションR1 R2 R3 R4近傍界面の一部拡大
(55)window2dオプションI1 I2 I3 I42Dウィンドウサイズ、フォントサイズ、フォント名
(56)window3dオプションI1 I2 I3 R1 R23Dウィンドウサイズ、フォントサイズ、初期視点

入力データの詳細

計算部

(1) title
空白を含む任意の文字列を入力することができます(日本語も可能です)。 タイトルは標準出力と図形出力に表示されます。データの管理に使って下さい。

(2)(3)(4) xmesh/ymesh/zmesh
計算領域のメッシュ分割を行うデータです。 データは順に、"区間区切り1 分割数1 区間区切り2 ..."となります。 従ってデータの数は奇数(=3,5,7,...)です。 各区間が指定した分割数で等分割されます。 区間区切りは小さい順に入力して下さい。

(5) material
データは順に、比誘電率、導電率[S/m]、比透磁率、導磁率[1/Sm]です。
真空(物性値番号0)と完全導体(PEC)(物性値番号1)は予め登録されています。 ここで入力した物性値に上から順に物性値番号2,3,...が与えられ、 geometry行の物性値番号で使用されます。
最初の"1"は現在はダミーです。
最後の文字列はオプションです。材質の説明です。計算には使用しません。
複素比誘電率には以下の関係があります。
(5-3-1)

(6) geometry
I1は物性値番号、I2は形状番号です。
形状番号の意味と必要な座標データは以下の通りです。

形状番号と入力座標については図5-3-1を参考にして下さい。 座標の数は三角柱は8個、それ以外は6個です。
(重要)
複数の幾何形状が重複する場所の物性値は後から入力されたデータが優先されます。

(7) name
直前のgeometryの名前を指定します。オプションであり計算には使用しません。

(8) feed
給電点を入力します。複数入力可能です。
C1はX/Y/Zのいずれかであり、給電の向きを表します。
R1,R2,R3は給電点のX/Y/Z座標、 R4は給電電圧、R5は式(4-2)のtd(時間遅れ)、 R6は式(10-2)のZ0(給電線の特性インピーダンス)です。
給電点はYee格子の電界点に設定されますので、 計算に用いられる位置は入力した座標に最も近く向きの一致する電界点になります。
給電点と平面波入射はどちらか一方が有効です。

(9) rfeed
収束を速くするときに使用します。既定値は0です。
複数の給電点があるときはすべての給電点に適用されます。

(10) pulsewidth
既定値は式(2-4-5)です。通常は既定値で構いません。
複数の給電点があるときはすべての給電点に適用されます。

(11) planewave
平面波入射を入力します。
R1,R2は原点から入射方向を見たθとφ(単位:度)です。
I1は偏波方向を表し、I1=1のとき垂直偏波、I1=2のとき水平偏波です。
給電点と平面波入射はどちらか一方が有効です。

(12) load
集中定数を入力します。複数入力可能です。
C1はX/Y/Zのいずれかであり、集中定数の向きを表します。
R1,R2,R3は集中定数のX/Y/Z座標、C2はR/C/Lのいずれかです。
R4はR/C/Lの値であり、単位はそれぞれΩ/F/H(MKSA)です。
集中定数はYee格子の電界点に設定されますので、 計算に用いられる位置は入力した座標に最も近く向きの一致する電界点になります。

(13) abc
吸収境界条件を指定します。
I1=0のときはMur一次となり、それ以降のデータは不要です。
I1=1のときはPMLとなり、I2=L, R1=M, R2=R0です。(推奨値は"5 2 1e-5"です)
既定値はMur一次です。

(14)(15) frequency1/frequency2
第1周波数はアンテナの入力インピーダンス等のFourier変換に使用されます。
第2周波数は近傍電磁界と遠方界のFourier変換に使用されます。
R1=開始周波数、R2=終了周波数、I1=周波数分割数です。
周波数の数は周波数分割数+1になります。 単一周波数のときは周波数分割数を0にして下さい。
第1周波数の分割数は第2周波数の分割数よりずっと多くとることが普通です。

(16) solver
I1=最大反復回数、I2=平均電磁界計算間隔、R1=収束判定条件です。
本データはオプションであり、既定値は I1=3000, I2=100, R1=1e-3 ですが、 計算時間や計算精度に影響しますので問題に応じて適切な値を設定して下さい。
[収束判定条件]の推奨値は1e-3です。
[最大反復回数]は十分収束するだけの大きな数値を指定して下さい。 ただし収束状況がよくないときは最大反復回数を適当に設定して計算を強制的に終了させることもできます。
[平均電磁界計算間隔]は通常20-200程度の値を代入して下さい。

(17) timestep
既定値はCourant条件(式(2-3-13)の右辺)です。 通常は既定値で構いません。

(18) point
本データが入力されたときSパラメーターが計算されます。
C1はX/Y/Zのいずれかであり、観測する電界の向きを表します。
R1,R2,R3は観測点のX/Y/Z座標です。
入力した順にポート番号1,2,3,...が与えられます。 最初のデータ(ポート番号1)だけC2に伝搬方向の向き(+X/-X/+Y/-Y/+Z/-Zのいずれか)が必要です。
観測点はYee格子の電界点に設定されますので、 計算に用いられる位置は入力した座標に最も近く向きの一致する電界点になります。

ポスト処理部

(19) matchingloss
利得に整合損を含めるか。
I1=0/1:含めない/含める
既定値は0です。

(20) plotiter (2D)
収束状況を図形出力します。
数値出力は常に標準出力とファイルofd.logに出力されます。

(21) plotfeed (2D)
給電点の時間波形とスペクトルを図形出力と数値出力します。

(22) plotpoint (2D)
観測点の時間波形とスペクトルを図形出力と数値出力します。

(23) plotsmith (2D)
スミスチャートを図形出力します。
I1=0/1:図形出力しない/図形出力する

(24) plotzin (2D)
入力インピーダンスの周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[Ω]、最大[Ω]、分割数

(25) plotyin (2D)
入力アドミッタンスの周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[S]、最大[S]、分割数
R1,R2の単位はSです。例えば100mSのときは"0.1"または"100e-3"と入力してください。

(26) plotref (2D)
反射係数の周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[dB]、最大[dB]、分割数

(27) plotspara (2D)
Sパラメーターの周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[dB]、最大[dB]、分割数

(28) plotcoupling (2D)
結合度の周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[dB]、最大[dB]、分割数

(29) plotfar0d (2D)
指定した方向の遠方界の周波数特性を出力します。
R1=θ[度]
R2=φ[度]
I1=1/2:自動スケール/指定スケール
I1=2のときはさらに以下の3個が必要です。
R3,R4,I2:最小[dB]、最大[dB]、分割数

(30) freqdiv
周波数軸の分割数を指定します。既定値は10です。

(31) plotfar1d (2D)
指定した面上の遠方界を図形出力します。
C1はX/Y/Z/V/Hのいずれかであり、それぞれX面/Y面/Z面/φ一定面/θ一定面を表します。
I1は全方向360度の分割数です。
C1がV/HのときはR1が必要です。それぞれ一定値のφ/θ[度]を意味します。

(32) far1dcomponent
遠方界面上の図形出力の成分を指定します。
I1=1のときθ成分とφ成分を図形出力します。
I2=1のとき楕円偏波の主軸と副軸を図形出力します。
I3=1のとき左右円偏波成分を図形出力します。
既定値は"1 0 0"です。
なおfar1d.logへの数値出力は常に全成分が出力されます。

(33) far1dstyle
遠方界面上の図形出力の形式を指定します。0:円プロット(既定値), 1:XYプロット

(34) far1ddb
遠方界面上の図形出力の単位を指定します。
I1=0:線形、I1=1:dB
既定値はdBです。

(35) far1dnorm
遠方界面上の図形出力を最大値で正規化を指定します。
I1=0/1:しない/する
最大値で正規化すると、単位がdBのときは最大値=0dBとなり、単位が線形のときは最大値=1になります。
既定値は正規化しません。

(36) far1dscale
遠方界面上の図形出力のスケールを指定します。
R1=最小値
R2=最大値
I1=分割数
既定値は適当なスケールが割り当てられます。

(37) plotfar2d (3D)
遠方界の全方向の指向性パターンを図形出力します。
I1はθ方向(0-180度)の分割数、I2はφ方向(0-360度)の分割数です。

(38) far2dcomponent
遠方界全方向の図形出力の成分を指定します。
I1=1のとき絶対値を図形出力します。
I2=1のときθ成分を図形出力します。
I3=1のときφ成分を図形出力します。
I4=1のとき楕円偏波の主軸を図形出力します。
I5=1のとき楕円偏波の副軸を図形出力します。
I6=1のとき右旋円偏波成分を図形出力します。
I7=1のとき左旋円偏波成分を図形出力します。
既定値は"1 0 0 0 0 0 0"です。
なおfar2d.logへの数値出力は常に全成分が出力されます。

(39) far2ddb
遠方界全方向の図形出力の単位を指定します。
I1=0:線形、I1=1:dB
既定値はdBです。

(40) far2dscale
遠方界全方向の図形出力のスケールを指定します。
R1=最小値
R2=最大値
既定値は適当なスケールが割り当てられます。

(41) far2dobj
遠方界全方向の図形出力に物体形状を上書きするときの相対的なスケールを指定します。
既定値は0.5です。0とすると物体形状は出力されません。

(42) plotnear1d (2D)
近傍界の指定した線分上の電界または磁界の分布図を図形出力します。
C1=EのときEとEx,Ey,Ezの振幅を図形出力します。ここでEはEベクトルの合成値です。
C1=Ex/Ey/EzのときそれぞれEx/Ey/Ezの振幅と位相を図形出力します。
C1=HのときHとHx,Hy,Hzの振幅を図形出力します。ここでHはHベクトルの合成値です。
C1=Hx/Hy/HzのときそれぞれHx/Hy/Hzの振幅と位相を図形出力します。
C2はX/Y/Zのいずれかであり、それぞれX方向/Y方向/Z方向を表します。
R1,R2はX方向のときはY/Z座標、Y方向のときはZ/X座標、Z方向のときはX/Y座標です。

(43) near1ddb
近傍界線上分布図の単位を指定します。
I1=0:線形、I1=1:dB
既定値は線形です。

(44) near1dscale
近傍界線上分布図のスケールを指定します。
R1=最小値
R2=最大値
I1=縦軸の分割数
既定値は適当なスケールが割り当てられます。

(45) near1dnoinc
近傍界線上分布図で入射波を除くか指定します。
I1=1のとき入射波を除きます。
既定値では入射波を含みます。本項目は平面波入射のとき意味があります。

(46) plotnear2d (2D+3D)
近傍界の指定した面上の電界または磁界の分布図を図形出力します。
C1はE/Ex/Ey/Ez/H/Hx/Hy/Hzのいずれかです。ここでE/Hはベクトルの合成値です。 E/Hのときは1ページ、Ex/Ey/Ez/Hx/Hy/Hzのときは振幅と位相の2ページが図形出力されます。
C2はX/Y/Zのいずれかであり、それぞれX一定面/Y一定面/Z一定面を表します。
R1はそれぞれ一定値のX/Y/Z座標です。

(47) near2ddim
近傍界面上分布図を選択します。
I1=1 : 2D図を出力します(既定値)
I2=1 : 3D図を出力します(既定値)

(48) near2dframe
近傍界面上分布図の動画(2D)のフレーム数を指定します。
I1=1周期のフレーム数
既定値は動画は出力しません。

(49) near2ddb
近傍界面上分布図の単位を指定します。
I1=0:線形、I1=1:dB
既定値は線形です。

(50) near2dscale
近傍界面上分布図のスケールを指定します。
R1=最小値
R2=最大値
既定値は適当なスケールが割り当てられます。

(51) near2dcontour
近傍界面上分布図の描画方法を指定します。
I1=0:カラー精細、1:カラー簡易、2:モノクロ精細、3:モノクロ簡易
既定値は0です。セル数が多いときは[簡易]を指定してください。

(52) near2dobj
I1=1のとき近傍界面上分布図に物体を描きます。 既定値は1です。

(53) near2dnoinc
近傍界面上分布図で入射波を除くか指定します。
I1=1のとき入射波を除きます。
既定値では入射波を含みます。本項目は平面波入射のとき意味があります。

(54) near2dzoom
面の一部のみを拡大して図形出力します。
R1,R2:横方向の下限と上限
R3,R4:縦方向の下限と上限
面の向きがX/Y/Z方向のとき、横-縦は順にY-Z/X-Z/X-Yです。

(55) window2d
図形出力2Dウィンドウの描画領域の大きさとフォントを指定します。
I1=幅
I2=高さ
I3=フォントサイズ
I4=フォント名(0=sansserif, 1=serif, 2=monospace)
幅、高さ、フォントサイズの単位はピクセルです。既定値は"750 500 15 0"です。幅と高さの比は3:2を推奨します。

(56) window3d
形状出力3Dウィンドウの大きさと初期視点を指定します。
I1=幅
I2=高さ
I3=フォントサイズ
R1=初期視点のθ[度]
R2=初期視点のφ[度]
幅、高さ、フォントサイズの単位はピクセルです。既定値は"600 600 12 60 30"です。幅と高さの比は1:1を推奨します。





図5-3-1 形状番号と入力座標