ACU-T:5202 流れ閉鎖バルブ

このチュートリアルでは、流れ閉鎖バルブのシミュレーションの設定、解析、および結果表示のための手順を説明します。このシミュレーションでは、AcuSolveを使用して、開いた状態から完全に閉じた状態までのバルブの動きを設定します。このチュートリアルの目的は、ニアコンタクトシミュレーションを伴うメッシュモーションシミュレーションを実行するために必要なモデリング概念を紹介することです。

CFDシミュレーションの基本的な手順については、ACU-T:2000 ミキシングエルボ内の乱流をご参照ください。剛体メッシュモーションに関する基本的な手順については、ACU-T:5200 剛体力学、チェックバルブをご参照ください。このチュートリアルでは、AcuSolveの以下の追加機能を紹介します。

  • メッシュ歪み修正を伴うメッシュモーションの作成
  • メッシュ変位スタッガー用の高度な解法パラメータの作成
  • 速度または変位に関する並進メッシュモーションのMultiplier Functionの作成
  • Arbitrary Lagrangian Eulerian(ALE)メッシュ移動テクノロジに関連付けられたogdenモデルを使用したシミュレーションの実行

このチュートリアルでは、次の作業を実行します。

  • 問題の解析
  • AcuConsoleの起動と既存のデータベースの操作
  • 高度なシミュレーションパラメータの設定
  • ニアコンタクトをシミュレートするためのメッシュモーションの作成
  • メッシュ歪み修正パラメータの割り当て
  • 速度または(代わりに)変位に関連するMultiplier Functionの作成
  • ogden ALEを使用してAcuSolveを実行するための設定ファイルの編集
  • AcuProbeによる解析のモニター
  • AcuProbeでの時系列出力のポスト処理
  • AcuFieldViewでの節点出力のポスト処理

前提条件

このチュートリアルを実行するには、入門チュートリアル、ACU-T:2000 ミキシングエルボ内の乱流、およびACU-T:5200 剛体力学、チェックバルブをすでに完了している必要があります。ここでは、AcuConsoleAcuSolve、およびAcuFieldViewを使い慣れていることを前提としています。ライセンス供与済みバージョンのAcuSolveにアクセスできることも必要です。

このチュートリアルを実行する前に、AcuConsole_tutorial_inputs.zip<<Altair_installation_directory>\hwcfdsolvers\acusolve\win64\model_files\tutorials\AcuSolveから作業ディレクトリにコピーします。 Closing_Valve.ac.jp をAcuConsole_tutorial_inputs.zipから取り出します。

問題の解析

CFDシミュレーションにおける重要なステップは、目前の工学的問題を調べ、AcuSolveに対して指定する必要のある重要なパラメータを決定することです。パラメータは、形状要素(入口、出口、壁など)に基づいて行うことができるとともに、流れの条件(流体プロパティ、速度、流れを乱流または層流のどちらでモデル化するのかなど)に基づいて行うことができます。

このチュートリアルで扱う問題は、図1に示しています。この問題は、2つの流路が設けられた四角形の水路からなり、これらの流路の1つは、バルブによって閉じることができます。

入口の高さは0.2mであり、領域の長さは1.0mです。バルブの初期位置は開口部から9.165mm離れており、これによって開放状態が再現されています。

バルブは1秒間に、18.33 mm/sという一定速度で開口部に近づき、さらに開口部から遠ざかります。



図 1. 1つの閉鎖バルブが設けられた水路の概略図

AcuSolveは、デフォルト設定を使用してニアコンタクト構成をシミュレートできないことに留意してください。メッシュ歪み修正とメッシュスタッガーのパラメータを調整することで、十分な反復計算が実行される状態で、メッシュ要素の削除と復元を可能にする必要があります。

解析パラメータの定義

AcuConsoleの起動と既存シミュレーションデータベースのオープン

