効率的な CFD モデリングのためのメッシングテクニックガイド

2018年 6月 13日

高品質なメッシュを作成するための要素と, メッシュ作成用の CFD モデルジオメトリの準備方法 については既に説明しました. 今回の続編となるブログでは, フィジックス制御メッシュ作成, アダプティブメッシュ細分化, そして COMSOL Multiphysics® ソフトウェアの流体シミュレーションにおける様々なメッシュ作成ツールの使用方法について解説します.

フィジックス制御メッシュ作成シーケンス

流体モデルの流れ条件を設定した後, COMSOL Multiphysics ではフィジックス制御メッシュ作成シーケンスを呼び出すことができます. このようなシーケンスは, 以下の要素に依存します.

  • フィジックスプロパティ設定
    • 例えば, 自動壁面処理を備えた乱流モデルは, 層流モデルよりも細かいメッシュを生成します.
  • 特定の機能
    • 例えば, 壁はより細かいメッシュや境界層メッシュを生成する可能性があります.
  • ジオメトリ境界ボックスのサイズ
    • 要素のサイズスケールを制御します.

前回のブログ でも使用した, アーメドボディモデルのフィジックスプロパティ制御メッシュシーケンスは以下のとおりです:

COMSOL Multiphysics のメッシュ 1 ノードの拡大スクリーンショット.

メッシュ 1 ノードの下には, 以下の要素があります:

  • サイズ サブノードには, プロパティ設定とジオメトリの境界ボックスに依存するメッシュサイズパラメーターのセットが含まれています.
  • サイズ 1 サブノードはすべての非スリップ壁で有効になり, そこにやや細かいメッシュを指定します.
  • コーナー細分化 1 サブノードは, 非スリップ壁の内側にある十分に鋭角なエッジを自動的に識別し, そのようなエッジに沿ってさらに細かいメッシュを指定します (この例では, ルーフと傾斜面を結ぶエッジを除き, 車のほとんどの鋭角エッジを検出します).
  • フリー四面体 1 サブノードは, 境界とドメインの両方に実際のメッシュを作成します.
  • 境界層 1 サブノードは, すべての無滑り境界に境界層メッシュを追加します.

メッシュ化されたアーメドボディジオメトリの拡大図.

アーメドボディモデルのフィジックス制御メッシュ生成シーケンスによって生成されたメッシュの拡大図. 壁面のメッシュは体積部分よりも細かく, 鋭角エッジ付近ではさらに細かくなっていることがわかります. 滑りのない壁面の境界層メッシュも確認できます.

物理誘起メッシュは, 単純なモデルであれば十分な場合があり, より高度なメッシュ生成の出発点として常に役立ちます. 上記のメッシュを用いてアーメドボディ問題を解くことは可能です. しかし, 車両後方のメッシュ制御領域ではメッシュが細かくなっていないことが分かります. 非構造メッシュが風洞全体を覆っています. つまり, 車両後方のメッシュはより細かくなる可能性がありますが, 車両の下流側では不必要に細かくなっています. このブログシリーズの最初の部分 に示されている車両後方のメッシュ制御領域と仕切り面を使用することで, 要素の総数はほぼ一定に保ちながら, 後流の解像度を大幅に向上させることができます.

COMSOL Multiphysics® における CFD モデリング用メッシュ作成ツール

COMSOL Multiphysics は, メッシュを制御および生成するための幅広いツールを提供しています. まずはサーフェスメッシュのオプションについて説明します. 十分な解像度と高い要素品質を確認するために, まずサーフェスからメッシュを作成することをお勧めします. 特定の次元のエンティティをメッシュ化するツールは, より低い次元の隣接するエンティティもメッシュ化することに注意してください. 例えば, フリー三角形 機能は, 指定されたサーフェスだけでなく, 以前にメッシュ化されていないすべての隣接するエッジとポイントもメッシュ化します. したがって, サーフェスをメッシュ化する前にすべてのエッジをメッシュ化する必要はなく, 囲むすべての面を先にメッシュ化することなくボリュームをメッシュ化できます.

