OpenFOAM DOE チュートリアル

このチュートリアルでは、基本的な翼型を使用した Rescale のプラットフォームを紹介します。 実験計画法 (DOE) OpenFOAM で処理し、その後 ParaView で後処理を行います。

お困りの方は Rescale Support にご連絡ください。

ここでの解析では、対気速度と迎え角の範囲にわたって翼型の最適な揚抗比が計算されます。 このプロセスでは、このチュートリアルでは Rescale の後処理機能の一部を示し、並列プロセスを実行する方法を示します。

エアフォイル

後処理 可視化 結果の(ParaViewを使用)



演奏時間: チュートリアルは約 20 分、計算は 25 分未満です。 または、 Get Job Results 上記のリンクをクリックすると、OpenFOAM を使用した DOE 解析の完全なセットアップと結果を即座に確認できます。

課題: NACA 2412 翼型 (反りのある 12% 厚の翼型) の迎え角 (AoA) と対気速度の範囲に対する揚抗比を計算します。

  • 独立変数は次の外積です。 x_velocity & y_velocity
  • x_velocity: 20 ~ 30 メートル/秒 (1 刻み)
  • y_velocity: 3 ~ 6 メートル/秒 (1 刻み)
  • 出力は揚力対抗力比であり、これは抗力係数に対する揚力係数と等しくなります。

ワークフロー: このチュートリアルでは、44 変数パラメーター スイープ (DOE) を使用し、XNUMX 回の実行にわたって評価します。 このチュートリアルを実行する前に、Matlab スクリプトを使用して に含まれています。 .stl 特定の迎え角を持つ NACA 2412 翼型のファイル。 このチュートリアルのワークフローは、次の XNUMX つの部分で構成されます。

  • Rescale は、カスタマイズされたテンプレートを使用して風の環境設定を変更します。
  • OpenFOAM の simpleFoam は定常状態のソリューションを生成します。 このプロセスでは、自由流対気速度とメッシュ形状を使用して抗力係数と揚力係数が計算され、解析コードはこれを使用してメリット関数を評価します。

シミュレーションソフトウェアOpenFOAM

  • Rescale の使用を開始するには、にアクセスしてください。 platform.rescale.com アカウント情報を使用してログインします。 Rescale を使用するには、追加のソフトウェアをダウンロードしたり実装したりする必要はありません。 Rescale はブラウザベースなので、ワークステーションまたは自宅のコンピュータから分析に安全にアクセスできます。
  • プラットフォームのメイン画面で、 をクリックします。 画面の左上隅にあるボタン。 これにより、次の場所に移動します ページで見やすくするために変数を解析したりすることができます。
  • 最初のステップは、 Basic ドロップダウン メニューから選択します DOE.
  • 今はXNUMXつあります 完了するまでのステージ。

セットアップ: 入力ファイル

まず、ジョブに名前を付ける必要があります。 Rescale はすべてのジョブを保存するため、後で識別しやすい一意の名前を選択することをお勧めします。 (例: チュートリアル 1: OpenFOAM DOE)。 プロジェクトの名前を変更するには、ウィンドウの左上隅にある現在のジョブ名の横にある鉛筆をクリックします。

次にzipファイルをアップロードします airfoil2D_DOE.zip をクリックすると ファイルを選択してください 

このステップが完了すると、 入力ファイル 設定ページは以下のようになります。

セットアップ: 並列設定

並列プロセスを実装するには、 Parallel Settings ボタンをクリックして、分析に並列プロセスを追加します。 ここでは、分析のパラメーターを設定する XNUMX つのオプションがあります。 すべての情報を含む CSV ファイルをアップロードすることもできます ( )、または、   オプション。 このチュートリアルでは、   オプションを選択します。

次に、 Cross Product ラジオ ボタンを選択し、XNUMX つの変数を追加します。

最初の変数は次のようにする必要があります x_velocity、最小値は 20、最大値は 30、増分は 1 です。

XNUMX 番目の変数は次のようになります。 y_velocity、最小値は 3、最大値は 6、増分は 1 です。

完了したら、 Parallel Settings 画面は次のようになります。

セットアップ: テンプレート

