バイク周りの流れ
走行中のバイク周りの流れを解析してみたので, 手順を記しておく.
解析したい形状を3DCADで作っておいて.obj形式でエクスポートすれば, OpenFOAMのsnappyHexMeshというメッシャーでメッシュを切れる.
一応商用メッシャーやGmsh等も使えるようにはなっている.
数値計算の結果を使って定量的な評価をやりすぎる事に意味が無いと個人的に思っているので,
計算が発散せずに, 直観に大きく反しない程度の結果が得られれば実用上良い.
1. ~/[CaseDirectory]/constant/triSurface/に, 3DCADからエクスポートした[Model].objを配置する.
2. >> surfaceConvertを利用してm単位に変換する. mm単位で描かれている場合, 以下のようになる.
>> surfaceConvert -scale 0.001 [Model].obj [Model].obj
3. [CaseDirectory]に戻り, >> surfaceFeaturesを実行. 物体の特徴線を抽出する.
この際, ~/[CaseDirectory]/system/の”surfaceFeaturesDict”内surfacesの名称が, “[Model].obj”となっているか確認する.
>> surfaceFeaturesが実行出来れば, ~/[CaseDirectory]/constant/triSurface/に[Model].eMeshファイルが生成される.
尚, “surfaceFeaturesDict”では特徴抽出の方法を設定出来る.
4. >> blockMeshを実行し, 計算領域のメッシュを切る. ~/[CaseDirectory]/system/に設定ファイルの”blockMeshDict”があるので, 解析対象周りの流れに影響を及ぼさない程度に十分に大きくなるように設定する.
5. >> decomposePar -copyZeroを実行し, 並列計算のために領域分割を行う. -copyZeroは, 並列数の数だけ存在するprocessor*に初期条件のファイル”0″を複製するためのオプションである.
例によって~/[CaseDirectory]/system/に設定ファイルの”decomposeParDict”があり, 分割数等の設定が行える.
尚, “method”の設定が良くないとうまくいかない場合がある.
6. >> runParallel snappyHexMesh -overwriteを実行して解析対象の外形をスナップする. これにより解析対象の周囲にのみ計算領域が存在する状態となり, 物体の形状を表現できる. >> checkMeshでエラーが出なければ問題はない.
7. >> runParallel potentialFoamとして初期条件を計算する.
8. >> runParallel simpleFoamとして解析を行う.
9. >> reconstructParMesh -constant, >> reconstructPar としてメッシュ及び計算結果の再構築を行う.
10. >> paraFoamで可視化.
以上である. 細かい事まで書くと抜け出せなくなるので, 必要に応じてここ,[1]を参照すると良い.
解析の結果を載せておくが, コメントは特にありません.