概要
翼周りの圧縮性流れシミュレーションのチュートリアルです。
図1: 翼とその周辺の圧力分布
この翼周りの圧縮性流れのチュートリアルでは、次のことを学びます。
- 圧縮性 (Compressible) シミュレーションのセットアップと実行
- Saved selectionsの作成
- 境界条件、材料、その他のプロパティの設定
- Standardアルゴリズムによるメッシュ作成
- メッシュの品質を視覚的に評価
以下の手順でチュートリアルを実施します。
- シミュレーションのためのCADモデルを準備します。
- シミュレーションの条件を設定します。
- メッシュを作成します。
- シミュレーションを実行し、結果を評価します。
| 注意 |
| このチュートリアルは、Professionalプランをお持ちのユーザーのみがアクセスできる圧縮性解析タイプを利用します。Professional Planについてはお問い合わせください。 |
1. CADモデルの準備と解析種類の選択
まず、下のボタンをクリックしてください。これで、ジオメトリを含む翼シミュレーションのチュートリアルが、ワークベンチにコピーされます。

図2: SimScaleのワークベンチにインポートされた翼のCADモデル
1.1. 流体領域の作成
まず、翼周りの気流を可視化するために、最初に流体領域を作成します。
このプロジェクトでは、SimScaleのCADモードで利用できるExternal Flow Volume操作で流体領域を作成します。図3の手順でCADモードに入ります。
- 画面左のジオメトリツリーでWingジオメトリを選択します。
- 表示されるパネルでEdit a copyボタンをクリックします。

図3: CADモード環境では、流体領域の作成を含むいくつかのCAD操作を実行できます。
CADモードでは、画面上部のツールバーから操作を選んで実行します。図4を参考に、Create - Flow Volumeアイコンにカーソルを合わせるとドロップダウンメニューが表示されますので、Externalをクリックします。
図4:このチュートリアルでは、External flow volumeを作成します。
流体領域の範囲を定義します。以下に示すように進めてください。
-
External Flow Volume操作の後、最小・最大座標(メートル単位)を以下のように定義してください。
- 最小x: 0 m
- 最大x: 60 m
- 最小y: -90 m
- 最大y: 90 m
- 最小z: -120 m
- 最大z: 60 m
- 座標を設定できたらApplyを押してください。
図 5:CAD モードでの流体領域の寸法
圧縮性解析では、単一の流体領域ジオメトリについて解析を行います。そのため、翼そのもののモデルは削除する必要があります。
- ツールバーからBody → Delete操作を作成します。
- 画面右のシーンツリーでWingボリュームを選択します。
- Applyを押して、操作を実行します。
- 完了したら、Saveをクリックして、今準備した新しいモデルをワークベンチにエクスポートします。

図 6:Wingジオメトリの削除とモデルのエクスポート
| Tips |
|
流体領域の端部(境界)が翼から十分な距離があるようにします。これは、翼の近くの流れが境界条件の影響を受けないようにするためです。 翼の前縁と後縁の距離をコード長と言います。 図7:コードと呼ばれる翼の前縁と後縁の直線距離。 一般に、流体領域は大きい方が境界条件の影響を受けにくくなります。しかし、流体領域を大きくするとメッシュの数が増え、計算コストが増大します。今回のチュートリアルでは、流体領域の最小推奨サイズは、コード長(L)の観点から、以下を基準に決定しました。 図8:流体領域の最小推奨サイズ。上流側(10コード長)よりも下流側(20コード長)の方がはるかに長いことがわかります。 |
1.2. Simulationの作成
新しい CAD モデルは、Copy of Wing という名前で ワークベンチ にエクスポートされています。このジオメトリを選択すると、パネルが開きます。分かりやすいように、下図のように名前を変更しましょう。Create a Simulationを押すと新たなシミュレーションが作成されます。

