xyz2cif プログラム仕様
xyz2cif.py: XYZファイルと設定ファイルからCIFファイルを生成するスクリプト。
- 概要:
XYZ形式の原子座標ファイルと、格子定数などの結晶情報を記述した設定ファイル(CFG)を読み込み、 国際結晶学連合(IUCr)が定めたCIF (Crystallographic Information File) 形式のファイルを出力します。
- 詳細説明:
本スクリプトは、特定のフォーマットのXYZファイルとCFGファイルを解釈し、 内部的に`tkCrystal`オブジェクトを構築します。 CFGファイルはサンプル名と格子ベクトルを定義し、XYZファイルは原子の数と各原子のカートン座標を定義します。 読み込まれたカートン座標は、指定された格子ベクトルに基づいて分数座標に変換され、 必要に応じて[0, 1)の範囲に正規化されます。 最終的に、構築された結晶情報は`tkCIFData`オブジェクトを通じてCIFファイルとして保存されます。
- 関連リンク:
- crystal.xyz2cif.read_xyzfile(cfgfile, xyzfile)[ソース]
概要: 設定ファイルとXYZファイルから結晶構造データを読み込み、tkCrystalオブジェクトを生成します。
- 詳細説明:
まず、`cfgfile`からサンプル名と3つの格子ベクトルを読み込みます。 次に、`xyzfile`からサイト数と各原子サイトの元素名とカートン座標を読み込みます。 読み込んだ情報をもとに`tkCrystal`オブジェクトを構築し、 原子のカートン座標を分数座標に変換して`tkCrystal`オブジェクトに追加します。 `freduce01`フラグが真の場合、分数座標は[0, 1)の範囲に正規化されます。
- パラメータ:
cfgfile -- str: 設定ファイル(.cfg)のパス。格子ベクトルやサンプル名を定義します。
xyzfile -- str: XYZフォーマットの原子座標ファイル(.xyz)のパス。原子種とカートン座標を定義します。
- 戻り値:
tkCrystal: 読み込まれた結晶構造データを含むtkCrystalオブジェクト。
- crystal.xyz2cif.updatevars()[ソース]
概要: コマンドライン引数を解析し、グローバル変数を更新します。
- 詳細説明:
`sys.argv`からXYZファイル名と`freduce01`フラグを読み取ります。 XYZファイル名に基づいて、対応する設定ファイル(CFG)名と出力CIFファイル名を派生させ、 これらのグローバル変数を更新します。