tkatomtype プログラム仕様
tkatomtypeモジュール
概要: 原子タイプに関する情報や散乱因子を扱うモジュール。 詳細説明: このモジュールは、元素の基本情報、シャノンイオン半径、異常散乱因子などのデータを読み込み、
原子の散乱因子を計算する機能を提供します。
関連リンク: tkatomtype.py ライブラリ ドキュメント
- tklib.tkcrystal.tkatomtype.read_SX1_potential(dbpath)[ソース]
概要: SX1ポテンシャルデータベースからデータを読み込む。 詳細説明: 指定されたファイルからSX1ポテンシャルデータを読み込み、元素名をキーとした辞書として返す。
各要素には質量、電荷、ポテンシャル係数(ai, bi, ci)、原子半径(ARAD)が含まれる。
- パラメータ:
dbpath -- str: SX1ポテンシャルデータベースファイルのパス。
- 戻り値:
dict: 読み込まれたSX1ポテンシャルデータの辞書。
- tklib.tkcrystal.tkatomtype.read_atom_inf_csv(file_path=None)[ソース]
概要: 元素周期表の情報をCSVファイルから読み込む。 詳細説明: 指定されたCSVファイルから元素の基本情報を読み込み、辞書のリストとして返す。
シンボルはNFKC正規化される。
- パラメータ:
file_path -- str, optional: 読み込むCSVファイルのパス。Noneの場合、`atom_inf_db_path`を使用。
- 戻り値:
list[dict] or None: 読み込まれた原子情報の辞書リスト。ファイルが見つからない、またはエラーが発生した場合はNone。
- tklib.tkcrystal.tkatomtype.read_shannon_ionic_radii(file_path=None)[ソース]
概要: Shannonのイオン半径データベースからデータを読み込む。 詳細説明: 指定されたファイルからShannonのイオン半径データをパースし、各レコードを辞書として含むリストで返す。
`ION`フィールドは原子名と電荷に分割される。
- class tklib.tkcrystal.tkatomtype.tkAtomType(atomtype=None, charge=0.0, **args)[ソース]
ベースクラス:
tkAtomTypeObject概要: 原子タイプに関する情報と散乱因子を管理するクラス。 詳細説明: `tkAtomTypeObject`を継承し、原子の異常散乱因子(ASFDC)や異常分散因子(MAC)のデータを読み込み、
それらを利用して散乱因子を計算する機能を提供する。
- パラメータ:
atomtype -- str, optional: 原子タイプ名。
charge -- float, optional: 原子電荷。
args -- dict: `tkAtomTypeObject`に渡される追加のキーワード引数。
- ASFDCAtomName()[ソース]
概要: 異常散乱因子 (ASFDC) が読み込まれた原子名を返す。 詳細説明: ReadASFParameters メソッドによってASFDCパラメータが読み込まれた原子名を返す。 :returns: str or None: ASFDCが読み込まれた原子名、またはまだ読み込まれていない場合はNone。
- ASFDCParameters()[ソース]
概要: 異常散乱因子 (ASFDC) のパラメータを返す。 詳細説明: ReadASFParameters メソッドによって読み込まれたASFDCパラメータのリストを返す。 :returns: list or None: ASFDCパラメータのリスト、またはまだ読み込まれていない場合はNone。
- AnomalousScatteringFactor(wl)[ソース]
概要: 指定された波長における異常分散因子 f1 と f2 を補間して取得する。 詳細説明: ReadAnomalousScatteringFactor で読み込まれたデータを利用し、
線形補間によって指定された波長`wl`に対応するf1とf2の値を計算して返す。
- パラメータ:
wl -- float: 波長 (nm)。
- 戻り値:
tuple[float, float]: (f1, f2) のタプル。
- ReadASFParameters(AtomName=None, asfdcfile='D:\\git\\tkProg\\tkdb\\Databases\\asfdc', XraySource=None, StopByError=1)[ソース]
概要: ASFDC (Atomic Scattering Factor for DC) パラメータをファイルから読み込む。 詳細説明: 指定されたファイルから特定の原子タイプに対するASFDCパラメータを読み込み、内部属性に設定する。
X線源が指定された場合は、異常分散因子の値も考慮に入れる。
- パラメータ:
AtomName -- str, optional: パラメータを読み込む原子名。Noneの場合、オブジェクト自身の`AtomType`を使用。
asfdcfile -- str, optional: ASFDCデータベースファイルのパス。デフォルトは`ASFDCPath`。
XraySource -- str or float, optional: X線源のタイプ (例: 'Cr', 'Cu', 'Mo'など) または波長 (float)。異常分散因子を適用するために使用される。
StopByError -- int, optional: エラー発生時にプログラムを終了するかどうか (1: 終了, 0: 継続)。デフォルトは1。
- 戻り値:
list or None: 読み込まれたASFDCパラメータのリスト。エラーが発生した場合はNone。
- ReadAnomalousScatteringFactor(AtomName=None)[ソース]
概要: 異常分散因子 (Anomalous Scattering Factor) のデータをファイルから読み込む。 詳細説明: 指定された原子タイプに対応する異常分散因子のデータベースファイル (.dat) から、
エネルギー(eV)、波長(nm)、f1、f2のデータを読み込み、内部属性に設定する。
- パラメータ:
AtomName -- str, optional: データを読み込む原子名。Noneの場合、オブジェクト自身の`AtomType`を使用。
- 戻り値:
tuple: (xE, xwl, yf1, yf2, dbpath) のタプル。 - xE (numpy.ndarray): エネルギーのNumPy配列 (eV)。 - xwl (list): 波長のリスト (nm)。 - yf1 (numpy.ndarray): f1のNumPy配列。 - yf2 (numpy.ndarray): f2のNumPy配列。 - dbpath (str): 読み込んだデータベースファイルのパス。
- asf(s, StopByError=1)[ソース]
概要: 原子散乱因子 (atomic scattering factor) を計算する。 詳細説明: 指定された`s`値 (sin(theta)/lambda) に基づいて原子散乱因子を計算する。
異常分散因子が利用可能な場合は、それらも考慮に入れる。
- パラメータ:
s -- float: sin(theta) / lambda の値 (単位: nm^-1)。
StopByError -- int, optional: ReadASFParameters 呼び出し時にエラー発生で終了するかどうか。デフォルトは1。
- 戻り値:
float or complex: 計算された原子散乱因子。異常分散因子が存在する場合は複素数となる。