radiation_thermometer プログラム仕様
- stastical_physics.radiation_thermometer.func(lm, T)[ソース]
放射温度計の温度計算に使用する非線形方程式を定義します。
- 詳細説明:
この関数は、プランクの放射法則から導出されるウィーンの変位則 h*c/(kB*T*lm) = 5.0 * (1 - exp(-h*c/(kB*T*lm))) を変形した func(lm, T) = 0 の形式で定義されます。 ニュートン法 (scipy.optimize.newton) を用いて、 与えられた最大強度波長 lm に対する温度 T の厳密解を求めるために使用されます。
- パラメータ:
lm -- float: 最大強度波長 (nm)。関数内部でメートルに変換されます。
T -- float: 温度 (K)。
- 戻り値:
float: 方程式 func(lm, T) = 0 の評価結果。
- stastical_physics.radiation_thermometer.main()[ソース]
放射温度計の計算と結果のプロットを行うメイン処理です。
- 詳細説明:
この関数は以下の処理を実行します: 1. 指定された波長範囲 (lmin から lmax、ステップ lstep) で、
最大強度波長 lm を変化させながらループします。
各 lm に対して、近似式 Tapprox = h * c / 4.97 / kB / (lm * 1.0e-9) を用いて近似温度 Tapprox を計算します。
scipy.optimize.newton 関数と func 関数を使用して、 厳密な温度 Texact をニュートン法で計算します。 この際、Tapprox を初期値として使用します。
近似温度と厳密温度の差 Tdif を計算します。
各計算結果 (lm, Tapprox, Texact, Tdif) をコンソールに出力します。
計算された温度(近似値と厳密解)および誤差を2つのサブプロットとしてグラフ表示します。
グラフ表示後、ユーザーからの入力待ち状態となり、Enterキーが押されるとプログラムを終了します。
- 戻り値:
None