ACU-T:5201 AcuSolveMotionSolveを使用したチェックバルブの連成シミュレーション

前提条件

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

このチュートリアルを実行する前に、ここをクリックしてチュートリアルモデルをダウンロードしてください。 ACU-T5201_pressureCheckValve.x_t また、Valve_model.xmlを次のファイルから抽出します:をHyperWorksCFD_tutorial_inputs.zipから抽出します。

問題の説明

このチュートリアルで扱う問題は、Figure 1で図式的に示されています。この問題は、仮想スプリング(形状には含まれていない)にシャッターが取り付けられたチェックバルブを通過して流れる水が含まれた円筒管で構成されています。入口圧力は時間とともに変化し、シャッターの動きは、スプリングの反力に対する流体力のバランスに応じて決まります。この問題は、長手方向の軸を中心とした30度ごとの回転周期性を持ち、生じる流れも回転周期性を持つことが想定されるため、くさび形の部分を使用したモデリングが可能になります。このチュートリアルでは、図に示すように30度分の形状をモデル化します。回転周期性を持つ形状の一部をモデル化することで、正確な解を維持しつつ、計算時間を短縮できます。


Figure 1. スプリング式シャッターがあるチェックバルブの図

管の入口直径は0.08mで、長さは0.3mです。チェックバルブのアセンブリは、入口の下流0.085mにあります。これは、中心に配置された直径0.044mの開口部と開口部から0.005m離れた初期位置にあるシャッターを備えた0.005m厚の薄板で構成されており、ほぼ閉じられた状態をシミュレートします。シャッター薄板の直径は0.05mで、厚みは0.005mです。シャッター薄板は、長さが0.03mで直径が0.01mのステムに接合されています。シャッターとステムの質量は0.2kgであり、その動きは剛性が2162N/mである仮想スプリングの影響を受けます。バルブシャッターの動きは、シャッターの下流にある穴あき薄板に取り付けられた止め具によって制限されます。

AcuSolveの内部剛体力学ソルバーは、接触をシミュレートできないことに留意してください。したがって、この問題はバルブと止め具との間の接触を避けるために定式化されます。

30度の部分として形状をモデル化するには、流体モデルが剛体モデルと一致するように設定される必要があります。剛体の1/12のみがモデル化されるため、AcuSolveによって計算されるバルブシャッターに作用する力は、装置にかかる実際の力の1/12に相当します。したがって、シミュレーションでもこの点を考慮に入れる必要があります。そのための方法は2つあります。
  1. 1つ目は、AcuSolveによって計算される流体力を12倍にすることです。これにより、ボディの変位が計算される際にデバイスにかかる全荷重が表されます。

    この方法を使用すると、バルブスプリングの全剛性が剛体解で使用され、バルブの全質量が使用されます。

  2. 2つ目は、バルブの質量とスプリングの剛性を12分の1に縮小して、モデル化されるバルブ形状の比率と一致させることです。

    この方法を使用した場合は、剛体ソルバーに渡される荷重はスケーリングされません。

このチュートリアルではこの2つ目の方法が使用されるため、縮小された質量0.0167kgと剛性180.1667N/mが使用されます。

この問題で扱う流体は水であり、密度 (ρ)は1000 kg/m3、分子粘性 (μ)は1.781X 10-3kg/m-secです。

シミュレーションの開始時には、流れ場は静止しています。流れは、Figure 2に示す区分線形関数として経時変化する入口圧力によって引き起こされます。入口圧力が上昇するにつれて、バルブが開くため流れは加速されます。乱流粘性率は10と想定されています。

初期の入口圧力は0Paです。0.002秒で圧力が増加し始め、0.05秒で29,000Paに達します。圧力は29,000Paで維持され、0.2秒から減少し始めて、0.25秒で初期圧力に達し、シミュレーションの残りについてはそのままの圧力が維持されます。


Figure 2. 入口の過渡圧力

前に行ったこの形状のシミュレーションでは、入口での平均速度が最大の0.98 m/sに達することが示されています。この速度では、流れのレイノルズ数は78,400となります。レイノルズ数が4,000より大きい場合は、一般に流れを乱流としてモデル化することができます。

