ACU-T:4200 タンク内の水のスロッシング

前提条件

このチュートリアルでは、四角形タンク内部での二相流の過渡シミュレーションを、レベルセットモデルを使用して実行する手順を説明します。このチュートリアルを開始する前に、HyperWorks 入門チュートリアルである ACU-T:1000 HyperWorksユーザーインターフェースをすでに完了しHyperWorks CFDAcuSolveの基本を理解しているものとします。このシミュレーションを実行するには、ライセンス供与済みバージョンのHyperWorks CFDおよびAcuSolveにアクセスできる必要があります。

このチュートリアルを実行する前に、ここをクリックしてチュートリアルモデルをダウンロードしてください。 ACU-T4002_TankSloshing.hm およびbodyForce.c をHyperWorksCFD_tutorial_inputs.zipから抽出します。

HyperWorks CFDデータベース(.hmファイル)には、メッシュ済みのジオメトリが含まれているため、このチュートリアルには、ジオメトリのインポートとメッシュ生成に関する手順は含まれません。

問題の説明

ここで解析する問題を以下の図に示します。この問題には部分的に水が満たされたタンクがあり、この水に対して、t=0の時点から正弦波状に大きさが変化する物体力がx方向に印可され、一定の重力がy方向に印可されます。



図 1.

このx方向の物体力は次の式で記述できます。

A ω 2 sin ( ω t + φ ) MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamyqaiabeM 8a3naaCaaaleqabaGaaGOmaaaakiGacohacaGGPbGaaiOBamaabmaa baGaeqyYdCNaamiDaiabgUcaRiabeA8aQbGaayjkaiaawMcaaaaa@4342@
ここで、
  • Α:振動の振幅で、ここでは-0.06mです。
  • ω:振動の周波数 2 π T MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaaSaaaeaaca aIYaGaeqiWdahabaGaamivaaaaaaa@3958@ で、ここでは3.6 rad/secです。
  • T:振動の周期で、ここでは1.74秒です。
  • φ:位相差で、ここでは0です。

HyperWorks CFDの起動とHyperMeshデータベースのオープン

  1. WindowsのスタートメニューからStart > Altair <version> > HyperWorks CFDをクリックしてHyperWorks CFDを起動します。
  2. HomeツールのFilesツールグループからOpen Modelツールをクリックします。


    図 2.
    Open Fileダイアログが開きます。
  3. モデルファイルの保存先ディレクトリを参照します。HyperMeshファイルのACU-T4002_TankSloshing.hmを選択してOpenをクリックします。
  4. File > Save Asをクリックします。
  5. 名前をTank_Sloshingとして新しいディレクトリを作成し、このディレクトリへ移動します。
    このディレクトリが作業ディレクトリになり、シミュレーションに関連するすべてのファイルがこの場所に保存されます。
  6. データベースのファイル名としてtank_sloshingと入力するか、都合のいい名前を選択して入力します。
  7. 保存をクリックしてデータベースを作成します。

形状の検証

Validateツールは、モデル全体をスキャンし、サーフェスおよびソリッド上でチェックを実行して、形状に不具合(フリーエッジ、閉じたシェル、交差、重複、スライバーなど)があればフラグ付けします。

シミュレーションの物理パートに集中するために、このチュートリアルの入力ファイルにはすでに検証済みの形状が含まれています。ジオメトリリボンのValidateアイコンの左上隅に青色のチェックマークが表示されていることを確認します。これは、形状が有効で、フロー設定に進めることを示しています。


図 3.

問題の設定

シミュレーションパラメーターとソルバーの設定

  1. Flowリボンから Physicsツールをクリックします。


    図 4.
    Setupダイアログが開きます。
  2. Physics modelsの設定で
    1. Multiphase flowラジオボタンを選択します。
    2. Multifluid typeをImmiscibleに、Immiscible materialをAir-Waterに設定します。
    3. Time step sizeを0.006に設定し、Final timeを4.0に設定します。
    4. Turbulence modelにLaminarを選択します。
    5. y方向のgravityを-9.81 m/sec2に設定します。
    6. Pressure scaleにAbsoluteを選択します。


    図 5.
  3. Solver Controls設定をクリックします。
    1. Minimum stagger iterationsを2に設定します。
    2. Maximum stagger iterationsを6に設定します。


    図 6.
  4. ダイアログを閉じてモデルを保存します。

材料プロパティの割り当て

  1. Flowリボンから Materialツールをクリックします。


    図 7.
  2. Materialsの凡例でAir-Waterが割り当てられているかを確認します。
  3. ガイドバーをクリックします。

物体力の設定

  1. FlowリボンからSources > Momentumツールをクリックします。


    図 8.
  2. ソリッドボディを選択します。
  3. マイクロダイアログで、TypeをUser Functionに変更します。
  4. をクリックし、以下の値を入力します。


    図 9.

    これらの値は、振動の振幅 = -0.06m、振動の周期 = 1.74秒、位相差 = 0に対応するものです。

  5. Momentum Sourceの凡例で、MomentumをダブルクリックしてbodyForceという名前に変更し、Enterを押します。
    注: 上で指定した値は、問題の説明の項で説明したものです。ユーザー値は上と同じ順序で指定する必要があります。これは、これらの値が渡されるUDFスクリプトでは、これらの値をこの特定の順序で参照するためです。
  6. ガイドバーで、をクリックしてコマンドを実行し、ツールを終了します。

