👏

さらばAMI。回転境界をNCCで実装してみる。(OpenFOAM v10)

2022/11/18に公開

回転境界をNCCで実装してみる。(OpenFOAM v10)

Q.AMIからNCCへ移行する動機

A.どうやらAMIが廃止されるらしい。

NCCの嬉しいポイントはこちらを参照してください。

リリースノートによると今までOpenFOAMで回転境界を実装しようと思うとAMIが主流だったが、OpenFOAM v10から順次AMIが廃止されていくらしいのでAMIからNCCへの移行手順をメモしておく。

⚠AMI境界条件の実装経験があることを前提としたメモです。

具体的な変更箇所

今回はAMIからNCCへの移行に必要な部分のみのメモなので、既存ケースファイルをv10で走らせるときは他にも頑張る必要がある。
特にcodedFixValueまわりの変更が大きい。

ここで紹介されたチュートリアルケース(incompressible/pimpleFoam/RAS/propeller)を参考にAMIのケースファイルを書き換えていく。

constant/polyMesh/boundary

  • 回転境界それぞれに対してcyclicAMIをpatchに変更する。
  • 回転境界それぞれに対してnonConformalCyclicを追加する。
    • このときnFacesとstartFaceはモデル全体を指定する。
    • neighbourPatchはnonConformalCyclicの片割れ、originalPatchはもともとcyclicAMIだったものを指定
  • 回転境界それぞれに対してnonConformalErrorを追加する。
    • このときnFacesとstartFaceはモデル全体を指定する。
    • neighbourPatchはnonConformalErrorの片割れ、originalPatchはもともとcyclicAMIだったものを指定

constant/dynamicMeshDict

微妙にv8から変わってるので注意。チュートリアルケースを見ればわかるので割愛。

0/U

movingWallをmovingWallSlipVelocityに変更

createNonConformalCouples -overwrite rotatingZoneInner rotatingZoneOuter

rotorとstaterをmergeMeshした後、もしくはcreateBafflesした後のメッシュに対して適用するコマンド。

AMIで計算が回ってるなら、これだけ変えれば大丈夫なはず。

Discussion