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

前提条件

このチュートリアルでは、HyperMesh Desktopを使用したAcuSolve-MotionSolve連成シミュレーションの設定のためのワークフローについて紹介します。このチュートリアルを実行する前に、HyperWorksの入門チュートリアルであるACU-T:1000 HyperWorksユーザーインターフェースをすでに完了しHyperMeshAcuSolve、およびHyperViewの基本を理解しているものとします。この解析を実行するには、ライセンス供与済みバージョンのHyperMeshAcuSolveにアクセスできる必要があります。

このチュートリアルを実行する前に、HyperMesh_tutorial_inputs.zip<Altair_installation_directory>\hwcfdsolvers\acusolve\win64\model_files\tutorials\AcuSolveから作業ディレクトリにコピーします。 ACU-T5201_CheckValveCoupled.hm また、Valve_model.xmlを次のファイルから抽出します:HyperMesh_tutorial_inputs.zipから取り出します。

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

問題の説明

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


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

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

30度の部分として形状をモデル化するには、流体モデルが剛体モデルと一致するように設定される必要があります。剛体の1/12のみがモデル化されるため、AcuSolveによって計算されるバルブシャッターに作用する力は、装置にかかる実際の力の1/12に相当します。形状全体の小さな部分のみをモデル化しているという事実を説明する、スケーリングされた質量およびスプリング剛性の設定により、剛体力学モデルがMotionSolveで設定されています。MotionSolveでのこの問題の設定に関するその他の情報は、MotionSolveのドキュメントで示されています。

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

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

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


図 2. 入口の過渡圧力

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

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

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

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

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

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

解析パラメータの設定

  1. Solverブラウザに移動して01.Globalを拡張表示し、PROBLEM_DESCRIPTIONをクリックします。
  2. Entity Editorで、Analysis typeをTransientに変更します。
  3. Turbulence ModelをSpalart Allmarasに設定します。
  4. Mesh typeをArbitrary Mesh Movement (ALE)に設定します。
  5. External CodeをOnにします。


    図 3.

ソルバー設定

  1. Solverブラウザで、01.Globalの下の02.SOLVER_SETTINGSをクリックします。
  2. Entity Editorで、Max time stepsを0に設定します。
  3. Final timeを0.35 secに設定します。
  4. Initial time incrementを0.002secに設定します。
  5. Convergence toleranceが0.001に設定されていることを確認します。
  6. Max stagger iterationsを3に設定します。
  7. Relaxation factorを0に変更します。
  8. External codeをオンにし、Flow、Turbulence、およびMeshオプションがオンに設定されていることを確認します。


    図 4.

MotionSolveとの通信のための外部コードパラメータの設定

このシミュレーションでは、MotionSolveは、AcuSolveで計算された流体荷重に応じてバルブの動きを計算するために使用されています。これを実現するために、AcuSolveMotionSolveはソケット接続を介して通信します。この通信方法では、別々のマシン上の異なるオペレーティングシステムでも、これら2つのコードを実行できます。
  1. Solverブラウザで、01.Globalの下の08.EXTERNAL_CODEをクリックします。
  2. Entity Editorで、CommunicationオプションがSocketに設定されていることを確認します。
  3. Socket initiateチェックボックスがアクティブになっていないことを確認します。
    これにより、外部コード(MotionSolve)でソケットを開き、AcuSolveによって指定のソケットポートで接続を“リッスン”するようになります。
  4. Socket hostがlocalhostに設定されていることを確認します。
    これは、AcuSolveMotionSolveが同じマシン上で実行されていることを示します。MotionSolveが異なるマシン上で実行されていた場合は、ここにホスト名またはIPアドレスを指定する必要があります。
  5. Socket portとして48000と入力します。
    これは、AcuSolveMotionSolveとの通信に使用されるデフォルトポートです。


    図 5.

節点出力頻度の定義

  1. Solverブラウザ17.Outputを拡張表示し、NODAL_OUTPUTをクリックします。
  2. Entity Editorで、Time step frequencyを1に設定します。


    図 6.
  3. モデルを保存します。

