↑ページトップへ

HELYX-OS の使い方

HELYX-OS 1.0.0
注意:この記事は書かれてから非常に長い時間が経っています。HELYX-OSの最新状況に関してはEngys社のウェブページを参照してください。(2021年7月追記)

HELYXOSはオープンソースの流体解析ソルバーOpenFOAM用に開発されたオープンソースのGUIフロントエンドです。OpenFOAM®解析用ケース作成(メッシュ作成、条件設定)をGUIで行うことができます。2012年7月21日にバーション1.0.0が初めてリリースされました。ライセンスはGPLv2(GNU General Public Licenseバージョン2)、開発元はイギリスのEngys社です。

以下のSourceForgeプロジェクトページからLinux用実行ファイルとソースコードをダウンロード可能です。

SourceForge HELYXOS プロジェクトページ

HELYXOSのインストール

以下の手順でコンパイル済みのHelyxOSをインストールできます。なおOpenFOAMが既にインストールされ、コマンド操作にはbshellを使用するものとして説明します。

  1. HELYXOSプロジェクトページの"files"タブから最新の*linux-x64-JRE.tar.bz2ファイル(例:20120721-engys-HelyxOS-100-linux-x64-JRE.tar.bz2)をダウンロードし、ローカルのOpenFOAMディレクトリに置きます。

  2. 次のように入力してファイルを展開します。

    tar xvjf 20120721-engys-HelyxOS-100-linux-x64-JRE.tar.bz2
  3. 次のように入力してHelyxOSディレクトリに移動します。

    cd Engys/HelyxOS/v100
  4. 次のように入力してHelyx OS を起動します。

    ./helyxos.sh
  5. VTKライブラリのロードに失敗した場合、次のようなエラーがターミナルに表示されます。

    libmpi.so.0: cannot open shared object file: No such file or directory

    その場合、以下のように入力すると問題を解決できます。

    ln -s $MPI_ARCH_PATH/lib/libmpi.so $MPI_ARCH_PATH/lib/libmpi.so.0

    ただし64ビットOSの場合は以下のようにします。

    ln -s $MPI_ARCH_PATH/lib64/libmpi.so $MPI_ARCH_PATH/lib64/libmpi.so.0

HelyxOSを使用するとsnappyHexMeshによるメッシュ作成、ケースファイルの作成、HelyxOSのサポートするソルバーでの計算実行が可能になります。

HELYXOSのビルド

ビルドには以下のソフトウェアが必要です。

以下の手順でHelyxOSをビルドすることが可能です。

  1. javaとJDKが作業用のマシンにインストールされ、問題なく動作することを確認してください。下記のコマンドでjavaとJDKのインストール状況とバージョンを確認できます。

    java -version

    javac --version

  2. HELYXOSプロジェクトページの"files"タブから最新の*src.tar.bz2ファイル(例:20120721-engys-HelyxOS-100-src.tar.bz2)をダウンロードし、ローカルのOpenFOAMディレクトリに置きます。

  3. 次のように入力してファイルを展開します。
    tar xvjf 20120721-engys-HelyxOS-100-src.tar.bz2
  4. ビルドに必要なライブラリを用意するためにOpenFOAMディレクトリにコンパイル済みのHelyxOSをインストールします。方法についてはHELYXOSのインストールを参照してください。

  5. antを使用してコンパイルをおこないます。
    1. ant (>1.7) がインストールされていることを確認してください。下記のコマンドでantのインストール状況とバージョンを確認できます。

      ant -version
    2. 次のように入力してHelyxOSディレクトリに移動します。

      cd Engys/HelyxOS/v100
    3. build_src.xmlと同じディレクトリから次のように入力してantを実行します。

      ant -buildfile build_src.xml

      Ver1.0.0ではAboutWindow.javaで文字コードに由来するエラーが出るので以下のコマンドで文字コードを変更後、再度、antを実行します。

      nkf -w --overwrite src/eu/engys/helyx/gui/AboutWindow.java
  6. ビルドが成功するとlibディレクトリ内にHelyxOS_MOD.jarというファイルが作成されます。このファイルの名前をHelyxOS.jarと変更して以下のコマンドを実行すると変更済みのHelyxOSが実行できます。

    ./helyxos.sh

