Loading
!ZERO 省略時の絶対零度をセ氏入力前提の -273.15 に変更し、未定義を警告する
概要
輻射境界条件は温度を絶対温度に換算して計算し、換算に使う絶対零度をメッシュファイルの !ZERO から取る。 !ZERO を省略したときの既定値 0.0 は「入力温度はすでに絶対温度である」という仮定であり、 セ氏温度で書かれたモデルのメッシュファイルに !ZERO がないと、輻射熱伝達係数が室温付近で2桁小さく 評価される。それでもエラーも警告もなく正常終了する。#723 (closed) で報告された事例がこれである。
!ZERO はメッシュファイルのキーワードであるのに対し、!RADIATE と !SRADIATE は制御ファイルの キーワードであるため、境界条件を正しく書いていても設定が漏れる。既定値をセ氏入力を前提とした -273.15 に変え、!ZERO が未定義のときは既定値を採用した旨を警告することにした。 ケルビン温度で入力し既定値に頼っていたモデルは、!ZERO に 0.0 を明示しない限り結果が変わるため、 警告文にその指示を含めてある。
あわせて、輻射境界条件を含む熱伝導解析では採用した絶対零度を FSTR.msg に出力する。 分割メッシュを使う場合、上の警告は hecmw_part1 の実行時にしか出ず fistr1 の実行ログには残らないためである。
妥当性は、厚さ 0.025 m、熱伝導率 0.072 W/(m K)、加熱面 377 度、放熱面に放射率 0.9・雰囲気 25 度の 輻射という1次元モデルで確認した。
| 条件 | 放熱面温度 | 理論解 |
|---|---|---|
| 修正前のバイナリ、!ZERO なし | 275.27 | 275.27 |
| 修正後、!ZERO なし | 114.96 | 114.97 |
| 修正後、!ZERO に -273.15 を明示 | 114.96 | 114.97 |
既存の輻射解析のテストはすべて !ZERO を明示しているため、既定値の変更による結果の変化はない。
Close #744 (closed)
変更内容
| コミット | 内容 |
|---|---|
| c8d2d327 Use Celsius as the default temperature scale for !ZERO | setup_zero の既定値を -273.15 にし、!ZERO 未定義時に警告を出す |
| 25b93eba Log the absolute zero used by radiation boundary conditions | 輻射境界条件があるとき、採用した絶対零度を FSTR.msg に出力する |
| 73296b83 Add a heat radiation test without !ZERO in the mesh | exR/R361 から !ZERO を除いたケースを exR2 として追加する |