tkcrystal プログラム仕様

結晶構造を管理するためのパッケージ。

このモジュールは、tkCrystal クラスを提供し、結晶の格子パラメータ、対称性、 原子サイト、物性値などのデータ管理と操作を可能にします。 CIF (Crystallographic Information File) などの結晶構造データを取り扱い、 情報を表示したり、3Dで可視化したりする機能を含みます。

関連リンク: tkcrystal.py ライブラリ ドキュメント

class tklib.tkcrystal.tkcrystal.tkCrystal(**args)[ソース]

ベースクラス: tkCrystalObject

結晶構造データを管理するクラス。

tkCrystalObject を継承し、結晶の格子パラメータ、対称性、原子サイト、 物性値などの詳細な情報を格納し、操作するための機能を提供します。 結晶構造の読み込み、情報の表示、構造の可視化などをサポートします。

Initialize()[ソース]

オブジェクトの初期設定を行います。

現時点では特に処理はありませんが、将来的な拡張のためのプレースホルダーとして機能します。

戻り値:

なし

PrintInf(key=None)[ソース]

print_inf メソッドのエイリアス。

互換性のため、print_inf と同じ機能を提供します。

パラメータ:

key -- 表示する情報のカテゴリ (str または None) を指定します。 print_inf メソッドの`key`引数と同様です。

戻り値:

なし

draw(figsize=(10, 10), nrange=[[-0.1, 1.1], [-0.1, 1.1], [-0.1, 1.1]], rmin=0.1, kr=100.0)[ソース]

結晶構造を3Dプロットで可視化します。

matplotlibを使用して結晶の単位格子と原子サイトを3Dプロットで表示します。 描画範囲と原子サイズ調整係数を指定できます。

パラメータ:
  • figsize -- 描画する図のサイズ (幅, 高さ) (tuple)。デフォルトは (10, 10) です。

  • nrange -- 描画する単位格子の範囲 (list)。各軸の開始と終了座標を指定します。 例: [[xmin, xmax], [ymin, ymax], [zmin, zmax]]。

  • rmin -- 同一原子サイトと判断する距離の閾値 (オングストローム単位) (float)。 現在は未使用です。

  • kr -- 原子サイズをプロットする際の係数 (float)。draw_unitcell メソッドに渡されます。

戻り値:

なし

draw_box(ax, aij, nrange, linecolor='black')[ソース]

3Dプロットに単位格子を描画します。

与えられた格子ベクトルに基づいて、matplotlibの3D軸上に単位格子の辺を描画します。

パラメータ:
  • ax -- matplotlibの3D軸オブジェクト (Axes3D)。

  • aij -- 格子ベクトルを表す3x3行列 (numpy.ndarray)。

  • nrange -- 描画範囲。現在は未使用ですが、引数として存在します (list)。

  • linecolor -- 単位格子の辺の色 (str)。デフォルトは 'black' です。

戻り値:

なし

draw_unitcell(ax, nrange, kr=1000.0, linecolor='black', color='black', atomcolor=None)[ソース]

3Dプロットに単位格子と原子サイトを描画します。

draw_box メソッドで単位格子を描画し、結晶内の各原子サイトを球でプロットします。 原子タイプごとに異なる色を使用します。

パラメータ:
  • ax -- matplotlibの3D軸オブジェクト (Axes3D)。

  • nrange -- 描画範囲。現在は未使用ですが、引数として存在します (list)。

  • kr -- 原子サイズをプロットする際の係数 (float)。原子の半径にこの係数を乗じてプロットサイズを決定します。

  • linecolor -- 単位格子の辺の色 (str)。デフォルトは 'black' です。

  • color -- 原子にデフォルトの色を指定する場合の色 (str)。現在は未使用。

  • atomcolor -- 原子タイプごとの色のリスト (list of str)。指定がない場合はデフォルトの色を使用します。

戻り値:

なし

print_inf(key=None)[ソース]

結晶の各種情報を標準出力に表示します。

結晶名、格子系、空間群、格子パラメータ、体積、組成、密度、原子タイプ、 原子サイトなどの詳細情報をカテゴリ別に表示します。 key 引数で表示する情報のカテゴリを指定できます。

パラメータ:

key -- 表示する情報のカテゴリ (str または None) を指定します。 "header", "sample", "symmetry", "cell", "lattice", "reciprocal", "properties", "atomtypes", "asymsites", "allsites" などのカテゴリが利用可能です。Noneの場合、全てのカテゴリを表示します。

戻り値:

なし

to_dict()[ソース]

結晶構造データを辞書形式で返します。

Materials Project (MP) のStructureオブジェクトに似た形式で、 結晶の空間群、格子情報、原子サイト、組成などを辞書として構造化して返します。

戻り値:

結晶構造データを表現する辞書 (dict)。