Upgrade to Pro — share decks privately, control downloads, hide ads and more …

カスタマイズpisoFoam_温度場の追加

 カスタマイズpisoFoam_温度場の追加

Afcf52f6df4e2856cc0fce598c4af4e1?s=128

kamakiri1225

August 29, 2020
Tweet

Transcript

  1. カスタマイズpisoFoam - 温度場計算の追加 - https://github.com/snaka-dev/Training_OF_customize_thermal- interFoam/blob/master/Text.md#tableOfContents 参照元:OpenFOAM(ver.2.3) 作成日:2018年5月5日

  2. 目的 OpenFOAMのpisoFoamソルバに温度場の 輸送方程式を追加する。 ※簡単のため細かい設定やスキームについては深くこだわらないこととする。

  3. 非圧縮性流体専用のソルバ 非圧縮性流体 adjointShapeOptimizationFoam 定常/非ニュートン流体の乱流./方程式の追加によりダクトでの 障害物による圧損を最適化 boundaryFoam 定常/1次元乱流/通常は流入口での境界層条件の生成に使用 channelFoam LES/チャネル流れ用 icoFoam

    非定常/ニュートン流体の層流 MRFSimpleFoam 定常/非ニュートン流体の乱流/MRF機能をサポート nonNewtonianIcoFoam 非定常/非ニュートン流体の層流 pimpleDyMFoam 非定常/ニュートン流体/移動メッシュ/PISOとSIMPLEを組み合 わせたアルゴリズム(PIMPLE) pimpleFoam 非定常/時間刻み幅大/PISOとSIMPLEを組み合わせたアルゴリ ズム(PIMPLE) pisoFoam 非定常/層流・RANS・LES porousSimpleFoam 定常/多孔質体(陰解法・陽解法)有りの乱流 shallowWaterFoam 非定常/回転を伴う非粘性浅水方程式 simpleFoam 定常/乱流(RANS) SRFSimpleFoam 定常/回転領域のみの非ニュートン流体の乱流 windSimpleFoam 定常/乱流/運動方程式に外部生成項あり http://dot-prototype.appspot.com/OpenFOAM.html
  4. 圧縮性流体専用のソルバ 圧縮性流体 rhoCentralFoam KurganovとTadmorによる中心-風上スキームに基づく密 度ベースソルバー rhoCentralDyMFoam KurganovとTadmorによる中心-風上スキームに基づく密 度ベースソルバー(移動メッシュ・乱流モデル) rhoPimpleFoam 非定常/層流・乱流/HVAC用

    rhoPorousMRFLTSPimpleFoam 非定常/層流・乱流/HVAC用/多孔質体・MRFをサポート/ 定常解を効率的に求めるためのローカルタイムステップス キーム rhoPorousMRFSimpleFoam 定常/RANS/HVAC用/多孔質体(陰解法・陽解法)・MRF 機能をサポート rhoPorousMRFPimpleFoam 非定常/層流・乱流/HVAC用/多孔質体(陰解法・陽解 法)・MRF機能をサポート rhoSimplecFoam 定常/層流・乱流(RANS)/SIMPLEC法 rhoSimpleFoam 定常/層流・乱流(RANS)/SIMPLE法 sonicDyMFoam 非定常/遷音速・超音速/層流・乱流/メッシュ移動機能 sonicFoam 非定常/遷音速・超音速/層流・乱流 sonicLiquidFoam 非定常/遷音速・超音速/層流 http://dot-prototype.appspot.com/OpenFOAM.html
  5. 熱流体専用のソルバ 熱輸送・浮力駆動流れ buoyantBaffleSimpleFoam 圧縮性/定常/乱流/浮力を考慮/熱バッフルを使用 buoyantBoussinesqPimpleFoam 非圧縮性/非定常/乱流/浮力を考慮 buoyantBoussinesqSimpleFoam 非圧縮性/定常/乱流/浮力を考慮 buoyantPimpleFoam 圧縮性/非定常/乱流/浮力を考慮/空調と熱輸送の計算用

    buoyantSimpleFoam 圧縮性/定常/乱流/浮力を考慮 buoyantSimpleRadiationFoam 圧縮性/定常/乱流/浮力を考慮/放射を考慮/空調と熱輸送 の計算用 chtMultiRegionFoam heatConductionFoamとbuoyantFoamを組み合わせた もの/固体・流体間の熱輸送の計算用 http://dot-prototype.appspot.com/OpenFOAM.html
  6. 過去にやったこと OpenFOAM(ver4.0)

  7. 解析対象:2次元円柱回りの流れ

  8. 解析条件 https://takun-physics.net/?p=1494

  9. レイノルズ数が同じであれば、流れ場 は同じ振る舞いをすることを確認した。 https://takun-physics.net/?p=1494 解析実行:検証結果 力学的相似性

  10. カスタマイズ手順 OpenFOAM(ver.2.2)

  11. 非圧縮流体の基礎方程式 •エネルギーの保存則 (内部エネルギーの輸送方程式) •質量保存則(連続の式) •運動方程式 •状態方程式 が求まる。 この方程式で 温度場の分布を 知りたい場合は、

    この方程式を別 で扱えば良い。
  12. 概要:やりたいこと •エネルギーの保存則 (内部エネルギーの輸送方程式) 非圧縮性流体として取り扱う場合、温度場は別で解く必要がある。 OpenFOAMでは温度場の輸送方程式を扱う際は、圧縮性流体専用の ソルバを使う必要がある。 OpenFOAMの非圧縮性流体専用のソルバ「pisoFoam」に温度場の輸 送方程式を追加する。

  13. フォルダを作成 「pisoTempFoam」 というフォルダ名とし てコピー 「pisoTempFoam.C」という 名前に変更 カスタマイズの前準備

  14. カスタマイズの前準備 TEeq.h(新規で作成) solve ( fvm::ddt(T) + fvm::div(phi, T) - fvm::laplacian(nu,

    T) ); 「TEeq.h」を新規で作成 し、コードを書く。 ※本当は、νではなくα(温度拡散率) を入れなくてはいけないが、ここでは 簡単のためνにしておく。
  15. カスタマイズの前準備 createFields.h スカラー場Tを設定 ファイルからロード する命令を追加 温度の輸送方程式で 使っているnuが何か を指定。 ※ベクトルかスカラー かの表記に注意

  16. カスタマイズの前準備 Tの計算のソースコードをロー ドする命令を追加 myIcoFoam.cpp

  17. カスタマイズの前準備 ちなみに・・・・ [files]の中を書き換える 環境変数$FOAM_USER_APPBINを確認 この中に[pisoTempFoam]というexeファイルが 作成される。

  18. カスタマイズの前準備 $wmake とすると、「pisoTempFoam」が作成された。

  19. チュートリアルの変更 コピーして、「pisoTempFoam」 というフォルダ名にする。 「P」のファイルをコピーして 「T」とい名前にする。 単位とベクトルか スカラーかの表記 に注意

  20. チュートリアルの変更 system/ fvSolution system/ fvSchemes

  21. $pisoTempFoam $paraFoam 温度の輸送可視化できた。

  22. まとめ 1. 温度場の輸送方程式をカスタマイズすることができた。 2. 今回はOpenFOAM ver2.2xでのカスタマイズを行ったが、バージョンが変 わったことによる違いについては詳しくは調査していない。 特に環境変数のパスに注意しなければ、何をしているのかわからなくなる。 3. 思い通りにカスタマイズを行える可能性をOpenFOAMに感じた。自由にカス

    タマイズするには、OpenFOAMのファイル構成とC++の知識が必要である。 4. 温度は輸送方程式によって解かれているが、温度が変化したことによる速度場 の変化はここでは考慮されていないことに注意しなければならない。