データ入力はWindows版のGUIプログラムであるOpenSTF.exeを使用し、
計算と図形出力はPython(Spyder)で行います。
操作手順は以下の通りです。
(注1)
適当なエディターを使って入力データpython.ostを直接編集するときはGUIは不要です。
Spyderで編集することもできます。
(注2)
Spyderでは初回に以下の設定を行ってください。
・Tools > Preferences > Application > Advanced settings > Language > 日本語 (再起動が必要)
・IPythonコンソール > グラフィックス > グラフィックスのバックエンド > 自動
・プロットペインの右上の[三]マークをクリックして[インラインプロットをミュートする]をOFFにする
(注3)
ファイルpython.ostは毎回上書きされるので、保存が必要なときは名前を変えて保存してください。
(注4)
プログラムを実行する方法には下記の3通りがあります。
・[ファイルを実行]ボタン([|>]マーク)をクリックする。
・[実行]→[実行]メニューをクリックする。
・キーボードでF5を入力する。
なお、プログラム実行時に"ModuleNotFoundError"というエラーメッセージが出たときは、
[コンソール]→[カーネルの再起動]を行ってください。
(注5)
ファイル名python.ostはソースコードost.pyとost_post.pyの変数"ost_in"
を変えると変更することができますが、
間違えやすいので慣れないうちはpython.ost固定としてください。
(注6)
計算とポスト処理を行うと標準版と同じlogファイルも出力されています。
(注7)
ウィンドウの大きさ、文字のフォント、文字のサイズを変更するには、
ost_post.py の該当行を変更してください。
既定状態ではタイトルが日本語を含むと文字化けします。
日本語を表示するには、plt.rcParams['font.family'] 行の数字を3または4にしてください。
計算環境を設定するにはソースコードost.pyを以下のように変更してください。
設定項目 | 設定法 |
---|---|
CPU/GPU | CPUのとき"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' |
Python版OpenSTFは"Anaconda Prompt"を起動してコマンドラインで実行することもできます。
OpenSTFフォルダの下のpythonフォルダに移動したのち以下のように実行してください。
表6-2-1の設定よりコマンドラインの引数が優先されます。
> python ost.py -cpu -n 8 -no-vector ..\data\sample\1st_sample.ost (CPU8スレッドで計算する) > python ost.py -gpu -n 8 -no-vector ..\data\sample\1st_sample.ost (GPUで計算する、CPU部分は8スレッド) > mpiexec -n 2 python ost.py -cpu -n 4 -no-vector ..\data\sample\1st_sample.ost (2プロセス×CPU4スレッドで計算する) > mpiexec -n 2 python ost.py -gpu -n 4 -no-vector ..\data\sample\1st_sample.ost (2プロセス×GPUで計算する、CPU部分は4スレッド) > mpiexec -n 8 python ost.py -p 4 2 1 ..\data\sample\1st_sample.ost (8プロセスで計算する、X/Y/Z方向の領域分割数=4/2/1) > python ost.py --help (使い方の説明)
Python版と標準版の違いは以下の通りです。
No. | キーワード | 機能 | Python版 | 標準版 |
---|---|---|---|---|
1 | 2dfigure | 面上分布図を2Dと3Dで図形出力するか | 2Dのみ実装しているので無視される | オプションで指定可能 |
2 | 2dscale | 面上分布図の等高線の数 | 第3パラメーターでで指定可能 | 無視される(常に20本) |