OpenTHFDの入力データは一つのテキストファイルです。
リスト4-4-1に一例を示します。
最初の行
最初の行は必ず"OpenTHFD 4 0"としてください。
ここで数字は書式のバージョンを表します。OpenTHFDのデータは上位互換性があります。
すなわち古いバージョンのデータは新しいバージョンでも使えます。
最後の行
最後の行は必ず"end"としてください。
この行の下は読み込まれませんので、コメントやデータの一時退避に使用することができます。
データ本体
最初の行と最後の行以外がデータの本体です。書式は
キーワード = データ1 データ2 ...
となります。キーワードはすべて小文字です。データは数値または文字列です。
等号"="の前後とデータの間には1個以上のスペースを置いてください。
データの入力順は任意ですが、リスト4-4-1の順を推奨します。
コメント行
最初の文字が"#"である行はコメント行です。その行は飛ばされます。
行内コメント
所定の数のデータの後ろに1個以上の空白の後に任意のコメントを入力することができます。
ただし、データの数が不定である行(xmesh/ymesh/zmseh)にはコメントは入力できません。
リスト4-4-1 入力データの一例
OpenTHFD 4 0 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 frequency = 3e9 3e9 0 solver = 1000 100 1e-4 #plot3dgeom = 1 plotiter = 1 1 plotsmith = 1 plotzin = 1 plotyin = 1 plotref = 1 plotfar1d = X 72 far1dstyle = 0 far1dcomponent = 1 0 0 far1ddb = 1 plotfar2d = 18 36 far2dcomponent = 1 0 0 0 0 0 0 far2ddb = 1 far2dobj = 0.5 plotnear1d = E Z 0.03 0 near1ddb = 0 near1dexclude = 0 plotnear2d = E X 0.03 near2ddb = 0 near2ddim = 1 1 near2dcontour = 0 near2dobj = 1 near2dexclude = 0 end
表4-4-1と表4-4-2に入力データの書式と意味を示します。
ここでは説明の都合上計算部とポスト処理部に分けていますが、
データファイルは両者が結合したものです。
データの並びは任意でかまいませんが以下の順序を推奨します。
必須/必要/オプション
"必須"は必ず必要なデータです。これがないときはメッセージを出して計算が終了します。
"必要"は必要なときは必要なデータです。(既定値がないもの)
"オプション"はないときは既定値が代入されるデータです。
これがないときは計算とポスト処理は既定値を用いて行われます。
書式
書式の"R I C"は順に実数、整数、文字列です。
"..."はデータ数が可変であることを表します。
"[]"はオプションです。その前のデータによっては必要になります。
"[|]"はどちらかを選択するデータです。
実数のところに整数を入力すると実数とみなされます。例えば"1"は"1.0"となります。
単位はすべてMKSA単位系です。角度の単位は度です。
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 | 必要 | I1 [R1 R2 R3 R4 | C1] | 物性値(複数行可) |
(6) | geometry | 必須 | I1 I2 R1 R2 R3 R4 R5 R6 [R7 R8] | 物体形状(複数行可) |
(7) | name | オプション | 任意の文字列(空白も含む) | 直前の物体形状の名前 |
(8) | feed | 必要 | C1 R1 R2 R3 R4 R5 R6 | 給電点(複数行可) |
(9) | planewave | 必要 | R1 R2 I1 [R3 R4] | 平面波入射 |
(10) | semispace | 必要 | I1 R1 | 背景媒質半領域 |
(11) | fullspace | 必要 | I1 | 背景媒質全領域 |
(12) | abc | オプション | I1 [I2 R1 R2] | 吸収境界条件 |
(13) | pbc | オプション | I1 I2 I3 | 周期境界条件 |
(14) | frequency | 必須 | R1 R2 I1 | 周波数 |
(15) | solver | オプション | I1 I2 R1 | 反復計算パラメーター |
(16) | load | 必要 | C1 R1 R2 R3 C2 R4 | 集中定数(複数行可) |
(17) | point | 必要 | C1 R1 R2 R3 [C2] | Sパラメータ用観測点(複数行可) |
(18) | plot3dgeom | オプション | I1 | 物体形状を3D図形出力するか |
No. | キーワード | 必須/必要/オプション | 書式(R:実数,I:整数,C:文字列) | 意味 |
---|---|---|---|---|
(19) | matchingloss | オプション | I1 | 利得に整合損を含めるか(0/1) |
(20) | plotiter | 必要 | I1 I2 | 収束状況の図形出力(0/1) (2D) |
(21) | plotsmith | 必要 | I1 | スミスチャートの図形出力(0/1) (2D) |
(22) | plotzin | 必要 | I1 [R1 R2 I2] | 入力インピーダンスの図形出力(0/1/2) (2D) |
(23) | plotyin | 必要 | I1 [R1 R2 I2] | 入力アドミッタンスの図形出力(0/1/2) (2D) |
(24) | plotref | 必要 | I1 [R1 R2 I2] | 反射係数の図形出力(0/1/2) (2D) |
(25) | plotspara | 必要 | I1 [R1 R2 I2] | Sパラメーターの図形出力(0/1/2) (2D) |
(26) | plotloss | 必要 | I1 [R1 R2 I2] | 全損失の図形出力(0/1/2) (2D) |
(27) | plotcoupling | 必要 | I1 [R1 R2 I2] | 結合度の図形出力(0/1/2) (2D) |
(28) | plotfar0d | 必要 | R1 R2 I1 [R3 R4 I2] | 指定した方向の遠方界の周波数特性 (2D) |
(29) | freqdiv | オプション | I1 | 周波数軸の分割数 |
(30) | plotfar1d | 必要 | C1 I1 [R1] | 遠方界面上パターン図(複数行可) (2D) |
(31) | far1dstyle | オプション | I1 | 遠方界面上の出力形式(0/1) |
(32) | far1dcomponent | オプション | I1 I2 I3 | 遠方界面上の成分(0/1) |
(33) | far1ddb | オプション | I1 | 遠方界面上の単位(0/1) |
(34) | far1dnorm | オプション | I1 | 遠方界面上を最大値で正規化するか(0/1) |
(35) | far1dscale | オプション | R1 R2 I1 | 遠方界面上のスケール |
(36) | plotfar2d | 必要 | I1 I2 | 遠方界全方向パターン図 (3D) |
(37) | far2dcomponent | オプション | I1 I2 I3 I4 I5 I6 I7 | 遠方界全方向の成分(0/1) |
(38) | far2ddb | オプション | I1 | 遠方界全方向の単位(0/1) |
(39) | far2dscale | オプション | R1 R2 | 遠方界全方向のスケール |
(40) | far2dobj | オプション | R1 | 遠方界全方向の物体表示の大きさ |
(41) | plotnear1d | 必要 | C1 C2 R1 R2 | 近傍界線上分布図(複数行可) (2D) |
(42) | near1ddb | オプション | I1 | 近傍界線の単位(0/1) |
(43) | near1dscale | オプション | R1 R2 I1 | 近傍界線のスケール |
(44) | near1dexclude | オプション | I1 | 近傍界線の電界の意味(0/1/2) |
(45) | plotnear2d | 必要 | C1 C2 R1 | 近傍界面上分布図(複数行可) (2D+3D) |
(46) | near2ddim | オプション | I1 I2 | 近傍界面の2D/3Dの選択(0/1) |
(47) | near2dframe | オプション | I1 | 近傍界面の動画のフレーム数 |
(48) | near2ddb | オプション | I1 | 近傍界面の単位(0/1) |
(49) | near2dscale | オプション | R1 R2 | 近傍界面のスケール |
(50) | near2dcontour | オプション | I1 | 近傍界面の描画方法(0/1/2/3) |
(51) | near2dobj | オプション | I1 | 近傍界面に物体を描くか(0/1/2) |
(52) | near2dexclude | オプション | I1 | 近傍界面の電界の意味(0/1/2) |
(53) | near2dzoom | オプション | R1 R2 R3 R4 | 近傍界面の一部拡大 |
入力データの詳細
■ 計算部
(1) title
タイトル
空白を含む任意の文字列を入力することができます(日本語も可能です)。
タイトルは標準出力と図形出力に表示されます。データの管理に使ってください。
(2)(3)(4) xmesh/ymesh/zmesh
メッシュ
計算領域のメッシュ分割を行うデータです。
データは順に、"区間区切り1 分割数1 区間区切り2 ..."となります。
従ってデータの数は奇数(=3,5,7,...)です。
各区間が指定した分割数で等分割されます。
区間区切りは小さい順に入力してください。
(5) material
物性値
最初のデータが1のときは数値で入力することを意味し、
以降のデータは複素比誘電率と複素比透磁率を
εr=ε'r-jε''r,
μr=μ'r-jμ''r
と書いたときの
ε'r,ε''r,
μ'r,μ''r
です。すべて無次元の数値です。通常の材質は
ε''r>=0,
μ''r>=0
であることに注意してください。
最初のデータが2のときは分散性材質であることを意味し、次のデータは分散ファイル名です。
分散ファイル名の書式は4.4.3を参照してください。
真空(物性値番号0)と完全導体(PEC)(物性値番号1)は予め登録されており入力は不要です。
ここで入力した物性値に上から順に物性値番号2,3,...が与えられ、
geometry行の物性値番号で使用されます。
(6) geometry
物体形状
I1は物性値番号、I2は形状番号です。
形状番号の意味と必要な座標データは以下の通りです。
(7) name
直前のgeometryの名前を指定します。オプションであり計算には使用しません。
(8) feed
給電点
C1はX/Y/Zのいずれかであり、給電の向きを表します。
R1,R2,R3は給電点のX/Y/Z座標、
R4,R5は給電電圧の振幅[V]と位相[度]、
R6は給電線の特性インピーダンス[Ω]です。
給電点はYee格子の電界点に設定されますので、
計算に用いられる位置は入力した座標に最も近く向きの一致する電界点になります。
(注意)
給電点(feed)と平面波入射(planewave)はどちらか一方が有効です。
(9) planewave
平面波入射
R1, R2 : 原点から入射方向を見た時のθ、φ[度]
I1 : 偏波方向、1/2/3/4/5:垂直/水平/右旋円/左旋円/楕円
楕円偏波のときのみさらに以下の2個が必要です。
R3, R4 : 主軸の傾き[度]と軸比(-1≤軸比≤+1)
(注意)
給電点(feed)と平面波入射(planewave)はどちらか一方が有効です。
(10) semispace
半領域
I1=1:X半領域,2:Y半領域,3:Z半領域
R1:半領域の境界面の座標
平面波入射のとき有効です。
既定値は背景媒質は真空です。
(11) fullspace
全領域
I1=1:全領域を背景媒質とします
平面波入射のとき有効です。
既定値は背景媒質は真空です。
(12) abc
吸収境界条件
I1=0のときはMur一次となり、それ以降のデータは不要です。
I1=1のときはPMLとなり、I2=L, R1=M, R2=R0です。(推奨値は"5 2 1e-5"です)
既定値はMur一次です。
(13) pbc
周期境界条件
I1=1:X方向周期境界条件
I2=1:Y方向周期境界条件
I3=1:Z方向周期境界条件
(注意)
周期境界条件を指定したときは、その他の境界面の吸収境界条件にはMur一次が適用されます。
(14) frequency
周波数
R1=開始周波数、R2=終了周波数、I1=周波数分割数です。
周波数の数は周波数分割数+1になります。
単一周波数のときは開始周波数=終了周波数とし周波数分割数を0にしてください。
(15) solver
計算条件
I1=最大反復回数、I2=出力間隔、R1=収束判定条件です。
本データはオプションであり、既定値は I1=3000, I2=100, R1=1e-3 ですが、
収束判定条件は計算精度と計算時間に影響しますので問題に応じて適切な値を設定してください。
1e-3~1e-5程度を推奨します。
[最大反復回数]は十分収束するだけの大きな数値を指定してください。
ただし収束状況がよくないときは最大反復回数を適当に設定して計算を強制的に終了させることもできます。
[出力間隔]は100-500程度が適当です。
(16) load
集中定数
C1:X/Y/Zのいずれか、集中定数の向き
R1,R2,R3:集中定数のX/Y/Z座標
C2:R/C/Lのいずれか、順に抵抗/キャパシタ/インダクタ
R4:抵抗のR[Ω]/キャパシタのC[Farad]/インダクタのL[Henry]
計算に用いられる位置は入力した座標に最も近く向きの一致する電界点になります。
(17) point
観測点
本データが入力されたときSパラメーターが計算されます。
C1はX/Y/Zのいずれかであり、観測する電界の向きを表します。
R1,R2,R3は観測点のX/Y/Z座標です。
入力した順にポート番号1,2,3,...が与えられます。
最初のデータ(ポート番号1)だけC2に伝搬方向の向き(+X/-X/+Y/-Y/+Z/-Zのいずれか)が必要です。
観測点はYee格子の電界点に設定されますので、
計算に用いられる位置は入力した座標に最も近く向きの一致する電界点になります。
(18) plot3dgeom (3D)
物体形状図形出力
I1=1のとき物体形状をgeom.ev3とgeom3d.htmに図形出力して計算を行わずに終了します。
CUI環境での入力データの確認に使用します。
既定値はI1=0です。
■ ポスト処理部
(19) matchingloss
利得に整合損を含めるか。
I1=0/1:含めない/含める
既定値は0です。
(20) plotiter (2D)
収束状況を図形出力します。既定値は"0 0"です。
I1=1のとき残差を図形出力します。
I2=1のとき平均電界誤差を図形出力します。
数値出力は常に標準出力とファイルoth.logに出力されます。
(21) plotsmith (2D)
スミスチャートを図形出力します。
I1=0/1:図形出力しない/図形出力する
(22) plotzin (2D)
入力インピーダンスの周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[Ω]、最大[Ω]、分割数
(23) plotyin (2D)
入力アドミッタンスの周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[S]、最大[S]、分割数
R1,R2の単位はSです。例えば100mSのときは"0.1"または"100e-3"と入力してください。
(24) plotref (2D)
反射係数の周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[dB]、最大[dB]、分割数
(25) plotspara (2D)
Sパラメーターの周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[dB]、最大[dB]、分割数
(26) plotloss (2D)
全損失の周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[dB]、最大[dB]、分割数
(27) plotcoupling (2D)
結合度の周波数特性を図形出力します。
I1=0/1/2:図形出力しない/自動スケールで図形出力する/指定スケールで図形出力する
I1=2のときはさらに以下の3個が必要です。
R1,R2,I2:最小[dB]、最大[dB]、分割数
(28) plotfar0d (2D)
指定した方向の遠方界の周波数特性を図形出力します。
R1=θ[度]
R2=φ[度]
I1=1/2:自動スケール/指定スケール
I1=2のときはさらに以下の3個が必要です。
R3,R4,I2:最小[dB]、最大[dB]、分割数
(29) freqdiv
周波数軸の分割数を指定します。既定値は10です。
(30) plotfar1d (2D)
遠方界面上を図形出力します。
C1はX/Y/Z/V/Hのいずれかであり、それぞれX面/Y面/Z面/φ一定面/θ一定面を表します。
I1は全方向360度の分割数です。
C1がV/HのときはR1が必要です。それぞれ一定値のφ/θ[度]を意味します。
(31) far1dcomponent
遠方界面上の図形出力の成分を指定します。
I1=1のときθ成分とφ成分を図形出力します。
I2=1のとき楕円偏波の主軸と副軸を図形出力します。
I3=1のとき左右円偏波成分を図形出力します。
既定値は"1 0 0"です。
なおfar1d.logへの数値出力は常に全成分が出力されます。
(32) far1dstyle
遠方界面上の図形出力の形式を指定します。0:円プロット(既定値), 1:XYプロット
(33) far1ddb
遠方界面上の図形出力の単位を指定します。
I1=0:線形、I1=1:dB
既定値はdBです。
(34) far1dnorm
遠方界面上の図形出力を最大値で正規化を指定します。
I1=0/1:しない/する
最大値で正規化すると、単位がdBのときは最大値=0dBとなり、単位が線形のときは最大値=1になります。
既定値は正規化しません。
(35) far1dscale
遠方界面上の図形出力のスケールを指定します。
R1=最小値
R2=最大値
I1=分割数
既定値は適当なスケールが割り当てられます。
(36) plotfar2d (3D)
遠方界の全方向パターンを図形出力します。
I1はθ方向(0-180度)の分割数、I2はφ方向(0-360度)の分割数です。
(37) far2dcomponent
遠方界全方向の図形出力の成分を指定します。
I1=1のとき絶対値を図形出力します。
I2=1のときθ成分を図形出力します。
I3=1のときφ成分を図形出力します。
I4=1のとき楕円偏波の主軸を図形出力します。
I5=1のとき楕円偏波の副軸を図形出力します。
I6=1のとき右旋円偏波成分を図形出力します。
I7=1のとき左旋円偏波成分を図形出力します。
既定値は"1 0 0 0 0 0 0"です。
なおfar2d.logへの数値出力は常に全成分が出力されます。
(38) far2ddb
遠方界全方向の図形出力の単位を指定します。
I1=0:線形、I1=1:dB
既定値はdBです。
(39) far2dscale
遠方界全方向の図形出力のスケールを指定します。
R1=最小値
R2=最大値
既定値は適当なスケールが割り当てられます。
(40) far2dobj
遠方界全方向の図形出力の物体表示の大きさを指定します。
R1=相対的な大きさ。0とすると物体は表示されません。
既定値は0.5です。
(41) 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座標です。
(42) near1ddb
近傍界線上分布図の単位を指定します。
I1=0:線形、I1=1:dB
既定値は線形です。
(43) near1dscale
近傍界線上分布図のスケールを指定します。
R1=最小値
R2=最大値
I1=縦軸の分割数
既定値は適当なスケールが割り当てられます。
(44) near1dexclude
近傍界線上分布図の電界の種類を指定します。平面波入射のとき意味があります。
I1=0:全電界(既定値)
I1=1:散乱電界のみ
I1=2:入射電界のみ
(45) 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座標です。
(46) near2ddim
近傍界面上分布図の2Dと3Dを選択します。
I1=1:2D図を出力します(既定値)。
I2=1:3D図を出力します(既定値)。
(47) near2dframe
近傍界面上分布図の動画(2D)のフレーム数を指定します。
I1=1周期のフレーム数
既定値は動画は出力しません。
(48) near2ddb
近傍界面上分布図の単位を指定します。
I1=0:線形、I1=1:dB
既定値は線形です。
(49) near2dscale
近傍界面上分布図のスケールを指定します。
R1=最小値
R2=最大値
既定値は適当なスケールが割り当てられます。
(50) near2dcontour
近傍界面上分布図の描画方法を指定します。
I1=0:カラー精細、1:カラー簡易、2:モノクロ精細、3:モノクロ簡易
既定値は0です。セル数が多いときは[簡易]を指定してください。
(51) near2dobj
I1=1のとき近傍界面上分布図に物体を描きます。 既定値は1です。
(52) near2dexclude
近傍界面上分布図の電界の種類を指定します。平面波入射のとき意味があります。
I1=0:全電界(既定値)
I1=1:散乱電界のみ
I1=2:入射電界のみ
(53) near2dzoom
近傍界面上分布図の一部のみを拡大して図形出力します。
R1,R2:横方向の下限と上限
R3,R4:縦方向の下限と上限
面の向きがX/Y/Z方向のとき、横-縦は順にY-Z/X-Z/X-Yです。
表4-4-3に分散ファイルの一例を示します。
第一行は周波数の数です。
以降の各行は順に、周波数[Hz],
ε'r,ε''r,
μ'r,μ''r
です。
任意の周波数の物性値はこのテーブルを補間します。
周波数が上下の境界を超えたときは境界の値が使用されます。
分散ファイルはフォルダdata/dispersionに置いてください。
表4-4-3 分散ファイルの一例
5 1.0e9 2.8 0.1 2.5 0.2 2.0e9 2.6 0.2 2.3 0.3 3.0e9 2.4 0.3 2.1 0.4 4.0e9 2.2 0.2 1.9 0.3 5.0e9 2.0 0.1 1.7 0.2