BESearch プログラム仕様

PES.BESearch.ReadCSV(infile)[ソース]

指定されたCSVファイルから元素ピークデータを読み込み、辞書として返します。

ファイルを開き、各行を解析して元素名、状態、結合エネルギーを抽出します。 ヘッダー行から状態(s, p, dなど)を識別し、データ行から原子番号、元素名、 および対応する結合エネルギーを読み取ります。 結合エネルギー値は`pfloat`関数を使用して浮動小数点数に変換されます。 ファイル読み込みに失敗した場合、`NameError`が発生する可能性があります。

パラメータ:

infile -- (str) 読み込むCSVファイルのパス。

戻り値:

(dict) 読み込まれた元素ピークデータ。キーは"原子番号 元素名 状態"、値は結合エネルギー(float)。

PES.BESearch.Search(p, t, e)[ソース]

指定された結合エネルギー範囲内の元素ピークを検索し、表示します。

p (辞書)から結合エネルギー値を抽出し、t (目標値)と`e` (誤差範囲)に基づいて `t - e`から`t + e`の範囲内に含まれるピークを特定します。 一致したピークの情報(原子番号、元素名、状態、結合エネルギー)を整形して出力します。

パラメータ:
  • p -- (dict) 元素ピークデータを含む辞書。キーは"原子番号 元素名 状態"、値は結合エネルギー(float)。

  • t -- (float) 検索する目標結合エネルギー (eV)。

  • e -- (float) 検索する結合エネルギーの許容誤差 (eV)。

戻り値:

None

PES.BESearch.main()[ソース]

プログラムのメイン処理を実行します。

ユーザーに検索する結合エネルギーと許容誤差を入力させます。 指定されたCSVファイルから元素ピークデータを読み込み、 `Search`関数を呼び出して結果を表示します。

戻り値:

None

PES.BESearch.pfloat(s, strict=True, defval=0.0)[ソース]

文字列を安全に浮動小数点数に変換します。

変換できない場合や、文字列内に数字が含まれている場合は、 その数字部分を抽出して変換を試みます。 `strict`が`True`の場合は完全な数値文字列のみを許容し、 `False`の場合は文字列内の最初の数値パターンを抽出します。

パラメータ:
  • s -- (str) 変換対象の文字列。

  • strict -- (bool) `True`の場合、文字列全体が浮動小数点数として解釈できないと`defval`を返します。 `False`の場合、文字列から浮動小数点数パターンを検索します。

  • defval -- (float or str or None) 変換失敗時のデフォルト値。 `None`が指定され、数値パターンが見つからない場合は元の文字列`s`が返されることがあります。

戻り値:

(float or str or None) 変換された浮動小数点数、または変換失敗時のデフォルト値や元の文字列。