境界条件の設定

入口圧力のMultiplier Functionの作成

この手順では、入口圧力のMultiplier Functionを作成します。このMultiplier Functionは、このチュートリアルで後ほど、入口に適用されます。入口圧力は0Paから始まり、29,000Paまで増加して、少しの間その状態を維持し、その後、0Paまで減少します。
  1. Modelブラウザに移動します。空白スペース内で右クリックし、コンテキストメニューからCreate > Curveの順に選択します。
  2. Curve editorダイアログで、Newをクリックします。
  3. パネル領域で、Nameとしてinlet_pressureを入力し、proceedをクリックします。
  4. Curve editorダイアログで、以下のXとYの値を入力します。


    図 7.
  5. Updateをクリックして、このダイアログのグラフ上にカーブをプロットします。
  6. Closeをクリックします。
  7. Solverブラウザに移動し、05.Multiplier_Functionを右クリックしてCreateを選択します。
  8. このMultiplier Functionにinlet_pressureという名前を付けます。
  9. Entity Editorで、Multiplier Function TypeをPiecewise Linearに変更します。
  10. Curvesとして、inlet_pressureを選択します。
  11. Curve fit variableがTime、Evaluation TypeがPer Time Stepに設定されていることを確認します。


    図 8.

境界条件の設定

デフォルトでは、すべてのコンポーネントは、壁境界条件に含まれます。この手順では、それらを適切な境界条件に変更し、流体ボリュームに材料特性を割り当てます。
  1. Solverブラウザ12.Surfaces > WALLの順に拡張表示します。
  2. Fluidをクリックします。Entity Editorで、
    1. TypeをFLUIDに変更します。
    2. MaterialをWater_HMに設定します。
    3. 残りのデフォルトオプションはそのままにします。


    図 9.
  3. Inflowをクリックします。Entity Editorで、
    1. TypeをINFLOWに変更します。
    2. Show advanced featuresをOnに設定します。
    3. Inflow typeをStagnation Pressureに変更します。
    4. Stagnation Pressureを1N/m2に設定します。
    5. Stagnation Pressure multiplier functionをinlet_pressureに設定します。
    6. Turbulence input typeをViscosity Ratioに設定します。
    7. Entity Editorの上部にあるMaterialをWater_HMに設定します。
    8. Turbulence viscosity ratioを10に設定します。


    図 10.
  4. Outflowをクリックします。Entity Editorで、TypeをOUTFLOWに変更します。


    図 11.
  5. Valve_wallをクリックします。Entity Editorで、
    1. TypeをEXTERNAL_CODE_SURFACEに変更します。
    2. Coupling typeをRigid bodyに設定します。
    3. Coupling directionがBothに設定されていることを確認します。
    4. この剛体の名前としてModel-Shutter Bodyを入力します。
      ここで入力した名前は、このサーフェスの力と動きについての情報がAcuSolveMotionSolveとの間で必ず一致するように、準備されたMotionSolveモデルValve_model.xmlでのボディ名と一致する必要があります。


    図 12.
  6. Outflowをクリックします。Entity Editorで、TypeがWALLに設定されていることを確認します。


    図 13.
  7. Front_symmetryをクリックします。Entity Editorで、
    1. TypeをSYMMETRYに変更します。
    2. Mesh displacement BC typeをSlipに変更します。


    図 14.
  8. 同様に、Back_symmetryをクリックし、TypeをSYMMETRY、Mesh displacement BC typeをSlipに設定します。
  9. モデルを保存します。

解の計算

このチュートリアルでは、流れ場用のAcuSolveと剛体力学用のMotionSolveとの連成解析を使用します。このチュートリアルの問題の解析には、以下の2つの手順が含まれています。
  1. AcuSolveの起動
  2. MotionSolveの起動

次の一連の手順では、これら2つのタスクについて説明します。

AcuSolveの実行

