4.7 GUIプログラム

OpenTHFDの使用法は、4.3の説明に従って入力データのテキストファイルを作成し、 4.2の説明に従ってコマンドラインで実行することを基本としていますが、 Windows環境では本節のGUI(Graphical User Interface)プログラムを使用すると、 ウィンドウ上でデータ入力、計算実行、結果確認を行うことができます。

4.7.1 GUIプログラムの起動

GUIプログラムを起動するにはOpenTHFD.exeファイルをダブルクリックしてください。 図4-7-1のウィンドウが開きます。
GUIプログラムの実行には .NET Framework 4.6 以上が必要です。Windows10には標準装備されています。 .NET Framework がインストールされていないときは下記からダウンロードしてインストールしてください。
https://www.microsoft.com/net/download


図4-7-1 GUIプログラム

4.7.2 GUIプログラムの使用法

以下の手順で操作してください。

  1. [全般]タブから[観測点他]タブまでのデータを入力します。 詳しくは4.7.3〜4.7.8を参考にしてください。(注1)
  2. [計算]ボタンをクリックします。ウィンドウが開いて計算が開始されます。 詳しくは4.2を参考にしてください。(注2)
  3. [図形出力制御(1)][図形出力制御(2)]タブで図形出力の設定を行います。 詳しくは4.7.9を参考にしてください。
  4. [図形出力]ボタンをクリックします。 図形データがev2d.htmファイルとev3d.htmファイルに出力されます。
  5. [図形出力表示2D]ボタンをクリックするとブラウザでev2d.htmが開かれます。 詳しくは4.5を参考にしてください。
  6. [図形出力表示3D]ボタンをクリックするとブラウザでev3d.htmが開かれます。 詳しくは4.4を参考にしてください。
  7. 図形出力は[図形出力制御(1)][図形出力制御(2)]タブの設定を変えて、 [図形出力]→[図形出力表示2D]または[図形出力表示3D]を繰り返し行うことができます。(注3)

(注1)
作業中にときどき安全のために[ファイル]→[上書き保存]または[名前を付けて保存]でファイルを保存してください。
(注2)
このウィンドウの属性は左上のアイコンをクリックして[プロパティ]メニューで変更することができます。 特に[オプション]タブの[簡易編集モード]はOFFにしてください。 これを行わないと計算中にウィンドウ内をクリックすると表示が停止します。 その他、ウィンドウサイズ、色、フォントなどを変更することができます。
(注3)
ブラウザで表示するときは毎回新しいタブが開かれます。 それを避けるには現在のタブ上でF5キーを押すと内容が更新されます。 左下にファイル作成日時が表示されますので新しいファイルであることを確認してください。

4.7.3 全般タブ

[全般]タブでは各種のデータを入力します。
各項目とキーワードの対応関係は以下の通りです。 以下、キーワードの意味は4.3を参考にしてください。

  1. タイトル -> title
  2. 収束条件 -> solver
  3. 周波数 -> frequency
  4. 吸収境界条件 -> abc
  5. 周期境界条件 -> pbc


図4-7-2 全般タブ

4.7.4 メッシュタブ

[メッシュ]タブではメッシュデータを入力します。
各項目とキーワードの対応関係は以下の通りです。

  1. X方向メッシュ -> xmesh
  2. Y方向メッシュ -> ymesh
  3. Z方向メッシュ -> zmesh
座標は小さい順に入力してください。座標値が空白であると以下のデータは無視されます。


図4-7-3 メッシュタブ

4.7.5 物性値タブ

[物性値]タブでは[物体形状]タブで使用する物性値を登録します。
対応キーワードは"material"です。
左端をONにするとその行が入力可能になります。上から順に入力してください。
[種別]で[数値入力]を選択したときは複素比誘電率と複素比透磁率の実部と虚部(>=0)を入力してください。
[種別]で[分散ファイル]を選択したときは[...]をクリックして分散ファイルを選択してください。 分散ファイルはdata/dispersionフォルダに置いてください。 [edit]をクリックするとメモ帳で開かれますので数字を修正することができます。
上から順に物性値番号=2,3,...になります。 物性値番号=0(真空)、物性値番号=1(PEC)は予め登録されていますので入力する必要はありません。