流れの初期状態は実際には層流ですが、バルブシャッター周囲の流量と流速の増大によって、乱流状態への急速な変化が生じると予想されます。したがって、このシミュレーションは、過渡的な乱流をモデル化するように設定されます。非定常解析を実行する際は、定義済みのスタッガー基準に基づいて時間ステップごとに収束に達します。メッシュモーションは、任意のメッシュ移動(ALEメッシュモーション)を使用してモデル化されます。

このケースでは、対象となるこの過渡挙動は、過渡圧力プロファイルによって与えられている、圧力が上昇してから再び低下するのにかかる時間内に生じます。スプリングが元の状態に戻るための時間を見越して、追加の時間がシミュレートされます。このチュートリアルでは、圧力が降下して初期状態に戻った後に0.1秒が追加されるため、合計時間は0.35秒となります。

非定常解析において極めて重要なもう1つの決定事項は、時間増分の選択です。時間増分は、シミュレーションの指定された時間ステップにおける時間変化です。対象となる流動特性の変化を捕捉するのに十分な短さで、不要な計算時間がかからない時間増分を選択することが重要です。初期状態から最大値への入口圧力の変化は、0.048秒を超える時間にわたって発生します。時間増分が0.002秒の場合、過大な計算時間を必要とすることなく、優れた分解度でこの過渡変化を表すことができます。

HyperWorks CFDの起動とHyperMeshモデルデータベースの作成

  1. WindowsのスタートメニューからStart > Altair <version> > HyperWorks CFDをクリックしてHyperWorks CFDを起動します。
    HyperWorks CFDが読み込まれると、Geometryリボンが表示されます(デフォルト)。
  2. 以下の方法のいずれかで新規.hmデータベースを作成します。
    • メニューバーFile > Saveをクリックします。
    • HomeツールのFilesツールグループからSave Asツールをクリックします。


      Figure 3.
  3. Save File Asダイアログで、データベースを保存したいディレクトリを指定します。
  4. データベース名として CheckValve_Coupledを入力して、Saveをクリックします。
    このディレクトリが解析用ディレクトリになり、シミュレーションに関連するすべてのファイルがこの場所に保存されます。
  5. Valve_model.xmlファイルをこのディレクトリに移動します。

形状のインポート検証

形状のインポート

  1. メニューバーFile > Import > Geometry Modelをクリックします。
  2. Import Fileダイアログで、作業ディレクトリに移動し、ACU-T5201_pressureCheckValve.x_tを選択してOpenをクリックします。
  3. Geometry Import Optionsダイアログで、すべてのオプションをデフォルト設定にしたままImportをクリックします。


    Figure 4.


    Figure 5.

形状の検証

  1. ジオメトリリボンから Validateツールをクリックします。


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

    現在のモデルには、上記のような問題は存在しません。問題が見つかった場合は、ツール名の横の括弧内の数で示されます。

    Validateアイコンの左上に青色のチェックマークが表示されているのがわかります。これは、このツールでは形状モデルの問題は検出されなかったことを示しています。


    Figure 7.
  2. Escを押すか、モデリングウィンドウ内を右クリックして緑のチェックマーク上を右から左にスワイプします。
  3. データベースを保存します。

流れのセットアップ

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

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


    Figure 8.
    Setupダイアログが開きます。
  2. Physics modelsの設定で
    1. Time frequencyをTransientに設定します。
    2. Time step sizeを0.002sに設定し、Final timeを0.35に設定します。
    3. Turbulence modelにSpalart-Allmarasを選択します。


    Figure 9.
  3. Solver controls設定をクリックし、Maximum stagger iterationsを3に設定します。
    Figure 10.
  4. ダイアログを閉じてモデルを保存します。

入口圧力のMultiplier Functionの作成

  1. Flowリボンで、Setupツールセットの横の矢印をクリックし、Multipliersを選択します。


    Figure 11.
  2. Multiplier Libraryダイアログで をクリックします。
  3. 乗数作成のダイアログで、左上隅をクリックしてMultiplier Functionの名前をInlet Pressureに変更します。
  4. TypeをPiecewise Linearに設定します。
  5. VariableがTimeに、EvaluationがTime Stepに設定されていることを確認します。
  6. を4回クリックし、テーブルの最後に4つの行を追加します。
  7. 下の画像に従ってテーブルの値を入力します。


    Figure 12.

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

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


    Figure 13.
  2. Pipeジオメトリの任意の場所をクリックします。
    ジオメトリ全体がハイライト表示されます。


    Figure 14.
  3. マイクロダイアログで、MaterialドロップダウンメニューからWaterを選択します。
  4. ガイドバーで、をクリックしてコマンドを実行し、ツールを終了します。
  5. モデルを保存します。

