4. OpenSTFの使用法

4.1 GUIプログラム

OpenSTFはGUI(Graphical User Interface)プログラムを使用して、 ウィンドウ上でデータ入力、計算、図形出力を行います。

4.1.1 Windowsの実行環境

Windowsの実行環境は以下のようになります。

(1) .NET Framework
GUIプログラムの実行には .NET Framework が必要です。 Windows10/11には標準装備されています。 .NET Framework がインストールされていないかバージョンが古いときは、 下記からダウンロードしてインストールしてください。
https://dotnet.microsoft.com/ja-jp/download/dotnet-framework

(2) OpenMP
OpenMP対応の実行プログラムを実行するための準備は特に必要ありません。
ただし、実行プログラムのあるフォルダにランタイムライブラリvcomp140.dllが必要です。 (配布ファイルに含まれています。 ファイル名の"140"はVC++のバージョンを表し、今後変わる可能性があります。)

(3) MPI
1台のコンピュータでMPI対応の実行プログラムを実行するための準備は特に必要ありません。
ただし、実行プログラムのあるフォルダにファイル mpiexec.exe, msmpi.dll, smpd.exe が必要です。 (配布ファイルに含まれています)
初回に実行するときにセキュリティソフトが警告を出したら許可してください。 (MPIプログラムは複数のプロセスを起動するのでマルウェアと認識されることがあります)
複数台のコンピュータで実行するときは[11]の「7.MPI」を参考にしてください。 ただし高速なネットワーク環境(10Gbps以上)が必要になります。

(4) CUDA
CUDA対応の実行プログラムを実行するためには、NVIDIAのグラフィックスボードが実装され、 グラフィックスドライバーがインストールされていることが必要です。
プログラムが実行できないか、意味のない数字を出力してすぐ終了するときは、 グラフィックスドライバーのバージョンが古いことが考えられるので、 下記のサイトから最新のグラフィックスドライバーをダウンロードしてインストールしてください。
http://www.nvidia.co.jp/Download/index.aspx?lang=jp
グラフィックスドライバーは数か月ごとにバージョンアップされますが、 実行プログラムが動作していれば必ずしもバージョンアップする必要はありません。
複数台のコンピュータで実行するときは[11]の「7.MPI」を参考にしてください。 ただし高速なネットワーク環境(10Gbps以上)が必要になります。

4.1.2 GUIプログラムの起動

GUIプログラムを起動するにはOpenSTF.exeファイルをダブルクリックしてください。
図4-1-1にOpenSTFのGUIプログラムを示します。
図4-1-2にOpenSTFの処理の流れを示します。 図中の緑色がGUI画面での操作、黄色がコマンドボタン、 無色が出力されるファイルを表します。


図4-1-1 OpenSTFのGUIプログラム

図4-1-2 OpenSTFの処理の流れ

4.1.3 GUIプログラムの使用法

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

  1. [全般]タブから[物体形状]タブまでのデータを入力します。 詳しくは4.1.4~4.1.6を参考にしてください。(注1)
  2. [計算]ボタンをクリックします。ウィンドウが開いて計算が開始されます。 詳しくは4.1.7を参考にしてください。(注2)
  3. [ポスト処理制御]タブでポスト処理の設定を行います。 詳しくは4.1.8を参考にしてください。
  4. [ポスト処理]ボタンをクリックします。 図形データファイルev.ev2とev.ev3が出力されます。
  5. [図形表示2D]ボタンをクリックします。ev2d.exeが起動してev.ev2が図形表示されます。 詳しくは4.2を参考にしてください。
  6. [図形表示3D]ボタンをクリックします。ev3d_otk.exeが起動してev.ev3が図形表示されます。 詳しくは4.2を参考にしてください。
  7. ポスト処理は[ポスト処理制御]タブの設定を変えて [ポスト処理]→[図形表示2D]または[図形表示3D]を繰り返し行うことができます。(注3)

