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

前提条件

このチュートリアルでは、HyperMesh Desktopを使用してAcuSolve - MotionSolve連成シミュレーションの設定手順を説明します。このチュートリアルを開始する前に、HyperWorks 入門チュートリアルである ACU-T:1000 HyperWorksユーザーインターフェースをすでに完了しHyperMeshAcuSolve、およびHyperViewの基本を理解しているものとします。このシミュレーションを実行するには、ライセンス供与済みバージョンのHyperMeshおよび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.781X 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. エンティティエディターで、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. エンティティエディターで、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をOnにし、Flow、Turbulence、およびMeshオプションがオンに設定されていることを確認します。


    図 4.

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

このシミュレーションでは、MotionSolveは、AcuSolveで計算された流体荷重に応じてバルブの動きを計算するために使用されています。これを実現するために、AcuSolveMotionSolveはソケット接続を介して通信します。この通信方法では、別々のマシン上の異なるオペレーティングシステムでも、これら2つのコードを実行できます。
  1. Solverブラウザの01.Globalで、08.EXTERNAL_CODEをクリックします。
  2. エンティティエディターで、Communication optionが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. エンティティエディターで、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. パネル領域で、名前として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. エンティティエディターで、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をクリックします。エンティティエディターで以下を設定します。
    1. TypeをFLUIDに変更します。
    2. MaterialをWater_HMに設定します。
    3. 残りのデフォルトオプションはそのままにします。


    図 9.
  3. Inflowをクリックします。エンティティエディターで以下を設定します。
    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. エンティティエディターの上部にあるMaterialをWater_HMに設定します。
    8. Turbulence viscosity ratioを10に設定します。


    図 10.
  4. Outflowをクリックします。エンティティエディターで、TypeをOUTFLOWに変更します。


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


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


    図 13.
  7. Front_symmetryをクリックします。エンティティエディターで以下を設定します。
    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.

HyperGraphによる解析のモニター

  1. グラフィックス領域の左下隅にあるクライアントセレクターをクリックし、HyperGraph 2Dを選択します。


    図 18.
  2. HyperGraphインターフェースが読み込まれたら、パネル領域のをクリックして、使用中の作業ディレクトリから結果ファイルを選択します。
    この例で選択するファイルは、Valve_Coupled.1.Logです。
  3. X TypeがTimeに、Y TypeがPressure (surface)に、Y RequestがInflowにそれぞれ設定されているのを確認します。
  4. Y Componentにpressureを選択します。


    図 19.
  5. Applyをクリックします。


    図 20.
  6. PlotブラウザでInflow-pressure 1を右クリックしてTurn offを選択します。
  7. X TypeがTimeに、Y TypeがMesh_displacement (surface)に、Y RequestがValve_wallに、Y Componentがmesh_x_displacementにそれぞれ設定されているのを確認します。
  8. Applyをクリックします。


    図 21.

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

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

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

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


    図 22.
  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コンポーネントをクリックして、前方対称面を除くすべてのコンポーネントの表示をオフにします。


    図 23.
  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オプションをオフにします。


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


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


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

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

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


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


    図 28.
  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をクリックします。


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


    図 30.
  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の色をWhiteに設定します。


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


    図 32.

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

要約

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