Module dcg_sci_tool.structures_analysis.detect_O2_coordinating_to_PdAu
Functions
def detect_O2_coordinating_to_PdAu(data, type_names_order, o2_molecules, o_pd_cutoff=2.5, o_au_cutoff=2.5)-
识别输入帧中与Pd或Au配位的O2分子,返回与Pd/Au配位的O2数量、总O2分子数,以及与Pd/Au配位的O2分子详情列表。 考虑了周期性边界条件。
Args
data:DataCollection- 结构的ovito数据集合
type_names_order:list- 原子类型名称列表,索引对应原子类型编号
o2_molecules:list- 所有O2分子列表,每个元素是一个元组,包含第一个O原子序号和第二个O原子序号 (例如:[(o1_index1, o2_index1), (o1_index2, o2_index2), …])
o_pd_cutoff:float- O原子与Pd配位的距离阈值,单位为Å,默认为2.5 Å
o_au_cutoff:float- O原子与Au配位的距离阈值,单位为Å,默认为2.5 Å
Returns
tuple-
O2分子信息 o2_pdau_count (int): 与Pd或Au配位的O2分子数量
total_o2 (int): 总O2分子数量
o2_pdau_details (list): 与Pd或Au配位的O2分子详情列表,每个元素是一个字典, 包含以下键: - 'o2' (tuple): O2分子的原子序号元组 (o1_index, o2_index) - 'o1_pd_neighbors' (list): 第一个O原子与Pd配位的邻居列表 - 'o1_au_neighbors' (list): 第一个O原子与Au配位的邻居列表 - 'o2_pd_neighbors' (list): 第二个O原子与Pd配位的邻居列表 - 'o2_au_neighbors' (list): 第二个O原子与Au配位的邻居列表