この手順では、AcuSolveを起動してこのケースの解を計算します。

  1. すべてのメッシュコンポーネントの表示をオンにします。
    解析を実行するには、アクティブなすべてのコンポーネントのメッシュを可視化した状態にする必要があります。
  2. ACUツールバーの をクリックします。
    Solver job Launcherダイアログが開きます。
  3. Number of processorsを4に設定します。
  4. 他のオプションはデフォルト設定のままとして、Launchをクリックして解析プロセスを開始します。


    図 15.

MotionSolveの実行

次の手順では、MotionSolveを起動し、AcuSolveと通信するための設定を行います。
  1. Start > All Programs > Altair HyperWorks <version> > MotionSolveを実行し、HyperWorks Solver Run Managerを開きます。
  2. Input file(s)欄の横の をクリックして、Valve_model.xmlを保存した場所に移動し、このファイルを開きます。
  3. をクリックして、Available Optionsダイアログを開きます。
  4. MotionSolveAcuSolveとの連成を示すよう-as_cosimオプションを有効にします。


    図 16.
  5. 表示された-as_cosimダイアログで、Noneをクリックします。
  6. Available Optionsオプションダイアログで、Apply Optionsをクリックし、ダイアログを閉じます。
  7. RunをクリックしてMotionSolveを起動します。
    解析が進行すると、HyperWorks Solver Viewウィンドウが開きます。解析の進行状況はこのウィンドウで報告されます。AcuSolve AcuTailウィンドウも解析の進行に合わせて更新されます。


    図 17.
解析の進行に合わせて、AcuProbeで進捗を確認できます。これについては、次のステップで詳細を説明します。

AcuProbeによる解析のモニター

AcuSolveの実行中は、AcuProbeを使用して入口圧力、バルブの変位、およびバルブの速度などの流動特性を確認できます。

MotionSolveの実行が開始されると、最初の時間ステップの後にAcuProbeウィンドウが自動的に開きます。

  1. AcuProbe Data TreeSurface Output > Inflow > Pressureの順に拡張表示します。
  2. pressureを右クリックし、Plotを選択します。
  3. 同様に、Surface Outputの下でValve_wall > Geometryの順に拡張表示します。
  4. mesh_x_displacementを右クリックし、Plotを選択します。
    注: プロットを正しく表示するために、ツールバーで をクリックする必要がある場合があります。


    図 18.

    次の手順では、バルブ壁のx速度のプロットを作成します。

  5. Inflowを右クリックしてPlot Noneを選択することで、入口圧力のプロットをオフにします。
  6. Valve_wall > Momentumの順に拡張表示し、x_velocityを右クリックしてPlotを選択します。


    図 19.

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

この手順では、水がバルブを通過して流れる際のバルブの動きのアニメーションを作成します。ソルバーの実行が完了したらAcuProbeウィンドウとAcuTailウィンドウを閉じます。HyperMesh Desktopウィンドウで、AcuSolve Controlタブを閉じ、モデルを保存します。

HyperViewインターフェースへの切り替えと、AcuSolveのモデルと結果の読み込み

  1. HyperMesh Desktopウィンドウで、グラフィックスウィンドウの左下隅にあるClientSelectorドロップダウンをクリックします。


    図 20.
  2. リストから、HyperViewを選択します。
  3. 表示されるポップアップダイアログで、Yesをクリックします。
    インターフェースがHyperViewに変更されます。

    HyperViewを読み込むと、デフォルトでLoad model and resultsパネルが開きます。このパネルが表示されない場合は、File > Open > Modelの順にクリックします。

  4. Load model and resultsパネルで、Load modelの隣にある をクリックします。
  5. Load Model Fileダイアログで、作業ディレクトリに移動して、ポスト処理する解析実行のAcuSolve .Logファイルを選択します。この例で選択するファイルは、Valve_Coupled.1.Logです。
  6. Openをクリックします。
  7. パネル領域Applyをクリックしてモデルと結果を読み込みます。
    読み込むと、モデルが形状で色分けされます。

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

