tkcrystal プログラム仕様
結晶構造を管理するためのパッケージ。
このモジュールは、tkCrystal クラスを提供し、結晶の格子パラメータ、対称性、 原子サイト、物性値などのデータ管理と操作を可能にします。 CIF (Crystallographic Information File) などの結晶構造データを取り扱い、 情報を表示したり、3Dで可視化したりする機能を含みます。
関連リンク: tkcrystal.py ライブラリ ドキュメント
- class tklib.tkcrystal.tkcrystal.tkCrystal(**args)[ソース]
ベースクラス:
tkCrystalObject結晶構造データを管理するクラス。
tkCrystalObject を継承し、結晶の格子パラメータ、対称性、原子サイト、 物性値などの詳細な情報を格納し、操作するための機能を提供します。 結晶構造の読み込み、情報の表示、構造の可視化などをサポートします。
- 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の場合、全てのカテゴリを表示します。
- 戻り値:
なし