データ入力はWindows版のGUIプログラムであるOpenMOM.exeを使用し、
計算と図形出力はPythonで行います。(注1)
Pythonプログラムを実行するにはIDE(統合開発環境)が便利ですが、
ここではWindowsターミナルのコマンドで実行する方法を説明します。
操作手順は以下の通りです。
> python omm_post.py python.omm1個以上の図形出力ウィンドウが開きます。(注3)(注4)
(注1)
適当なエディターを使って入力データpython.ommを直接編集するときはGUIは不要です。
(注2)
ファイルpython.ommは毎回上書きされるので、保存が必要なときは名前を変えて保存してください。
ファイル名python.ommはソースコードomm.pyとomm_post.pyの変数"omm_in"
で変更することができますが、間違えやすいので慣れないうちはpython.omm固定としてください。
(注3)
計算とポスト処理を行うと標準版と同じlogファイルも出力されています。
(注4)
ウィンドウの大きさ、文字のフォント、文字のサイズを変更するには、
omm_post.py の該当行を変更してください。
既定状態ではタイトルが日本語を含むと文字化けします。
日本語を表示するには、plt.rcParams['font.family'] 行の数字を3または4にしてください。

図8-2-1 Python版の操作手順
python版計算プログラムをコマンドラインで実行する方法は以下の通りです。
コマンドpython,mpiexecは環境によってはpython.exe,mpiexec.exeになります。
次節の設定よりコマンドラインの引数が優先されます。
> python omm.py -cpu -n 8 -single python.omm (CPU8スレッドで計算する、単精度) > python omm.py -cpu -n 8 -double python.omm (CPU8スレッドで計算する、倍精度) > python omm.py -gpu -n 8 -single python.omm (GPUで計算する、単精度、CPU部分は8スレッド) > python omm.py -gpu -n 8 -double python.omm (GPUで計算する、倍精度、CPU部分は8スレッド) > python omm.py --help (使い方の説明)
計算プログラムのパラメーターを設定するには、
ソースコードomm.pyを以下のように変更してください。
| 設定項目 | 設定法 |
|---|---|
| CPU/GPU | CPUのとき"GPU = 0"、GPUのとき"GPU = 1" |
| スレッド数 | "thread = 8" の数値を適当に変更する。GPUで計算するときもCPU部分で有効 |
| 複素数の型 | 単精度のとき c_dtype = 'c8'、倍精度のとき c_dtype = 'c16' |
Python版と標準版の違いは以下の通りです。
| No. | キーワード | 機能 | Python版 | 標準版 |
|---|---|---|---|---|
| 1 | geom3dnode | 物体形状の節点を表示する | 常に行うので不要 | オプションで指定可能 |
| 2 | far2dobj | 遠方界全方向パターンに物体形状を上書きする | 実装していないので無視される | オプションで指定可能 |
| 3 | near2ddim | 近傍界面上分布図を2D/3D表示する | 2Dのみ実装しているので無視される | オプションで指定可能 |
| 4 | near2dscale | 近傍界面上分布図の等高線の数 | 第3パラメーターで指定可能 | 無視される(常に20本) |
| 5 | near2dframe | 近傍界面上分布図を動画表示する | 実装していないので無視される | オプションで指定可能 |
Python版OpenMOMは行列の対称性を利用していないので、
標準版の2倍のメモリーを必要とし以下のようになります。