👏
さらばAMI。回転境界をNCCで実装してみる。(OpenFOAM v10)
回転境界を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