Helyx-OS を使ってみる2014年1月25日 | |
はじめにHelyx-OS は Engys 社が開発・販売している OpenFOAM ベースの統合 CFD ツール Helyx のオープンソース版である。簡単にいうと OpenFOAM 用 GUI ツール。ここではこの Helyx-OS を使ってみる。 使用バージョンHelyx-OS 2.0.0, OpenFOAM 2.2.2, Linux Mint 15 インストールここ からパッケージをダウンロードする。 パッケージに実行権限を設定。 $ chmod +x 20131121-Engys-HELYX-OS-2.0.0--linux-x86_64-FULL.bin パッケージを実行。 $ ./20131121-Engys-HELYX-OS-2.0.0--linux-x86_64-FULL.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.0.0/:$PATH シェルを起動しなおし、以下で Helyx-OS が起動するのを確認する。 $ HELYX-OS.sh エラーが出る。 Exception in thread "main" com.google.inject.ConfigurationException: Guice configuration errors: 1) No implementation for eu.engys.util.plaf.ILookAndFeel was bound. while locating eu.engys.util.plaf.ILookAndFeel 1 error at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1004) at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:961) at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013) at eu.engys.launcher.Launcher.main(Launcher.java:63) Exit code: 1 Error. エラー: メイン・クラスeu.engys.core.CollectInfoが見つからなかったかロードできませんでした こちらの記事 に従って、インストール先の Engys/HELYX-OS/v2.0.0/HELYX-OS.sh に以下の設定を追加。 LANG="en_US.UTF-8" もう一度起動。 $ HELYX-OS.sh 起動するはず。 Helyx-OS を使ってみるSTL ファイルの用意ParaView で簡単な STL ファイルを用意する。 Sources で 3D Text を用意する。ここではテキストを "PENGUIN" とする。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 & Run] タブに切り替える。 ![]() まず、"Run Options" で "Solver" にソルバーが設定されているかチェックする。"Solution Modelling" の設定をいろいろ変えてソルバーが変わるのを確認する。ここでは "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
![]() 計算を実行する。"Run Options" で "Start" ボタンを押す。 ウインドウが開いてメッセージが流れる。終わるまで待つ。 ログファイルはケースディレクトリの log ディレクトリ内に "simpleFoam.log" という名前で保存される (これは "Run" の "Log File" に設定された名前)。 十分に収束していなければ、"Runtime Controls" の "Time Settings" で "Start From" に "LatestTime" を設定、"End Time" を増やして計算を継続する。問題なければポスト処理に移る。 ポスト処理は ParaView で行う。 ![]() | |
| PENGUINITIS | |