mu_T_Fit2 プログラム仕様
非縮退半導体のEFの温度依存性を二分法で計算。
移動度-温度ホールデータ(キャリア移動度と温度の関係)を解析し、複数の散乱機構による移動度を評価するスクリプトです。 粒界散乱、光学フォノン散乱、および複数のべき乗則散乱機構を考慮した移動度モデルを用いて、測定された移動度-温度データにフィッティングを行います。 初期パラメータの推定(`init`モード)、詳細な非線形フィッティング(`fit`モード)、および既存のパラメータに基づくシミュレーション(`sim`モード)をサポートします。
mu-T-Fit2_usage
- electrical.mu_T_Fit2.cal_mu(mu, T, *pk)[ソース]
与えられたパラメータセットで移動度を計算する。
`tkMobility`オブジェクトの一時的なパラメータ更新を行い、指定された温度における 総移動度を計算します。計算後、パラメータは元の値に戻されます。
- electrical.mu_T_Fit2.fitting(app, cparams, mu, fit)[ソース]
観測された移動度-温度データに非線形最小二乗フィッティングを行う。
指定された入力ファイルから移動度-温度データを読み込み、 `scipy.optimize.minimize`を用いて、粒界散乱、光学フォノン散乱、 複数のべき乗則散乱を考慮した移動度モデルのパラメータを最適化します。 フィッティング結果、各散乱機構の貢献度、およびプロットを出力します。
- パラメータ:
app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト。
cparams (tklib.tkparams.tkParams) -- 設定パラメータオブジェクト。
mu (tklib.tktransport.tkmobility.tkMobility) -- tkMobilityオブジェクト。
fit (tklib.tksci.tkFit.tkFit) -- tkFitオブジェクト。
- electrical.mu_T_Fit2.init(app, cparams, mu, fit)[ソース]
移動度モデルパラメータを線形最小二乗法で初期化する。
観測された移動度-温度データに対し、特定の形式に変換して線形最小二乗フィッティングを行い、 移動度モデルのべき乗則散乱項の係数を初期推定します。 活性化エネルギーの計算とプロットも行います。
- パラメータ:
app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト。
cparams (tklib.tkparams.tkParams) -- 設定パラメータオブジェクト。
mu (tklib.tktransport.tkmobility.tkMobility) -- tkMobilityオブジェクト。
fit (tklib.tksci.tkFit.tkFit) -- tkFitオブジェクト。
- electrical.mu_T_Fit2.initialize()[ソース]
アプリケーションのグローバル変数と初期設定を初期化する。
tkApplication、tkMobility、tkParamsなどのオブジェクトを生成し、 デフォルトのパラメータ値、ファイルパス、グラフ設定などを設定します。
- 戻り値:
app, cparams, mu: 初期化されたアプリケーションオブジェクト、設定パラメータオブジェクト、移動度モデルオブジェクト。
- 戻り値の型:
tuple[tkApplication, tkParams, tkMobility]
- electrical.mu_T_Fit2.main()[ソース]
プログラムのメインエントリポイント。
アプリケーションの初期化、コマンドライン引数の解析と設定の更新、 ログファイルの設定、パラメータファイルの読み込み、および 選択されたモード(init, fit, sim)に応じた処理の実行を制御します。
- electrical.mu_T_Fit2.plot_muT_decomposed(app, cparams, mu, ax, xT, ymu, ymucal=None, ymu_ingrain=None, ymuop=None, ymus=None, xlabel='T (K)', ylabel='$\\mu$ (cm$^2$/Vs)', colors=None, markersize=1.0, plot_event=None)[ソース]
移動度と各散乱機構による分解された移動度をプロットする。
観測された移動度、計算された総移動度、粒内移動度、光学フォノン移動度、 および複数のべき乗則散乱移動度を温度に対してプロットします。 `tkPlotEvent`を通じてデータを管理します。
- パラメータ:
app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト。
cparams (tklib.tkparams.tkParams) -- 設定パラメータオブジェクト。
mu (tklib.tktransport.tkmobility.tkMobility) -- tkMobilityオブジェクト。
ax (matplotlib.axes.Axes) -- matplotlibのAxesオブジェクト。
ymu (list[float] or numpy.ndarray) -- 観測された移動度データのリストまたはNumpy配列。
ymucal (list[float] or numpy.ndarray or None) -- (オプション) 計算された総移動度データのリストまたはNumpy配列。
ymu_ingrain (list[float] or numpy.ndarray or None) -- (オプション) 粒内移動度データのリストまたはNumpy配列。
ymuop (list[float] or numpy.ndarray or None) -- (オプション) 光学フォノン散乱による移動度データのリストまたはNumpy配列。
ymus (list[list[float]] or None) -- (オプション) 複数のべき乗則散乱による移動度データのリストまたはNumpy配列。
xlabel (str) -- (オプション) X軸のラベル文字列。
ylabel (str) -- (オプション) Y軸のラベル文字列。
markersize (float) -- (オプション) マーカーのサイズ。
plot_event (tklib.tkgraphic.tkplotevent.tkPlotEvent or None) -- (オプション) tkPlotEventオブジェクト。
- electrical.mu_T_Fit2.plot_muT_weight(app, cparams, mu, ax, xT, ywmugb, ywmuop, ywmus, xlabel='T (K)', ylabel='Linear weight', colors=None, markersize=1.0, plot_event=None)[ソース]
移動度を構成する各散乱機構の相対的な重みをプロットする。
粒界散乱、光学フォノン散乱、および複数のべき乗則散乱の各機構が全体移動度に与える重み(逆数和における割合)を 温度に対してプロットします。`tkPlotEvent`を通じてデータを管理します。
- パラメータ:
app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト。
cparams (tklib.tkparams.tkParams) -- 設定パラメータオブジェクト。
mu (tklib.tktransport.tkmobility.tkMobility) -- tkMobilityオブジェクト。
ax (matplotlib.axes.Axes) -- matplotlibのAxesオブジェクト。
ywmugb (list[float] or numpy.ndarray) -- 粒界散乱の重みデータのリストまたはNumpy配列。
ywmuop (list[float] or numpy.ndarray) -- 光学フォノン散乱の重みデータのリストまたはNumpy配列。
xlabel (str) -- (オプション) X軸のラベル文字列。
ylabel (str) -- (オプション) Y軸のラベル文字列。
markersize (float) -- (オプション) マーカーのサイズ。
plot_event (tklib.tkgraphic.tkplotevent.tkPlotEvent or None) -- (オプション) tkPlotEventオブジェクト。
- electrical.mu_T_Fit2.sim(app, cparams, mu, fit)[ソース]
既存のパラメータを用いて移動度-温度特性をシミュレーションする。
指定された入力ファイルから温度と観測移動度データを読み込み、 現在のパラメータ設定に基づいて移動度、各散乱機構の貢献度、 および活性化エネルギーを計算します。 結果をファイルに出力し、詳細なプロットを表示します。
- パラメータ:
app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト。
cparams (tklib.tkparams.tkParams) -- 設定パラメータオブジェクト。
mu (tklib.tktransport.tkmobility.tkMobility) -- tkMobilityオブジェクト。
fit (tklib.tksci.tkFit.tkFit) -- tkFitオブジェクト。
- electrical.mu_T_Fit2.updatevars(app, cparams, mu)[ソース]
コマンドライン引数から設定パラメータを更新する。
sys.argvを解析し、モード、入力ファイル、データラベル、温度範囲、最適化パラメータなどを 設定オブジェクト`cparams`に適用します。入力ファイルが指定されていない場合はエラーで終了します。
- パラメータ:
app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト。
cparams (tklib.tkparams.tkParams) -- 設定パラメータオブジェクト。
mu (tklib.tktransport.tkmobility.tkMobility) -- tkMobilityオブジェクト。
- electrical.mu_T_Fit2.usage(app)[ソース]
アプリケーションのコマンドライン引数使用法を表示する。
`app.usage_str`に定義された使用法文字列を標準出力に表示します。
- パラメータ:
app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト。