tkatomsite.py ライブラリ 技術ドキュメント
ライブラリの機能や目的
tkatomsite.py ライブラリは、結晶構造における原子サイトの情報を管理するための tkAtomSite クラスを提供します。このクラスは tklib.tkcrystal.tkatomsiteobject.tkAtomSiteObject を継承しており、原子のラベル、名前、電荷、位置座標、占有率、Wyckoff記号などの詳細な属性を保持することを目的としています。
主に、結晶構造解析や材料科学シミュレーションの文脈で、個々の原子の配置や特性をプログラム上で効率的に扱うための基盤を提供します。
importする方法
このライブラリの主要なクラスである tkAtomSite を他のPythonプログラムからインポートするには、以下のステートメントを使用します。
from tkatomsite import tkAtomSite
必要な非標準ライブラリとインストール方法
tkatomsite.py は、以下の非標準ライブラリに依存しています。
numpy: 数値計算を効率的に行うためのライブラリです。
インストール方法:
pip install numpy
tklib: このライブラリは、
tklibというカスタムライブラリパッケージに強く依存しています。具体的には、tklib.tkobject.tkObject、tklib.tkcrystal.tkatomsiteobject.tkAtomSiteObject、tklib.tksci.tksci、tklib.tkreなどが必要です。tklibは標準的なpipコマンドでインストールできる公開ライブラリではない可能性があります。通常、これはこのライブラリと同じプロジェクト内で管理されるローカルライブラリであるため、別途提供されるtklibパッケージがPythonのパスから利用可能である必要があります。具体的なインストール手順はtklibパッケージの提供元に確認してください。
importできる変数と関数
このライブラリが直接提供し、インポートできる唯一の要素は tkAtomSite クラスです。
クラス
class tkAtomSite(tkAtomSiteObject)説明: 結晶構造における単一の原子サイトを表すクラスです。
tklib.tkcrystal.tkatomsiteobject.tkAtomSiteObjectを継承しており、原子の様々な属性を管理します。コンストラクタ:
__init__(self, label=None, name='', charge=None, pos=[], occ=1.0, m=1, ws=None, hydrogen=None, **args)動作:
tkAtomSiteオブジェクトを初期化します。継承元であるtkAtomSiteObjectのコンストラクタを呼び出し、その後にself.update(**args)を実行して追加の引数をオブジェクトの属性に反映させます。引数:
label(str, optional): 原子サイトの識別ラベル。デフォルトはNone。name(str, optional): 原子種の名前(例: 'C', 'O', 'Fe')。デフォルトは空文字列''。charge(float, optional): 原子の電荷。デフォルトはNone。pos(list, optional): 原子の分数座標またはデカルト座標 \([x, y, z]\)。デフォルトは空のリスト[]。occ(float, optional): 原子サイトの占有率。0.0から1.0までの値。デフォルトは1.0。m(int, optional): Wyckoffサイトの乗数。デフォルトは1。ws(str, optional): Wyckoff記号。デフォルトはNone。hydrogen(any, optional): 水素原子に関する追加情報。デフォルトはNone。**args: その他の任意のキーワード引数。これらはself.update()メソッドによってオブジェクトの属性として設定されます。
戻り値: なし
デストラクタ:
__del__(self)動作: オブジェクトが破棄される際に、継承元である
tkAtomSiteObjectのデストラクタを呼び出します。引数: なし
戻り値: なし
文字列表現:
__str__(self)動作: オブジェクトの文字列表現を返します。これは
self.ClassPath()メソッドによって生成される文字列です。ClassPath()は通常、オブジェクトのクラス階層パス(例:tklib.tkcrystal.tkatomsiteobject.tkAtomSite)を返します。引数: なし
戻り値: オブジェクトのクラスパスを示す文字列。
main scriptとして実行したときの動作
tkatomsite.py は、if __name__ == "__main__": ブロックを含んでいません。したがって、このファイルをPythonのメインスクリプトとして直接実行しても、特定の処理やデモンストレーションは実行されません。このライブラリは、他のプログラムからインポートされて利用されることを前提として設計されています。