cif_inf_pymatgen プログラム仕様

CIFファイルから結晶構造情報を読み込み、pymatgenを用いて解析・表示するスクリプト。

概要:

本スクリプトは、指定されたCIFファイルから結晶構造データを読み込み、 pymatgenライブラリの機能を用いて、その構造に関する詳細な情報を解析し、標準出力に表示します。 具体的には、空間群の情報、格子定数、対称操作、原子サイトの座標と組成などが含まれます。 また、元の構造に加え、対称化された構造の解析結果も提示します。

詳細説明:
  1. コマンドライン引数またはデフォルト設定に基づいて入力CIFファイルパスを決定します。

  2. tklib.tkApplication を使用して、標準出力に加え、ログファイルへの出力リダイレクトを設定します。

  3. pymatgenの`Structure.from_file`メソッドでCIFファイルを読み込み、`Structure`オブジェクトを作成します。

  4. 作成された`Structure`オブジェクトについて、`print_inf`関数を呼び出して詳細情報を表示します。

  5. `SpacegroupAnalyzer`を用いて構造を対称化し、その対称化された`Structure`オブジェクトについても 同様に`print_inf`関数で詳細情報を表示します。

  6. 表示される情報には、空間群のシンボルと番号、対称操作の行列、格子定数、格子ベクトル、 単位胞体積、独立なサイトおよび全サイトの原子種、分数座標、占有率が含まれます。

関連リンク:

cif_inf_pymatgen_usage

crystal.cif_inf_pymatgen.main()[ソース]

プログラムの主要な実行フローを定義します。

概要:

指定されたCIFファイルを読み込み、元の構造と対称化された構造の両方について詳細情報を表示します。

詳細説明:
  1. 入力CIFファイル名からログファイル名と対称化されたCIFファイルの出力パスを生成します。

  2. 標準出力をログファイルにもリダイレクトします。

  3. 入力CIFファイルを`pymatgen.core.structure.Structure`オブジェクトとして読み込みます。

  4. 読み込んだ元の構造の情報を`print_inf`関数を使って表示します。

  5. `SpacegroupAnalyzer`を使用して構造を対称化し、その対称化された構造の情報を`print_inf`関数を使って表示します。

  6. プログラムの実行終了時に一時停止します。

戻り値:

None

crystal.cif_inf_pymatgen.print_inf(structure)[ソース]

pymatgenのStructureオブジェクトから詳細な結晶構造情報を抽出し、表示します。

概要:

与えられたStructureオブジェクトの空間群、対称操作、格子情報、およびサイト情報を整形して表示します。

詳細説明:

以下の情報が表示されます。 - 構造全体の概要 (structure.__str__) - 空間群のシンボルと番号 - 全ての対称操作の数と各対称操作の行列 - 格子定数 (a, b, c, alpha, beta, gamma) - 格子ベクトル - 単位胞の体積 - 独立なサイトの原子種と分数座標 - 全てのサイトの原子種、分数座標、および占有率

パラメータ:

structure (pymatgen.core.structure.Structure) -- 解析対象のpymatgen Structureオブジェクト。

戻り値:

None

crystal.cif_inf_pymatgen.print_matrix(m)[ソース]

3x3行列を整形して標準出力に表示します。

概要:

与えられた3x3の数値行列を行と列にフォーマットして表示します。

詳細説明:

行列の各要素は小数点以下4桁の浮動小数点数としてフォーマットされ、 パイプ記号で囲まれた見やすい形式で出力されます。

パラメータ:

m (list[list[float]]) -- 表示する3x3の数値行列。リストのリスト形式で指定します。

戻り値:

None