次の手順では、AcuConsoleを起動して、追加のシミュレーション設定を保存するための既存のデータベースを開きます。このチュートリアルでは、まずデータベースを開いて、流れ、乱流、およびメッシュスタッガーに関する高度なシミュレーション設定を作成して、必要なメッシュモーションを作成します。次に、速度または変位に基づいたMultiplier Functionを作成し、メッシュ歪みパラメータを変更して、メッシュモーションを移動サーフェスに割り当てます。その後、AcuSolveを実行して、指定された時間ステップの数だけ解析します。最後に、AcuFieldViewを使用して結果の一部の特性を可視化します。

  1. Windows のスタートメニューからスタート > Altair <バージョン> > AcuConsoleをクリックして AcuConsoleを起動します。
  2. File > Openの順にクリックして、Open data baseダイアログを開きます。
    注: ツールバーの をクリックしてOpen data baseダイアログを開くこともできます。
  3. 作業ディレクトリとして使用する場所に移動します。
    このディレクトリには、そのシミュレーションに関するすべてのファイルが保存されます。AcuConsoleのデータベースファイル(.acs)はこのディレクトリに保存されます。メッシュと解が作成されたら、追加のファイルとディレクトリがこのディレクトリ内に作成されます。
  4. Closing_Valve.ac.jpを選択し、Openをクリックしてデータベースを開きます。
    注: AcuConsoleによって書き込まれたファイルを他のアプリケーションで読み取り可能にするためには、データベースのパスと名前にスペースが含まれないようにしてください。

    データベースを開くと、形状、メッシュ、シミュレーション設定、およびほとんどの境界条件がすでにファイルに入力されていることがわかります。



    図 2.


    図 3.

高度なシミュレーションパラメータの設定

データベース内には、シミュレーション、解法、材料モデル、およびメッシュに関する一般的なパラメータがすでに作成されています。

次の手順では、このシミュレーションに適用する高度な解法のパラメータを作成および設定します。この作業をできるだけ簡略化するには、Data Tree ManagerでPB*フィルタを使用します。このフィルタにより、Data Treeに表示される項目数が少なくなり、エントリの移動が容易になります。

  1. Data Tree ManagerPB*をクリックして、Data Tree内の一般的な問題設定に関連する使用可能なすべての設定を表示します。
  2. Global Data Tree項目の下で、Advanced Solution Strategyをダブルクリックしてから、Staggerツリーをダブルクリックします。


    図 4.

    Advanced solution strategyツリーには、時間増分、時間進行、スタッガー、線形ソルバー、収束チェックなど、ソルバーパラメータの微調整に使用できる設定が含まれます。

    スタッガーコマンドでは、方程式の解の非線形反復計算と線形ソルバーのパラメータを指定します。各スタッガーはいくつかの非線形反復計算をループ実行し、その間に、そのスタッガーの残差マトリックスおよび必要に応じてLHSマトリックスが形成され、結果として得られる連立一次方程式が解かれて、対応する解フィールドが更新され、そのスタッガーのサブスタッガーが実行されます。

  3. mesh_displacementスタッガーをダブルクリックして、詳細パネルを開きます。
  4. Modify advanced settingsをオンにします。
  5. Min stagger iterationsとMax stagger iterationsをそれぞれ15に設定します。
  6. Convergence toleranceを0.01に設定します。


    図 5.

メッシュコントロールの割り当て

Multiplier Functionの作成

  1. Data Tree ManagerPB*をクリックして、Data Tree内の一般的な問題設定に関連する使用可能なすべての設定を表示します。
  2. GlobalData Tree項目を拡張表示します。
  3. Velocity_Multiplierという名前の新しいMultiplier Functionを作成します。
  4. このMultiplier Functionのパラメータを定義します。
    1. Velocity_Multiplierをダブルクリックして詳細パネルを開きます。
    2. Typeの横にあるドロップダウンコントロールをクリックして、Piecewise Linearを選択します。
    3. Curve fit variableの横にあるドロップダウンコントロールをクリックして、Time stepを選択します。


      図 6.
    4. Curve fit valuesの横にあるOpen Arrayタブをクリックします。
    5. Addを2回クリックして、さらに2つの行を追加します。
    6. 次の図に示すように時間ステップの値を入力します。
    7. Plot <<をクリックして、Multiplier Functionのプロットを表示します。


      図 7.
    8. OKをクリックし、ウィンドウを閉じます。

速度に基づくメッシュモーションの作成

AcuSolveでは、メッシュモーションコマンドを使用してモデル内の節点の動きを定義します。このチュートリアルでは、並進メッシュモーションを使用して節点の動きを決定します。

multiplier functionを使用して、時間または時間ステップに応じて値を増減させます。このチュートリアルでは、ストップバルブは一定速度で開口部に近づいてから開口部から遠ざかります。この変動を実現するために、multiplier functionをメッシュモーションに割り当てます。