(注1)
作業中にときどき安全のために[ファイル]→[上書き保存]または[名前を付けて保存]でファイルを保存してください。
(注2)
このウィンドウの属性は左上のアイコンをクリックして[プロパティ]メニューで変更することができます。 特に[オプション]タブの[簡易編集モード]はOFFにしてください。 これを行わないと計算中にウィンドウ内をクリックすると表示が停止します。 その他、ウィンドウサイズ、色、フォントなどを変更することができます。
(注3) EEM-STF
[ファイル]>[開く]で[ファイル名]のフィルターに"EEM-STF"を選択すると、 EEM-STFのデータ(拡張子.stf)を開くことができます。 ただし、ポスト処理の設定は再度行ってください。

4.1.4 全般タブ

[全般]タブでは計算のための各種のデータを入力します。(図4-1-1)

[電極電圧]と[比誘電率]はチェックボックスをONにすると入力可能になります。 [物体形状]タブで選択するリストになります。 [名前]は計算には不要ですがデータの管理に使用してください。

(注1)
日本語を含む入力データファイルの文字コードはUTF-8(BOMなし)です。
ただし、タイトルに日本語が含まれると計算時のコンソールのタイトル行が文字化けしますが、 ost.logと図形表示には日本語が正しく表示されます。 (コンソールはShift-JISのみをサポートするため)
Version 3.Xまでの日本語を含む入力データファイルの文字コードはShift-JISです。 メモ帳等で読み込んでUTF-8(BOMなし)で保存したのち使用するか、 [全般]タブで再度日本語で入力してください。

4.1.5 メッシュタブ

[メッシュ]タブではXYZ方向のメッシュデータを入力します。(図4-1-3)
座標は小さい順に入力してください。座標値が空白であると以下のデータは無視されます。


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

4.1.6 物体形状タブ

[物体形状]タブでは物体の形状データを入力します。(図4-1-4)
左でデータを入力し、右の図でデータを確認してください。
右の図の扱い方は[ヘルプ]ボタンを参考にしてください。


図4-1-4 物体形状タブ

[ユニット番号]
左は形状単位(ユニット)ごとにページが変わる方式になっています。
現在のユニット番号が左上に表示され、これが編集の対象になります。

ユニット番号を変更する方法は以下の通りです。

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

[電極]/[誘電体]
ユニットの種類を[電極]と[誘電体]から選択してください。
[電極]のときは右のリストから電圧を選択してください。
[誘電体]のときは右のリストから比誘電率を選択してください。
それぞれのリストは[全般]タブで入力されたものです。

[形状]
[形状]を選択してください。[向き]が必要になるものもあります。 6個または8個の座標値を入力してください。
形状の種類については図4-1-5を参考にしてください。
[名前]は計算には不要ですがデータの管理に使用してください。

(重要)
複数のユニットの形状が重複したときは重複部ではユニット番号が大きい方の属性値が優先されます。 従って、例えば厚さのない電極を誘電体に貼り付けるときは誘電体を先に入力する必要があります。 逆にすると電極が消え、計算結果が大きく変わります。





図4-1-5 形状種類

4.1.7 計算

[全般]タブから[物体形状]タブまでのデータを入力した後、 [計算]ボタンをクリックすると計算が開始されます。 ウィンドウが開き、リスト4-1-1のように表示されます。 ここで入力データと計算結果を確認してください。


リスト4-1-1 標準出力
<<< OpenSTF (CPU+OpenMP) Ver.4.2.0 >>>	プログラムのタイトルとバージョン
CPU, thread=8, process=1, vector=off	CPU/GPU、スレッド数、プロセス数、計算モード
Tue Jun 18 20:04:09 2024		開始日時
Title = sample				タイトル
Cells = 50 x 50 x 50 = 125000		セル数 Nx x Ny x Nz = Nx * Ny * Nz
No. of voltages    = 2			電極電圧データの数
No. of dielecrics  = 1			比誘電率データの数
No. of geometries  = 2 + 1 = 3		電極データの数+誘電体データの数=物体形状の数
CPU memory size     = 1 [MB]		CPU使用メモリー
Output file size    = 1 [MB]		出力ファイルサイズ
Omega              = 1.95		緩和係数ω
Max iterations     = 1000		最大反復回数
Convergence = 0.0000100			収束判定条件
=== iteration start ===			反復計算開始
      step    residual			反復回数と残差
         0    0.0622017
        50    0.0075695
       100    0.0005702
       150    0.0000441
       178    0.0000100
  --- converged.			収束したことを表す