次の手順では、対称面上の速度のアニメーションを作成し、これを保存します。
  1. Resultsブラウザで、Componentsのリストを拡張表示し、Isolate Shownアイコン をクリックします。
  2. Front_symmetryコンポーネントをクリックして、前方対称面を除くすべてのコンポーネントの表示をオフにします。


    図 21.
  3. Standard Viewsツールバーの をクリックすることで、xy平面を正面から見た表示にします。
  4. Resultsツールバーで をクリックしてContourパネルを開きます。
  5. パネル領域で、Result typeをVelocity (v)に変更し、その下のドロップダウンがMag(magnitude)に設定されていることを確認します。
  6. Components エンティティセレクターをクリックします。Extended Entity Selection ダイアログでDisplayedを選択します。
  7. Applyをクリックします。
  8. パネル領域のDisplayタブで、Discrete colorオプションをオフにします。


    図 22.
  9. Legendタブに移動して、Edit Legendをクリックします。
  10. Edit Legendダイアログで、TypeをDynamic scale、Numeric formatをFixedにそれぞれ変更し、OKをクリックします。


    図 23.
  11. Animationツールバーで をクリックし、前方対称面上の速度アニメーションを再生します。


    図 24.
  12. ImageCaptureツールバーで、Capture Graphics Area Videoアイコン をクリックします。
  13. Save Graphics Area Video Asダイアログで、アニメーションを保存するディレクトリに移動し、アニメーションに名前を付けて(例: velocity mag)、Saveをクリックします。

切断面での圧力と速度のコンターの表示

次の手順では、中央Z平面上に切断面を作成してから、その切断面上の圧力コンターと速度ベクトルを表示します。
  1. Resultsブラウザで、Fluidコンポーネントを除くすべてのコンポーネントの表示をオフにします。


    図 25.
  2. Resultsツールバーで をクリックしてContourパネルを開きます。
  3. パネル領域で、Result typeをPressure (s)に変更します。
  4. Components エンティティセレクターをクリックします。Extended Entity Selection ダイアログでDisplayedを選択します。
  5. Applyをクリックして圧力のコンタープロットを作成します。
  6. パネル領域で、ResultタブのOverlay result displayチェックボックスをアクティブにします(まだアクティブになっていない場合)。


    図 26.
  7. HV-DisplayツールバーのSection cutアイコン をクリックします。
  8. パネル領域で、Addをクリックして、Section 1という名前の新しい切断面を作成します。
  9. Define planeセクションで、軸をZ Axisに設定し、Applyをクリックします。
  10. BaseのZ座標を0に設定し、Enterキーを押します。
  11. DisplayオプションをClipping planeからCross sectionに変更します。
  12. Gridlineをクリックします。Gridline Optionsダイアログで、Grid lineの下のShowチェックボックスを非アクティブにして、OKをクリックします。


    図 27.
  13. Resultsツールバーの をクリックして、Vectorパネルを開きます。
  14. パネル領域で、Result typeをVelocity (v)に設定します。
  15. Selectionドロップダウンをクリックし、オプションリストからSectionsを選択します。


    図 28.
  16. Sectionsエンティティセレクターをクリックし、Allを選択します。
  17. パネル領域で、Overlay result displayチェックボックスをアクティブにします(まだアクティブになっていない場合)。
  18. Applyをクリックします。
  19. Plotタブで、X+Y+Z Resultantオプションのみが選択されていることを確認します。
  20. Displayタブに移動して、Size scalingオプションをUniformに設定し、サイズ欄に0.002という値を入力します。
  21. Color byオプションをDirectionに設定して、X+Y+Zの色を白に設定します。


    図 29.
  22. Sectionタブに移動して、Projectedチェックボックスをアクティブにし、Applyをクリックします。
    次の図に示すようなベクトルプロットが表示されます。


    図 30.

    0.156秒における結果が表示されています。

要約

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