に移動する テンプレート セットアップステージをクリックして、 テンプレート のアイコンをクリックします。

 テンプレートの指定 セクションでは、この分析を実行するために必要なファイルをアップロードできます。

テンプレートは、実行のたびに変更される入力ファイルです。 これらのテンプレートは、すでに割り当てられている変数、x 速度と y 速度を使用して、揚抗比を評価します。 分析のために、このジョブのテンプレートをアップロードします。 これを行うには、 ファイルを選択してください ボタンをクリックして、次のテンプレートをアップロードします。

U.inp_template

をセットする  処理されたファイル名 以下に送って下さい:

airfoil2D_DOE/0/U

あなたの テンプレート セットアップステージは次のようになります。

テンプレート

セットアップ: ソフトウェア設定

Next に移動するには ソフトウェアの設定 分析のセクション。 次に、分析に使用するソフトウェア モジュールを選択する必要があります。 下にスクロールするか、検索バーを使用してソフトウェアを検索できます。 このデモでは、下にスクロールして [OpenFOAM] をクリックします。

次、 設定する必要があります。

  • ドロップダウン セレクターを使用すると、ユーザーは OpenFOAM の優先バージョンを選択できます。
  • このチュートリアルで使用される入力ファイルは OpenFOAM バージョン 17.06 以降でテストされているため、そのオプションを選択してください。

次に、プロジェクトに分析実行コマンドを追加する必要があります。 これは、使用されている各ソフトウェア パッケージおよび各入力ファイルに固有のコマンドです。 この入力ファイルと OpenFOAM の実行コマンドを以下に示します。

cd airfoil2D_DOE./Allrun

これは、ローカル端末で使用するコマンドと同じである必要があります。

完了すると、 ソフトウェアの設定 ページは以下のようになります。

ソフトウェアの設定

セットアップ: ハードウェア設定

使用する分析コードを選択したので、次のステップは、ジョブに必要なコンピューティング ハードウェアを選択することです。 クリックしてください ハードウェアの設定 のアイコンをクリックします。

  • このページでは、希望するものを選択する必要があります 基本 このジョブに使用するコアを入力し、その数を入力します。 「コア」は仮想化されたコンピューティング ユニットであり、各コアは物理コンピューターの単一のコアを表します。 このデモでは、次を選択します エメラルド.
  •   コア数/スロット この DOE ジョブの各子実行を単一のコアで実行したいため、 を 1 に設定する必要があります。
  •   タスクスロット数: DOE タスクの並列実行が何回行われるかを表します。 この場合、選択してください タスクスロット数: 1になります。

あなたの ハードウェア設定 画面は次のようになります。

セットアップ: 後処理

に移動する ポスト処理 画面をクリックして、 ポスト処理 アイコン。 このデモでは、分析を視覚化するためにいくつかの後処理を追加します。 クリックしてください ファイルを選択してください ボタンをクリックしてファイルをアップロードします extract.py 先ほどダウンロードしたファイル。

後処理スクリプトの実行に必要なコマンドも入力する必要があります。 この分析のために、次のコマンドを追加します。

python extract.py airfoil2D_DOE/log.simpleFoam Cd Cl

この後処理スクリプトは毎回の実行の最後に実行され、OpenFOAM 出力ファイルから揚力係数と抗力係数を抽出します。 後処理スクリプトの操作に関する詳細情報が利用可能です。 こちらをご覧ください。

あなたの完成 ポスト処理 画面は次のようになります。

セットアップ: レビュー

最後に、に移動します レビュー の段階   を確認して、設定が正しいことを確認してください。 DOE の仕事の概要 テーブル。 以下のようになります。

レビュー

これで、ジョブの進行状況を監視できるようになりました。 Status: タブ。 ジョブを実行するには、Rescale が 定義どおりにシミュレーションを実行し、完了したらすぐにクラスターをシャットダウンします。 プロセス全体は完全に自動化されており安全であり、ユーザーによる追加の入力は必要ありません。 分析全体には XNUMX 分もかかりません。

分析の実行中、Rescale の機能を使用してリアルタイムで進行状況を追跡することができます。 ライブ尾行 特徴。 ライブ テーリングを使用すると、個々の実行を選択し、実行中のコードを確認して、分析が正しく実行されているかどうかを評価できます。

