# OpenFOAM 備忘録 2 ## 目標 pimpleFoamでstlを読み込み、乱流モデルで計算を成功させる ## 条件 - モデル : 球(5cm) - ソルバー : pimpleFoam - 乱流モデル : RAS(kEpsilon) - テンプレート : ## 手順 - テンプレートケース(pitzDaily)をコピー - blockMeshで格子生成 - pimpleFoamで実行 - paraFoamでPOST (18/03/17 11:06) 動作確認OK - blockMeshDictを修正 - frontAndBackをempyからwallに変更 - constant/triSurfaceディレクトリを作成 - stlファイルを配置 - paraFoamでモデルのスケールを確認 ``` // 格子の確認 paraFoam -block // 0ディレクトリがないとparaFoamコマンドだけでは格子がみれないから ``` - snappyHexMeshDictを作成 - meshQualityDict を作成 - snappyHexMeshDict内でインクルードしている - ないとsnappyHexMeshでエラーになる - snappyHexMeshの実行 => (18/03/17 11:29) 格子生成成功 - pimpleFoamの実行 (18/03/17 11:29) エラー ``` // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0.0003 PIMPLE: Operating solver in PISO mode Reading field p --> FOAM FATAL ERROR: cannot find file "C:/PROGRA~1/BLUECF~1/ofuser-of5/run/tmpPitzDaily/0.0003/p" From function virtual Foam::autoPtr Foam::fileOperations::uncollatedFileOperation::readStream (Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const in file global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C at line 522. FOAM exiting ``` どうも格子生成時に0.0003ディレクトリができている。内部には格子情報が載っているが、初期条件ファイルがないためpがないよと怒られている。 どうする? - 解決 - snappyHexMesh -overwrite - -overwriteオプションを付けることで、0ディレクトリ内に生成される - 格子の不要な境界の除去 - createPatchDictを作成 - createPatch -overwrite - 軸方向を修正 - 境界層メッシュを追加 - pimpleFoamで実行成功! (18/03/17 13:09) - 初期速度をいれて計算 # 今後の取り組みたいこと - 定常計算の利用 - グローバル変数のロード - #include "include/initialConditions" - バッチ計算 - 格子サイズと計算時間の計測 - 並列計算による速度変化の計測 ## run.mesh ``` // create initial conditions rm -rf 0 mkdir -p 0 cp -rf org/0.org/* ./0 // create mesh blockMesh snappyHexMesh -overwrite createPatch -overwrite renumberMesh -overwrite ``` ## blockMeshDict ## surfaceFeatureExtractDict ## snappyHexMeshDict