マップトメッシュ

マップトメッシュは, 非常に高品質なサーフェスメッシュを作成できる可能性があります. 下の図は, ソーラーパネルモデルのパネルの1つにマッピングされた高品質なサーフェスメッシュを示しています. マッピングされたメッシュは, 自由端に近い要素がより細かくなり, 梁を覆う細かいメッシュへの遷移が滑らかになるように細分化されています. 異方性は, 要素数とエッジに沿った分布を制御する設定を含む 分布 ノードを使用して実現されています. すべての要素の角度が 90° であるということは, 要素に歪みが全くないことを意味します.

マップトメッシュを適用したソーラーパネルモデル. COMSOL Multiphysics GUI に表示されています.

ソーラーパネルモデルの片面におけるマップトメッシュ.

マップトメッシュは, 以下に示す NACA 0012 翼型ベンチマークのような2Dシミュレーションにおいて特に威力を発揮します. このモデルにおけるマップトメッシュの最も魅力的な特性は, 要素サイズ, 品質, 成長率を非常に正確に制御できることです. すべてのエッジに最適な分布を規定するには, ある程度の作業が必要になる場合があります.

2Dマップトメッシュの例.

NACA 0012 翼型モデルのマップされた2Dメッシュ.

非構造四角形メッシュ

一部のサーフェスは, マップ可能な面に分割するのが非常に困難です. このような場合は, 自由四角形 ノードが選択肢となります. 以下の例は, フレームのサーフェスを非構造四角形メッシュでメッシュ分割した例です. サーフェス上の最大要素サイズは サイズ 属性で制御され, 分布 属性はエッジ数に沿った分布を制御します.

非構造四角形メッシュを使用したソーラーパネルモデル.

ソーラーパネルモデルのサーフェス上の非構造四角形メッシュ.

この面は自由三角形メッシュ作成でもメッシュ化できますが, 要素数が多くなってしまいます. また, 隣接するマップトメッシュから測定した成長率があまり良くないことも分かります. フレームはソーラーパネルの裏側にあるため, 流れはほとんど発生しません. そのため, メッシュは主に成長率が問題とならないモデルの構造力学部分に影響を与えます.

三角形メッシュ

自由三角形メッシュ作成は, 2D CFD モデルの “主力” であり, ジオメトリ全体をカバーする高品質の要素メッシュを迅速かつ簡単に作成できます. 非構造メッシュを簡単に作成できる一方で, コストも発生します. 非構造三角形メッシュは, 構造メッシュよりも数値拡散が大きくなります. つまり, 非構造メッシュで得られる解は, 同等の要素サイズの構造メッシュで得られる解よりも, より拡散した状態になります. さらに, 非構造メッシュは, 歪むことなく大きな異方性を持つことはできません.

一般的に, CFD 問題で非構造メッシュを構造メッシュと同等の精度で解析するには, 構造メッシュよりもはるかに細かくする必要があります. しかし, 拡散係数を高く設定することで収束が容易になるため, より細かいメッシュが望ましい場合もあります. これは, 下図に示す超音速エジェクターのようなモデルに最適です. このモデルでは, メッシュがメッシュ適応 (下記参照) の開始メッシュとして機能します.

2D軸対称モデルの三角形メッシュの例.

超音速エジェクターの2D軸対称モデルの三角形メッシュ.

自由三角形メッシュ操作は3Dモデルではほとんど役に立ちません. 主な用途は, 個々の面, 特に仮想操作を適用した面のメッシュを “テスト” することです. 隣接するボリュームをメッシュ化することなく, 個々の面のメッシュ品質を調査できます. 非構造三角形メッシュは, スウェプトメッシュの開始点としても役立ちます. この手法により, 2次辺を引き伸ばせる角柱要素で構成されるメッシュが生成され, 異方性メッシュが作成されます.

四面体メッシュ

