目次

8.2 使用法

8.2.1 操作手順

データ入力はWindows版のGUIプログラムであるOpenMOM.exeを使用し、 計算と図形出力はPythonで行います。(注1)
Pythonプログラムを実行するにはIDE(統合開発環境)が便利ですが、 ここではWindowsターミナルのコマンドで実行する方法を説明します。
操作手順は以下の通りです。

  1. OpenMOM.exe(GUI)を起動します。
  2. Windowsターミナルを起動し、pythonフォルダに移動します。
  3. GUIで[全般]から[物体形状]までのデータを入力し、 pythonフォルダにpython.ommというファイル名で保存します。(注2)
  4. ターミナルで次節の方法で計算プログラムを実行します。 python.ommを読み込んで計算が開始され、計算結果がターミナルに表示されます。 同時に計算結果がファイルomm.npzに保存されます。(注3)
  5. GUIで[図形出力制御]のデータを入力し、 pythonフォルダにpython.ommというファイル名で保存します。(注2)
  6. ターミナルで以下のコマンドでポスト処理プログラムを実行します。
    > python omm_post.py python.omm
    
    1個以上の図形出力ウィンドウが開きます。(注3)(注4)
    ポスト処理をやり直すには5.に戻ります。計算をやり直すには3.に戻ります。

(注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版の操作手順

8.2.2 計算プログラムのコマンドライン実行法

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 (使い方の説明)

8.2.3 計算プログラムのパラメーター設定

計算プログラムのパラメーターを設定するには、 ソースコードomm.pyを以下のように変更してください。

表8-2-1 計算環境の設定(ソースコードomm.py)
設定項目設定法
CPU/GPU CPUのとき"GPU = 0"、GPUのとき"GPU = 1"
スレッド数"thread = 8" の数値を適当に変更する。GPUで計算するときもCPU部分で有効
複素数の型単精度のとき c_dtype = 'c8'、倍精度のとき c_dtype = 'c16'

8.2.4 Python版と標準版の違い

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

表8-2-2 Python版と標準版の違い
No.キーワード機能Python版標準版
1geom3dnode 物体形状の節点を表示する常に行うので不要オプションで指定可能
2far2dobj 遠方界全方向パターンに物体形状を上書きする実装していないので無視されるオプションで指定可能
3near2ddim 近傍界面上分布図を2D/3D表示する2Dのみ実装しているので無視されるオプションで指定可能
4near2dscale近傍界面上分布図の等高線の数第3パラメーターで指定可能無視される(常に20本)
5near2dframe近傍界面上分布図を動画表示する実装していないので無視されるオプションで指定可能

8.2.3 使用メモリー

Python版OpenMOMは行列の対称性を利用していないので、 標準版の2倍のメモリーを必要とし以下のようになります。

ここで、Ne=線状要素数=行列の大きさです。
これはスレッド数に無関係です。
例えば、単精度でNe=10000のとき0.8GBです。