ACU-T:2100 SST乱流モデルを使用した翼上の乱流
前提条件
このチュートリアルを開始する前に、入門チュートリアルであるACU-T:1000 ユーザーインターフェースをすでに完了している必要があります。このシミュレーションを実行するには、ライセンス供与済みバージョンのHyperMesh CFDおよびAcuSolveにアクセスできる必要があります。
問題の説明
図 1.
翼の円筒境界ボリュームの直径は翼弦の500倍に設定されます。この大きな境界ボリュームは、領域の妨害物が解析に影響を与えないよう、遠方場境界を翼から十分に遠ざけるように選択されます。
翼付近の流れ場は乱流であると見なされるため、シミュレーションにはSST乱流モデルが使用されます。これらのシミュレーション条件は、翼の前縁の境界層がある種の粗さ要素に引っかかり、翼の長さ方向にわたって完全な乱流境界層が生じるシナリオに対応しています。
HyperMesh CFDの起動とシミュレーションデータベースの作成
- WindowsのスタートメニューからStart > Altair <version> > HyperMesh CFDをクリックしてHyperMesh CFDを起動します。
-
File > Save Asをクリックし、 TubulentAirfoil_SSTまたは任意の名前を付けて、そのディレクトリに移動します。
このディレクトリが作業ディレクトリになり、シミュレーションに関連するすべてのファイルがこの場所に保存されます。
-
ファイルを Airfoilまたは任意の名前で保存します。
このファイルが今回のデータベースファイルとなります。
- 保存をクリックしてデータベースを作成します。
翼形状のインポート
- メニューバーでFile > Import > Geometry Modelをクリックします。
- Import Fileダイアログで、作業ディレクトリに移動し、 を選択してOpenをクリックします。
-
Geometry Import Optionsダイアログで、すべてのオプションをデフォルト設定にしたままImportをクリックします。

図 2.
図 3.
形状の検証
-
形状リボンから Validateツールをクリックします。

図 4.Validateツールは、モデル全体をスキャンし、サーフェスおよびソリッド上でチェックを実行して、形状に不具合(フリーエッジ、閉じたシェル、交差、重複、スライバーなど)があればフラグ付けします。現在のモデルには、上記のような問題は存在しません。問題が見つかった場合は、ツール名の横の括弧内の数で示されます。
Validateアイコンの左上に青色のチェックマークが表示されているのがわかります。これは、このツールでは形状モデルの問題は検出されなかったことを示しています。
図 5. - Escを押すか、モデリングウィンドウ内を右クリックして緑のチェックマーク上を右から左にスワイプします。
- データベースを保存します。
問題の設定
シミュレーションパラメーターとソルバーの設定
-
流れリボンから Physicsツールをクリックします。

図 6.Setupダイアログが開きます。 -
Physics modelsの設定で
- Single phase flowでIncompressibleオプションが選択されているのを確認します。
- Time frequencyをSteadyに設定します。
- Turbulence modelにSSTを選択します。

図 7. - Solver controls設定をクリックします。
-
Steady update factorを0.6、Steady maximum stepsを100、Convergence toleranceを0.001にそれぞれ設定します。

図 8. - ダイアログを閉じてモデルを保存します。
材料選択の確認
-
流れリボンから 材料ツールをクリックします。

図 9. -
モデルボディを選択します。
ソリッド全体がハイライト表示されます。

図 10. - マクロダイアログで、材料Airがデフォルトで割り当てられていることを確認してください。
-
Material Library ツールをクリックして、空気の材料特性を確認します。

図 11.空気は次のような特性を持っていなければなりません。
- Density:1.225
- Specific Heat:1005
- Viscosity:1.781e-5
- Thermal Conductivity:0.02521

図 12. - ダイアログを閉じます。
パラメータの定義
-
流れリボンで、設定ツールセットの横の矢印をクリックし、パラメータを選択します。

図 13.Parameter Managerが開き、ここで変数や式を作成することで、後でセットアップに使用できます。 -
をクリックして、新しいパラメータを作成します。Nameをxvelocity、Expressionを14.48345108に設定します。
-
もう一つの新しいパラメータ、yvelocity = 1.26713777823を作成します。

図 14. - ダイアログを閉じます。
流れ境界条件の割り当て
遠方場の境界条件の設定
-
流れリボンから Far Fieldツールをクリックします。

図 15. -
側面が見えるように、少し形状を回転させます。下の図に示されている2つの半側面をクリックします。マクロダイアログで、それぞれの速度欄にxvelocity、yvelocityと入力します。その他すべてのデフォルト設定を受け入れます。