流れ境界条件の定義

この手順では、入口、出口、および対称フェイスの境界条件を割り当てます。
  1. FlowリボンのPressureツールグループから、Stagnation Pressureツールをクリックします。


    Figure 15.
  2. モデリングウィンドウで、Figure 16 に示すように入口サーフェスをクリックします。
  3. マイクロダイアログで、Stagnation pressureに1N/m2という値を入力します。
  4. Multiplier functionドロップダウンをクリックし、リストから関数Inlet Pressureを選択します。


    Figure 16.
  5. マイクロダイアログ内のTurbulenceアイコンをクリックし、Turbulence input typeをViscosity Ratioに設定し、Turbulence viscosity ratioに10という値を入力します。


    Figure 17.
  6. ガイドバーをクリックすると、コマンドを実行し、ツール内に留まります。
  7. Boundariesの凡例で、Stagnation pressureを右クリックしてInletという名前に変更します。
  8. Outletツールをクリックします。


    Figure 18.
  9. 下の図に示されている出口サーフェスをクリックします。


    Figure 19.
  10. ガイドバーで、をクリックしてコマンドを実行し、ツールを終了します。
  11. Symmetryツールをクリックします。


    Figure 20.
  12. 下の図に示されている2つのサーフェスを選択します。


    Figure 21.
  13. ガイドバーをクリックすると、コマンドを実行し、ツール内に留まります。
  14. Boundaries凡例で、SymmetryをFront_symmetryという名前に変更します。
  15. モデルを回転して、あと2つの対称フェイスを選択します。


    Figure 22.
  16. ガイドバーをクリックすると、コマンドを実行し、ツール内に留まります。
  17. Boundaries凡例でSymmetryをBack_symmetryという名前に変更します。
  18. モデルを保存します。

モーションのセットアップ

この手順では、メッシュモーションをアクティブにし、バルブ壁の剛体モーションを定義します。その後、対称サーフェスのメッシュ変位境界条件を定義します。

メッシュモーションタイプの定義

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


    Figure 23.
  2. Setupダイアログで、Mesh motionをArbitraryに変更します。


    Figure 24.
  3. External code設定をクリックし、External codeオプションをアクティブにします。
  4. External SolverをMotionSolveに、Communication typeをSocketに設定します。
  5. External socketオプションを無効にして、Socket hostをlocalhostに設定します。
  6. Socket portを48000に設定します。


    Figure 25.
  7. ダイアログを閉じます。

メッシュ変位境界条件の定義

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


    Figure 26.
  2. Figure 27 に示されている2つの前方対称サーフェスを選択します。
  3. Mesh Motion凡例で、Planar Slipという名前をダブルクリックしてFront_symmetryに変更します。


    Figure 27.
  4. ガイドバーをクリックすると、コマンドを実行し、ツール内に留まります。
  5. モデルを回転して、2つの後方対称フェイスを選択します。
  6. Mesh Motion凡例でPlanar SlipをBack_symmetryという名前に変更します。
  7. ガイドバーで、をクリックしてコマンドを実行し、ツールを終了します。
  8. External Surfaceツールをクリックします。


    Figure 28.
  9. ガイドバーで、Surfacesセレクターがアクティブであることを確認します。
  10. モデリングウィンドウを右クリックし、 Select > Advanced Select > By Boundaries > Default Wallの順に選択します。
  11. これですべての壁サーフェスがハイライト表示されたので、Iキーを押すか、モデリングウィンドウで右クリックしてIsolateを選択することにより、選択したサーフェスを隔離表示します。
  12. バルブ領域を拡大し、ウィンドウ選択の手法を使用してすべてのバルブ壁サーフェスを選択します。


    Figure 29.
  13. マイクロダイアログでCoupling directionをBothに設定し、Rigid bodyの名前としてModel-Shutter Bodyと入力します。
    Note: ここで指定した剛体の名前が、MotionSolveモデルの剛体の名前と一致している必要があります。


    Figure 30.
  14. External Code Surfaces凡例で、External SurfaceをValve wallという名前に変更します。
  15. ガイドバーで、をクリックしてコマンドを実行し、ツールを終了します。
  16. すべてのサーフェスの表示をオンにして、モデルを保存します。