次の手順では、バルブの動きをシミュレートするためのメッシュモーションを作成します。

  1. Data Tree ManagerFSIをクリックし、Data Tree内の設定をフィルタして、メッシュモーションおよび流体 / 構造の相互作用に関連する設定のみを表示します。
  2. GlobalData Tree項目をダブルクリックして拡張表示します。
  3. Mesh Motionを右クリックし、Newをクリックします。
  4. メッシュモーションの名前を変更します。
    1. Mesh Motion 1を右クリックします。
    2. Renameをクリックします。
    3. Valve_Motionと入力し、Enterを押します。
  5. メッシュモーションパラメータを定義します。
    1. Valve_Motionをダブルクリックして詳細パネルを開きます。
    2. TypeをTranslationに変更します。
    3. Translation velocityの横のOpen Arrayをクリックし、Array Editorを開きます。
    4. 単位をmm/secに変更し、X-component欄に-18.33を入力します。
      これは、メッシュモーションを定義する速度のx成分に対応しています。


      図 8.
    5. OKをクリックし、エディタを閉じます。
    6. Velocity variableの横のドロップダウンをクリックし、Multiplier functionを選択します。


      図 9.
      Translation multiplier functionという新しいオプションが使用可能になります。
    7. Translation multiplier functionをVelocity_Multiplierに設定します。

この並進メッシュモーションを定義すると、要素セットの節点は、18.33 mm/sという一定速度で負のx方向に移動します。このケースでは、要素セット内の各節点の位置は次の式で与えられます。

(1) x = x 0 + t v MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiEaiabg2 da9iaadIhadaWgaaWcbaGaaGimaaqabaGccqGHRaWkcaWG0bGaamOD aaaa@3CBC@

ここで、 x 0 MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiEamaaBa aaleaacaaIWaaabeaaaaa@37D9@ は節点の初期状態、 v MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamODaaaa@36F1@ は並進速度によって与えられ、 t MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiDaaaa@36EF@ は時間です。

velocity_variable=multiplier_functionによってmultiplier functionを定義して、速度のスケーリングを変更できます。これで、各節点の位置は、次の式で与えられます。

(2) x = x 0 + f v MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiEaiabg2 da9iaadIhadaWgaaWcbaGaaGimaaqabaGccqGHRaWkcaWGMbGaamOD aaaa@3CAE@

ここで、 f MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOzaaaa@36E1@ は、与えられた並進変数multiplier functionです。

距離に基づくメッシュモーションの作成

並進メッシュモーションのMultiplier Functionを定義するための代わりの方法として、メッシュモーション内で単位(1.0)速度値を定義して、運動体の変位をMultiplier Functionに直接代入することもできます。

この方法が特に有用となるケースは、運動体の動きを定義する変位-時間値または曲線が与えられている場合です。

次の手順では、以前の項で説明した方法に基づいてメッシュモーションとMultiplier Functionを定義します。

  1. 前に説明したのと同じプロセスとパラメータを使用して、並進メッシュモーションを定義します。
    重要: メッシュモーションとMultiplier Functionのセットを2つ保持しないでください。この項は、指定されたシミュレーションパラメータに基づいて、速度に基づいたメッシュモーションの代替を提示するものです。
  2. Array EditorのX-component欄で、X速度を1.0m/secに設定します。


    図 10.
  3. 前の項で説明したのと同じプロセスとパラメータを使用して、Displacement_Multiplierという名前のMultiplier Functionを作成します。
  4. Array Editorで、次の図に示すようにカーブフィット変数の変位値を入力します。


    図 11.

    この方法では、時間ステップに対する変位に基づいてバルブの動きを定義できます。

メッシュ歪みパラメータの割り当て

AcuSolveによる移動メッシュシミュレーションの実行時には、不良要素の存在を検出するチェックが実行されます。大きく歪んだ要素が見つかった場合、コードは終了するか(mesh=specifiedまたはmesh=eulerianの場合)、増分更新手法を使用してさらなる非線形反復計算を追加します(mesh=aleの場合)。このアルゴリズムは、2つのパラメータ、mesh_distortion_toleranceおよびmesh_distortion_correction_factorによって制御されます。1つ目のパラメータは要素のヤコビアンに修正を適用する必要があるのかどうかを判定し、2つ目のパラメータは修正量を定量化します。メッシュの歪みがALEループ内でチェックされると、acuSolveは大きく歪んだ要素に対する許容度を決定します。