図9:新しいシミュレーションを作成する前に、CADモデルの名前を変更することができます。チェックマークをクリックして、変更を保存することを忘れないでください。
Create Simulationボタンをクリックすると、以下のように表示されます。リストからCompressibleを選択し、Create Simulationをクリックします。
図10: SimScaleで利用可能な解析タイプ選択ウィジェット。
グローバル設定の設定パネルが表示されますので、乱流モデルをk-omega SSTに設定します。
図11:シミュレーションに使用する乱流モデルの選択
2. 解析条件の設定
シミュレーションツリーの項目を上から順に設定していきます。
2.1. Material (材料)
本シミュレーションでは、流体材料としてAirを使用します。Materialsの隣にある+ボタンをクリックします。下の図に示すように、流体材料ライブラリーが表示されますので、Airを選択し、Applyをクリックします。
図12:利用可能な流体材料ライブラリ
材料のプロパティを設定するパネルが表示されます。値はデフォルト設定のままとします。自動的に流体領域全体に材料が割り当てられていますので、チェックマークボタンを押して保存します。
2.2. Boundary conditions (境界条件)の割り当て
このシミュレーションで適用する境界条件の概要を下図に示します。翼の前と下を流入境界、後と上を流出境界、横をスリップ壁境界、翼の根本側を対象境界とします。
図 13:翼シミュレーションの境界条件の概要
図 13 を参考に、境界条件を設定していきます。
2.2.1. スリップ壁境界 (Wall - Slip)
下図に示す手順で、新しい境界条件を追加します。
- Boundary conditionsの隣にある+ボタンを押すと、メニューが表示され、様々な境界条件を選択することができます。
- Wallの境界条件を選択します。
図14: SimScaleで圧縮性解析に利用できる境界条件
(U) VeolocityをSlipに、Temperature typeをAdiabaticに変更します。側面の境界面をAssingned Facesで割り当てます。
図 15:計算領域の側面にSlip条件を割り当てる。
2.2.2. 対象境界 (Symmetry)
Symmetryを選択し、新しい境界条件を作成します。翼に隣接する境界面に割り当てます。
図16:対称境界条件の割り当て
2.2.3. 圧力流出境界 (Pressure outlet)
さらに別の境界条件を作成します。Pressure outletを選択し、以下のような境界面を割り当てます。圧力の値は101,325 Paが最初から設定されていますので、そのままにします。
図17:Pressure outletを割り当てます。
2.2.4. 流速流入境界 (Velocity inlet)
圧縮性シミュレーションで扱う現象は流れの速度が大きいため、設定の段階で特に注意が必要です。初期の反復計算の安定性を高めるために、流速は反復計算0ステップ目は 11.6m/s とし、反復計算600ステップ目で116m/sとなるように速度を変化させます。
翼の仰角は3度ですので、流れの速度はY方向とZ方向に成分を持ちます。
以下の手順で、Velocity inlet境界条件を作成します。
- (U) VelocityはFixed valueにします。
- (T) Temperatureを0 ℃に設定します。
- 流入面を境界条件に割り当てます。
- 枠で囲ったアイコンをクリックして、速度テーブルにアクセスし、図19のように定義します。
図18: Velocity inletの入力オプションを開きます。
- Tableをクリックして、テーブル入力にアクセスします。
- 下の表に従って値を設定します。
- Applyを押します。
| t | U <x> | U <y> | U <z> |
| 0 | 0 | 0.6071 | -11.5841 |
| 600 | 0 | 6.071 | -115.841 |
図 19: Velocity inletのテーブル入力を設定します。
2.2.5. 翼の表面 (Wall – No-slip)
翼上の壁面にはNo-slip条件を設定します。この設定では、割り当てられた面上の速度はゼロになります。
翼の周囲の形状は複雑で面も多いため、境界条件をまとめて設定しやすいように、Saved selectionsという機能で面をグループ化します。
翼の壁のSaved selectionsの作成は、次の手順に従います。
- ビューアでSelect faceモードを有効にします。
- 計算領域の6つの境界面をすべて選択します。
- ビューアで右クリックし、Invert selectionを選択します。(これによって、選択を反転させて、選択されていなかった翼表面に選択が切り替わります)
図20: Select faceツールを使用して、すべての翼状壁を選択します。
これで、翼のすべての面が選択されました。下図の手順に従って、セットを作成します。
- Saved selectionsの隣にある+ボタンをクリックします。
- 新しく作成したセットに、Wallsというように適切な名前を付けます。
図 21: 翼の壁のSaved selectionsを作成します。
Wallの境界条件を作成し、新しく作成したセットに割り当てます。
- 温度はAdiabaticにしてください。
- (U) VeolocityをNo-slipにします。
図22:Saved selectionsに境界条件を割り当てます。
2.3. Initial Conditions (初期条件)
初期速度と温度の値は、デフォルトから変更します。これにより、計算が安定します。
速度場は、流入速度と同じ初期値を設定します。
図 23:最初の反復計算でシミュレーションを安定させるために速度場を初期化します
| Tips |
|
もし、初期条件の定義がなければ、空気の流れはないとする状態から、ソルバーが指定された流入速度に基づいて値を更新していくことになります。 今回の様におおよその流れの様子が分かる場合は、計算領域内の翼周りの空気流れを予め設定するとよいでしょう。 |
また、温度については、全領域を0℃で初期化してください。
図24:領域全体の温度の初期化
2.4. Numerics
Numericsタブで、安定性を向上させるためにnon-orthogonal correctorsを2にします。こうすることで、圧力方程式が合計 3 回計算され、安定性が向上します。さらに、Relaxation typeをAutomaticに調整します。
図 25: Numericsの設定パネル
2.5. Simulation Control
Simulation controlを以下のように設定します。
- Simulation controlで、End timeとWrite intervalに1500を定義します。
- また、Maximum runtimeを30000秒にします。
図 26: Simulation controlタブで行った変更をハイライト表示しています。
シミュレーション制御パラメータの詳細については、こちらの記事を参照してください。
2.6. Result Control
Result Controlを設定することにより、いくつかのパラメータの収束挙動を観察することができます。結果の品質と信頼性を評価するための重要な指標です。
最初に設定するのは、Forces and moments controlです。収束を評価するには、10回反復するごとに力のデータを書き込めば十分です。Saved selectionsのWallsに割り当てます。
図 27: Forces and momentums controlの設定画面
次に、Surface dataの横にある+ボタンをクリックして、Area averagesを作成します。流入面と流出面に1つずつ、合計2つのコントロールを作成します。
図 28: 平均プロットは、収束を評価するのに便利です。
同様に流出面にも設定します。
図29: 流出面の設定
3. Mesh (メッシュ)
メッシュの作成には、Standardアルゴリズムの使用をお勧めします。自動化されており、ほとんどの形状で良好な結果を得られます。
設定パネルで、境界層についてメッシュを自動で設定するAutomatic boundary layersのトグルをオフにします。境界層については後で手動で設定します。
図30: Standardメッシュの主な設定
3.1. Local Element Size Refinementについて
Refinementsの隣にある+ボタンをクリックします。Saved selectionsからWallsを割り当てます。Maximum edge lengthを0.07 mにします。
図31: 翼の壁面に適用されたLocal element size
3.2. Inflate Boundary Layer Refinement
Inflate Boundary Layerは、壁際の流れを適切に捉えるために重要な設定です。Inflate boundary layer のリファインメントを作成し、図のようにセットアップします。
図32: Inflate boundary layer refinementの設定
3.3. Region Refinement
流体が物体の周りを流れるとき、下流に乱流領域が発生します。この領域は後流と呼ばれます。後流の速度勾配は高いことが多いので、メッシュを細分化する必要があります。
まず、新しいRegion refinementを作成します。Maximum edge lengthに0.8 mを指定し、+ボタンをクリックしてGeometry primitiveを作成します。
図33: 発達した流れの解像度を高めるためのRegion refinement
Cartesian boxのGeometry primitiveを選択し、次のような座標を与えます。
図34: Cartesian Boxの寸法
Cartesian boxを保存した後、Region refinementの画面に戻ります。Cartesian boxを割り当てます。
図35: Region RefinementにCartesian boxを割り当てます。
同じ手順で、別のRegion refinementを作成します。今回は、Maximum edge length を0.5 mに設定します。Geometry primitives の隣にある + ボタンをクリックし、次の寸法で別の Cartesian box を作成します。
図36: 2つ目のRegion Refinementに使用するCartesian Boxの寸法。
ボックスを保存した後、それを2つ目のRegion Refinementに割り当てます。
図37: 小さい方のCartesian boxを2番目のRegion Refinementに割り当てます。
3.4. メッシュの作成
最後にメッシュの設定に戻り、Generateをクリックします。
図38: Standardアルゴリズムによる操作の開始
メッシュ分割は10分ほどで終わります。操作終了後、翼の周りのメッシュはこのようになります。
図 39: Standardアルゴリズムを使用した翼形状の結果メッシュ
3.5. Mesh Quality Inspection
SimScaleでは、メッシュ品質を視覚的に表示することができます。利用可能な品質パラメーターには、非直交性、アスペクト比、および体積比があります。
この機能にアクセスするには、Meshの下にあるMesh qualityをクリックします。すると、ポスト処理環境が表示されます。
Resultsの下に、表示可能な品質パラメータのリストが表示されます。
図40: 表示可能なメッシュ品質フィルタを使用して、品質を評価できます。
特に有用なフィルターはiso-volumesです。品質の悪いセルを簡単に特定することができます。例えば、図41は、Aspect ratioに関して、メッシュの中で最も悪いセルを示しています。メッシュ生成アルゴリズムは常に更新されているため、あなたのメッシュの最大アスペクト比の値は下の図と異なるかもしれないことに注意してください。
図41: メッシュの品質を評価するためにisovolumesフィルターを使用
メッシュの品質を視覚的に表現することは、メッシュを改善しようとするときに非常に役に立ちます。今回のメッシュの場合、アスペクト比の最大観測値は57であり、これは許容範囲内でした。したがって、シミュレーションの実行に進みます。
| 計算実施済みのプロジェクト |
| 解析条件の設定とシミュレーション計算がすでに実施済みのプロジェクトをこちらからご確認いただけます。 |
4. 解析の実行
Simulation Runsの横の+ボタンをクリックし、Startを押します。
図 42: シミュレーションツリーが完全にセットアップされ、実行可能な状態になりました。
実行中、Solution Fieldsをクリックすることで中間結果にアクセスすることができます。これらは繰り返しの経過に伴って更新されます。
シミュレーションは、プロセッサの数にもよりますが、全体で1〜2時間かかります。下のリンクにある参考プロジェクトでは、完全な収束を保証するために、さらに数回の反復計算を行いました。
5. ポスト処理
シミュレーション終了後、Run 1を展開して結果を確認できます。
5.1. Result Controlsについて
解析が終了したら、Area averageを開きます。UzとUyの結果を見ることで、速度が収束しているかを調べられます。
図43: 反復回数 0 から 600 までの間、速度は増加しています。
翼のシミュレーションでは、収束を評価するために力のグラフが一般的に使用されます。このシミュレーションの力のグラフを調べると、きれいに収束していることがわかります。
図44: 約 2000 回の反復計算の後、すべてのパラメータはきれいな収束パターンを示しています。
圧縮性流れのシミュレーションの場合、収束を評価するのに有用な他のパラメータは以下の通りです。
- 入口:圧力
- 出口:温度、速度、密度
5.2. カラーコンター表示
さらにポスト処理を行うには、Post-process resultsまたはSolution Fieldsボタンをクリックします。
図 45: これら2つのボタンのいずれかをクリックすることで、ポスト処理環境にアクセスできます。
- ポストプロセッサーが最後のタイムステップの結果を表示していることを確認します。
- Parts Colorに移動して、ColoringのドロップダウンメニューからPressureを選択します。必要であれば、パラメータを自由に変更してください。
- 計算領域の6つの面をクリックし、ビューアを右クリックします。
- Hide selectionオプションを選択し、翼の表面を表示します。
図 46: ポストプロセッサーで選択した面を隠して、翼の圧力分布を表示する
画面下部のカラースケールを右クリックし、Use continuous scaleを選択すると、カラーコンターの表示がよりなめらかになります。
図47: 圧力結果に連続スケール機能を適用して高品質な可視化を実現
翼の面の先端が最も高い圧力値を持っています。逆に、翼の上側は圧力が低くなっています。
対称面のみを表示し、下部の凡例の上限値として1.02e5 Paを適用すると、このように表示されます。
図 48: 対称面上の圧力の可視化を適用すると,揚力を発生させる分布の違いが明らかになります
5.3. 流線表示
流線の可視化には、画面上部のツールバーからParticle Traceフィルターを選択します。
図 49: フィルターパネルからParticle Traceを選択する
- ピック位置の隣にある丸いアイコンをクリックします。
- 流入面上で、対称面と y 軸の中心にできるだけ近いところをクリックします。シードポイントを翼に合わせるために、必要に応じて半透明のレンダリングモードを使用します。
図50:Pick Positionは、流線の発生源を示します。
フィルタを適用すると、流線だけが見えるようになります。Particle Trace 1を折りたたみ、ワークベンチ上で右クリックし、Show allオプションを選択します。
図51: すべての面を再表示させる。
図46のように、ドメインの6つの面をすべて選択して非表示にし、流線とは別に翼面だけを見えるようにします。Particle Traceの設定に戻り、以下のように設定を変更します。
- #Seeds horizontallyは、z軸に沿った流線列の数を表します。これを4に設定します。#Seeds verticallyは、Y軸に沿った列の数を表します。これを100にし、Y軸方向については面を全て覆っていることを確認してください。
- Spacingを0.4に設定します。
- ColoringとしてVelocity Magnitudeを選択する。
- 円柱の直径は、Sizeでコントロールできます。5e-2に設定します。
- この場合、流れは入口から正のx方向に向かって流れるので、Trace both directionsは無効にします。
これらの設定により、最終的に流線はこのように表示されます。
図52:低圧が存在する上側の流れの加速度を流線上に可視化したもの。
5.4. アニメーション
ツールバーからAnimationを選択すると、アニメーションを作成することができます。
図 53: フィルターパネルからAnimationを選択する
アニメーションの種類をParticle Traceに切り替えます。
図54: 300ステップ目の流線をアニメーション表示します。
再生ボタンをクリックすると、アニメーションが始まります。以下は、最後のタイムステップで、速度の大きさで色分けされた流線をアニメーション化した例です。
アニメーション1: 図52の流線を最後のタイムステップでアニメーション化したもの。
飛行機の翼周りの解析の結果、曲率によって上面がより高い速度を持っていることが分かります。
SimScaleのポストプロセッサーで結果を評価します。ポストプロセッサーを使用する方法については、ポスト処理ガイドをご覧ください。
おめでとうございます。チュートリアルは終了です。