メッシュの生成

このステップでは、メッシュコントロールを指定し、メッシュを作成します。

ゾーンメッシュコントロールの定義

ゾーンメッシュコントロールにより、円筒、球、立方体のゾーンなど、標準形状のゾーンを使用して、特定の領域のローカルボリュームメッシュサイズを定義できます。
  1. メッシュリボンのZonesツールグループから、円筒ツールをクリックします。


    Figure 31.
  2. モデリングウィンドウで、下の図に示されているポイントの周辺にマウスを置きます。円筒プレビューゾーンが管の軸と平行な場合、下に示されているポイントの近くのモデルをクリックします。
    このポイントは、円筒の前方フェイスの中心となります。次のいくつかの手順では、このポイントの座標を手動で編集します。


    Figure 32.
  3. マウスカーソルを中心から離し、再度クリックします。
    ゾーンのプレビューがマニピュレーターとともに画面に表示されます。マニピュレーターを使用して、ゾーンの位置および向きを変更することができます。


    Figure 33.
  4. マニピュレーターの中心をクリックし、その中心として(-0.06, 0.02, 0)の座標を入力します。


    Figure 34.
  5. ゾーンの円筒サーフェスをダブルクリックし、円筒の半径として0.022mと入力します。


    Figure 35.
  6. 円筒の底面をダブルクリックし、円筒の高さとして0.1mと入力します。


    Figure 36.
  7. モデリングウィンドウ内の空白部分をクリックします。
  8. マイクロダイアログのmesh sizeに0.0015mの値を入力します。
  9. Refinement zones凡例で、ゾーンの名前をValve region mesh refinementに変更します。


    Figure 37.
  10. モデルを保存します。

境界層コントロールの定義

  1. メッシュリボンから Boundary Layerツールをクリックします。


    Figure 38.
  2. モデリングウィンドウを右クリックし、 Select > Advanced Select > By Boundaries > Default Wallの順に選択します。
    すべての壁サーフェスをハイライト表示する必要があり、BL指定用のダイアログが表示されます。
  3. ダイアログに次の値を入力します:
    1. First layer thickness:0.00035
    2. Total number of layers:3
    3. Growth method: Constant
    4. Initial growth rate: 1.2
    5. Termination policy: Truncate
    6. Enable surface mesh modificationを有効にします。


    Figure 39.
  4. BL Controls凡例でBL controlをPipe walls BLという名前に変更します。
  5. ガイドバーをクリックすると、コマンドを実行し、ツール内に留まります。
  6. 次のいくつかの手順では、バルブ壁の境界層メッシュコントロールを定義します。作業しやすいように、前方および後方の対称フェイスは非表示にします。
  7. ウィンドウ選択の手法を使用して、バルブ壁サーフェスを選択します。
  8. 表示されたダイアログで、BL仕様として次の値を入力します:
    1. First layer thickness:0.00015
    2. Total number of layers:3
    3. Growth method: Constant
    4. Initial growth rate:1.2
    5. Termination policy: Truncate
    6. Enable surface mesh modificationを有効にします。


    Figure 40.
  9. BL Controls凡例でBL controlをValve walls BLという名前に変更します。
  10. ガイドバーで、をクリックしてコマンドを実行し、ツールを終了します。
  11. Mesh Controlsツールセットの横にあるドロップダウンオプションをクリックし、Advancedを選択します。


    Figure 41.
  12. Advanced mesh settingsダイアログで、Boundary layer element typeをTetraに変更し、ダイアログを閉じます。


    Figure 42.
  13. すべてのサーフェスの表示をオンにして、モデルを保存します。

メッシュの生成

  1. メッシュリボンから Volumeツールをクリックします。


    Figure 43.
  2. Meshing Operationsダイアログで、Mesh sizeオプションをMaximum sizeに、Maximum element sizeを0.005に設定します。
  3. Curvature based surface refinementを非アクティベートします。
  4. Meshをクリックし、メッシュを生成します。


    Figure 44.

    メッシュプロセスが開始されるとRun Statusダイアログが表示され、アプリケーションがSolutionリボンに移動します。

  5. メッシュが完了したら、Run Statusダイアログを閉じます。