図4-7-4 物性値タブ

4.7.6 物体形状タブ

[物体形状]タブでは物体の形状データを入力します。
対応キーワードは"geometry"です。キーワードの意味は4.3を参考にしてください。
左でデータを入力し、右の図でデータを確認してください。
左は形状単位(ユニット)ごとにページが変わる方式になっています。
現在のユニット番号が左上に表示され、これが編集の対象になります。
ユニット番号を変更する方法は以下の通りです。

ユニットの編集には以下のボタンを使用します。

[名前]はオプションです。データの管理に使用してください。
複数のユニットが重複する場所では一番大きいユニット番号の物性値になります。
右の図の扱い方は[ヘルプ]ボタンを参考にしてください。


図4-7-5 物体形状タブ

4.7.7 波源タブ

[波源]タブでは給電点または平面波入射のデータを入力します。
[給電点]では、左端をONにするとその行が入力可能になります。上から順に入力してください。
各項目とキーワードの対応関係は以下の通りです。

  1. 給電点 -> feed
  2. 平面波入射 -> planewave
  3. 背景媒質 -> semispaceまたはfullspace


図4-7-6 波源タブ

4.7.8 観測点他タブ

[観測点他]タブでは観測点と集中定数のデータを入力します。
左端をONにするとその行が入力可能になります。上から順に入力してください。
各項目とキーワードの対応関係は以下の通りです。

  1. 観測点 -> point
  2. 集中定数 -> load


図4-7-7 観測点他タブ

4.7.9 図形出力制御タブ

[図形出力制御(1)(2)]タブでは図形出力の項目とそのパラメーターを入力します。
()内は対応するキーワードです。


図4-7-8 図形出力制御(1)タブ

[収束状況(2D)] (plotiter)
収束状況を出力します。4.5.1を参考にしてください。

[周波数特性(2D)] (plotfreq)
周波数特性を出力します。4.5.2を参考にしてください。

[周波数特性(2D)][遠方界] (plotfar0d)
指定した方向の遠方界の周波数特性を出力します。4.5.2を参考にしてください。

[遠方界面上(2D)] (plotfar1d)
遠方界の面上パターン図を出力します。 複数設定することができます。上から順に左端をONにすると入力可能になります。 4.5.3を参考にしてください。
[面]:

[角度分割数]:360度を分割する数値を入力してください。
[角度]:[phi-const]と[theta-const]のときは角度[度]を入力してください。 それぞれ一定のφとθです。
[円プロット]、[XYプロット]:出力図の形式を選択してください。(far1dstyle)
[θ/φ成分]、[主軸/副軸]、[左右円偏波]:出力する成分を選択してください。(複数選択可) (far1dcomponent)
[スケール]:単位とスケールを設定してください。(far1ddb, far1dscale)

[遠方界全方向(3D)] (plotfar2d)
遠方界の全方向パターン図を出力します。 4.5.4を参考にしてください。
[角度分割数]:θ方向(0-180度)とφ方向(0-360度)の分割数を入力してください。
[成分]:出力する成分を選択してください。(複数選択可) (far2dcomponent)
[スケール]:単位とスケールを設定してください。(far2ddb, far2dscale)


図4-7-9 図形出力制御(2)タブ

[近傍界線上(2D)] (plotnear1d)
近傍界の線上分布図を出力します。 複数設定することができます。上から順に左端をONにすると入力可能になります。 4.5.5を参考にしてください。
[成分]:電界、磁界、電流から選択してください。
[線の向き]:X方向/Y方向/Z方向から選択してください。線分の範囲は計算領域の端から端までです。
[線の位置]:[線の向き]がX/Y/ZのときそれぞれYZ/ZX/XY座標を入力してください。
[スケール]:単位とスケールを設定してください。(near1ddb, near1dscale)
[全電磁界]/[散乱電磁界]/[入射電磁界]:出力する成分を選択してください。平面波入射のとき有効です。(near1dexclude)

