S2L プログラム仕様
SPBモデルを用いたゼーベック係数からのローレンツ数と電子熱伝導率の推定スクリプト
このスクリプトは、Single Parabolic Band (SPB) モデルを用いて、与えられた電気伝導率と ゼーベック係数からフェルミ準位を推定し、ローレンツ数および電子熱伝導率を計算します。 主に熱電材料の特性評価に利用されます。
関連リンク: S2L.py 技術ドキュメント
- electrical.S2L.Fr(EF, r)[ソース]
フェルミ・ディラック積分 (F_r(eta)) を計算します。
積分下限0から無限大までのE^r / (1 + exp(E - EF))の積分を計算します。 ここでEは規格化されたエネルギー、EFは規格化されたフェルミ準位 (eta = E_F/k_B T) です。 `scipy.integrate.quad`を使用して数値積分を実行します。
- electrical.S2L.Lorenz(EF)[ソース]
規格化フェルミ準位からローレンツ数を計算します。
Single Parabolic Band (SPB) モデルに基づき、規格化されたフェルミ準位 (EF/kT) から ローレンツ数 (L) を計算します。フェルミ・ディラック積分は、次数 r=0.0, r=1.0, r=2.0 で使用されます。
- electrical.S2L.S_comparison(T, S, sigma, EF)[ソース]
測定されたゼーベック係数とSPBモデルから計算されたゼーベック係数の差を計算します。
Single Parabolic Band (SPB) モデルに基づき、与えられた規格化フェルミ準位 (EF) で計算されるゼーベック係数と、 実験的に測定されたゼーベック係数 (S) の差を評価します。この関数は通常、 フェルミ準位を決定するための数値解法(例:二分法)内で使用されます。 フェルミ・ディラック積分は、次数 r=0.0 および r=1.0 で計算されます。 引数`sigma`は渡されますが、この関数内では直接使用されません。
- electrical.S2L.cal_EF_from_S_bisection(T, S, sigma, max_ef, min_ef, err)[ソース]
二分法を用いてゼーベック係数から規格化フェルミ準位 (EF/kT) を推定します。
与えられた温度 (T) とゼーベック係数 (S) に対して、`S_comparison`関数を評価しながら 指定された探索範囲 (min_ef, max_ef) で二分法を実行し、規格化フェルミ準位 (EF/kT) を収束させます。 収束しない場合、エラーメッセージを出力し、プログラムを終了します。 引数`sigma`は`S_comparison`関数に渡されますが、この関数内では直接使用されません。 この関数に渡される`S`は絶対値が取られ、`sigma`はS/mに変換されて渡されることが想定されます。
- パラメータ:
- 戻り値:
推定された規格化フェルミ準位 (EF/kT)。
- 戻り値の型:
- 例外:
SystemExit -- 探索範囲に解がない場合、または最大反復回数を超えて収束しなかった場合。
- electrical.S2L.cal_Ne(T, xEF, NC)[ソース]
キャリア濃度 (Ne) を計算します。
Single Parabolic Band (SPB) モデルに基づき、温度 (T)、規格化フェルミ準位 (xEF = EF/kT)、 および有効状態密度 (NC) からキャリア濃度を計算します。 フェルミ・ディラック積分は次数 r=0.5 で使用されます。 引数`T`は渡されますが、この関数内では直接使用されません。
- electrical.S2L.cal_ke(sigma, L, T)[ソース]
電子熱伝導率 (kappa_e) を計算します。
Wiedemann-Franzの法則に基づいて、電気伝導率、ローレンツ数、および温度から電子熱伝導率を計算します。 この関数では、入力される電気伝導率sigmaの単位はS/mを想定しています。
- electrical.S2L.main()[ソース]
スクリプトのメイン実行関数です。
入力ファイルの読み込み、ゼーベック係数からのフェルミ準位、ローレンツ数、 電子熱伝導率の計算、結果のファイルへの保存、およびグラフの描画を行います。 コマンドライン引数から入力ファイル名とデータ列のラベルを読み取ります。
- electrical.S2L.read_file(fname)[ソース]
指定されたファイルからデータを読み込みます。
tkVariousDataクラスを使用して、指定されたファイルからラベルとデータリストを抽出します。 ファイル形式はtkVariousDataがサポートするものに従います。