ライブ テーリングを使用するには、マウスを下に移動します。 Live Tailing セクションでアクティブな実行をクリックします。 Active Runs リスト。 アクティブな実行を選択すると、5000 番目のボックスにファイルのリストが表示されます。 これらのファイルのいずれかを選択すると、そのファイルが実行している内容のリアルタイム レンダリングが表示されます。 同時に最大 XNUMX 行を表示でき、 Refresh 分析の最新のアクティビティが提供されます。

  Status: ライブ テーリングのあるウィンドウは次のようになります。

Live Tailing

  結果 タブには、ジョブに関連付けられたすべての結果ファイルが表示されます。 一部の分析では多数の出力ファイルが生成されるため、Rescale では、必要に応じてすべてのファイルを同時にダウンロードするか個別にダウンロードするオプションが提供されます。

個々の実行が完了すると、結果がこのページに表示されます。 クリック 結果を更新 完了した結果をすべて表示し、 をクリックします。 Download をクリックしてファイルをダウンロードします。 クリックすると、 Download 前 Status: ページショー クラスターが停止しました セクションに ジョブログ セクションにある場合は、一部の実行のみのデータを含む zip ファイルをダウンロードできます。

これがのスクリーンショットです 結果 ジョブの実行中にページを表示します。 個々の実行の情報は、実行が完了するとテーブルに追加されます。

結果

さらに、Rescale には、ユーザーがデータをダウンロードする前にこのデータをグラフで表示する機能があります。 の チャート タブをクリックすると、分析の結果得られたデータがグラフィカルに表示されます。 変数のさまざまな構成を試して、データがどのように見えるかを把握することができます。

チャートの例を以下に示します。

チャート

リスケール 「実験計画法」 (DOE) ジョブ タイプでは、次のオプションを使用して実行と変数を指定できます。

  • 実行定義ファイル (CSV) を使用する: 各行はケースです。実行または チャイルドラン
  • : 変数の範囲はブラウザで指定されます

これらの各オプションは、指定した変数を DOE の各実行への入力として使用するために変換する方法に柔軟性をもたらします。 これは、テンプレート変数の書式設定によって行われます。

テンプレート ファイルには、実行時にそれぞれに適用される値で置換される変数への参照が含まれています。 チャイルドラン。 テンプレート ファイル内の変数 (「x」など) の基本的なプレースホルダーは次のようになります。

${x}

この構文を使用して CSV ファイルで変数を指定すると、プレースホルダーは変更を加えずに CSV の値に置き換えられます。 これは、使用しているシミュレーション コードに固定幅のテキスト入力ファイルがある場合に便利です。 これは、その場合に特有のファイルに数値以外のデータを含めたい場合にも便利です。 たとえば、各ケースの説明をコメントとして入力ファイルに含めることができます。これは、そのケースに自動的に割り当てられる識別子よりも意味がある場合があります。 CSV が次のようになった場合:

description, v, zcase 1a, 2.2, 3.4case 1b, 2.3, 3.4case 2a, 3.1, 3.2

入力ファイルのテンプレートは次のようになります。

# ${description} vel: ${v}z: ${z}

最初のケースで処理されたテンプレートは次のようになります。

# ケース1a vel: 2.2z: 3.4

CSV での変数の指定方法やブラウザでの指定方法に関係なく、ファイル内で特定の一貫した数値形式を使用したい場合があります。 この状況では、数字に「0」または「#」を使用して追加のフォーマット命令を指定できます。「#」記号が使用されている場合、末尾のゼロはありません。 ここではいくつかの例を示します。

x$ {x?string(“ 0”)}$ {x?string(“ 0.0”)}${x?string(“0.00##”)}
0.910.90.90
1.4911.51.49
-55.123-55-55.1-55.123
981098109810.09810.00

書式設定文字列の小数点以下の桁数が値よりも少ない場合、値はそれに応じて丸められることに注意してください。 科学的表記法は次のように使用できます。

x${x?string(“0E0”)}${x?string(“000E00”)}${x?string(“0.0## E0”)}
0.99E-190E-029.0E-1
1.491E015E-011.49E0
-55.123-6E1-55E00-5.512E1
98101E498E029.81E3