[近傍界面上(2D+3D)] (plotnear2d)
近傍界の面上分布図を出力します。 複数設定することができます。上から順に左端をONにすると入力可能になります。 4.5.6を参考にしてください。
[成分]:電界、磁界、電流から選択してください。
[面の向き]:X面/Y面/Z面から選択してください。面の範囲は計算領域の端から端までです。
[面の位置]:一定のX座標/Y座標/Z座標を入力してください。
[2D]/[3D] : 出力する図を選択してください。(near2ddim)
[スケール]:単位とスケールを設定してください。(near2ddb, near2dscale)
[描画方法]:等高線図の描画方法を選択してください。(near2dcontour)
[物体を描く]:ONにすると物体形状が重ね書きされます。(near2dobj)
[全電磁界]/[散乱電磁界]/[入射電磁界]:出力する成分を選択してください。平面波入射のとき有効です。(near2dexclude)

4.7.10 図形出力ウィンドウ

[図形出力表示2D]をクリックすると図4-7-10の図が表示されます。
複数ページのときはページボタンを使用してください。
"copy"ボタンで図形表示部をクリップボードにコピーすることができます。
"save"ボタンで図形表示部を画像ファイルに保存することができます。


図4-7-10 2次元図形出力ウィンドウ

[図形出力表示3D]をクリックすると図4-7-11の図が表示されます。
複数ページのときはページボタンを使用してください。
大きさや視点を変えるにはマウスまたはX,Y,Z,o,+,-ボタンを使用してください。
"copy"ボタンで図形表示部をクリップボードにコピーすることができます。
"save"ボタンで図形表示部を画像ファイルに保存することができます。


図4-7-11 3次元図形出力ウィンドウ

(注意)
[オプション]メニューで[図形出力形式][ブラウザ]を選択したときはブラウザに図形出力されます。

4.7.11 計算設定メニュー

[ツール]→[計算設定]メニューをクリックすると図4-7-12の計算設定ウィンドウが開きます。


図4-7-12 計算設定ウィンドウ

CPU/GPU
計算するハードウェアを[CPU]/[GPU]から選択してください。

CPU
[スレッド数]を設定してください。物理コア数から論理コア数の間の数を推奨します。

GPU
GPUの実行にはNVIDIAのグラフィックスボードとディスプレイドライバが必要です。
[unified memory]は通常OFF、[デバイス番号]は通常0としてください。

省メモリー低速
CPUではメモリー不足のときONにしてください。 GPUでは通常ONにしてください。

MPI
MPIを使用して複数台のコンピュータのCPUまたはGPUで並列計算を行うには[MPI]をONにして、 各ノード(ホスト)の[ホスト名]と[プロセス数]を入力してください。(注1)(注2)(注3)(注4)
最初のノードは自分自身であり[ホスト名]の"localhost"は変更しないでください。
[プロセス数]にはCPUのときは物理コア数から論理コア数の間、 GPUのときはグラフィックスボードの数を推奨します。 GPUのときは計算開始時にウィンドウにデバイス名が表示されますので確認してください。
(注1)
ホスト名はネットワークコンピュータに表示される名前です。 自分のホスト名を知るにはコマンドプロンプトで"hostname"と行ってください。 またホスト名はIPアドレスでも構いません。
(注2)
MPIを使用して複数台のコンピュータで並列計算を行うには [3]に従って必要な環境をインストールしてください。 (1台のコンピュータで並列計算するときは作業は不要です)
(注3)
1台のコンピュータに複数のグラフィックスボードが実装されているときは、 [MPI]をONにして"localhost"の[プロセス数]にグラフィックスボードの数を入力してください。
(注4)
初回実行時にセキュリティソフトが警告を出したら許可してください。 (MPIは複数のプロセスを起動しますのでマルウェアと認識されることがあります)

その他
すべての設定を初期化するには[初期化]ボタンをクリックしてください。
計算設定ウィンドウの設定はアプリケーション単位で管理され、個々の入力データには保存されません。

4.7.12 オプションメニュー

[ツール]→[オプション]メニューをクリックすると図4-7-13のオプションウィンドウが開きます。
使い方については[ヘルプ]を参考にしてください。
設定を初期化するには[初期化]をクリックしてください。


図4-7-13 オプションウィンドウ

4.7.13 数値出力メニュー

[数値出力]メニューをクリックすると、 それぞれの数値出力ファイルを読み込んでテキストエディタが開きます。
それぞれのファイルの意味は4.6を参考にしてください。