ACU-T:4200 タンク内の水のスロッシング
このチュートリアルでは、レベルセットモデルを使用した四角形タンクの二相流シミュレーションの設定、解析、および結果表示について説明します。このシミュレーションでは、AcuSolveを使用して、タンクの壁に対する水のスロッシングによって経時変化する水位インターフェースを計算します。このチュートリアルの目的は、二相のシミュレーションを実行するために必要ないくつかのモデリングの概念を紹介することです。
- 二相流解析
- 非定常解析
- 水の体積分率初期化用のスクリプトの使用
- 変化する重力のユーザー定義関数の使用
- AcuFieldViewでのポスト-処理
前提条件
入門チュートリアルであるACU-T:2000 ミキシングエルボ内の乱流をすでに完了している必要があります。ここでは、AcuConsole、AcuSolve、およびAcuFieldViewをある程度使い慣れていることを前提としています。ライセンス供与済みバージョンのAcuSolveにアクセスできることも必要です。
このチュートリアルを実行する前に、AcuConsole_tutorial_inputs.zipを<<Altair_installation_directory>\hwcfdsolvers\acusolve\win64\model_files\tutorials\AcuSolveから作業ディレクトリにコピーします。 sloshing_tank.x_t およびgravity.cをAcuConsole_tutorial_inputs.zipから取り出します。
問題の解析
CFDシミュレーションにおける重要なステップは、目前の工学的問題を調べ、AcuSolveに対して指定する必要のある重要なパラメータを決定することです。パラメータは、形状要素(入口、出口、壁など)に基づいて行うことができるとともに、流れの条件(流体プロパティ、速度など)に基づいて行うことができます。
一般的に、多相流は、主に、複数の流体(気体、液体、または固体)で構成された実環境で見られます。それらは、気液(溶存ガス)、液液(水中の油)、液固(浸漬粒子)、および気液固の組み合わせが可能です。最初の2つは、二相不混合流の例です。二相不混合流は、二相間のインターフェースを追跡することにより解析できます。このチュートリアルでは、レベルセット法を使用して二相流問題を設定する方法を示します。
- Α = 振動の振幅
- ω = 振動の周波数 =
- T = 振動の周期
- φ = 位相差
- t = 時間
- Α = -0.06 m
- ω = 3.6 rad/sec
- T = 1.74秒
- φ = 0
このために、C言語で書かれたUDF(gravity.c)が使用されます。gravity.cで使用される関数の詳細については、AcuSolve User-Defined Functions Manualをご参照ください。
解析パラメータの定義
AcuConsoleの起動とシミュレーションデータベースの作成
このチュートリアルでは、まずデータベースの作成、形状に依存しない設定の入力、形状の読み込み、グループの作成、グループ属性の設定、グループへの形状コンポーネントの追加、およびグループへのメッシュコントロールと境界条件の割り当てを行います。次に、メッシュを生成して、AcuSolveを実行し、指定された時間ステップの数だけ解析します。最後に、AcuFieldViewを使用して結果の一部の特性を可視化します。
一般的なシミュレーションパラメータの設定
次の手順では、シミュレーション全体に適用される属性を設定します。このタスクを簡略化するため、Data Tree ManagerでBASフィルタを使用します。このフィルタにより、Data Treeに表示される項目数が少なくなり、確認が容易になります。
解法パラメータの設定
材料モデル属性の設定
形状のインポートとモデルの定義
形状のインポート
多相パラメータの設定
Problem DescriptionでMultiphaseがアクティブの場合、多相場方程式を選択することにより、AcuConsoleは自動的に多相モデル定義を完成させるために必要なパラメータのセットを生成します。これには、モデル内の場の定義と場間の相互作用モデルの指定が含まれます。
ここでは、シミュレーションの多相パラメータを定義します。
-
場の定義:
- Data Tree ManagerでALLをクリックして、使用可能なすべてのシミュレーション設定を表示します。
- Data Treeを拡張表示します。
- Multiphase多相の下で、Field 項目を拡張表示します。
- Airをダブルクリックします。
- Modify advanced settingsをOnに設定し、Material modelがAirに設定されていることを確認します。
- Waterをダブルクリックします。
- Modify advanced settingsをOnに設定し、Material modelがWaterに設定されていることを確認します。
-
場の相互作用モデルの定義:
- Multiphaseパラメータの下で、Field Interaction Model項目を拡張表示します。
- Air-Waterをダブルクリックして詳細パネルを開きます。
- Modify advanced settingsをOnに設定します。
- Fields 1の横のOpen Refsをクリックします。
- Reference EditorのエントリがAirになっていることを確認します。
- Fields 2の横のOpen Refsをクリックします。
- Reference EditorのエントリがWaterになっていることを確認します。
- Surface tension modelをNoneに設定します。
- Interface thickness optionをAutoに設定します。
-
多相モデルの定義:
- Multiphaseパラメータの下で、Multiphase Model項目を拡張表示します。
- Air-Waterをダブルクリックして詳細パネルを開きます。
- Modify advanced settingsをOnに設定します。
- Field interaction modelsの横のOpen Refsをクリックします。
- Reference EditorのエントリがAir-Waterになっていることを確認します。
Body Forceの設定
Body Forceコマンドは、体積力の項を支配型保存方程式に追加します。このチュートリアルでは、重力物体力が流体場に適用されます。x方向に沿った正弦波の変化する物体力とy方向に沿った一定の重力は、式 1で求められます。
UDFのコンパイル
C言語の形式のUDF(gravity.c)がチュートリアルに付属しています。次の手順に従って、このプログラムをコンパイルする必要があります。
-
Windowsの場合:
-
Linuxの場合:
節点出力の定義
節点出力コマンドは、出力頻度や保存されている状態の数などの節点出力パラメータを指定します。
初期状態の設定
ボリュームパラメータの適用
ボリュームグループは、ボリューム領域に関する情報を保存するためのコンテナです。この情報には、ボリュームに適用される解析およびメッシングパラメータや、それらの設定が適用される形状領域が含まれます。
形状がAcuConsoleにインポートされたときに、すべてのボリュームは“デフォルトの”ボリュームコンテナに配置されました。
このチュートリアルのモデルには1つのボリュームしか含まれていないため、それが、形状のインポート時のデフォルトボリュームグループ内の唯一のボリュームになります。モデル内に1つのボリュームしか存在しない場合でも、今後の識別が容易になるようボリューム名を変更することをお勧めします。次の手順では、デフォルトボリュームグループコンテナの名前を変更し、その材料とその他のプロパティを設定します。
サーフェスグループの作成とサーフェス属性の適用
サーフェスグループは、サーフェスに関する情報を保存するためのコンテナです。この情報には、解析およびメッシングパラメータや、パラメータが適用される形状内の対応するサーフェスが含まれます。
次の手順では、サーフェスグループを定義して、問題のさまざまな特性に適切な設定を割り当て、これらのグループコンテナにサーフェスを追加します。
シミュレーションの設定プロセスでは、(特に、サーフェスが非常に多いモデルの場合)複雑になりがちな境界条件やメッシュパラメータなどを設定するため、別のパネルに移動する必要があります。これを簡単にして、エラーを減らし、時間を節約するために、AcuConsoleでは2つの新しいダイアログが追加されています。これらのダイアログを使用すれば、すべてのサーフェスまたはボリュームエンティティに関する情報を一度に確認したり、指定することができます。これらのダイアログはVolume ManagerとSurface Managerです。ここでは、Surface Managerのいくつかの機能を利用します。
メッシュコントロールの割り当て
グローバルメッシュ属性の設定
問題全体に対して流体特性を設定したので、十分に細分化されたメッシュを生成する必要があります。
グローバルメッシュ属性は、特定の形状ボリューム、サーフェス、エッジ、およびポイントに参照されるのではなく、モデル全体に適用されるメッシングパラメータです。モデルの特定の形状コンポーネントのメッシュ生成コントロールを作成するには、ローカルメッシュ属性を使用します。
次の手順では、グローバルメッシュ属性を設定します。
メッシュ押し出しの定義
このシミュレーションは、モデルの2D断面の表現と等価です。AcuSolveでは、断面のフェイス全体で1つの要素を構成するだけで2Dモデルがシミュレートされます。つまり、これらのフェイスを同様の境界条件を使用して設定、すると、フェイス全体の対応する節点で同じ結果が得られます。この問題では、これらのフェイスは負および正のzサーフェスです。この種のメッシュは、AcuSolveのメッシュ押し出しプロセスで実現されます。次の手順では、これらのサーフェス間のメッシュの押し出しプロセスを定義します。
メッシュの生成
次の手順では、問題の解を計算する際に使用されるメッシュを生成します。
基準圧力の割り当て
このケースには、領域内の圧力レベルを設定する境界条件を定義する入口または出口のサーフェスがありません。解をよりロバストにするには、節点境界条件を使用して圧力基準点を設定します。次の手順は、CFD領域内の基準圧力を設定する方法を示します。
解の計算と結果の確認
AcuSolveの実行
次の手順では、AcuSolveを起動してこのケースの解を計算します。
AcuFieldViewでのポスト処理
- Fileメニューでデータリーダーを検索し、データ入力のための目的のリーダーパネルを開く方法。
- AcuFieldViewにおいてサイドツールバーまたはVisualizationパネルメニューから表示パネルを検索し、でサーフェスを作成および変更する方法。
- マウスアクションを使用してグラフィックスウィンドウでデータを動かし、データの移動、回転、およびズームを行う方法。
AcuFieldViewの設定
中央座標サーフェス上の水-空気インターフェースを示すサーフェスの調整
水流のアニメーションの表示
このダイアログのSweep ControlにBuildではなくSweepが表示された場合は、Flipbook Buildモードがアクティブになっていません。Sweepモードでは、アニメーションを作成して表示できますが、それを保存できません。アニメーションを保存するには、Flipbook Buildモードを有効にします。
要約
このAcuSolveチュートリアル、では、多相流問題を正しく設定し、解析しました。この問題では、四角形の水タンクの重力によるスロッシングをシミュレートしました。水が壁に対して揺動する際のタンク内の水-空気インターフェースを可視化できます。チュートリアルは、AcuConsoleでデータベースを作成し、形状をインポートしてメッシュ処理し、シミュレーションパラメータを設定することから始めました。空気と水が1つのボリュームを占有する別々の場としてモデル化されます。ケースが設定されると、AcuSolveを使用して解が生成されました。結果がAcuFieldViewでポスト処理され、そこで水流のアニメーションが生成されました。このチュートリアルで紹介した新機能は、変化する重力のシミュレーションでのユーザー定義関数の使用です。