産業用途のほぼすべてのジオメトリには, スイープが現実的ではない領域が1つまたは複数存在します. これらの領域は, 四面体メッシュ でカバーする必要があります. フリー四面体操作は, ボリュームメッシュを作成する前に, メッシュ化されていないサーフェスにサーフェスメッシュを構築します. サーフェスメッシュはジオメトリの境界に準拠する必要がありますが, 要素品質の最適化中に, サーフェスメッシュ ノードをサーフェス内で移動できます. ただし, 既にメッシュ化されたサーフェスは固定されたままになるため, 要素品質が低下する可能性があります.

四面体は三角形の辺しか持たないため, 四辺形要素を持つサーフェスから遷移するための何かが必要です. この “何か” とは, ピラミッドです. ピラミッド要素は, 正式には六面体要素の1つのサーフェスを点に集約したもので, 1つの四角形面と4つの三角形面を持つ要素となります. ソーラーパネルモデルには四角形要素の面が多数存在するため, 以下に示すように, ソーラーパネルを囲む領域ではピラミッドを非構造メッシュに移行させる必要があります.

ピラミッドは他の種類の要素よりも劣っているという意見を耳にすることがありますが, ピラミッド自体が劣っているというわけではありません. ただし, ピラミッドを異方性の四角形上に配置する場合, その底面にも同じ異方性を持たせる必要があります. ピラミッドの形状が少しでも乱れると, 要素の歪度がかなり高くなります. 以下に示すように, パネルの端にある異方性の高い四角形面の上に配置されたピラミッドは, パネル中央のピラミッドよりも品質が低くなるのが一般的です. この場合, パネル内に非構造メッシュを使用する場合と比べて, 全体的なメッシュサイズが大幅に小さくなるため, 品質は低くなりますが, それなりの代償を払うことになります.

四面体メッシュの例.

太陽光パネルの形状上の四角形要素の上に配置されたピラミッド. 要素は歪度から計算された品質によって色分けされています.

自由四面体操作によって生成されるメッシュの制御は, メッシュ制御領域を使用することで大幅に改善されます. 以下の例では, サイズ 3 属性によって, アーメドボディの斜面と背面の最大要素サイズが小さく指定されています. 自由四面体 1サイズ 1 属性によって, メッシュ制御領域の成長率が低く指定されています. これにより, 後流領域では成長率が低く要素品質の高い, 細かいメッシュが生成されます. 周囲の空気領域をメッシュ化すると, メッシュ制御領域を含む境界が削除され, 境界層メッシュを追加したり, 隣接要素を移動したりする自由度が確保されます.

COMSOL Multiphysics GUI に表示された, メッシュ化されたアーメドボディジオメトリ.

アーメドボディの背後にあるメッシュ制御領域.

上記のメッシュ制御領域には, スウェプトメッシュも検討できます. そうすると, 非構造メッシュの残りの部分への移行が困難になり, 実際には状況は改善されません. なぜなら, “車” の背後で予想される旋回運動は比較的等方性であるため, 構造メッシュも多かれ少なかれ等方性である必要があるからです.

スウェプトメッシュ

マップトメッシュへの3D対応は, COMSOL Multiphysics では スウェプトメッシュ と呼ばれます. スウェプトメッシュは, ソース面をメッシュ化して複数の行先面に射影します. そして, ソースメッシュが三角形要素を持つか四角形要素を持つかに応じて, これらの面を角柱要素または六面体要素を使用して接続します. スウェプトメッシュは, 断面平面で所定の解像度を維持しながら, 流線方向に引き伸ばされたメッシュを取得するのに最適です.

以下に, アーメドボディモデルの風洞下流領域にスウェプトメッシュを追加した例を示します. 注意深い人なら, 非構造四面体メッシュと天井付近のスウェプトメッシュ間の成長率をもう少し改善できるのではないかと指摘するでしょう. しかし, 流れ場はそこではほとんど変化が見られないため, “車” 後方の後流における良好な成長率を得ることの方が重要です.

スウェプトメッシュの例.

アーメドボディの下流のスウェプトメッシュ.