物体力UDFのコンパイル

C言語の形式のUDF(bodyForce.c)がチュートリアルに付属しています。次の手順に従って、このプログラムをコンパイルする必要があります。
  • Windowsの場合:
    1. WindowsのスタートメニューからStart > Altair <version> > AcuSolve Cmd PromptをクリックしてAcuSolveコマンドプロンプトを起動します。
    2. cdコマンドを使用して、ディレクトリを現在の作業ディレクトリに変更します。
    3. 次のコマンドを入力してEnterキーを押します。

      acuMakeDll -src bodyForce.c

  • Linuxの場合:
    1. ターミナルでcdコマンドを使用して、ディレクトリを現在の作業ディレクトリに変更します。
    2. 次のコマンドを入力してEnterキーを押します。

      acuMakeLib -src bodyForce.c

このコマンドにより、UDFを使用するのに必要なファイル一式が作成されます。

流れ境界条件の定義

  1. Flowリボンから No Slipツールをクリックします。


    図 10.
  2. 下図で示す4つの面を選択します。


    図 11.
  3. ガイドバーをクリックします。
  4. Slipツールをクリックします。


    図 12.
  5. Z軸の正の方向の一番右側の面を選択します(下図参照)。


    図 13.
  6. Boundariesの凡例で、Slipをダブルクリックしてz_posという名前に変更します。
  7. ガイドバーをクリックすると、コマンドを実行し、ツール内に留まります。
  8. モデルを回転させて、反対側の面を選択します。
  9. Boundaries の凡例で、Slipの名前を z_negに変更します。
  10. ガイドバーをクリックします。
  11. データベースを保存します。

節点初期条件の定義

  1. Solutionリボンから Planeツールをクリックします。


    図 14.
  2. ソリッドボディを選択します。
  3. ガイドバーPlaneをクリックします。
  4. モデル上の任意のポイントをクリックして、平面を初期配置します。
  5. マイクロダイアログをクリックし、平面の軸をYに手動で設定します。


    図 15.
  6. をクリックして、座標値を(0.60, 0.12, 0.10)に設定します。


    図 16.
  7. Escキーを2回押します。
  8. をクリックして変数を追加し、リストからFluidを選択します。
  9. ValueがWaterに設定されていることを確認し、もう一度Escキーを押します。


    図 17.
  10. ガイドバーをクリックします。
  11. データベースを保存します。

節点出力の定義

  1. Solutionリボンから Fieldツールをクリックします。


    図 18.
    Field Outputダイアログが開きます。
  2. 下図に示すようにSolution variablesのパラメータを設定します。


    図 19.

AcuSolveの実行

  1. Solutionリボンから Runツールをクリックします。


    図 20.
    Launch AcuSolveダイアログが開きます。
  2. Parallel processingオプションをIntel MPIに設定します。
  3. オプション: プロセッサーの数を、環境に応じて4または8に設定します。
  4. Default initial conditionsタブを展開表示し、Pre-compute flowPre-compute turbulenceオプションをのチェックをオフにします。
  5. x velocityを0に設定します。
  6. 他のオプションはデフォルト設定のままにし、RunをクリックしてAcuSolveを起動します。


    図 21.
    Run Statusダイアログが開きます。解析が実行すると、ステータスが更新され、ダイアログが閉じます。
    ヒント: AcuSolve実行中、Run StatusダイアログでAcuSolveジョブを右クリックし、View Log Fileを選択することで、解析プロセスの状況を確認できます。

HW-CFD Postによる結果のポスト処理

  1. 解析の完了後、Postリボンに移動します。
  2. メニューバーFile > Open > Resultsをクリックします。
  3. 作業ディレクトリでAcuSolveログファイルを選択し、ポスト処理の結果を読み込みます。
    ソリッドとすべてのサーフェスがPostブラウザに読み込まれます。
  4. View Cube上のTopフェイスをクリックし、モデルを揃えます。


    図 22.
  5. Postブラウザで、z_pos境界を右クリックし、Editを選択します。
  6. 表示プロパティマイクロダイアログで、表示をvolume fraction waterに設定します。
  7. Legendのトグルスイッチをアクティブにし、をクリックして範囲を更新します。
  8. をクリックして、Colormap NameをRainbow Uniformに設定します。


    図 23.
  9. ガイドバーをクリックします。
  10. モデリングウィンドウの下部にあるをクリックし、流れのアニメーションを表示します。


    図 24.
  11. アニメーションを保存します。
    1. File > Screen Capture > Advanced Captureを選択します。
    2. ツールバーの をクリックします。
    3. Include mouse cursorのチェックをオフにします。
    4. frame rateを24に設定します。
    5. ツールバーのをクリックし、記録したい領域をドラッグオーバーします。
    6. をクリックして記録を開始します。記録を終了する場合も同じボタンを使用します。
    7. ファイルの名前を指定し、保存します。

要約

このチュートリアルでは、HyperWorks CFDAcuSolveを使用して、タンクの中でスロッシングする水を扱う過渡多相流問題を正しく設定し、解析する方法を知ることができました。また、レベルセット法を使用して多相流モデルを作成する方法と、ユーザー定義関数を指定して物体力を指定し、その関数をコンパイルする方法も理解しました。解析を計算した後、その結果をPost リボンを使用して、タンクの中でスロッシングする水のアニメーションを生成しました。