crystal_convert_cell プログラム仕様
単位格子を異なる基底ベクトルに変換し、変換前後の単位格子を描画するスクリプトです。
このスクリプトは、指定された結晶構造の単位格子を、異なる基底ベクトル(例えばプリミティブセル)を持つ新しい単位格子に変換します。 変換前と変換後の単位格子の格子パラメータ、格子ベクトル、体積、原子サイト情報を計算して表示し、 さらにmatplotlibの3Dプロット機能を使用して両方の単位格子と原子配置を視覚的に表示します。 コマンドライン引数で結晶の種類、変換モード、原子の描画サイズを調整できます。
Requirement: tkcrystalbase.py
crystal_convert_cell.py 技術ドキュメント
- crystal.crystal_convert_cell.get_conversion_matrix(key)[ソース]
指定された変換キーに対応する変換行列を返します。
FCCプリミティブセル、BCCプリミティブセル、面心格子、斜方晶系-菱面体晶、 菱面体晶-六方晶などの変換行列をサポートします。
- パラメータ:
key -- str, 変換モードのキー ('FCCPrim', 'BCCPrim', 'ACenterPrim', 'BCenterPrim', 'CCenterPrim', 'RhombHex', 'HexRhomb', 'HexOrtho')
- 戻り値:
numpy.ndarray, 3x3の変換行列
- crystal.crystal_convert_cell.get_crystal(name)[ソース]
指定された結晶名に対応する格子パラメータとサイト情報を返します。
サポートされている結晶タイプはFCC、BCC、Hex、Rhombです。
- パラメータ:
name -- str, 結晶名 ('FCC', 'BCC', 'Hex', 'Rhomb')
- 戻り値:
tuple, (lattice_parameters, crystal_sites) - lattice_parameters: list, 格子定数 [a, b, c, alpha, beta, gamma] - crystal_sites: list, 原子サイト情報リスト
- crystal.crystal_convert_cell.main()[ソース]
単位格子の変換と描画のメイン処理を実行します。
結晶情報と変換行列を取得し、変換前後の格子パラメータ、格子ベクトル、体積、原子サイト情報を計算して標準出力に表示します。 その後、変換前後の単位格子と原子配置をmatplotlibの3Dプロットで可視化します。 tkcrystalbase モジュール内のヘルパー関数を利用して、幾何学的計算と描画を行います。
- Param:
None
- 戻り値:
None