次の手順では、メッシュ歪みパラメータの値を流体ボリュームに割り当てます。

  1. Modelツリーを拡張表示します。
    注: Data Tree ManagerでBASに戻す必要があります。
  2. Volumesを拡張表示します。
  3. Fluidをダブルクリックしてツリーを拡張表示し、Element Setをダブルクリックして詳細パネルを開きます。
  4. Mesh distortion correction factorの値として0.0005を入力します。
  5. Mesh distortion toleranceの値として0.05を入力します。


    図 12.

バルブサーフェスへのメッシュモーションの割り当て

サーフェスグループは、サーフェスに関する情報を保存するためのコンテナです。この情報には、解析およびメッシングパラメータや、パラメータが適用される形状内の対応するサーフェスが含まれます。

データベースには、すでに割り当てられているすべてのボリュームグループとサーフェスグループが含まれています。

次の手順では、作成されたメッシュモーションをバルブサーフェスに割り当てます。

  1. Surfacesを拡張表示します。
  2. Valve_Wallをダブルクリックしてツリーを拡張表示し、Simple Boundary Conditionをダブルクリックして詳細パネルを開きます。
  3. Mesh motionの横にあるドロップダウンメニューをクリックして、Valve_Motionを選択します。


    図 13.

解の計算と結果の確認

AcuSolveの実行

Arbitrary Lagrangian Eulerian(ALE)メッシュ移動テクノロジに関連付けられたogdenモデルを使用するには、対応するフラグを設定ファイル内で追加してから、AcuSolveのコマンドプロンプトを使用してシミュレーションを実行する必要があります。

次の手順では、このケースの解を得るために、GUIからAcuPrepを実行して、設定ファイルを編集し、コマンドプロンプトからAcuSolveを起動します。

  1. ツールバーでをクリックしてLaunch AcuSolveダイアログを開きます。
    このケースでは、AcuPrepモジュールのみが使用され、AcuConsoleによってAcuSolveの入力ファイルが生成されて、AcuSolveが起動されます。
  2. Solver modulesの横にあるドロップダウンメニューから、prepを選択します。


    図 14.
  3. OkをクリックしてAcuPrepプロセスを起動します。
    これにより、入力ファイルと設定ファイルAcusim.cnfが生成されます。
  4. 作業ディレクトリを参照し、テキストエディタでAcusim.cnfを開いて、このファイルの末尾にaletech=ogdenという行を追加します。
    これにより、AcuSolveはogdenモデルを使用してシミュレーションを実行するようになります。
  5. Start All Programs Altair HyperWorks <version> Cmd Promptの順にクリックして、Startメニューからのコマンドプロンプトを起動します。
  6. cdコマンドを使用して、作業ディレクトリに移動します。
  7. AcuRun -np 4 -nt 1 -do solveというコマンドを使用してAcuSolveを起動し、4基のプロセッサとソルバーモジュールのみを使用してシミュレーションを実行します。
    注: 解析の進行状況をモニターするには、ツールバーの アイコンを使用してAcuTailを起動し、作業ディレクトリからログファイルを選択します。
    AcuSolveが実行を終了すると、解析プロセスのサマリーに、シミュレーションが完了したことが示されます。


    図 15.

AcuProbeでのポスト処理

シミュレーションが完了したら、AcuProbeを使用してmesh_x_displacementのプロットを表示できます。

  1. ツールバーの アイコンをクリックして、AcuProbeを開きます。
  2. AcuProbeウィンドウで、Surface Outputをダブルクリックしてツリーを拡張表示します。
  3. Valve_Wallをダブルクリックし、サーフェス出力リストを開きます。
  4. Geometryをダブルクリックして、形状に関するプロパティのリストを開きます。
  5. mesh_x_displacementを右クリックし、plotをクリックします。
    注: プロットを正しく表示するために、ツールバーで をクリックする必要がある場合があります。


    図 16.

    AcuProbeを使用して、流れに関するその他の数量をプロットすることもできます。

AcuFieldViewでの結果の表示

計算が終了したので、AcuFieldViewを使用して流れ場を表示する準備ができました。AcuFieldViewは、AcuSolveに緊密に統合されたサードパーティ製のポスト処理ツールです。AcuFieldViewAcuConsoleから直接開始できますが、スタートメニューやコマンドラインから開始することもできます。このチュートリアルでは、AcuSolveによって解が計算された後に、AcuConsoleからAcuFieldViewを開始します。