解の計算

節点出力の定義

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


    Figure 45.
  2. Field Outputsダイアログで、Solution variablesのTime step intervalを1に設定します。


    Figure 46.

AcuSolveの実行

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


    Figure 47.
  2. Parallel processingオプションをIntel MPIに設定します。
  3. Optional: プロセッサーの数を、環境に応じて4または8に設定します。
  4. Automatically define pressure referenceオプションを無効にします。
  5. 他のオプションはデフォルト設定のままにし、RunをクリックしてAcuSolveを起動します。


    Figure 48.
    Run Statusダイアログが開きます。解析が実行すると、ステータスが更新され、ダイアログが閉じます。

MotionSolveの実行

  1. Start > All Programs > Altair <version> > Compute Consoleを実行します。
  2. メニューバーからSolver > MotionSolveを選択します。


    Figure 49.
  3. Input file(s)欄の横の をクリックして、Valve_model.xmlを保存した場所に移動し、このファイルを開きます。
  4. MotionSolveAcuSolveの連成を指定するため、オプションとして-as_cosimを入力します。


    Figure 50.
  5. RunをクリックしてMotionSolveを起動します。

結果のモニター

  1. SolutionリボンでPlotツールをクリックします。


    Figure 51.
  2. Libraryタブの横のをクリックします。
  3. X-axisはStepに設定したままにします。Y-axisで、ツリーブラウザをクリックし、Surface Outputの下のmesh_displacementを選択します。
    座標方向にはデフォルトでmesh_x_displacementが選択されます。
  4. Selectorの下のValve wall - Outputチェックボックスをオンにします。
  5. Twin Y-Axisチェックボックスをアクティブにします。
  6. second Y-axisのツリーブラウザをクリックし、Surface Outputの下のpressureを選択します。
  7. Selectorの下のInlet - Outputチェックボックスをオンにします。


    Figure 52.
  8. Createをクリックします。


    Figure 53.
    Note: バルブの動きは入口での圧力の変化より遅れます。また、37番目の時間ステップのあたりでの急上昇にも注意してください。これは、バルブステムが止め具と衝突し、その後でバルブが跳ね返ることを表します。

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

速度のアニメーションの作成

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


    Figure 54.
  5. PostブラウザFront_symmetryを右クリックしてIsolateを選択します。
  6. Front_symmetryをもう1度右クリックし、Editを選択します。
  7. 表示プロパティマイクロダイアログで、表示をvelocityに設定します。
  8. Legendトグルを有効にし、max velocityを6.0に設定します。
  9. をクリックして、Colormap NameをRainbow Uniformに設定します。


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


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

切断面上の圧力コンターと速度ベクトルの表示

  1. ブラウザで右クリックし、Show Allを選択します。
  2. Slice Planesツールをクリックします。


    Figure 57.
  3. Z軸に垂直な面を選択します。
  4. ビューキューブがTopの面に揃っていることを確認します。


    Figure 58.
  5. Slice plane マイクロダイアログをクリックします。
  6. 表示プロパティマイクロダイアログのContourタブのDisplayをオフにします。


    Figure 59.
  7. Vector Displayタブをクリックします。
  8. Displayをオンにし、variableをvelocityに設定し、値を0.001に設定します。
  9. Coloringをpressureに設定します。
  10. Legendのトグルスイッチをアクティブにし、をクリックして範囲をリセットします。
  11. をクリックして、Legend locationをUpper Center、Legend OrientationをHorizontal、Colormap nameをRainbow Uniformに設定します。


    Figure 60.
  12. ガイドバーをクリックします。
  13. PostブラウザSlice Plane 1を右クリックしてIsolateを選択します。


    Figure 61.

要約

このチュートリアルでは、AcuSolveMotionSolveを使用した連成シミュレーションを設定するための基本的なワークフローを知ることができました。ここでは、HyperWorks CFDを使用してAcuSolveMotionSolve間の外部コード通信を設定してシミュレーションを実行し、HyperWorks CFD Postを使用してその結果をポスト処理する手順を紹介しました。断面の既存のコンタープロット上にベクトルプロットを作成する方法も知ることができました。