tkatomsite.py ライブラリ 技術ドキュメント

ライブラリの機能や目的

tkatomsite.py ライブラリは、結晶構造における原子サイトの情報を管理するための tkAtomSite クラスを提供します。このクラスは tklib.tkcrystal.tkatomsiteobject.tkAtomSiteObject を継承しており、原子のラベル、名前、電荷、位置座標、占有率、Wyckoff記号などの詳細な属性を保持することを目的としています。 主に、結晶構造解析や材料科学シミュレーションの文脈で、個々の原子の配置や特性をプログラム上で効率的に扱うための基盤を提供します。

importする方法

このライブラリの主要なクラスである tkAtomSite を他のPythonプログラムからインポートするには、以下のステートメントを使用します。

from tkatomsite import tkAtomSite

必要な非標準ライブラリとインストール方法

tkatomsite.py は、以下の非標準ライブラリに依存しています。

  1. numpy: 数値計算を効率的に行うためのライブラリです。

    • インストール方法:

      pip install numpy
      
  2. tklib: このライブラリは、tklib というカスタムライブラリパッケージに強く依存しています。具体的には、tklib.tkobject.tkObjecttklib.tkcrystal.tkatomsiteobject.tkAtomSiteObjecttklib.tksci.tkscitklib.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のメインスクリプトとして直接実行しても、特定の処理やデモンストレーションは実行されません。このライブラリは、他のプログラムからインポートされて利用されることを前提として設計されています。