weighted_mobility プログラム仕様

概要: 重み付き移動度とキャリア濃度を計算し、関連する解析を行うスクリプト。 詳細説明: このスクリプトは、伝導率とゼーベック係数から重み付き移動度とキャリア濃度を算出します。

単一点計算、結果の検証、温度依存性、組成依存性の解析機能を含みます。 また、計算に必要な物理定数とパラメータが定義されています。

関連リンク: tktransport.tkWeightedMobility

electrical.weighted_mobility.exec_T()[ソース]

概要: 温度依存性に対する重み付き移動度とキャリア濃度を計算します。 詳細説明: 入力ファイルから温度、伝導率、ゼーベック係数のデータを読み込み、

指定された計算タイプ('Snyder', 'exact', 'approx')に基づいて 重み付き移動度とキャリア濃度を計算します。 結果は出力Excelファイルに保存され、温度に対する伝導率、ゼーベック係数、 重み付き移動度、キャリア濃度のグラフがプロットされます。

戻り値:

None

electrical.weighted_mobility.exec_X()[ソース]

概要: パラメータXの依存性に対する重み付き移動度とキャリア濃度を計算します。 詳細説明: 入力ファイルからX、伝導率、ゼーベック係数のデータを読み込み、

指定された計算タイプ('Snyder', 'exact', 'approx')に基づいて 重み付き移動度とキャリア濃度を計算します。 結果は出力Excelファイルに保存され、Xに対する伝導率、ゼーベック係数、 重み付き移動度、キャリア濃度のグラフがプロットされます。

戻り値:

None

electrical.weighted_mobility.exec_check()[ソース]

概要: 重み付き移動度の計算結果を検証します。 詳細説明: 現在の温度 (T0) と散乱因子 (r0) に基づいて、ゼーベック係数とフェルミ準位の依存性を計算し、

非縮退、縮退、厳密なモデルでのゼーベック係数を比較します。 様々な重み付き移動度の計算結果をExcelファイルに保存し、 さらに、S/(kB/e) と f (f_deg, f_non-deg) の関係、 EF と S (S_exact, S_deg, S_non-deg) の関係のグラフをプロットします。

戻り値:

None

electrical.weighted_mobility.exec_single()[ソース]

概要: 単一点の重み付き移動度とキャリア濃度を計算します。 詳細説明: 指定された伝導率 (sigma0)、ゼーベック係数 (S0)、温度 (T0)、DOS有効質量 (meffDOS0)、

および散乱因子 (r0) を用いて、スナイダーの式、自由電子モデルの近似式、 および厳密解に基づいて重み付き移動度とキャリア濃度を計算し、結果を標準出力に表示します。 計算された移動度とキャリア濃度は、Snyderの式、DOS有効質量補正、自由電子モデル近似、自由電子モデル厳密解の各ケースで出力されます。

戻り値:

None

electrical.weighted_mobility.main()[ソース]

概要: スクリプトのメインエントリポイントです。 詳細説明: tkApplication を初期化し、コマンドライン引数からグローバル変数を更新します。

mode 変数の値に応じて、exec_checkexec_singleexec_Xexec_T のいずれかの計算関数を呼び出します。 無効なモードが指定された場合は、エラーメッセージを表示してアプリケーションを終了します。

戻り値:

None

electrical.weighted_mobility.modify_path(path, addpath)[ソース]

概要: ファイルパスに指定された文字列を追加して新しいパスを生成します。 詳細説明: 入力パスのファイル名部分(拡張子の前)に addpath を追加し、新しいファイルパスを返します。

この関数はファイル名の本体部分に addpath を直接連結するため、 元のファイルの拡張子は失われます。addpath に拡張子を含めることで対応可能です。

パラメータ:
  • path -- str: 元のファイルパス。

  • addpath -- str: ファイル名に追加する文字列(例: '-out.xlsx')。

戻り値:

str: 変更された新しいファイルパス。

electrical.weighted_mobility.read_file(fname)[ソース]

概要: 指定されたファイルからデータを読み込みます。 詳細説明: tkVariousData クラスを使用して、指定されたファイルからラベルとデータリストを読み取ります。

ファイル読み込み後、ファイルポインタは閉じられます。

パラメータ:

fname -- str: 読み込むファイルの名前。

戻り値:

tuple: (tklib.tkvariousdata.tkVariousData, list, list): データファイルオブジェクト、ラベルのリスト、データリスト。

electrical.weighted_mobility.updatevars()[ソース]

概要: コマンドライン引数からグローバル変数を更新します。 詳細説明: sys.argv から引数を解析し、mode, T0, meffDOS0, r0, sigma0, S0, infile, outfile,

X_label, T_label, sigma_label, S_label などのグローバル変数を設定します。 無効なモードが指定された場合はエラーメッセージを表示し、アプリケーションを終了します。

戻り値:

None

electrical.weighted_mobility.usage(app=None)[ソース]

概要: スクリプトのコマンドライン引数の使用方法を表示します。 詳細説明: スクリプトの実行モード('check', 'single', 'X', 'T')に応じた引数の例とともに、標準出力に表示します。

不正な引数でスクリプトが実行された場合などに呼び出されます。

パラメータ:

app -- tklib.tkapplication.tkApplication, optional: アプリケーションインスタンス。デフォルトはNone。

戻り値:

None

electrical.weighted_mobility.validate_data(list, desc)[ソース]

概要: 与えられたデータリストが`None`でないことを検証します。 詳細説明: データリストが`None`の場合、エラーメッセージを出力し、アプリケーションを終了します。 :param list: list: 検証するデータリスト。 :param desc: str: データリストの説明。エラーメッセージで使用されます。 :returns: None