メッシュあるいはセルの非直交性 (Non-orthogonality)は、隣接する2つのセルの隣接面を横切って2つのセル中心を結ぶベクトルと、隣接面の法線がなす角度として定義されます。
現実の複雑なモデルを用いた問題では、数値メッシュが直交することはほとんどありません。そのため、安定性と計算精度のために非直交性の補正を行う必要があります。スキームレベルでは、これは数値計算で行われ、表面法線勾配とラプラシアン項が補正されます。
図1の右の斜めのセルのように Non-orthogonality (非直交性) < 65-70 のメッシュ、すなわち角度θが十分に鋭角な場合は、SIMPLE (Semi-Implicit Method for Pressure-Linked Equations) 解法アルゴリズムはフラックスを正しく計算するのに十分です。しかし、メッシュ品質が悪い場合でも、メッシュの非直交性を考慮した追加補正が、標準のOpenFOAMソルバーアプリケーションのSIMPLEとPISOアルゴリズムの両方で利用できます。
メッシュ品質が悪い場合 (Non-orthogonality (非直交性) > 75-80) 、圧力方程式の追加反復(内部ループ)を数回実行することにより、圧力計算を補正することができます。これを図式化すると以下のようになります:
したがって、Non-orthogonal correctorを必要としない良好なメッシュの場合、デフォルトのSIMPLEアルゴリズムが実行され、以下のステップが含まれます:
- 運動量方程式
- 圧力方程式
- 連続性の確認
- エネルギー方程式
- 乱流方程式など
メッシュが良好でない場合、Non-orthogonal corrector を2つとすると、SIMPLEアルゴリズム中で圧力方程式を解く際に2つのステップが追加され、シーケンスは以下のように形成されます:
- 運動量方程式
- 圧力方程式
- 圧力方程式(補正1)
- 圧力方程式(補正2)
- 連続性の確認
- エネルギー方程式
- 乱流方程式 など
設定する Number of non-orthogonal corrector (Non-orthogonal correctorの数)は、シミュレーションするケースのメッシュに応じて決定します。メッシュの非直交性に基づくNon-orthogonal correctorの推奨値を以下に示します:
- Non-orthogonality (非直交性) < 70 : 0
- Non-orthogonality (非直交性) > 70 : 1
- Non-orthogonality (非直交性) > 80 : 2
- Non-orthogonality (非直交性) > 85 : 収束が困難