BCA_modern:一种用于晶体表面低能离子散射的开源通用二体碰撞近似代码

《Computer Physics Communications》:BCA_modern: an open-source universal binary collision approximation code for low-energy ion scattering from crystalline surfaces

【字体: 大 中 小 】 时间:2026年09月02日 来源:Computer Physics Communications 3.9

编辑推荐:

   摘要 我们提出了 BCA_modern,一个开源 Python 代码,用于使用二体碰撞近似模拟来自晶体表面的低能离子散射 (LEIS)。该代码实现了针对 70 种离子 - 原子组合(He+、Ne+、Ar+、Kr+、Xe+ 作用于 14 种靶元素)的特定对 NLH 原子间势 [

  

摘要
我们提出了 BCA_modern,一个开源 Python 代码,用于使用二体碰撞近似模拟来自晶体表面的低能离子散射 (LEIS)。该代码实现了针对 70 种离子 - 原子组合(He+、Ne+、Ar+、Kr+、Xe+ 作用于 14 种靶元素)的特定对 NLH 原子间势 [1]、依赖于位置的电子阻止截面 Se(v, ρ)、晶格热振动以及 Hagstrum 离子中和。通用晶体结构模块支持 35 种内置结构(闪锌矿、纤锌矿、岩盐、刚玉、方石英、FCC 金属、BCC 金属、金刚石立方),通过部分位点占据实现无序合金,以及 CIF 文件输入。具有自动生成材料和模型参数的模拟可以从三个必要输入初始化——离子原子序数、晶体名称和束流能量——而束流几何结构、温度、轨迹数量和探测器接受度保持用户可配置,并且必须设置以重现特定实验。我们通过以下方式验证了代码:(i)运动学因子验证,对 54 种离子 - 靶材对产生机器精度一致性;(ii)He+→CaSiO3 在近期 BCA/实验研究的垂直入射、145°探测器几何条件下的背散射谱,恢复了 Ca、Si 和 O 的单碰撞运动学能量处的光谱特征;(iii)统计收敛性分析表明在 5000 条轨迹下精度约为 1%;(iv)与已发表的 He+→Au 和 Cu 在垂直入射下的实验 LEIS 条件进行比较,显示峰位与运动学预测的一致性在 1% 以内。展示了在 GaP、CdTe、GaAs 和 Al2O3 中的应用;一项伴生研究将同一代码应用于低能离子散射中由探测器引起的畸变 [1], [2]。

章节摘要
程序摘要
程序标题:BCA_modern
开发者仓库链接:https://github.com/atashbek/BCA_modern
许可条款:MIT
编程语言:Python 3.8+
外部例程/库:NumPy (≥ 1.20), SciPy (≥ 1.7); Matplotlib (≥ 3.4, 可选,用于绘图)
补充材料:源代码归档包含:BCA_modern.py (主程序,~ 2177 行), 带有安装和使用说明的 README.md, requirements.txt, MIT 许可,以及三个示例脚本 (example_basic.py, example_

原子间势
入射离子与晶格原子之间的相互作用由屏蔽库仑势描述 ???(??)=??1???2???2/??·Φ?(??),其中 r 是核间距,Φ?(??/??)=∑???????exp?(????????/??) 是屏蔽函数,其中 a 是屏蔽长度,di, bi > 0 是针对特定对的拟合系数。在 BCA_modern 中,我们采用了 Nordlund、Lehtola 和 Hobler [1] 最近从自洽 DMol 密度泛函计算中推导出的针对特定对的屏蔽函数。这些 NLH 势

运动学因子
作为必要的初步测试,我们将代码计算的运动学因子 ??=????/??0 与二体弹性散射的精确解析表达式进行了验证。比较针对 54 种离子 - 靶材组合(三种入射粒子 × 九种晶体 × 每种两个子晶格原子)在 136°散射角下进行。在所有情况下,相对偏差均低于 10?15,证实了运动学关系和能量分配逻辑在机器精度下被正确实现。

GaP(100)?110?中的沟道效应
图 5 展示了 Ne+→GaP(100)?110? 在 2 keV, ??=1.8°下的能谱和角分布。在 10 000 条轨迹中,4223 个离子 (??=42.2%) 被背散射。该谱在 E0 附近表现出高能峰(小角度沟道)和宽的低能成分(多重散射)。角分布在 5–15°处达到峰值,这与掠入射几何结构一致。

热振动效应
通过在四种温度(0, 100, 300,)下重复 GaP 模拟研究了晶格动力学的作用

性能
表 3 总结了计算吞吐量。在单个 CPU 核心上,代码每秒处理约 7–24 条轨迹,主要取决于单位晶胞中的原子数,从而取决于需要搜索的超胞大小(CdTe 为 4.0 × 104 个原子,α-Al2O3 为 1.5 × 105 个原子)。一个 numpy 加速的预过滤器在每个轨迹步骤中将原子搜索空间从 O(Natoms) 减少到 O(Ncandidates),为像 α-Al2O3 这样的复杂结构提供了大约 60 倍的加速。A

结论
我们描述了 BCA_modern,这是一个开源 Python 代码,用于模拟来自晶体表面的低能离子散射的二体碰撞近似。该代码整合了以前未在单一、公开可访问的工具中提供的几个要素:70 种离子 - 原子组合的针对特定对的 NLH 原子间势、校准至现代从头算数据的依赖于位置的电子阻止截面、Hagstrum 型离子中和以及通用晶体结构

CRediT 作者贡献声明
A.S. Ashirov:写作 – 审查与编辑,写作 – 初稿,验证,软件,方法论,调查,概念化。U.O. Kutliev:验证,调查。

竞争利益声明
作者声明他们没有已知的可能影响本文报道工作的竞争性财务利益或个人关系。

A.S. Ashirov|U.O. Kutliev
乌尔根奇国立大学物理系,乌兹别克斯坦乌尔根奇 220100
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号