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 を変化させながらループします。

  1. lm に対して、近似式 Tapprox = h * c / 4.97 / kB / (lm * 1.0e-9) を用いて近似温度 Tapprox を計算します。

  2. scipy.optimize.newton 関数と func 関数を使用して、 厳密な温度 Texact をニュートン法で計算します。 この際、Tapprox を初期値として使用します。

  3. 近似温度と厳密温度の差 Tdif を計算します。

  4. 各計算結果 (lm, Tapprox, Texact, Tdif) をコンソールに出力します。

  5. 計算された温度(近似値と厳密解)および誤差を2つのサブプロットとしてグラフ表示します。

  6. グラフ表示後、ユーザーからの入力待ち状態となり、Enterキーが押されるとプログラムを終了します。

戻り値:

None