上記のスウェプトメッシュは, 自由四面体メッシュ操作と境界層メッシュ操作で生成されたサーフェスメッシュをソースメッシュとして使用しています. これは多くの場合, 有用な戦略です. 出口境界に非構造三角形メッシュを作成し, 出口から曲面までメッシュをスイープすることもできます. ただし, その場合, 自由四面体メッシュ操作に制約が生じます (”三角形メッシュ” セクションを参照). また, 非構造メッシュのある部分にのみ境界層メッシュを作成し, その結果を下流にスイープさせる場合と比較して, 風洞底全体に沿って境界層要素を組み込む必要もあります.

境界層メッシュ

CFD シミュレーションの核となる境界層メッシュは, スウェプトメッシュや特別な領域を使用せずに, 壁面近傍に高度に異方性のあるメッシュを作成します. これらの要素は, この 以前のブログ で説明されているように, 通常, 無滑り壁で境界層が形成されるために必要です.

境界層メッシュを持つアーメドボディモデル.

アーメドボディモデルの境界層メッシュ. 要素は歪度に基づいて品質別に色分けされています.

COMSOL Multiphysics では, 領域がメッシュ分割された後に境界層メッシュが追加されます. 異方性の柱状要素または六面体要素が計算領域に押し込まれるため, 以下に示すように, 多数の高度に異方性のある要素が生成されます. 異方性があるにもかかわらず, 要素の品質が良好であることがわかります. これは, この場合の境界層メッシュが高品質の三角形で構成されているため, 柱状要素も高品質になるためです.

境界層メッシュの特性

境界層メッシュには3つの特性があります.

  1. 第1層の高さ
  2. 成長率
  3. 層数

1つ目は最初の要素の高さで, 多くの場合, 面要素の長さスケールの割合として指定されます. 典型的なデフォルトは, 面要素の長さスケールが最初の境界層要素の高さの50倍です. アスペクト比が高いほど解像度が向上する可能性がありますが, 結果として得られる方程式系は, 特に 反復ソルバー を使用する場合に, 解くのが難しくなる場合があります.

2つ目の特性は伸張係数, つまり, ある要素層から次の要素層への成長率です. これは, 非構造メッシュへの適切な遷移を実現するために必要です (上図). 屋根境界層が非構造メッシュに遷移する際の要素サイズの急激な変化がはっきりと確認できます. 境界層メッシュの伸張係数を高くするか, 層数を増やすことで, 境界層メッシュの厚みを増やすことができます (層数は境界層メッシュの3番目の特性です). しかし, 上図の境界層メッシュは, 非構造メッシュの歪みを抑えるために, 車体と床面の隙間にあるメッシュが既にかなり圧縮されているため, これ以上厚くすることはできません. この境界層メッシュの圧縮は, 基盤となるアルゴリズムによって自動的に行われます.

最初の要素の高さ, 成長率, 要素数の選択は, 必要な解像度, 非構造メッシュへの良好な遷移, そして結果として得られる要素の品質のバランスを取る作業です.

鋭角エッジに関する特別な考慮事項

プレゼントを包んだことがある人なら, 鋭角エッジをきつく締めると, 紙が簡単に破れてしまうことをご存知でしょう. 境界層メッシュにも, 以下に示すように同様の問題があります. 後端の鋭角エッジにある境界層メッシュ要素は, 翼のすぐ下流にある要素と同様に, かなり歪んでいます.

鋭いエッジを持ち, 特別なメッシュ処理が施されていないモデルの例.

特別なメッシュ処理が施されていない翼型の鋭いエッジ.

一つの選択肢は, 鋭角エッジで境界層を “分割” することです. 結果は下の中央の図に示されています. 境界層メッシュは, 2つの特別な要素列で終わります. どちらの列も三角形で始まり, 適切な数の四角形要素が続きます. 分割により, コーナーが鋭角であるとみなされるために必要な鋭角度と, 各 “特別な” 要素列がカバーする最大角度を制御できます. これらのパラメーターを最適化することで, 鋭角エッジにおける要素の品質を大幅に向上させることができます.

境界層を分割して鋭角エッジを処理する例.

翼型の鋭角エッジで境界層を分割する.

