OpenFOAM【chtMultiRegionFoamで輻射:viewFactorモデルについて】
OpenFOAMでchtMultiRegionFoam+viewFactorの導入について検討したのでそのまとめです。
viewFactorモデルの考え方
形態係数に基づいて輻射を計算します。OpenFOAMではfluid側で新しく輻射の熱流束に関する変数qrを追加して計算します。qrの境界条件は、fluid側の境界条件および固体流体の界面であるfluid_to_solidで設定されます。qrはfluid_to_solid、solid_to_fluidの両設定により固体側へ伝えることができます。
viewFactorの実際の導入についての方針
tutorialにはchtMultiRegionFoam(chtMultiRegionSimpleFoamではない)+viewFactorが存在していないので、viewFactorモデルを実際に導入するには
- chtMultiRegionFoamで正常に計算できるモデル・条件を設定
- viewFactorを追加
するのが正着と思われます。
viewFactorを追加するときに設定する部分
- /0.org にqrを追加する
- /constant中のファイルは
- /solidにradiationPropertiesを追加する。モデルはopaqueSolid。
- /fluidにradiationPropertiesを追加する。モデルはviewFactor。
- /fluidにboundaryRadiationProperties、viewFactorsDictを追加する。
- /system中のファイルは
- changeDictionaryDictを修正。
- /solidのT/solid_to_fluidのtypeをturbulentTemperatureRadCoupledMixedに修正。
- /solidのT/solid_to_fluidにqr, qrNbrを追加。
- /fluidのT/fluid_to_solidのtypeをturbulentTemperatureRadCoupledMixedに修正。
- /fluidのT/fluid_to_solidにqr, qrNbrを追加。
- /fluidにqrを追加
- /fluidの boundaryにinGroupsでwall, viewFactorWallを追加
なお、前処理(メッシュ作成)で
$ faceAgglomerate $ viewFactorsGen
を実行する必要があります。
デバッグの覚書(トラブルシューティング)
輻射を受ける対象物(固体)の温度が上がり続ける(下がり続ける)
平衡状態に達するハズなので、温度が上がり続けることはないです。直接的には、
- 壁面の輻射の境界条件が初期条件から更新されていない。
ことが考えられます。paraviewなどで、qrの時間経過を確認しましょう。時間の経過とともに平衡へと向かう熱流束に収束していくはずです。qrはfluid側の境界面およびfluid_to_solidで可視化できます。
見直すべき部分としては
- 境界条件、物性の設定
- fluid_to_solidの伝熱物性の見直し
qrの計算はfluid側で実施されているので、solid側の温度情報がfluid側に反映されていないとqrの更新はされないと推察されます。
温度が振動して、最後は異常終了で計算停止
標準出力で出てくるMin/max T
あたりが大きな-の値として出力されたりします。
- qrの値、輻射境界面のfluid温度が振動
したりしてます(paraviewとかで確認)。
輻射での熱流束は平衡に達するよう進行しますが、各タイムステップの1回目においては平衡前の温度を参考に熱流束が計算され、過剰に評価してしまいそのまま温度が暴走することがあります。デバッグとしては、まず輻射のモデルをoffにした条件で適切に計算が実施されることを確認したうえで
- 時間刻みを短くする
- qr, hを緩和する
- 輻射面を細かくする
が対処ほうで考えられます。緩和はhよりもqrの方が有効な気がしています(体感)。qrの緩和はfluidのfvSolution中でrelaxationFactors -> fieldsで設定できるようです。
relaxationFactors { fields { rho 1.0; p_rgh 0.7; qr 0.3; } equations { U 0.3; h 0.5; "(k|epsilon|omega)" 0.7; ".*Final" 1; } }
輻射面を細かくするにはviewFactorsDictのnFacesInCoarsestLevel(大きくする)、featureAngle(大きくする)で設定します。
参考にしました
OpenFOAM全般
chtMultiRegionFoamに関して
https://www.foamacademy.com/wp-content/uploads/2016/11/thermo_training_handout_public.pdf
OpenFOAMの輻射モデルについて
OpenFOAM を用いたふく射・対流場の連成伝熱解析の妥当性評価
https://scielo.conicyt.cl/pdf/ingeniare/v26n4/0718-3305-ingeniare-26-04-00546.pdf
http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2009/AlexeyVdovin/Radiation_in_OpenFoam_final.pdf
OpenFOAM: API Guide: viewFactor Class Reference
OpenFOAM: viewFactor Class Reference
フォーラム情報
viewfactor -- CFD Online Discussion Forums
viewFactor radiation model problem! -- CFD Online Discussion Forums
View factor radiation model. Symmetry boundaries verification.. -- CFD Online Discussion Forums
Understanding temperature coupling BCs -- CFD Online Discussion Forums
Problems adding Qr field in externalWallHeatFluxTemperature BC -- CFD Online Discussion Forums
error in implementing viewfactor model in chtMultiregionFoam -- CFD Online Discussion Forums
Problem with chtMultiregionFoam radiation boundary condition -- CFD Online Discussion Forums
Radiation in chtMultiRegionSimpleFoam -- CFD Online Discussion Forums
ViewFactor Radiation -- CFD Online Discussion Forums
CHT +viewfactor model -- CFD Online Discussion Forums
viewFactorsGen produces incorrect view factors in a very thin gap -- CFD Online Discussion Forums
Heated wall by radiation -- CFD Online Discussion Forums
convert viewFactorField to ascii and visualization -- CFD Online Discussion Forums