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

crystal.crystal_convert_cell.terminate()[ソース]

usageメッセージを表示し、スクリプトを終了します。

エラー発生時や不正な引数が渡された際に呼び出され、ユーザーに正しい使い方を案内した後にプログラムを終了させます。

Param:

None

戻り値:

None

crystal.crystal_convert_cell.usage()[ソース]

スクリプトの正しい使用方法を標準出力に表示します。

期待されるコマンドライン引数とその説明、および使用例を示します。

Param:

None

戻り値:

None