分割は常に機能するとは限りません. 任意の数のエッジが鋭角に接続される複雑な 3D CAD ジオメトリは, 特に困難です. アルゴリズムは位相的に一意な構成ごとにプログラムする必要があり, 高度なジオメトリには, アルゴリズムが処理できない鋭角が少なくとも1つ含まれている可能性があります.

鋭角を処理する3つ目の方法は, 選択肢となります. これは トリミング と呼ばれ, COMSOL Multiphysics では鋭角のデフォルトオプションです. 翼型の結果を以下に示します. 層が鋭角に近づくにつれて, エッジに近づく要素ごとに2つの要素で高さが減少します. あるいは, この手法は, 鋭角から境界層要素の数を増やすと考えることもできます. 増やす要素数とトリミングの最小角度は, 最適なメッシュを得るために制御できます.

トリミングを行うと, 処理を行わない場合や分割しない場合と比較して, 鋭角における実効解像度が低下します. したがって, トリミングは常にメッシュ全体のリファインメントと組み合わせる必要があります. そのため, 前述の コーナーリファインメント 機能は, フィジックス制御メッシュシーケンスにデフォルトで含まれています.

COMSOL Multiphysics ソフトウェアのデフォルトオプションであるトリミングを使用して鋭角エッジを処理する例.

トリミングは, 鋭角なコーナーを持つ境界層をメッシュ化するためのデフォルトオプションです.

境界層メッシュは, 狭い領域の解像度を高めることができます. 上の図 のメッシュをよく見ると, 車体と床の間の領域は15要素 (6 + 3 + 6) で覆われています. これは, その狭い領域で発生する可能性のあるあらゆる速度プロファイルを表現するのに十分な数です. 境界層メッシュがなければ, この隙間はわずか3要素で覆われることになり, アーメドボディ下の流れプロファイルを表現するメッシュの能力は著しく制限されます. その後, 流れは通常, 人工的に絞り込まれ, 狭い領域は幾何学的形状よりも数値的にさらに狭く見えるようになります. したがって, 境界層メッシュは, 乱流境界層だけでなく, 層流システムやマイクロ流体システムにも使用できます. 目安として, 狭い領域は少なくとも5要素で解像する必要があります.

メッシュのコピー

最後に, あるエンティティから別のエンティティにメッシュをコピーする方法について説明します. これは, ソースメッシュを移動, 回転, 等方性スケーリングによって行先エンティティにマッピングできる限り, 同じ次元のエンティティであれば可能です. つまり, ターゲットはソースと同じ形状である必要がありますが, 別の場所に配置したり, 何らかの方法で回転したり, サイズが異なっていても構いません.

メッシュのコピーは, マップトメッシュやスウェプトメッシュで特に便利です. コピーにより, 複数のマップ操作とスイープ操作, そして複数の分布属性を1つのコピー操作に置き換えることができます. これは, 前回のブログで説明したように, ジオメトリが適切に分割されている場合に可能です. メッシュ作成時の作業が省けるだけでなく, その後のメッシュの変更も, ソースドメインのシーケンスを変更するだけで済むため, 管理がはるかに容易になります. コピー操作により, これらの変更は行先ドメインに自動的に転送されます.

ある領域から別の2つの領域にスウェプトメッシュをコピーする例.

黄色の領域のスウェプトメッシュが2つのピンク色の領域にコピーされます.

アダプティブメッシング

CFD 問題をシミュレーションする際, 私たちは勾配の大きい領域に高密度メッシュを作成するよう努めます. しかし, 急勾配がどこに現れるかを予測することが難しい場合があります. また, 急勾配が時間依存的に移動する場合もあります. 急勾配が現れるすべての領域に細かいメッシュを作成することでこの問題に対処できますが, 通常はコストがかかります. そこで, アダプティブメッシングを活用することが解決策となります.

定常問題へのアダプティブメッシュ

アダプティブメッシュ分割の一例としては, 壁面突起上の遷音速流れによって生成される衝撃波系の圧力コンターが挙げられます. この衝撃波は安定化スキームで捉えることができますが, 粗いメッシュではぼやけて見えます.