図 16. -
マクロダイアログでTurbulenceタブをクリックし、Turbulence flow typeとしてExternalを選択します。その他すべてのデフォルト設定を受け入れます。

図 17. -
ガイドバーの
をクリックします。
Boundariesの凡例に、更新されたイベントのステータスが表示されます。
図 18. - ガイドバーで、
をクリックしてコマンドを実行し、ツールを終了します。
滑り境界条件の設定
-
View CubeのTopフェイスをクリックし、形状の向きを調整します。

図 19. -
Slipツールをクリックします。

図 20. -
下の図に示されている2つのサーフェスを選択します。マクロダイアログですべてのデフォルトパラメータを受け入れます。

図 21. -
ガイドバーの
をクリックします。
-
もう一度View CubeのTopフェイスをクリックし、形状の向きを底面ビューにします。
ビューが設定された後、再度ビューをクリックすると、形状の向きは反対の面のビューとなります。
-
この面を選択し、マクロダイアログですべてのデフォルトパラメータを受け入れます。

図 22. -
ガイドバーの
をクリックします。
Boundaries凡例は、今度は次のようになります:
図 23. - View CubeのBottomフェイスをクリックし、形状の向きを再度上面ビューにします。
- Boundaries凡例を使用して、Slip (2)の名前を+Z slipに、Slip (1)を-Z slipに変更します。
- ガイドバーで、
をクリックしてコマンドを実行し、ツールを終了します。
壁の境界条件の設定
-
No Slipツールをクリックします。

図 24. - 翼面がよく見えるよう、スクロールして拡大します。
-
モデリングウィンドウで右クリックし、Select > Advanced Selection > By Boundaries > Default Wallを選択して、翼形全体を選択します。

図 25. -
ガイドバーの
をクリックします。
- Boundariesの凡例で、Wall (30)の名前をAirfoilに変更します。
- ガイドバーで、
をクリックしてコマンドを実行し、ツールを終了します。 - View CubeのTopフェイスをクリックし、再度モデルの向きを調整します。
メッシュプロパティの定義
サーフェスメッシュコントロールの設定
-
メッシュリボンから サーフェスツールをクリックします。

図 26. - 下の図に示されている外側の円形サーフェスを選択します。
-
マクロダイアログで、Average element sizeを20に設定し、Minimum size factor(0.1)、Geometric feature angle(22.5)、Mesh growth rate(1.2)が、下に示すように入力されていることを確認します。

図 27. -
ガイドバーの
をクリックします。
- 下の図に示されている内側の円形サーフェスを選択します。
-
マクロダイアログで、Average element sizeを2に、Minimum size factor を0.001に設定します。
これで、翼のメッシュサイズが確実にスムーズに移行するようになります。

図 28. -
ガイドバーの
をクリックします。
Surface Controlsの凡例に、更新されたイベントのステータスが表示されます。
図 29. - ガイドバーで、
をクリックしてコマンドを実行し、ツールを終了します。
エッジメッシュコントロールの設定
-
Edgeツールをクリックします。

図 30. -
翼を拡大します。

図 31. -
モデリングウィンドウを右クリックし、Select > Advanced Selection > By Mesh Controls > Surface Mesh Controls 1を選択します。
これは、さらに小さな円のエッジも選択します。これらは次のステップでは選択されません。選択されたライン総数は(31)です。
-
マクロダイアログで、Average element sizeに0.002という値を入力します。

図 32. -
ガイドバーの
をクリックします。
- 小さな円のエッジが表示されるまでズームアウトします。
-
Edge refinement(31)を右クリックし、Editを選択します。小さな円のハイライトされたエッジ上にカーソルを置いておきます。Shiftを押し、左クリックして小さな円のエッジを選択解除することで、選択されているライン総数を(30)にします。

図 33. -
ガイドバーの
をクリックします。
-
マウスを小さな円のエッジライン上に置き、これをクリックします。Average element sizeに2という値を入力します。

図 34. -
ガイドバーの
をクリックします。
-
View CubeのTopフェイスをクリックします。

図 35. -
外側の円の2つの外側エッジを選択し、Average element sizeに20という値を入力します。

図 36. -
ガイドバーの
をクリックします。
Edge Controlsの凡例に、更新されたイベントのステータスが表示されます。
図 37. - ガイドバーで、
をクリックしてコマンドを実行し、ツールを終了します。
エッジレイヤーコントロールの設定
- 翼を拡大します。
-
Edge Layerツールをクリックします。

図 38. -
ガイドバーでEdgesセレクターの横の
をクリックします。
-
Advanced Selectionダイアログで、By
Mesh Controlsを選択し、Edge
refinementを有効にします。

