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。