Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

[Rescale Hands-on] 実験計画法で複数ジョブを投入する方法

Last updated at Posted at 2016-07-05

実験計画法と書かれていますが、任意のパラメータスイープ機能と考えてもらって構いません。例えば、CSVのテンプレートをユーザが用意することで Taguchi Method (品質工学) のジョブも簡単に流すことが可能です。

  1. 事前準備
    ===================

この作業が面倒であれば以下のファイルをダウンロードし、"1. JOBの投入"に進んでください。

0.1 OpenFOAM-2.3.xのダウンロード

github 上にある OpenFOAM 2.3.x をローカルのPCにダウンロードします。

Kobito.fg0qaI.png

0.2 ファイルの追加/修正

0.2.1 使用するサンプル(airFoil2D)

計算に使用するサンプルのディレクトリーを開きます。
OpenFOAM-2.3.x-master/tutorials/incompressible/simpleFoam/airFoil2D

0.2.2 Inputファイルの構成

"airFoil2D/Allrun" は計算実行スクリプトです。今回はこの "Allrun" と "controlDict" を修正し、新規にシェルスクリプト replace の追加を行います。また必ず、下記構成になるようにファイルを追記/保存してください。

新規ファイル構成
airFoil2D
├── 0/
├── Allclean
├── Allrun (修正)
├── replace (追加)
├── constant/
└── system
    ├── controlDict (修正)
    ├── fvSchemes
    └── fvSolution

0.2.3 Allrunファイルの修正

シェルスクリプト "Allrun" を修正します。このリンク先と同じになるように "Allrun" ファイルを修正してください。'./replace' の行のみがオリジナルのAllrunから追記されています。

0.2.4 replaceファイルの作成

シェルスクリプト "replace" を新規作成します。このファイルの役目は、値がすでに入ったテンプレートから、数値を抜き出し、簡単な変換を行い、その値を "controlDict" に反映させることです。

  • このリンク先から "replace" のソースコードをコピペしてファイルをローカルPCに作成してください。
  • このファイルは、計算実行後、"Allrun" のスクリプトから呼び出されます。そのため必ず "airFoil2D/" のディレクトリ直下に保存してください。

0.2.5 controlDictファイルの作成

OpenFOAMのファイル controlDict を修正します。

このリンク先と同じになるようにファイルを修正してください。functions {~省略~} 部分がオリジナルから追記されています。

0.2.6 ファイルの相互関係

パラメータスイープに関する今回の動作シーケンスは下図の通りです。ここで "並列設定"
temlateはRescale自体が持っている機能です。
Kobito.lqJ6lI.png

0.3 計算モデルのzip化

修正/追記された Allrun replace 含め、airFoil2D を zip 化してください。

  1. JOBの投入
    ===============

1.1 Login to Rescale

Rescaleにログインします。

1.2 ジョブの作成

  1. 画面左上の黒い帯中にあるJOB投入をクリックします。
  2. ジョブ名を入力します。今回は、Hands-on_OpenFOAM-DOEと言う名前にしました。
  3. ジョブの種類として、実験計画法 を選択します。
  4. 計算フローを表すポンチ絵が基本の時から下図のように変化したことを確認します。
Kobito.xUh0QN.png

1.3 入力ファイルのアップロード

  1. 事前準備で作成したAirFoil2D.zip を ファイルをアップロードするを クリックしアップロードします。
  2. 完了したら画面右下の次へをクリックします。

1.4 並列設定

  1. 自分で変数を指定するを選択します。
  2. 変数の種類を選択で組み合わせを選択します。
  3. 変数を追加の項目を下記表に従い入力します。x_velocityが設定が終わったら追加ボタンを押して、変数一つ一つ設定していきます。
  4. 設定が終わったら、画面右下の次へをクリックします。
Kobito.10EaFz.png
項目 変数1 変数2
変数名 x_velocity y_velocity
最小 20 3
最大 30 6
刻み幅 1 1

1.5 テンプレートの設定

パラメータスイープ用テンプレートの作成

  1. U.inp_templateがローカルマシンにあることを確認します(ソースコード)

  2. テンプレートの画面に表示されている ファイルをアップロードをクリックし、先ほど作成した U.inp_template を Rescale へアップロードします

  3. アップロードが完了すると、ファイル名 を入力するテキストボックスが表示されます。以下のように入力します。

    ファイル名
    ./airFoil2D/0/U
    
  4. 全て完了したら画面右下の次へのボタンをクリックします。

Kobito.z4T9Sh.png

1.6 ソフトウェアの選択

アプリケーションの選択

  1. OpenFOAMを選択

  2. バージョン2.3.1を選択

  3. 実行コマンドとして下記を入力してください

    実行コマンド
    ./airFoil2D/Allrun
    
  4. 全て完了したら画面右下の次へのボタンをクリックします。

1.7 ハードウェアの選択

  1. インスタンスタイプを選択します。今回は "Nickel : Intel Xeon E5-2680 v2 (Ivy Bridge) " とします。
  2. ノードあたりのコア数として 2 を設定します。
  3. スロット(クラスタ数)として 4 を設定します。
  4. 完了したら、画面右下の 次へ をクリックしてください
Kobito.JfLOu3.png

1.8 ポストプロセッシング

  1. extract.py がローカルのマシンにあることを確認します(ソースコード)

  2. 下図のように、ファイルをアップロードする から "extract.py" を アップロードします。

  3. 下図のように、ポストプロセッシングコマンドを入力します。

    ポストプロセッシングコマンド
    python extract.py airFoil2D/log.simpleFoam Cd Cl
    
  4. 完了したら、画面右下の 次へ をクリックしてください

Kobito.kpryo2.png

1.9 計算の開始/確認

1.8.1 実行ボタンのクリック

ジョブの概要を確認し、問題なければ実行ボタンを押して計算を開始します。

Kobito.kXH35X.png

1.8.2 計算の進捗と標準出力内容の確認

画面が自動的に下記に切り替わります。

Kobito.jpP6AM.png

1.8.3 クラスタにログインして、状況を確認する時

下記赤枠にsshログインする方法が書かれているので、それをコピーして端末からログインできる。

Kobito.AzWnTa.png
  1. 結果確認
    ===========

2.1 値のソーティング

  1. 計算終了後、画面右 結果 のタブをクリックする
  2. ポスト処理で抽出したパラメータである Cd をクリックし、ソーティングする事ができる
Kobito.hXBL1d.png

2.2 Postで抽出したデータの可視化

例として表面図を使って可視化を行います。

  1. 画面右チャートのタブを選択する
  2. 表面図を選択する
  3. x, y, zに対して適当なパラメータを選択する
Kobito.hfzT2t.png
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?