OpenFOAMでpimpleDyMFoamなんかの場合、回転数は固定になるため、例えば風車や水車のような動的回転数変化を考えることはできない。
回転メッシュのライブラリを見るとeulerAngleを計算する場合、時間×回転速度になっているようで、外部のプログラムと連携して、直接eulerAnglesを指定できるようにすれば、風車の起動特性なんかを確認できる。
とりあえずこんな適当なモデルを作って、AMIで計算してみた。段差の背後のクロスフロー風車に気流が当たる計算で、回転トルクが最大は0rpm近辺で、トルク0になるのは大体300rpm近くになることが分かった。つまり、回転速度0からスタートすると、徐々に回転数が上がるとともにトルクは落ち、300rpm近辺でトルク0になると考えられる。すなわち、無負荷状態ではこの回転数が維持されるはず。
回転数の変化については、一番に単純には、
- 現在の時刻の回転トルクを抽出
- 想定密度および形状からあらかじめ計算しておいた断面2次モーメントを使って運動方程式を解く(次のステップの角速度、さらにオイラー角を予想)
- オイラー角を出力して、その角度にメッシュを移動
という流れでできそう。