Volt#   Q[C]				電極電圧番号とそれに対応した総電荷
    1  -2.88731e-10
    2   2.88731e-10
Total energy [W] = 2.70594e-10		全静電エネルギー
=== output files ===
ost.log, ost.out			出力ファイル名
=== normal end ===			正常終了を表す
Tue Jun 18 20:04:09 2024		終了日時
=== cpu time [sec] ===			以下、計算時間の内訳
part-1 :      0.003			前処理、ファイル入力等
part-2 :      0.046			SOR法による連立一次方程式求解
part-3 :      0.004			後処理、ファイル出力等
---------------------
total  :      0.053			合計計算時間


4.1.8 ポスト処理タブ

[ポスト処理制御]タブでは図形出力の項目とそのパラメーターを入力します。


図4-1-6 ポスト処理制御タブ

[収束状況(2D)]
収束状況を図形出力します。

[線上分布図(2D)]
線上分布図を図形出力します。 複数設定することができます。上から順に左端をONにすると入力可能になります。
[成分]:成分を選択してください。
[線の向き]:線の向きを選択してください。線分の範囲は計算領域の端から端までです。
[線の位置]:[線の向き]がX/Y/ZのときそれぞれYZ/ZX/XY座標を入力してください。
[スケール]:単位とスケールを設定してください。
[1d.logに数値出力する]:図形出力したものを1d.logに数値出力します。

[面上分布図(2D+3D)]
面上分布図を図形出力します。 複数設定することができます。上から順に左端をONにすると入力可能になります。
[成分]:成分を選択してください。
[面の向き]:面の向きを選択してください。面の範囲は計算領域の端から端までです。
[面の位置]:一定のX座標/Y座標/Z座標を入力してください。
[スケール]:単位とスケールを設定してください。
[描画方法]:描画方法を選択してください。
[2Dプロット],[3Dプロット]:ONにすると2D図形出力または3D図形出力が行われます。
[電極を描く],[誘電体を描く]:ONにすると電極または誘電体の形状が重ね書きされます。
[2d.logに数値出力する]:図形出力したものを2d.logに数値出力します。
[一部拡大]:一部を拡大表示します。

4.1.9 計算設定メニュー

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


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

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

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

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

[MPI]
CPUで複数台で計算するときと、GPUで複数のグラフィックスボードで計算するときは、 [MPI]をONにして[ノード]、[ホスト名]、[プロセス数]を適当に設定してください。 詳しくは[MPIの使用方法]を参考にしてください。

●CPUの標準的な設定
1台のコンピュータの1個のCPUで計算するときは、 [CPU]をONにして[スレッド数]に物理コア数から論理コア数の間の値を代入してください。 [MPI]はOFFにしてください。

●1個のグラフィックスボードの標準的な設定
1台のコンピュータの1個のグラフィックスボードで計算するときは、 [GPU]をONにして[unified memory]をOFFにし[デバイス番号]を0にしてください。 [MPI]はOFFにしてください。

●複数個のグラフィックスボードの標準的な設定
1台のコンピュータの複数個のグラフィックスボードで計算するときは、 [GPU]をONにして[unified memory]をOFFにし[デバイス番号]を0にしてください。 [MPI]をONにしてノード1の[ホスト名]を"localhost"のまま[プロセス数]にグラフィックスボードの個数を代入してください。 2以降のノードはOFFにしてください。

4.1.10 オプションメニュー

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


図4-1-8 オプションウィンドウ

4.1.11 数値出力メニュー

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