次の手順では、AcuFieldViewの起動、速度の表示、メッシュの変位を表示するビューのアニメーション化を行います。その後、バルブシャッターが閉じたときの速度ベクトルおよび圧力コンターを表示します。

本チュートリアルは、AcuFieldViewのインターフェースと基本的な操作に慣れていることが前提となっています。本チュートリアルは、一般に次の基本事項の理解に役立ちます:
  • メインメニューのFileプルダウンでデータリーダーを検索し、データ入力のための目的のリーダーパネルを開く方法。
  • サイドツールバーまたはメインメニューのVisualizationパネルプルダウンから表示パネルを検索し、AcuFieldViewでサーフェスを作成および変更する方法。
  • マウスアクションを使用してグラフィックスウィンドウでデータを動かし、データの移動、回転、およびズームを行う方法。

このチュートリアルでは、非定常データの操作方法を示します。また、複数のデータベースを使用してAcuSolveで形状の一部分のみをシミュレートしているときに、形状全体の流れパラメータを可視化する方法も示します。

AcuFieldViewの起動

  1. AcuConsoleツールバーで をクリックしてLaunch AcuFieldViewダイアログを開きます。
  2. OkをクリックしてAcuFieldViewを起動します。
    AcuConsoleからAcuFieldViewを起動するときには、ディスクに書き込まれた、解析の最後の時間ステップの結果が、ポスト処理のために読み込まれます。

    AcuFieldViewを開くと、圧力コンターがメッシュを含むすべての境界サーフェス上に表示されていることが確認できます。



    図 17.

速度コンター表示のアニメーション化

次の手順では、過渡スイープを作成し、AcuFieldViewから独立して表示できるアニメーションとしてこのスイープを保存します。

  1. 背景色を白に変更します。
  2. Viewer Optionsメニューから遠近法表示を無効にします。
  3. Viewer Optionsメニューから軸マーカーを無効にします。
  4. 下の図に示すように、壁、入口、およびsymmetry+Zのサーフェスが見えるように、形状の方向を設定します。
  5. Boundary Surfaceダイアログで、Scalar Functionとしてvelocity magnitudeを選択します。
  6. Legendsタブで凡例をオンにして、カラーパレットで色を黒に変更します。
    注: 凡例は、Shiftキーを押しながら左クリックすることにより、移動できます。
  7. 注記の色を黒に変更します。
  8. SurfacesタブでShow Meshオプションのチェックを外し、メッシュの表示をオフにします。


    図 18.
  9. Tools > Flipbook Build Modeの順に移動して、表示される警告でOKをクリックします。
  10. Tools > Transient Dataに移動し、1つ目の時間ステップデータが境界サーフェスに反映されるまでスライダーを戻します。


    図 19.
  11. Buildをクリックして、アニメーションを作成します。
  12. アニメーションが作成されたら、Frame Rateをクリックして値を0.1に変更します。
  13. アニメーションをvelocity_magという名前で保存します。

バルブが閉じられた位置での中央Z座標サーフェス上の圧力コンターおよび速度ベクトルの表示

  1. Boundary SurfaceダイアログのSurfacesタブで、境界サーフェスのVisibilityをオフにします。
  2. Defined Viewsメニューから、表示を+Zに変更します。


    図 20.
  3. をクリックしてCoordinate Surfaceダイアログを開きます。
  4. 中央Z座標平面で新しいサーフェスを作成します。
  5. Display TypeをSmoothに変更します。
  6. ColoringをScalarに変更します。
  7. 表示するスカラー関数として、Scalar Functionでpressureを選択します。
  8. ColormapタブでScalar ColoringをLocalに設定します。


    図 21.
  9. もう1つの座標サーフェスを作成し、Display TypeをVectorsに設定します。
  10. ColoringをGeometricに変更し、カラーパレットから白を選択します。
  11. Optionsをクリックして、Vector Optionsダイアログを開きます。
  12. Skipチェックボックスを有効にして、62.5%と入力します。


    図 22.
  13. 圧力座標サーフェスの凡例をオンにします。
  14. Tools > Transient Dataの順に移動して、スライダーを50番目の時間ステップまで動かします。


    図 23.