ACU-T:2100 SST乱流モデルを使用した翼上の乱流
このチュートリアルでは、AcuSolveにおけるSSTおよびK-Omega乱流モデルの設定のための手順を説明します。調査適用対象は、迎角が5度のNACA0012翼上の流れです。AcuSolve を使用して、翼の揚力と抗力を得ます。このチュートリアルの目的は、SSTおよびK-Omega乱流モデルを使用して外部空力シミュレーションを実行するために必要なモデリングの概念を紹介することです。
- SSTまたはK-Omega乱流モデルの使用
- 遠方場境界条件タイプの使用
- Variable Managerを使用した変数と式の格納
- パネル領域への式の入力
前提条件
入門チュートリアルであるACU-T:2000 ミキシングエルボ内の乱流をすでに完了している必要があります。ここでは、AcuConsole、AcuSolve、およびAcuFieldViewをある程度使い慣れていることを前提としています。ライセンス供与済みバージョンのAcuSolveにアクセスできることも必要です。
このチュートリアルを実行する前に、AcuConsole_tutorial_inputs.zipを<<Altair_installation_directory>\hwcfdsolvers\acusolve\win64\model_files\tutorials\AcuSolveから作業ディレクトリにコピーします。 NACA0012.x_t をAcuConsole_tutorial_inputs.zipから取り出します。
問題の解析
CFDシミュレーションにおける重要な最初のステップは、解析対象となる工学的な問題を調べ、AcuSolveに対して指定する必要のある設定を決定することです。設定は、形状コンポーネント(ボリューム、入口、出口、壁など)に基づいて行うことができるとともに、流れの条件(流体の物性、速度、流れを乱流または層流のどちらでモデル化するのかなど)に基づいて行うことができます。
このチュートリアルで扱う問題は、下の図に示しています。これは、NACA0012翼プロファイルを通過して流れる空気を含む、円筒状の境界領域で構成されます。シミュレーションは、翼のスパン方向に押し出される要素の単一層のみを含めることにより、2Dとして実行されます。領域の遠方場境界の速度ベクトルは、迎角が5度、レイノルズ数が1.0e6になるように指定されます。翼弦は1mで、シミュレーションには標準の空気の材料物性が使用されます。
円筒状の領域の直径は、翼弦の500倍に設定されます。このように大きな境界ボリュームを選択することで、遠方場境界が翼から十分に遠い位置に配置され、解析の領域の閉塞による影響を回避できます。
この翼の最初のシミュレーションは完全な乱流と見なされ、SST乱流モデルを使用します。これらのシミュレーション条件は、翼の前縁の境界層が、ある種の粗さ要素を伴って移動し、翼の全長に渡る完全な乱流の境界層を作成するシナリオに対応しています。
解析パラメータの定義
AcuConsoleの起動とシミュレーションデータベースの作成
このチュートリアルでは、まずデータベースの作成と一部の事前定義済み変数の読み込み、形状に依存しない設定の入力、形状の読み込み、グループの作成、グループ属性の設定、グループへの形状コンポーネントの追加、およびグループへのメッシュコントロールと境界条件の割り当てを行います。次にメッシュを生成してAcuSolveを実行し、定常状態解に収束させます。最後に、AcuFieldViewおよびAcuProbeを使用して結果を確認します。
次の手順では、AcuConsoleを起動し、AcuConsoleの設定を保存するためのデータベースを作成して、AcuSolve用のメッシュ情報と解情報を保存する場所を設定します。
Variable Managerを使用した式と変数の定義
この手順では、AcuConsoleのVariable Managerを使用して、モデルの設定プロセスで使用する式のリストを作成します。
Variable Managerは便利なユーティリティで、これを使用して変数や式を定義し、それらをモデルの構築プロセス全体で使用するさまざまな設定への入力として後で参照することができます。変数によってモデルを構築した場合、Variable Managerから1つのパラメータを単純に変更することで、モデル全体を非常に簡単に更新できます。このチュートリアルでは、このプロセスについて説明します。
名前 | Expression |
---|---|
volumeFlowRate | =2*2 |
名前 | Expression |
---|---|
inletArea | 2.0 |
averageVelocity | 2.0 |
volumeFlowRate | :=inletArea*averageVelocity |
このシンタックスを使用すると、volumeFlowRateの式がデータベースに保存され、inletAreaまたはaverageVelocityが更新されたびに自動更新されます。Variable Managerで定義される変数はすべて、パネル領域で整数または浮動小数点の値を指定するときに参照できます。同じ式シンタックスを使用可能です。
一般的なシミュレーションパラメータの設定
次の手順では、シミュレーション全体に適用されるパラメータを設定します。このタスクを簡略化するため、Data Tree ManagerでBASフィルタを使用します。BASフィルタでは、基本設定のみが表示されるよう、Data Tree内のオプションが限定されます。
このチュートリアルで設定する一般的な属性は、乱流、および定常状態時間解析のためのものです。
解法パラメータの設定
次の手順では、非定常解析中に進行するAcuSolveの挙動を制御するパラメータを設定します。
材料モデルパラメータの設定
次の手順では、Variable Managerで作成した式を使用して、事前定義済みの空気の材料プロパティを変更します。
形状のインポートとモデルの定義
翼の形状のインポート
ボリュームグループの作成とボリュームパラメータの適用
ボリュームグループは、ボリュームに関する情報を保存するためのコンテナです。これらの情報には、そのコンテナに関連付けられた形状ボリュームのリストや、材料モデルやメッシュサイジング情報などのパラメータが含まれます。
形状がAcuConsoleにインポートされたときに、すべてのボリュームはデフォルトのボリュームコンテナに配置されました。
次の手順では、デフォルトグループの名前をFluidに変更し、そのグループの材料を設定して、形状のボリュームをボリュームグループに追加します。
サーフェスグループの作成とサーフェスパラメータの適用
サーフェスグループは、サーフェスに関する情報を保存するためのコンテナです。これらの情報には、そのコンテナに関連付けられた形状サーフェスのリストや、境界条件、サーフェス出力、メッシュサイジング情報などのパラメータが含まれます。
次の手順では、サーフェスグループを定義して、問題内の各グループに適切なパラメータを割り当てて、これらのグループにサーフェスを追加します。
遠方場境界条件の設定
次の手順では、遠方場境界のサーフェスグループを定義して、入口速度を設定し、形状内の対応するサーフェスをこのグループに追加します。
残りの境界条件の設定
次の手順では、スリップおよび壁境界のサーフェスグループを定義します。
初期状態の定義
次の手順では、初期状態を定義します。
SSTおよびK-Omega乱流モデルでは、Kinetic energyとEddy frequencyの初期値を入力する必要があります。これらの値の合理的な推定値がわかっている場合は、欄にそれらの値を直接入力できます。1つのオプションとして、入口境界で割り当てられたものと同じ値を使用する方法もあります。初期状態に適した推定値がない場合は、AcuSolveによって乱流変数の自動初期化を実行することも可能です。これらの値をゼロに設定したままにすると、AcuSolveがこれらの変数の自動初期化を開始します。
メッシュコントロールの割り当て
グローバルメッシュパラメータの設定
シミュレーションの定義が完了したので、メッシャーによって作成されるメッシュのサイズを定義するためのパラメータを追加する必要があります。
- グローバルメッシュコントロールは、モデル全体に適用され、モデルのどの形状コンポーネントにも関連付けられません。
- ゾーンメッシュコントロールは、モデルの定義済み領域に適用されますが、どの特定の形状コンポーネントにも関連付けられません。
- 形状メッシュコントロールは、特定の形状コンポーネントに適用されます。これらのコントロールは、ボリュームグループ、サーフェスグループ、またはエッジグループに適用できます。
メッシュプロセスパラメータの設定
- 境界層の積み重ねの層の数を局所的に減少させ、高品質の境界層要素を維持する。
- 境界層の積み重ねの高さを局所的に減少させるが、層の総数は一定に保つ。このアプローチを使用して、積み重ねの合計高さが減少するよう各層の高さを一定の係数によってスケーリングし、品質の低い境界層要素の作成を回避します。
サーフェスメッシュパラメータの設定
翼上のサーフェスメッシュサイズは、翼の外周エッジのメッシュサイズセットとサーフェスに直接適用されるメッシュサイズの組み合わせによって制御されます。このチュートリアルでは、サーフェスメッシュの影響領域オプションも使用して、翼サーフェスから指定した距離に細分化されたメッシュを作成します。
エッジメッシュパラメータの設定
翼のサーフェスに最適なメッシュを作成するには、翼の2.前縁と後縁付近を細かく細分化し、翼弦の中央部分では要素サイズを大きくする必要があります。このサーフェスメッシュサイズは、影響領域の細分化のためのボリュームに伝播するサイズとして提供されるように一定に設定されているので、ユーザーはエッジメッシュパラメータを使用して、翼のサーフェスに沿って節点の配置を制御します。これを実行するには、まず、翼の外周エッジを含むエッジグループを作成する必要があります。
メッシュ押し出しパラメータの設定
翼のメッシングの設定の最後の手順は、メッシュ押し出し属性の作成です。この押し出しは、翼の全スパンに渡って1つの要素が作成されるように定義します。
メッシュの生成
次の手順では、問題の解を計算する際に使用されるメッシュを生成します。
解の計算と結果の確認
AcuSolveの実行と.logファイルの検証
次の手順では、AcuSolveを起動してこのケースの解を計算します。
AcuProbeによる解析のモニター
AcuSolveの実行中は、AcuProbeを使用して運動エネルギーを監視できます。
AcuFieldViewの起動
渦周期の平方根の表示
次の手順では、境界サーフェスを作成して、渦周期の平方根と呼ばれる新しい変数のコンターを表示します。SSTおよびk-omega乱流モデルを解析する場合、AcuSolveでは出力に新しい3つの変数、kinetic_energyeddy_frequency 、およびsqrt_eddy_per ()を導入します。sqrt_eddy_per変数は、乱流の時間スケールを可視化するために役立ちます。eddy_frequency変数では値の範囲が非常に大きいため、多くの場合、sqrt_eddy_perを可視化する方が容易になります。
これらの手順は、AcuFieldViewのビューの操作を習得していることを前提に提供されています。AcuFieldViewの基本操作に不慣れな場合には、AcuFieldViewにおけるモデルビューの操作をご参照ください。
流れ係数計算のためのポスト処理
AcuSolveは、ソルバーを使用して解析する問題のプリ処理およびポスト処理を容易にするさまざまなユーティリティスクリプトとともに配布されています。ここでは、AcuLiftDragとAcuGetCpCfの2つのスクリプトとそれらの使用方法について説明します。これら2つのスクリプトは、このチュートリアルで解析するような空力シミュレーションに特化しています。
AcuLiftDragの実行
AcuLiftDragは、翼の揚力係数および抗力係数の計算に使用されるユーティリティスクリプトです。このスクリプトを実行するには、入力として次のオプションを指定する必要があります。
オプション名 | 説明 |
---|---|
-pb | 問題名 |
-dir | 作業ディレクトリ。デフォルトの作業ディレクトリはACUSIM.DIRです。問題の解析ファイルはすべてここに格納されます。 |
-run | 実行番号(0の場合、最後の番号を使用) |
-osis | 力の計算に使用するサーフェスのコンマ区切りリスト |
-angle_of_attack / aoa | 翼の迎角(度) |
-reference_velocity / ref_vel | 基準速度 |
-wing_chord / chord | 翼弦 |
-wing_span / span | 翼のスパン |
-density / rho | 空気密度 |
-drag_direction / drag_dir | 迎角ゼロでの抗力方向: x、y、z。デフォルトの抗力方向はxです。 |
-lift_direction / lift_dir | 迎角での揚力方向: x、y、z。デフォルトの揚力方向はyです。 |
-x_axis_vars / x_vars | エクスポートされるデータのx軸変数: step、time、both。デフォルトはstepです。 |
問題の解析の項では、シミュレーションは翼のスパン方向に押し出される要素の単一層のみを含めることにより、2Dとして実行されると説明されています。そのように問題を解析する場合は、翼のスパンは押し出し方向の領域の厚さに等しくなるように設定する必要があります。3Dの問題を解析する場合は、実際の翼のスパンを使用する必要があります。
この位置についてAcuLiftDragスクリプトを実行するには、次の手順に従います:
AcuGetCpCfの実行
AcuGetCpCfはもう1つのユーティリティスクリプトで、翼の圧力係数(Cp)の計算に使用されます。このスクリプトを実行するには、入力として次のオプションを指定する必要があります。
オプション名 | 説明 |
---|---|
-pb | 問題名 |
-dir | 作業ディレクトリ。デフォルトの作業ディレクトリはACUSIM.DIRです。問題の解析ファイルはすべてここに格納されます。 |
-run | 実行番号(0の場合、最後の番号を使用) |
-ts | 抽出する時間ステップ(0の場合、最後の時間ステップを使用) |
-osis | 力の計算に使用するサーフェスのコンマ区切りリスト |
-type | 生成するデータのタイプ: cp、cf |
-point_type | カーブのポイントの生成に使用する方法: file、auto |
-points_file / pts | ポイントを読み出すファイルのコンマ区切りリスト(type=fileの場合に使用) |
-radial_locations / rad_locs | 放射状の位置のリスト |
-z_direction / z_dir | iso-cutの方向: x、y、z。デフォルトはzです。 |
-reference_pressure / ref_pres | 基準圧力 |
-density / rho | 空気密度 |
-reference_velocity / ref_vel | 基準速度 |
-wing_chord / chord | 翼弦 |
-normalize_chord / nc | ローカルな翼弦を1に正規化。デフォルトはTrueです。 |
-chord_scale_fac / csf | 翼弦のスケールファクター |
-cp_scale_fac / cpsf | c_p / c_fスケールファクター |
-pressure_type / ptype | 使用する圧力場: standard、time_ave、running_ave。デフォルトはstandardです。 |
この問題に対してAcuGetCpCfスクリプトを実行するには、次の手順に従います:
迎角の変更と解の計算
このデータベースは変数と式を使用して設定されているので、別の迎角を使用してシミュレーションを簡単に再実行できます。このためには、Variable Managerを開き、“alpha”を0.0に設定します。初期および境界条件用に定義されたxVelocityおよびyVelocity変数はこのパラメータの関数なので、データベースは新しい設定を反映するように自動的に更新されます。ユーザーは単純に入力を再度記述して、ソルバーを実行し、異なる迎角を取得できます。