crystal_convert_cell プログラム仕様
単位格子を異なる基底ベクトルに変換し、変換前後の単位格子を描画するスクリプトです。
- 概要:
このスクリプトは、指定された結晶構造の単位格子を、異なる基底ベクトル(例えばプリミティブセル)を持つ 新しい単位格子に変換し、その結果を可視化します。
- 詳細説明:
変換前と変換後の単位格子の格子パラメータ、格子ベクトル、体積、原子サイト情報を計算して標準出力に表示します。 さらに、matplotlibの3Dプロット機能を使用して両方の単位格子と原子配置を視覚的に表示します。 コマンドライン引数で結晶の種類、変換モード、原子の描画サイズを調整できます。 このスクリプトは tkcrystalbase.py モジュールに依存しています。
- 関連リンク:
crystal_convert_cell_usage
- crystal.crystal_convert_cell.get_conversion_matrix(key)
- 概要:
指定された変換キーに対応する変換行列を返します。
- 詳細説明:
FCCプリミティブセル、BCCプリミティブセル、面心格子、斜方晶系-菱面体晶、 菱面体晶-六方晶などの様々な結晶学的変換行列をサポートします。
- 引数:
- param key:
変換モードのキー。 'FCCPrim', 'BCCPrim', 'ACenterPrim', 'BCenterPrim', 'CCenterPrim', 'RhombHex', 'HexRhomb', 'HexOrtho' のいずれか。
- type key:
str
- 戻り値:
- returns:
3x3の変換行列。
- rtype:
numpy.ndarray
- crystal.crystal_convert_cell.get_crystal(name)
- 概要:
指定された結晶名に対応する格子パラメータとサイト情報を返します。
- 詳細説明:
サポートされている結晶タイプはFCC、BCC、Hex、Rhombです。
- 引数:
- param name:
結晶名。 'FCC', 'BCC', 'Hex', 'Rhomb' のいずれか。
- type name:
str
- 戻り値:
- returns:
格子定数 (lattice_parameters) と原子サイト情報 (crystal_sites) のタプル。
- rtype:
tuple
- crystal.crystal_convert_cell.main()
- 概要:
単位格子の変換と描画のメイン処理を実行します。
- 詳細説明:
結晶情報と変換行列を取得し、変換前後の格子パラメータ、格子ベクトル、体積、原子サイト情報を計算して標準出力に表示します。 その後、変換前後の単位格子と原子配置をmatplotlibの3Dプロットで可視化します。 tkcrystalbase モジュール内のヘルパー関数を利用して、幾何学的計算と描画を行います。
- 戻り値:
- returns:
なし
- rtype:
None
- crystal.crystal_convert_cell.terminate()
- 概要:
usageメッセージを表示し、スクリプトを終了します。
- 詳細説明:
エラー発生時や不正な引数が渡された際に呼び出され、ユーザーに正しい使い方を案内した後にプログラムを終了させます。
- 戻り値:
- returns:
なし
- rtype:
None
- crystal.crystal_convert_cell.usage()
- 概要:
スクリプトの正しい使用方法を標準出力に表示します。
- 詳細説明:
この関数は、期待されるコマンドライン引数とその説明、および具体的な使用例をユーザーに提示します。
- 戻り値:
- returns:
なし
- rtype:
None