HELYXOS使用方法

  1. 起動

    インストール後、ターミナル上でEngys/HelyxOS/v100に移動し、以下のコマンドを入力するとHELYXOSが起動します。

    ./helyxos.sh
  2. 新しいケースの作成

    ツールバー左端のアイコンをクリックすると新しい解析ケースを作成することができるのでOpenFoamを起動できる適当な位置にケースを作成保存します。

  3. 表面領域の設定

    [Surface Regions]に移動し、[Import STL]からSTL形式の形状ファイル(サンプル)を読み込みます。正常に読み込めると下図のように形状が表示されます。


    ウィンドウ左側の[Surface]に表示されている下側の[Box]を選択した上で[Layer]タブをクリックし、以下のように入力します。

    Number of Layers3.0
    Relative Sizeチェック
    Final Layer Thickness0.3
    Layer Min Thickness0.2
    Layer Streching1.0
  4. 解析領域の設定

    [Base Mesh]に移動し、次のように入力して解析領域サイズとメッシュ分割数を定義します。

    Base Mesh TypeUser Defined
    xyz
    Min-3.0-3.00.0
    Max10.05.05.0
    Number of Elements1005040
  5. 体積領域の設定

    体積領域を設定する場合は[Volume Regions]に移動し、設定します。今回は特に設定は必要ありません。

  6. メッシュ作成

    [General Options]に移動し、以下のように設定します。ここで指定した点を含む閉空間にメッシュが作成されます。

    xyz
    Material Point-2.0-2.01.0

    設定後、[Create Mesh]をクリックするとメッシュ作成が開始されます。作成中は進捗状況がメッセージウィンドウが表示されます。正常に終了すると下図のようにメッセージが表示されます。

  7. 解析設定

    メッシュ作成が終わったら改めて解析ケースを読み込みます。ツールバー左から2つ目のアイコンをクリックして解析ケースを読み込みます。読み込み後、ツールバーのドロップダウンで[Wireframe]を選択してメッシュが作成されたことを確認します。

    ケースを読み込んだら[Solution Modeling]で次のように入力して設定を行います。

    TimeSteady
    FlowIncompressible
    Turbulance - modelStandard high-Re k-ε
    Energyチェックをはずす

    設定を行ったら[Run]に移動して下図のように[Solver]に[SimpleFoam]が設定されていることを確認してください。[SimpleFoam]が設定されていない場合、[Solution Modeling]の設定を何度か切り替えることで[SimpleFoam]を設定できます。

  8. 物性値の設定

    [Materials]に移動して流体の物性値を設定します。デフォルト設定の空気(air)が設定されていることを確認してください。今回は使用しませんが物性値データベースにはあらかじめ以下の物性値が登録されています。また独自の物性値を登録することも可能です。

    登録済み物性値
    Water
    liquidWater(Waterと同じ)
    waterVapor
    airStreamMixture
    air
    merculy
    oil
  9. 境界条件の設定

    [Boundary Conditions]に移動して境界条件を設定します。ウィンドウ左下にある[Patches]リストから面領域を選択すると該当する領域がドローウィンドウ上で白く表示されます。境界条件は以下のように設定してください。

    Nameffminx
    TypePatch
    Momentum - velocityFixed value & (5.0, 0.0, 0.0)
    Momentum - pressureZero Gradient
    Turbulence - TypeInlet outlet
    Turbulence - k(m2/s2)0.1
    Turbulence - NuTilda(m2/s)0.01
    Nameffmaxx
    TypePatch
    Momentum - velocityZero Gradient
    Momentum - pressureFixed value & 0.0
    Turbulence - TypeInlet outlet
    Turbulence - k(m2/s2)0.1
    Turbulence - NuTilda(m2/s)0.01
    Nameffminy & ffmaxy & ffmaxz
    TypeWall
    Momentum - TypeFixed Wall
    Momentum - Wall TypeSlip
    Nameffminz & Box_Box
    TypeWall
    Momentum - TypeFixed Wall
    Momentum - Wall TypeNo - Slip
  10. 体積領域の条件の設定

    体積領域がある場合は[Cell Zones]に移動して条件を設定します。今回は特に設定は必要ありません。

  11. 初期値の設定

    初期値を独自に設定する場合は[Field Initialization]に移動して初期値を設定します。今回は特に設定は必要ありません。

  12. 計算スキームの設定

    計算スキームを独自に設定する場合は[Numeriacl Schemes]に移動して設定します。今回は特に設定は必要ありません。

  13. ソルバーパラメーターの設定

    ソルバーパラメーターを独自に設定する場合は[Solver Setting]に移動して設定します。今回は特に設定は必要ありません。

  14. 実行時パラメーター・出力パラメーターの設定

    [Runtime Control]に移動して計算終了タイミング、結果出力タイミングを設定します。以下のように設定してください。

    Time Setting
    Start FromStart Time & 0.0
    End Time100
    Δt(s)1.0
    Adjustable Time Stepチェックを外す
    Data Writing
    Write ControlTime Step & 100
    Purge Write0
    Write FormatASCII
    Write Precision10
    Write CompressUncompressed
    Time FormatGeneral
    Time Precision6
    Graph FormatRaw
    Data Reading
    Runtime Modifiableチェックを外す
  15. 実行

    [Run]に移動して[Solver]に[SimpleFoam]が設定されていることを確認して[Run]をクリックすると計算が開始されます。

    計算中は進捗状況がメッセージウィンドウが表示されます。正常に終了すると下図のようにメッセージが表示されます。

  16. 結果の確認

    計算終了後、ターミナル上で解析ケースディレクトリにに移動し、以下のコマンドを入力するとParaViewが起動します。

    paraFoam

    ウィンドウ左側のツリーで[newCase.OpenFOAM]が選択されていることを確認して[Apply]をクリックすると結果データが読み込まれます。

    そのままツールバーの[Slice]をクリック、ウィンドウ左下に表示される[Properties]タブで[Y Normal]をクリックした後、[Apply]をクリックするとドローウィンドウにスライスが表示されます。

    ウィンドウ左下に表示される[Display]タブの[Color]欄にある[Color by]で[U]を選択します。そのごツールバーの[Time]で最終の計算結果(Time = 100)を選択するとスライス上に最終結果の速度コンターが描画されます。

    そのままツールバーで表示を[Wireframe]に切り替えるとスライス上のメッシュを確認できます。境界層要素が『3.表面領域の設定』で設定した通り3層挿入されていることがわかります。