EF_bisection プログラム仕様

statistical_physics.EF_bisection.NAm(EF, T)[ソース]

イオン化アクセプター密度を計算する。

詳細説明: フェルミ準位EFと温度Tにおけるイオン化されたアクセプターの密度を計算する。 アクセプターは電子を受け取って負にイオン化する。 グローバル変数 NA, EA, ekBT が計算に使用される。

パラメータ:
  • EF -- float: フェルミ準位 (eV)。

  • T -- float: 温度 (K)。

戻り値:

float: イオン化アクセプター密度 (cm^-3)。

statistical_physics.EF_bisection.NDp(EF, T)[ソース]

イオン化ドナー密度を計算する。

詳細説明: フェルミ準位EFと温度Tにおけるイオン化されたドナーの密度を計算する。 ドナーは電子を放出して正にイオン化する。 グローバル変数 ND, ED, ekBT が計算に使用される。

パラメータ:
  • EF -- float: フェルミ準位 (eV)。

  • T -- float: 温度 (K)。

戻り値:

float: イオン化ドナー密度 (cm^-3)。

statistical_physics.EF_bisection.Ne(EF, T)[ソース]

伝導帯の電子密度を計算する。

詳細説明: フェルミ準位EFと温度Tにおける伝導帯の電子密度をボルツマン近似を用いて計算する。 グローバル変数 Nc, Ec, ekBT が計算に使用される。

パラメータ:
  • EF -- float: フェルミ準位 (eV)。

  • T -- float: 温度 (K)。

戻り値:

float: 伝導帯の電子密度 (cm^-3)。

statistical_physics.EF_bisection.Nh(EF, T)[ソース]

価電子帯の正孔密度を計算する。

詳細説明: フェルミ準位EFと温度Tにおける価電子帯の正孔密度をボルツマン近似を用いて計算する。 グローバル変数 Nv, Ev, ekBT が計算に使用される。

パラメータ:
  • EF -- float: フェルミ準位 (eV)。

  • T -- float: 温度 (K)。

戻り値:

float: 価電子帯の正孔密度 (cm^-3)。

statistical_physics.EF_bisection.fe(E, EF, T)[ソース]

フェルミ・ディラック分布関数を計算する。

詳細説明: フェルミ準位EFと温度Tにおけるエネルギー準位Eの電子占有確率を計算する。 グローバル変数 ekBT が計算に使用される。

パラメータ:
  • E -- float: エネルギー準位 (eV)。

  • EF -- float: フェルミ準位 (eV)。

  • T -- float: 温度 (K)。

戻り値:

float: 電子占有確率。

statistical_physics.EF_bisection.main()[ソース]

2分法を用いて半導体のフェルミエネルギーを計算し、結果を出力する。

詳細説明: 電荷中性条件 (Ne + NAm - Nh - NDp = 0) を満たすフェルミエネルギー (EF) を2分法で探索する。 初期範囲 (EFmin, EFmax) が適切であるか確認し、指定された収束条件 (eps) または最大繰り返し回数 (nmaxiter) に達するまで計算を繰り返す。 計算の途中経過と最終結果を標準出力に表示する。 グローバル変数 EFmin, EFmax, eps, nmaxiter, iprintinterval, T が計算に使用される。

戻り値:

int: 計算が成功した場合は1、失敗した場合は0。