S2m プログラム仕様

概要: ゼーベック係数とキャリア濃度から有効質量を推定するスクリプト。

詳細説明: このスクリプトは、測定された温度 (T)、ゼーベック係数 (S)、およびキャリア濃度 (N) のデータポイントに基づき、 Snyder et al. の論文(Adv. Funct. Mater. 32, 2112772 (2022))で提案されている式を用いて、 キャリアの有効質量 (meff) を推定します。 入力ファイル(ExcelまたはCSV)からデータを読み込み、各データポイントに対して有効質量を計算し、 その結果を新しいExcelファイルに出力します。 また、キャリア濃度に対するゼーベック係数と有効質量の関係をプロットして表示します。

関連リンク: S2m.py 技術ドキュメント

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

概要: メイン処理を実行し、ゼーベック係数とキャリア濃度から有効質量を計算・プロットする。

詳細説明: この関数は、プログラムのエントリポイントです。 1. コマンドライン引数を解析し、入力ファイル、データラベル、散乱因子などの設定を読み込みます。 2. 入力ファイルから温度 (T)、ゼーベック係数 (S)、キャリア濃度 (N) データを読み込みます。 3. 各データポイントに対し、Snyder et al. の論文(Adv. Funct. Mater. 32, 2112772 (2022))で提案されている

複数の式を用いて有効質量 (meff) を推定します。

  1. 推定された有効質量について、内部で計算されるゼーベック係数と比較し、その妥当性を検証します。

  2. 計算された有効質量を元のデータとともにExcelファイルに出力します。

  3. キャリア濃度 (N) に対するゼーベック係数 (S) と有効質量 (meff) の関係をグラフでプロットし、表示します。

戻り値:

なし

戻り値の型:

None

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

概要: 指定されたファイルからデータを読み込む。

詳細説明: グローバル変数`infile`で指定されたファイル(ExcelまたはCSV)を`tkVariousData`クラスを用いて読み込みます。 読み込んだデータからラベルとデータリストを抽出し、それらを返します。 ファイル読み込みに失敗した場合は、`usage`関数を呼び出して終了します。

パラメータ:

fname (str) -- 読み込むファイルのパス。実際にはグローバル変数`infile`が使用されます。

戻り値:

読み込んだデータを含む`tkVariousData`オブジェクト、ラベルのリスト、データのリストのタプル。

戻り値の型:

tuple[tklib.tkvariousdata.tkVariousData, list[str], list[list[Any]]]

electrical.S2m.savecsv(outfile, header, datalist)[ソース]

概要: データリストをCSVファイルに保存する。

詳細説明: 与えられたヘッダーとデータリストをCSV形式で指定されたファイルに出力します。 datalistは列ごとのデータのリストのリスト(例: [[col1_data1, col1_data2], [col2_data1, col2_data2]]) として扱われ、行ごとに結合されて出力されます。

パラメータ:
  • outfile (str) -- 出力CSVファイルのパス。

  • header (list[str]) -- CSVファイルのヘッダー行の文字列リスト。

  • datalist (list[list[Any]]) -- 出力するデータのリスト。各内部リストはカラムに対応し、その要素が各行の値となります。 例: [[temp1, temp2], [seebeck1, seebeck2]]

戻り値:

なし

戻り値の型:

None

electrical.S2m.usage(app)[ソース]

概要: スクリプトの正しい使用方法を標準出力に表示する。

詳細説明: この関数は、コマンドライン引数の正しい形式と、実行例をユーザーに提示します。 エラー発生時やヘルプ表示要求時に呼び出されます。

パラメータ:

app (tklib.tkapplication.tkApplication) -- tkApplicationのインスタンス。ログ出力などのユーティリティ機能を提供します。

戻り値:

なし

戻り値の型:

None