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

前提条件

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

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

HyperMeshデータベース(.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です。

HyperMeshモデルデータベースを開く

  1. HyperMeshを起動し、AcuSolveのユーザープロファイルを読み込みます。
    User ProfilesからAcuSolveを選択する方法については、HyperMeshの入門チュートリアルACU-T:1000 HyperWorksユーザーインターフェースをご参照ください。
  2. 標準ツールバーのOpen Modelアイコン をクリックします。
    Open Modelダイアログが開きます。
  3. モデルファイルの保存先ディレクトリを参照します。HyperMeshファイルACU-T4002_SloshingTank.hmを選択してOpenをクリックします。
  4. File > Save Asをクリックします。
    Save Model Asダイアログが開きます。
  5. 名前をTankSloshingとして新しいディレクトリを作成し、このディレクトリへ移動します。
    このディレクトリが作業ディレクトリになり、シミュレーションに関連するすべてのファイルがこの場所に保存されます。
  6. データベースのファイル名としてTankSloshingと入力するか、都合のいい名前を選択して入力します。
  7. 保存をクリックしてデータベースを作成します。

一般的なシミュレーションパラメータの設定

解析パラメータの設定

  1. Solverブラウザ01.Globalを展開してPROBLEM_DESCRIPTIONをクリックします。
  2. Analysis typeをTransientに変更します。
  3. Multiphase equationをLevel Setに設定します。


    図 2.
  4. Solverブラウザ01.Globalの下の02.SOLVER_SETTINGSをクリックします。
  5. Max time stepsを0に設定し、Enterキーを押します。
  6. Final timeを4.0 secに設定します。
  7. Initial time incrementを0.006secに設定します。
  8. Max stagger iterationsを2に変更し、Enterキーを押します。
  9. Max stagger iterationsを6に変更し、Enterキーを押します。
  10. Relaxation factorを0.0に変更します。
  11. FlowおよびFieldオプションがOnになっていることを確認します。


    図 3.

節点出力の定義

  1. Solverブラウザで、17.Outputを展開してNODAL_OUTPUTをクリックします。
  2. Time step frequencyを10に設定します。
  3. Output initial condition欄をOnにします。

多相モデルの作成および物体力の設定

多相材料モデルの作成

  1. Solverブラウザ02.Materialsを拡張し、MULTIPHASEを右クリックしてCreateを選択します。
  2. モデルの名前としてAir-Waterと入力します。
  3. エンティティエディターのFieldsタブで、Field Interaction TypeがLevel Setに設定されていることを確認します。
  4. Field 1 MaterialとしてAir_HMを選択します。
  5. Field 1 NameとしてAirと入力します。
  6. Field 2 MaterialとしてWater_HMを選択します。
  7. Field 2 NameとしてWaterと入力します。


    図 4.

物体力の設定

  1. Solverブラウザ03.Body_Forceを拡張表示し、ボリュームグループBODY_FORCEを拡張表示してGravity_HMをクリックします。
  2. エンティティエディターのGravityタブで、Gravity typeをUser Functionに変更します。
  3. User function nameをusrGravityに設定します。
  4. Number of user valuesを3に設定します。


    図 5.
  5. Data: User values欄のテーブルアイコンをクリックします。
    Number of user valuesダイアログが開きます。
  6. 3つの値として(-0.06, 1.74, 0)を入力し、Closeをクリックします。


    図 6.
  7. C言語の形式のUDF(gravity.c)がチュートリアルに付属しています。次の手順に従って、このプログラムをコンパイルする必要があります。
    Windowsの場合:
    1. WindowsのスタートメニューからStart > All Programs > Altair HyperWorks <version> > AcuSolve Cmd PromptをクリックしてAcuSolveコマンドプロンプトを起動します。
    2. cdコマンドを使用して、ディレクトリを現在の作業ディレクトリに変更します。
    3. コマンドacuMakeDll -src gravity.cを入力してEnterキーを押します。
    Linuxの場合:
    1. ターミナルでcdコマンドを使用して、ディレクトリを現在の作業ディレクトリに変更します。
    2. コマンドacuMakeLib -src gravity.cを入力してEnterキーを押します。
    このコマンドにより、UDFを使用するのに必要なファイル一式が作成されます。

境界条件と節点初期状態の設定

境界条件の設定

デフォルトでは、すべてのコンポーネントは壁境界条件に割り当てられます。この手順では、それを適切な境界条件に変更し、流体ボリュームに材料特性を割り当てます。
  1. Solverブラウザで、12.Surfaces > WALLを展開します。
  2. Fluidをクリックします。エンティティエディターで以下を設定します。
    1. TypeをMULTIPHASEに変更します。
    2. MaterialとしてAir-Waterを選択します。
    3. Body forceにGravity_HMを選択します。


    図 7.
  3. Wallをクリックします。エンティティエディターで、TypeがWALLに設定されていることを確認します。


    図 8.
  4. FrontRearコンポーネントタイプをSLIPに変更します。


    図 9.

節点セットの作成

  1. Modelブラウザに移動し、ブラウザ領域の空白部分を右クリックしてCreate > Setの順に選択します。
  2. エンティティエディターで、セット名をWater_Columnに変更します。

節点初期状態の定義

  1. Solverブラウザ01.Globalを展開して03.NODAL_INITIAL_CONDITIONをクリックします。
  2. エンティティエディターのFieldタブで、TypeをNodal Valuesに設定します。
  3. Multiphase FieldをWaterに設定します。
  4. Select nodes byオプションをNode Setに設定します。
  5. Node Set Countが1に設定された状態で、Node SetとしてWater_Columnを選択します。
  6. Initial Volume Fractionを1.0に設定します。


    図 10.
  7. モデルを保存します。

節点セットへの節点の割り当て

  1. Modelブラウザに移動し、ブラウザ領域の空白部分を右クリックしてCreate > Blockの順に選択します。
  2. エンティティエディターで、ブロック名をWater_Columnに変更します。
  3. Min coordinatesを(0, 0, 0)、Max coordinatesを(1.2, 0.12, 0.1)にそれぞれ設定します。
  4. ModelブラウザSets > Water_Columnをクリックします。エンティティエディターのEntity IDs欄でNodesコレクターをクリックします。
  5. パネル領域で、nodesコレクターをクリックしてby blockオプションを選択します。
  6. Water_Columnブロックをオンに切り替えてselectをクリックします。
    グラフィックス領域で、Water columnブロックのすべての節点が強調表示されます。


    図 11.
  7. proceedをクリックします。
  8. オプション: Water_Columnブロックの表示をオフにします。
  9. モデルを保存します。

基準圧力の割り当て

  1. Solverブラウザ15.Nodal_Boundary_Conditionを右クリックしてCreateを選択します。
  2. 名前をFixed Pressure Nodeに変更します。
  3. DefinitionをNodesに変更します。
  4. Number of Nodesを1に設定します。
  5. Nodeコレクターをクリックして、グラフィックスウィンドウでFluidボリューム上の節点を選択します。
  6. パネル領域proceedをクリックします。
  7. Boundary condition variableをPressureに変更します。


    図 12.
  8. モデルを保存します。

解析計算

この手順では、HyperMeshからAcuSolveを直接起動して解析を完了します。

AcuSolveの実行

  1. すべてのメッシュコンポーネントの表示をオンにします。
    解析を実行するには、アクティブなすべてのコンポーネントのメッシュを可視化した状態にする必要があります。
  2. ACUツールバーの をクリックします。
    Solver job Launcherダイアログが開きます。
  3. オプション: 解析時間を短縮するには、使用可能なプロセッサの数に応じて、使用するプロセッサの数に大きい値(4または8)を設定します。
  4. Output time stepsはAllまたはFinalに設定できます。ここでは過渡解析を扱っているのでAllに設定します。
  5. 他のオプションはデフォルト設定のままにし、Launchをクリックして解析プロセスを開始します。


    図 13.

HyperViewによる結果のポスト処理

解析が収束した後、AcuProbeウィンドウとAcuTailウィンドウを閉じます。HyperMeshウィンドウに移動し、AcuSolve Controlタブを閉じます。

HyperViewのオープンとモデルおよび結果の読み込み

  1. HyperMeshのメインメニュー領域で、Applications > HyperViewを順にクリックします。
    HyperViewウィンドウを読み込むと、デフォルトでLoad model and resultsパネルが開きます。このパネルが表示されない場合は、File > Open > Modelの順にクリックします。
  2. Load model and resultsパネルで、Load modelの隣にある をクリックします。
  3. Load Model Fileダイアログで、作業ディレクトリに移動して、ポスト処理する解析実行のAcuSolve .Logファイルを選択します。この例で選択するファイルは、TankSloshing.1.Logです。
  4. Openをクリックします。
  5. パネル領域Applyをクリックしてモデルと結果を読み込みます。
    読み込むと、モデルが形状で色分けされます。

水流アニメーションの作成

この手順では、入口から注入される水流のアニメーションを作成します。

  1. Standard Viewsツールバーの をクリックすることで、xy平面を正面から見た表示にします。
  2. ResultsツールバーでをクリックしてContourパネルを開きます。
  3. 結果タイプとしてVolume_fraction-2-Water (s)を選択します。
  4. Applyをクリックして、最初の時間ステップにおける体積分率コンターを表示します。
  5. Legendタブをクリックし、Edit Legendをクリックします。
  6. Edit Legendダイアログで、Number of levelsを2、Numeric formatをFixedにそれぞれ変更します。
  7. AnimationツールバーでAnimation Controlsアイコン をクリックします。
  8. Max frame Rateスライダーを5fpsまでドラッグします。
  9. Start/Pause Animationアイコン をクリックして、グラフィックス領域でアニメーションを再生します。


図 14.

アニメーションの保存

  1. メニュー領域でPreferences > Export Settings > AVIを選択します。
  2. Export Settings AVIダイアログで、Frame rateを5fpsに設定してOKをクリックします。
  3. ImageCaptureツールバーでSave Image to Fileオプションがオンであることを確認します。


  4. Capture Graphics Area Videoアイコン をクリックします。
    Save Graphics Area Video Asダイアログが開きます。
  5. ファイルの保存先とする場所に移動し、任意のファイル名を指定してSaveをクリックします。

要約

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