突起上のオイラー流れのモデル.

壁面突起上のオイラー流れの圧力コンター.

上図の鋭い衝撃波は, 均質で比較的粗いメッシュ (下図の左側) から生成されています. 粗いメッシュ上の解は, 方程式の残差を近似し, 残差が大きい部分ではメッシュを細分化するために用いられます. 方程式は, 結果として得られるより細かいメッシュ上で解かれます. この手順は, 十分な精度が得られるまで繰り返すことができます.

上記の圧力場を計算するために使用されたメッシュは, 下図の右側に示されています. これは, 非常に単純な初期メッシュをアダプティブに2回細分化した結果です. 問題はそのメッシュで収束する必要があるため, アダプティブメッシュを適用するには初期メッシュを作成する作業が依然として必要です.

オイラー流れモデルの初期メッシュ.

オイラー流れモデル用のアダプティブメッシュ.

オイラー流れモデルの初期メッシュ (左) とアダプティブメッシュ (右).

時間依存モデルのアダプティブメッシュ

時間依存モデルにおけるアダプティブメッシュの適用は, 少し異なる仕組みで行われます. 粗いベースメッシュを用いて, ある時間間隔で求解を進めます. 次に, この解を用いて, 何らかの指標関数に基づいてメッシュを細分化します. そして, アダプティブメッシュを用いて, 再度時間間隔をシミュレーションします. 下の図の左側はインクジェットノズルモデルの初期メッシュ, 中央はアダプティブメッシュです. これは2相モデルであるため, アダプティブメッシュは \|\nabla \phi\| に基づいています. ここで, \phi はレベルセット関数 (一方の相では0, もう一方の相では1) です. 右側の図は, アダプティブメッシュ適用時間間隔の終了時の解を示しています. 細分化されたメッシュが, 時間間隔全体にわたって界面前面の輸送をどのように覆っているかがわかります.

インクジェットノズルモデルの初期メッシュ.

インクジェットノズルモデルのアダプティブメッシュ.

アダプティブメッシュ適用時間間隔後のインクジェットノズルモデルの解.

インクジェットノズルの時間依存アダプティブメッシュ.

時間アダプティブメッシュ生成は, 優れた結果を得るための非常に費用対効果の高い方法です. 効率はベースメッシュに大きく依存します. ベースメッシュは細かすぎると求解に時間がかかります. 初期メッシュは細かすぎると求解に時間がかかります. 特に高度な形状の場合, ベースメッシュに多少の労力をかけることで, 多くの場合, 大きな成果が得られます.

CFD モデル用メッシュ作成ツールに関する結論

CFD 問題に適したメッシュを作成することは, 一種の芸術です. アダプティブメッシュを使用する場合でも, 高品質なメッシュは, 様々なメッシュ作成ツールの仕組みを理解し, 流れの問題に対する期待される解を予測することで実現します.

最初に作成したメッシュが十分であることは稀で, ジオメトリ, メッシュ, またはその両方を変更しなければならないことがよくあります. COMSOL Multiphysics のジオメトリシーケンスとメッシングシーケンスは, まさにこのために役立ちます. ジオメトリシーケンスに変更を加えると, その変更はモデル全体に​​伝播されるため, ジオメトリに変更を加える際にフィジックスやメッシュ設定を再指定する必要がありません. あるいは, メッシュ設定を大幅に変更し, 最初からやり直すことなくメッシュシーケンス全体を再構築することも可能です. また, ジオメトリとメッシュの両方のパラメータを使用し, 数回のクリックでメッシュを微調整できるモデルを作成することもできます.

このブログシリーズは, COMSOL Multiphysics でメッシュを作成する方法のほんの一部を紹介したに過ぎません. ここで紹介した以外にも, 多くの設定やオプションがあり, CFD モデルはそれらを大いに活用できます.

次のステップ

参考資料

メッシングと CFD 解析の詳細については, COMSOL ブログをご覧ください:

コメント (0)

コメントを残す
ログイン | 登録
Loading...
COMSOL ブログを探索