Helyx-OS を使ってみる

2015年1月28日

はじめに

Helyx-OS は Engys 社が開発・販売している OpenFOAM ベースの統合 CFD ツール Helyx のオープンソース版である。簡単にいうと OpenFOAM 用 GUI ツール。ここではこの Helyx-OS を使ってみる。

使用バージョン

Helyx-OS 2.2.0, OpenFOAM 2.3.1, Ubuntu 12.04 LTS

インストール

ここ からパッケージをダウンロードする。

パッケージを実行。

$ sh HELYX-OS-2.2.0-linux-x86_64.bin

いくつか質問に答える。

This program will install HELYX-OS on your system. Do you want to continue?
1) Yes
2) No
#? 

1 を入力する。ライセンスが表示されるので、スクロールする。

Do you accept the terms of agreement?
1) Agree
2) Exit
#? 

1 を入力。

Select components to install
1) HELYX-OS-GUI
2) HELYX-OS-GUI and Kernel
#? 

1 でよい。2 は OpenFOAM も入れてくれるみたい。

Select destination folder for HELYX-OS GUI:

インストール先のパスを入力。

~/.bashrc にパスの設定を追加。

export PATH=~/opt/Engys/HELYX-OS/v2.2.0/:$PATH

シェルを起動しなおし、以下で Helyx-OS が起動するのを確認する。

$ HELYX-OS.sh

OpenFOAM と ParaView のパスを設定する。メニュー[Edit]-[Preferences] で以下のパスを選択する。

Core Folder: $HOME/OpenFOAM/OpenFOAM-2.3.1
ParaView Executable: /opt/paraviewopenfoam410/bin/paraview

※たぶん Core Folder は "/opt/openfoam230" でも OK。

Helyx-OS を使ってみる

※画面はバージョン 2.0.1 のものです。

STL ファイルの用意

ParaView で簡単な STL ファイルを用意する。

Sources で 3D Text を用意する。ここではテキストを "TEST" とする。Filters で Linear Extrusion と Triangulate を適用。メニュー [File]-[Save Data] で STL ファイルを ASCII 形式で保存。

メッシュの作成

適当な作業ディレクトリに移動し、Helyx-OS を起動する。

$ HELYX-OS.sh &

[New] を選択。"Case Name" に適当な名前を設定、"Parent Folder" には作業ディレクトリを選択。

ケースディレクトリが作成される。メッセージウインドウが出て、勝手に消える。

"Geometry" の "STL" で作成した STL ファイルを指定。

"Base Mesh" で "Base Mesh Type" に "User Defined" を選び、領域をモデルを囲むように設定する。ここでは以下のように設定。

Min: -1.0 -1.0 -0.5
Max:  8.0  2.0  1.5
Number of Elements: 50 50 20

"Material Point" で内部点を設定する。

メッシュを作成する。"Mesh" の "Create" ボタンを押す。

ウインドウが開き、メッセージが流れる。最後に "End" が出てきたら終わり。

一応 ParaView でメッシュをチェック。

$ cd penguin
$ paraview --data=penguin.foam

問題があったらやり直す。問題なければ、次に進む。

ケースの設定

[Case Setup] タブに切り替える。

まず、([Solver] タブの) "Run Options" で "Solver" にソルバーが設定されているかチェックする。([Case Setup] タブの) "Solution Modelling" の設定をいろいろ変えてソルバーが変わるのを確認する (変更確認ダイアログが出るので、"OK" する)。ここでは "Steady"、"Incompressible" を ON、"Energy" を OFF にする。ソルバーに simpleFoam が選ばれているのを確認する。

"Boundary Conditions" で境界条件を設定。ffminx (入口), ffmaxx (出口) を以下のように設定。

ffminx
  Patch Type: Patch
  Momentum
    Velocity
      Type: Fixed Value
      Velocity: 1 0 0
    Pressure
      Type: Zero Gradient
  Turbulence
    Type: By Turb. Intensity And Mixing Length
    Turbulence Intensity: 0.05
    Mixing Length: 0.168

ffmaxx
  Patch Type: Patch
  Momentum
    Velocity
      Type: Zero Gradient
    Pressure
      Type: Fixed Value
      Pressure: 0
  Turbulence
    Type: Zero Gradient

"Runtime Controls" を以下のように設定。

Time Settings
  End Time: 1000

Data Writing
  Write Control
    Time Step, 100

計算を実行する。[Solver] タブの "Run Options" で "Start" ボタンを押す。

残差グラフが表示される。終わるまで待つ。

十分に収束していなければ、"Runtime Controls" の "Time Settings" で "Start From" に "LatestTime" を設定、"End Time" を増やして計算を継続する。問題なければポスト処理に移る。

ポスト処理は ParaView で行う。ParaView ボタンで起動できる。

古い