目次

9.2 使用法

9.2.1 Spyderでの使用法

データ入力はWindows版のGUIプログラムであるOpenFDTD.exeを使用し、 計算と図形出力はPython(Spyder)で行います。
操作手順は以下の通りです。

  1. OpenFDTD.exe(GUI)を起動します。(注1)
  2. Spyderを起動し、[ファイル]→[開く]メニューで pythonフォルダにあるofd.pyとofd_post.pyを開きます。(注2)
  3. GUIで[全般]から[波源・観測点]までのデータを入力して、 pythonフォルダにpython.ofdというファイル名で保存します。(注3)
  4. (MPIを使用しないときで計算するとき) Spyderでofd.pyタブをアクティブにした状態でプログラムを実行します。(注4)
  5. (MPIを使用して計算するとき) Spyderでファイルrun_mpi.pyを開き、"process = 2"行の数字にプロセス数を入力し、 run_mpi.pyタブをアクティブにした状態でプログラムを実行します。い。(注4)
  6. 計算を実行すると、python.ofdを読み込んで計算が開始され、 計算結果がコンソールペインに表示されます。 同時に計算結果がファイルofd.npzに保存されます。(注5)(注6)
  7. GUIで[図形出力制御]のデータ入力を行い、 pythonフォルダにpython.ofdというファイル名で保存します。(注3)
  8. Spyderでofd_post.pyタブをアクティブにした状態でプログラムを実行します。(注4)
    1個以上の図形出力ウィンドウが開きます。(注7)
    図形出力をやり直すには7.に戻ります。計算をやり直すには3.に戻ります。(注5)(注6)

(注1)
適当なエディターを使って入力データpython.ofdを直接編集するときはGUIは不要です。 Spyderで編集することもできます。
(注2)
Spyderでは初回に以下の設定を行ってください。
・Tools > Preferences > Application > Advanced settings > Language > 日本語 (再起動が必要)
・IPythonコンソール > グラフィックス > グラフィックスのバックエンド > 自動
・プロットペインの右上の[三]マークをクリックして[インラインプロットをミュートする]をOFFにする
(注3)
ファイルpython.ofdは毎回上書きされるので、保存が必要なときは名前を変えて保存してください。
(注4)
プログラムを実行する方法には下記の3通りがあります。
・[ファイルを実行]ボタン([|>]マーク)をクリックする。
・[実行]→[実行]メニューをクリックする。
・キーボードでF5を入力する。
なお、プログラム実行時に"ModuleNotFoundError"というエラーメッセージが出たときは、 [コンソール]→[カーネルの再起動]を行ってください。
(注5)
ファイル名python.ofdはソースコードofd.pyとofd_post.pyの変数"ofd_in" を変えると変更することができますが、 間違えやすいので慣れないうちはpython.ofd固定としてください。
(注6)
計算とポスト処理を行うと標準版と同じlogファイルも出力されています。
(注7)
ウィンドウの大きさ、文字のフォント、文字のサイズを変更するには、 ofd_post.py の該当行を変更してください。 既定状態ではタイトルが日本語を含むと文字化けします。 日本語を表示するには、plt.rcParams['font.family'] 行の数字を3または4にしてください。

9.2.2 計算環境の設定

計算環境を設定するにはソースコードofd.pyを以下のように変更してください。

表9-2-1 計算環境の設定(ソースコードofd.py)
設定項目設定法
CPU/GPUCPUのとき"GPU = 0"、GPUのとき"GPU = 1"
vectorモードnovectorモードのとき"VECTOR = 0"、vectorモードのとき"VECTOR = 1"
スレッド数 "thread = 8" の数値を適当に変更する。GPUで計算するときもCPU部分で有効
MPI領域分割数"Npx = 1", "Npy = 1", "Npz = 1" の数値を適当に変更する。数値の積がrun_mpi.pyのプロセス数と一致することが必要
実数の型単精度のとき f_dtype = 'f4'、倍精度のとき f_dtype = 'f8'
整数の型物性値の数が256未満のとき i_dtype = 'u1'、それ以上のとき i_dtype = 'i4'

9.2.3 コマンドラインでの実行法

Python版OpenFDTDは"Anaconda Prompt"を起動してコマンドラインで実行することもできます。
OpenFDTDフォルダの下のpythonフォルダに移動したのち、以下のように実行してください。
表9-2-1の設定よりコマンドラインの引数が優先されます。

> python ofd.py -cpu -n 8 -no-vector ..\data\sample\1st_sample.ofd (CPU8スレッドで計算する)
> python ofd.py -gpu -n 8 -no-vector ..\data\sample\1st_sample.ofd (GPUで計算する、CPU部分は8スレッド)
> mpiexec -n 2 python ofd.py -cpu -n 4 -no-vector ..\data\sample\1st_sample.ofd (2プロセス×CPU4スレッドで計算する)
> mpiexec -n 2 python ofd.py -gpu -n 4 -no-vector ..\data\sample\1st_sample.ofd (2プロセス×GPUで計算する、CPU部分は4スレッド)
> mpiexec -n 8 python ofd.py -p 4 2 1 ..\data\sample\1st_sample.ofd (8プロセスで計算する、X/Y/Z方向の領域分割数=4/2/1)
> python ofd.py --help (使い方の説明)

9.2.4 Python版と標準版の違い

Python版と標準版の違いは以下の通りです。

表9-2-2 Python版と標準版の違い
No.キーワード機能Python版標準版
1n2ddim近傍界面上分布図を2Dと3Dで図形出力するか2Dのみ実装しているので無視されるオプションで指定可能
2n2dscale近傍界面上分布図の等高線の数第3パラメーターで指定可能無視される(常に20本)
3n2dframe近傍界面上分布図を動画表示するか実装していないので無視されるオプションで指定可能