図 39. -
マクロダイアログで、First layer thickness definitionとしてConstantを選択します。メッシュ境界層を作成するため、First layer thicknessに0.0001、Total number of layersに20の値を入力します。Growth methodにConstantを選択し、Growth rateの値として1.2と入力し、Final Layer Height/Base Ratioの値が0.8であることを確認します。その他すべてのデフォルト設定を受け入れます。

図 40. -
Advanced Selectionダイアログを閉じ、ガイドバーでParent Surfaceをクリックして、以下のようなさらに小さな円形サーフェス(翼の周り)を選択します。

図 41. -
ガイドバーの
をクリックします。
2D Boundary Layer Controlsの凡例に、更新されたイベントのステータスが表示されます。
図 42. - ガイドバーで、
をクリックしてコマンドを実行し、ツールを終了します。 - View CubeのTopフェイスをクリックします。
引き伸ばしコントロールの設定
-
Extrusionツールをクリックします。

図 43. -
ガイドバーのFindをクリックします。
これにより、引き伸ばしでマッピング可能なサーフェスを持つすべてのソリッドを見つけます。
-
Solid (1)をクリックします。
これによりすべてのソリッドが自動的に選択されます。
- Sourceをクリックし、モデルサーフェスを選択します。
-
マクロダイアログで、Element Size Along Extrusionに50、Element size on the surfaces attached to targetsに0.6の値を入力します。その他すべてのデフォルト設定を受け入れます。

図 44. -
ガイドバーで
をクリックし、凡例が変わったことを確認し、
をクリックします。
- データベースを保存します。
メッシュの生成
-
メッシュリボンから Volumeツールをクリックします。

図 45.Meshing Operations ダイアログが開きます。 -
Average element sizeが20に設定されていることを確認します。その他すべてのデフォルト設定を受け入れます。

図 46. -
Meshをクリックします。
Run Statusダイアログが開きます。解析が実行すると、ステータスが更新され、ダイアログが閉じます。ヒント: メッシュジョブを右クリックし、View log fileを選択してメッシングプロセスの概要を表示します。
-
ビューコントロールツールバーのMesh Onlyをクリックします。
これは、メッシュの表示を有効化または無効化するために使用されます。

図 47. -
拡大して翼面により近いメッシュ層をチェックします。

図 48. -
翼のトレイリングエッジを拡大して、メッシュを表示します。

図 49. -
Homeのツールから、Countツールをクリックし、節点や要素の数を取得します。

図 50.
図 51.注: メッシュが生成されるたびにエンティティの数は若干異なる可能性があります。 - ダイアログを閉じてデータベースを保存します。
AcuSolveの実行
-
ソリューションリボンから 実行ツールをクリックします。

図 52.Launch AcuSolveダイアログが開きます。 - Problem name欄をNACA0012に設定します。
- Parallel processingオプションをIntel MPIに設定します。
- オプション: プロセッサーの数を、環境に応じて4または8に設定します。
- Automatically define pressure referenceオプションを無効にします。
-
Default initial conditionsを展開し、Pre-compute flowをオフにし、x-velocityを14.48345108に、y-velocityを1.26713777823に設定します。Pre-compute
turbulenceを有効にします。

図 53. -
Runをクリックします。
ヒント: AcuSolve実行中、Run StatusダイアログでAcuSolveジョブを右クリックし、View Log Fileを選択することで、解析プロセスの状況を確認できます。
HM-CFD Postによる結果のポスト処理
-
解析が完了した後、Run Statusダイアログで、実行するAcuSolveを右クリックし、Plot time historyを選択します。

図 54.Plot Managerに、Residual RatioとSolution Ratioが表示されます。
図 55. - ダイアログを閉じます。
-
AcuSolve実行を再度右クリックし、Visualize Resultsを選択します。
Postリボンに移動します。
-
Slice Planesツールをクリックします。

図 56. -
モデリングウィンドウで、x-y平面を選択します。

図 57. -
をクリックしてスライス平面を作成します。
- 表示プロパティマクロダイアログで、表示をvelocityに設定し、Legendのトグルスイッチをアクティブにします。
-
をクリックして、Colormap NameをRainbow
Uniformに設定します。

図 58. -
ガイドバーで
をクリックし、渦周期の平方根のコンターを表示します。
-
Postブラウザで、Flow
Boundariesの横のアイコンをクリックして、すべての流れ境界の表示をオフにします。

図 59. - ガイドバーで、
をクリックしてコマンドを実行し、ツールを終了します。 -
翼を拡大してコンターを確認します。

