解析タイプ: Incompressible
このチュートリアルでは、回転領域を使用した遠心ポンプでの非圧縮性流体シミュレーションを実行する方法を説明します。
このユースケースの複雑さは、回転する領域をモデル化することに起因しています。このような領域では、メッシングとシミュレーションの両方の設定に追加の準備手順が必要です。このチュートリアルでは、その準備手順を説明します。
図1:ポンプ内の圧力分布
概要
このチュートリアルでは、次のことを学びます。
- 回転領域を使用した非圧縮性シミュレーションの設定と実行
- Saved selectionsの作成
- 境界条件、材料、その他のプロパティの割り当て
- Standardアルゴリズムによるメッシュ生成
以下の手順で解析を進めます。
- シミュレーションのためのCADモデルを準備する。
- シミュレーションの条件を設定する。
- メッシュを作成する。
- シミュレーションを実行し、結果を評価する。
1. CADモデルの準備と解析種類の選択
まず、下のリンクをクリックします。ジオメトリを含むチュートリアルがワークベンチにコピーされます。
次の図は、チュートリアルプロジェクトをインポートした後に表示されるオリジナルのジオメトリを示したものです。
図2:SimScale Workbenchにインポートされた遠心ポンプのCADモデル
1.1. ジオメトリの準備
SimScaleの回転を伴う流体解析を始める前に、この解析に対応できるようにCADモデルを準備します。このチュートリアルには、下図に示す2つのジオメトリが含まれています。
図 3:オリジナルのポンプ形状(左)とシミュレーションの準備ができた流体領域(右)
最初の形状は、実際のポンプとそのブレードで構成されています。この形状を CFD シミュレーションに使用する前に、いくつかの準備をします。
CFDシミュレーションに必要なのは、2つ目の流体領域です。この形状には、流れ領域と、回転領域を表すボリュームが含まれています。オリジナルのジオメトリから流体領域と回転領域を抽出するための手順は、こちらの記事で詳しく説明しています。
1.2. 解析ツリーの作成
画面左のジオメトリツリーでCentrifugal Pumpが選択されていることを確認します。
図 4:遠心ポンプの新規シミュレーションの作成
Create Simulationをクリックすると、今回実行する解析の種類を選択することができます。
図 5:このプロジェクトでは、Incompressibleを選択します。
解析タイプとしてIncompressibleを選択し、Create Simulationをクリックします。
この時点で、左側のパネルにシミュレーションツリーが表示されます。シミュレーションを実行するには、シミュレーションツリーの項目を設定していきます。
図6:グローバル設定の画面
上図のように、グローバル設定はデフォルトのままにします。Steady-stateでは、流れ場の時間的な変化がない場合の系の平衡状態を求めます。
| Tips |
| k-omega SST乱流モデルは、ターボ機械の解析で一般的に使用されています。ポンプの羽根の中では、流れは分離しますが、この現象はk-omega SST乱流モデルによって捉えることができます。 |
2. 材料と境界条件の設定
今回使用する境界条件を下図に示します。
図7:遠心ポンプシミュレーションの境界条件の概要
| Tips |
| 流入速度と流出圧力は、安定に計算できることが多いため、CFD シミュレーションで非常によく使用される組み合わせです。この組み合わせにより、質量の連続性を確保することができます。 |
2.1. 材料の設定
本シミュレーションでは、Waterを材料として使用します。Materialsの隣にある+ボタンをクリックします。下図のような、SimScaleの材料ライブラリが開きます。
図8:利用可能な材料のライブラリ
Waterを選択し、Applyをクリックします。水の特性を示すウィンドウが表示されます。デフォルト値のまま、流体領域を表すVolumeに材料を割り当てます。
図9:回転領域が選択されていないことに注意してください。
2.2. 境界条件の設定
このセクションでは、図 7 のように境界条件を割り当てます。今回のケースでは、流入速度、流出圧力、壁面、および回転領域があります。
2.2.1. Velocity Inlet
Boundary conditions の横の +ボタン を押すと、ドロップダウンメニューが表示され、異なる境界条件を選択することができます。
図 10: 流入面に適用する流入速度の境界条件を選択する
Velocity inletを選択した後、速度の値と割り当てる面を設定します。以下のように進めてください。
図 11: 面に境界条件を割り当てる
この設定では、体積流量として8.5e-3 m3/sを設定します。
2.2.2. Pressure Outlet
新しい境界条件として、Pressure outletを作成します。Pressure typeがMean valueに、(P) Gauge Pressure が 0 Pa に設定されていることを確認します。
図 12: 2 つ目の境界条件を流出面に割り当てます
2.2.3. Wall
すべての固体壁にはNo-slip条件を設定します。SimScaleのクイック選択ツールを利用して、素早く設定することができます。この面のセットは他の設定に再び使用するため、Saved selectionsを作成しておきます。
次のステップに沿って設定します。
- 流入面、流出面、MRF Rotating Zoneを選択します。
- ビューアー内で右クリックすると、選択オプションが表示されます。
- Invert selectionをクリックします。
図13:SimScaleのクイック選択ツールは、複雑な形状の面を一度に選択する際に便利です
4. 右側のパネルのSaved selectionsの隣にある+ボタンをクリックします。
5. このエンティティセットにWallsという名前を付けます。
図14: 壁のSaved selectionsを作成する
その後、Wallの境界条件を作成し、新しく作成したSaved selectionsに割り当てます。
図15:WallsのSaved selectionsにNo-slipの壁境界条件を割り当てる
2.3. Advanced Concepts: Creating a Rotating Zone
シミュレーションツリーで、Advanced concepts を展開します。Rotating zonesの隣にある+ボタンをクリックし、MRF Rotating Zoneを選択します。図のように、MRFゾーンを定義します。
図 16: この回転領域内のすべてのエンティティは、350 rad/sで回転します。
| Tips |
|
このシミュレーションで MRF Rotation Zoneを選択したのは、定常状態のシミュレーションを実行するためです。もし非定常問題を計算するのであれば、AMI Rotation Zoneを選択する必要があります。 MRF Rotation ZoneとAMI Rotaion Zoneの違いについては、こちらの記事で詳しく解説しています。 |
2.4. Numerics と Simulation Controlについて
Numericsの設定は選択された解析タイプに応じて最適化されているため、ほとんどのシミュレーションでデフォルトのままで構いません。しかし、シミュレーションの専門家であれば、これらの設定を好きなように変更できます。
Simulation Controlの設定で、Potential flow initializationを有効にすると、特に初期反復における流速の安定性が向上します。Maximum runtimeは30,000 秒、End timeおよびWrite intervalはいずれも600にします。
図 17: 600 秒の定常状態シミュレーションの定義
2.5. Result Controlについて
Result Controlは、計算プロセス中のモデル内の特定の位置での収束挙動を観察できます。したがって、結果の品質と信頼性を評価するための重要な指標となります。
今回のシミュレーションでは、下図のようにインペラーでForces and momentsを設定します。
図 18:インペラーのForces and moments
インペラーの表面にはあらかじめSaved selectionsが設定されています。Surface dataの横にある+ボタンをクリックします。流入面のArea averageと流出面のArea averageを作成します。
図 19:流入面と流出面に設定された平均モニター
Area averageのResult controlをもう一つ、今度は流出面に作成します。
3. Mesh
メッシュの作成には、Standard アルゴリズムを使用することをお勧めします。このアルゴリズムは自動化されており、ほとんどの形状で良好な結果が得られます。
このチュートリアルでは、グローバル設定はデフォルトのままとし、Local refinementを対象部位に適用します。
| Tips |
|
回転運動などを適用する場合、セルゾーンを定義します。 Physics-based meshingが有効な場合、Standardアルゴリズムでは必要なセルゾーンを自動的に作成します。このチュートリアルでは、Physics-based meshingを使用しているので、アルゴリズムがセルゾーンを自動で定義します。 他のアルゴリズムを使用している場合は、回転領域のドキュメントページで、セルゾーンを定義する方法を学べます。 |
3.1. Meshの細分化
メッシュを細分化するには、Refinementsの隣にある+ボタンをクリックします。その後、ドロップダウンからLocal element sizeを選択します。
図20:境界層のメッシュを細分化して、壁際のプロファイルをより正確に計算する
Maximum edge lengthは7e-4 mとし、Local element size refinementのSaved selectionsに適用します。
図21: 薄いサーフェスにLocal element size refinementを適用する
この細分化により、関心のある領域のセルサイズを制御できます。
3.2. メッシュの生成
シミュレーションツリーのMesh項目に移動し、Generateボタンをクリックします。数分後、以下のようなメッシュが生成されます。
図22:完成したメッシュ
以下の手順で、メッシュクリップを使用してメッシュの品質を確認できます。
- Mesh Clipボタンをクリックします。
- 切断面の法線を定義します。
- Generate Mesh Clipをクリックします。
図23:メッシュクリップを作成して、メッシュをより詳細に調べる
数分後、メッシュの内部を示すクリップが表示されます。このメッシュは、チュートリアルの実施には十分な品質です。
| Tips |
|
質の良いメッシュを生成することは重要です。このようなメッシュは、シミュレーションの安定性を高め、結果の信頼度を向上させます。 CFD シミュレーションにおけるメッシュ品質の概要とその重要性については、こちらのドキュメントページを参照してください。 |
| 計算実施済みのプロジェクト |
| 解析条件の設定とシミュレーション計算がすでに実施済みのプロジェクトをこちらからご確認いただけます。 |
4. 解析の実行
図 24:シミュレーションを実行する準備ができた状態
これで、シミュレーションを開始できます。計算されている間、Solution Fieldsをクリックすると、ポストプロセッサーで中間結果を見ることができます。結果はリアルタイムで更新されます。
シミュレーションが終了するまでには、およそ1時間かかります。リファレンスのプロジェクトでは、収束を確実にするために、もう少しステップ数を増やして計算しましたので、下の図では105分と表示されています。しかし、より少ないステップで十分収束解が得られることがわかります。
図25: Solution fieldsでは、シミュレーションの実行中に中間結果にアクセスできます。
| Tips |
|
SimScaleを使用すると、形状に合ったポンプ曲線を簡単に得ることができます。流量を変えるだけで、複数のシミュレーションを並行して実行できます。 ポンプ曲線の詳細については、こちらのブログ記事(英語)をご覧ください。 |
5. ポスト処理
5.1. 収束判定
先に設定したResult Controlで、収束を評価できます。反復が進むにつれて、主要なパラメータが変化しなくなることが予想されます。この時点で、シミュレーションは収束したとみなされます。
では、主要なパラメータは何でしょうか?遠心ポンプのシミュレーションでは、流出面での速度、流入面での圧力、インペラーにかかる力が注目すべきパラメータです。ここでは、流出面の速度について見てみましょう。
図 26: およそ 600 回の反復計算で、結果は非常に安定しています。
収束プロットで残差を確認することを忘れないようにしましょう。残差が小さいほど、より堅く収束した解であることを示しています。この記事では、CFDシミュレーションにおける収束について、より詳しく解説しています。
5.2. 圧力の可視化
SimScaleにはポスト処理環境が組み込まれており、図25のようにSolution FieldsまたはPost-process resultsをクリックすることでアクセスできます。まず、ブレードにかかる圧力を可視化してみましょう。
図27: ポストプロセッサーでは、ワークベンチで利用可能な選択機能を引き続き使用できます。
- Parts Colorで、ColoringがPressureであることを確認します。こうすることで、圧力が表示されます。
- ブレードを表示させるには、外側の面をクリックして選択します。
- 面を選択したら、ビューワを右クリックしてHide selectionを選択します。
最初の面のセットを隠した後、ブレードが完全に見えるようになるまでに、さらに内部の面を隠さなければならない場合があります。この後、凡例を右クリックし、Use continuous scaleを選択して、よりスムーズな表示にします。
図28: インペラーの羽根と底面の圧力を可視化すると、流体の出口に近い、ポンプの出口に向かう縁に圧力が高い領域があることがわかります。
5.3. 断面表示
ポンプ内部で起こっていることをよりよく理解するために、Cutting planeフィルターを追加します。
- 上部リボンを使ってCutting Planeフィルターを作成します。
- 切断面の位置座標を(0, 0, 0)にします。さらにOrientationがX、ColoringがVelocity Magnitudeであることを確認します。
図 29: この X 軸に垂直な切断面は、モデルから出るときの流れを示しています。
また、Vectorsをオンにすることで、異なるエリアでのフィールドの流れ方向を確認することができます。
- ColoringをSolid colorに変更し、利用可能なオプションから黒を選択する。
- 次に、Scale factorを0.1に、Grid spacingを0.02に設定します。
- Project vectors onto planeを有効にします。
図30: 速度ベクトルをプロットした速度等高線。ブレードの先端やアウトレットの入り口など、流体が加速する部分では、ベクトルも拡大されます。
ブレードのエッジ付近では、周囲と比較して暖色で表現されているため、流れが速くなっていることがわかります。切断面の他の設定により、さらに情報が得られます。例えば、OrientationをYに変更できます。
図 31: 遠心ポンプの切断面表示の向きを調整する
この設定により、羽根の周りの流れを別の視点から観察することができます。
SimScaleのポストプロセッサーで結果を分析しました。ポストプロセッサーを使用する方法については、ポスト処理ガイドをご覧ください。