図 60.
流れ係数の計算のためのポスト処理
AcuSolveには、ソルバーを使用して解析された問題のプリ処理およびポスト処理を促進する、多くのユーティリティスクリプトが付属しています。このセクションでは、これらのうち、AcuLiftDragとAcuGetCpCfの2つのスクリプトとそれらの使用方法について紹介します。これら2つのスクリプトは、このチュートリアルで解析される空力シミュレーションに焦点を当てています。
AcuLiftDragの実行
問題の説明セクションでは、翼幅方向に引き伸ばされた要素を1層のみ含めることで、シミュレーションが2Dとして実行されることを説明しました。このように問題を解析する場合、翼幅は引き伸ばされる方向の領域の厚みと同じになるように設定する必要があります。3D問題を解析する場合は、実際の翼幅を使用します。
この位置でAcuLiftDragスクリプトを実行するには、次の手順に従います:- スタートメニューからStart > Altair <version> > AcuSolve Cmd PromptをクリックしてAcuSolveコマンドプロンプトを起動します。
- cdコマンドを使用して、ディレクトリを現在の作業ディレクトリに変更します。
-
プロンプトに以下のコマンドを入力します:
acuLiftDrag -osis "Airfoil - Output" -aoa 5 -ref_vel 14.54 -chord 1 -ref_rho 1.225 -span 50
このコマンドの出力は次の画像のようになります:
図 61.値C_lは揚力係数に相当し、C_dは抗力係数に相当します。最後のキーワードは、シミュレーションの最後の時間ステップでのそれぞれの係数値を表します。残りの値は、シミュレーションのすべての時間ステップでのこれらの係数の基本的な統計を示しています。これらの統計は、シミュレーションが過渡的である場合、特に意味を持ちます。
また、作業ディレクトリにNACA0012.liftDrag.datというファイルを作成します。このファイルには、決められた表形式で使用可能なすべての時間ステップの揚力と効力のデータが含まれます。最初の列は時間ステップ、2番目の列は揚力係数、3番目の列は効力係数です。
AcuGetCpCf
AcuGetCpCfは、翼の圧力係数(Cp)と摩擦係数(Cf)の計算に使用されるもう一つのユーティリティスクリプトです。
この問題のAcuGetCpCfスクリプトを実行するには、次の手順に従います:
- スタートメニューからStart > Altair <version> > AcuSolve Cmd PromptをクリックしてAcuSolveコマンドプロンプトを起動します。
- cdコマンドを使用して、ディレクトリを現在の作業ディレクトリに変更します。
-
プロンプトに以下のコマンドを入力し、Cpを抽出して.dat拡張子のファイルに保存します。
acuGetCpCf -osis "Airfoil - Output" -type cp -ref_vel 14.54 -ref_rho 1.225 -no_nc -ref_pres 0 –cut_dir z –rad_locs 0.0
cut_dirオプションは、CpとCfの値を計算するための断面の軸を表します。rad_locsは、cut_dir軸上の断面の位置を表します。このスクリプトは、圧力係数の最小値と最大値を出力します。また、作業ディレクトリにNACA0012.cp.1.datというファイルを作成します。このファイルには、翼弦に沿った圧力係数データが含まれます。最初の列は翼弦に沿ったx座標で、2番目の列は圧力係数です。
このコマンドの出力は次の画像のようになります:
図 62. -
プロンプトに以下のコマンドを入力し、翼面に沿ったCpの変化をプロットするか、外部プロットユーティリティを使用してデータをプロットすることもできます。
acuPlotData -files NACA0012.cp.1.dat -x_col 1 -y_cols 2 -no_pts -ptf -lfmt "-r" -legend AcuSolve -title Cp_variation_along_the_chord -x_label x_along_the_chord -y_label Cp

図 63.プロット結果を以下に示します:
図 64.
要約
このチュートリアルでは、HyperMesh CFDとAcuSolveを使用してNACA0012翼シミュレーションを設定および実行する方法を知ることができました。まず、入力CADファイルをインポートします。次に、流れ境界条件を割り当て、引き伸ばしを使用してメッシュを生成しました。計算後、HyperMesh CFD Postを使用して結果をポスト処理しました。最後に、AcuLiftDragのユーティリティスクリプトを使用して、翼の揚力係数と抗力係数を計算し、AcuGetCpCftoのユーティリティスクリプトを使用して、圧力係数(Cp)と摩擦係数(Cf)を計算しました。翼面に沿った圧力係数の変化は、プロットユーティリティacuPlotDataを使用してプロットされます。