没有合适的资源?快使用搜索试试~ 我知道了~
MAZE:多尺度原子沸石模拟环境(软件X 16,2021)
软件X 16(2021)100797原始软件出版物使用多尺度原子沸石模拟环境(MAZE)简化计算工作流程德克斯特·D放大图片作者:Antonio,Jiawei Guo,Sam J. Holton,Ambarish R.库尔卡尔尼河美利坚合众国加州大学戴维斯分校化学工程系ar t i cl e i nf o文章历史记录:收到2021年2021年8月10日收到修订版,2021年保留字:多尺度模拟ZepherdDFTa b st ra ct沸石分子筛是一类重要的三维纳米多孔材料,各种应用,包括气体储存、分离和催化。由于这些铝硅酸盐材料的性质取决于许多因素(例如,骨架拓扑结构、Si/Al比、骨架外阳离子等),详细的实验(例如,催化性能、吸附能力等)通常仅限于少数材料。计算方法发挥了重要作用在(1)提供分子水平的见解以使实验观察合理化,和(2)筛选沸石的大文库以鉴定用于实验合成和验证的有希望的候选物。不同层次的理论和计算化学代码是必要的,以描述相关现象的范围,如吸附(例如,巨正则蒙特卡罗),扩散(例如,分子动力学),和化学反应(例如,密度泛函理论)。操作原子结构、处理输入文件和开发健壮的工作流变得非常麻烦。为了缓解这些挑战,我们描述了多尺度原子沸石模拟环境(MAZE)的开发-一个版权所有©2021作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v0.1.1此代码版本所用代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-21-00107法律代码许可证MIT代码版本控制系统使用git软件代码语言使用python编译要求,操作环境依赖Python Packages:ase,numpy,typing,packaging,scikit-learn如果可用,链接到开发人员文档/手册https://kul-group.github.io/MAZE-sim/问题支持电子邮件Dexter.d. gmail.com软件元数据当前软件版本v0.1.1此版本可执行文件的永久链接https://github.com/kul-group/MAZE-sim/releases/tag/0.1.0法律软件许可证MIT计算平台/操作系统Linux,OS X,Microsoft Windows,类Unix安装要求依赖项Python3 Python Packages:ase,numpy,typing,packaging,scikit-learn如果可用,用户手册链接-如果正式出版,请在参考列表中引用该出版物https://kul-group.github.io/MAZE-sim/问题支持电子邮件Dexter.d. gmail.com化学工程系,1 Shields Ave Davis,CA 95616,美国。电子邮件地址:arkulkarni@ucdavis.eduAmbarish R. Kulkarni)。https://doi.org/10.1016/j.softx.2021.1007971. 介绍沸石是一类广泛应用于各种工业应用2352-7110/©2021作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx德克斯特·D放大图片作者:Antonio,Jiawei Guo,Sam J.Holton等人软件X 16(2021)1007972包括气体分离和催化[1过渡金属(TM)交换的沸石结合了非均相催化剂的期望特性(高热稳定性和更简单的分离)与酶的那些特性(在温和条件下的高选择性和反应性)[3],并且作为许多反应的催化剂,例如NOx减排[4]和甲烷稳定化[5],已经受到了相当大的关注。计算建模通常用于提供见解(例如,热力学稳定性[6],反应势垒[7]等)沸石的反应机理和性质[8,9]。考虑到与分子过程相关的各种长度和时间尺度(例如,吸附,扩散,反应),结合波函数理论,周期密度泛函理论和经典力场的多尺度方法通常是必要的[8]。虽然许多广泛适用的软件包可用于执行这些计算[10],但用于沸石特定任务的软件工具包将是有价值的。在这项工作中,我们描述了一个新的基于Python的开源软件包的设计和功能- 多尺度原子分子筛模拟环境(MAZE)。开放源码软件包[11]提供了用户友好界面,极大地简化了执行计算化学计算的过程。例如,原子模拟环境(ASE)提供到各种计算化学代码(例如,[12],LAMMPS [13],GPAW [14])。 ASE为底层量子化学模拟代码提供基于Python的包装器,并提供直观的应用程序编程接口(API),用于设置、启动和分析计算[15,16]。通过自动化繁琐的计算设置和随后的数据分析,ASE简化了执行和分析复杂计算的过程[15,17]。此外,通过允许通过Python脚本而不是GUI进行操作,这些计算变得自文档化,可重现,易于简化为复杂的工作流程[11,15]。2. 问题和背景2.1. ASE界面内跟踪原子的电流限制尽管ASE代码库中有活跃的用户社区和持续的开发[15],但在ASE中实现一些特定的结构操作任务仍具有挑战性。通常是各种结构操作(例如,提取和重新插入簇,添加末端H原子等)是必要的,以解决特定的沸石科学问题-目前的ASE接口是不适合下面用一个简单的例子来说明这一点在ASE中,原子组在内存中由Atoms Python对象表示。在Atoms对象中,所有原子的属性都存储在NumPy数组中。当一个特定的原子在使用get_item方法访问Atoms对象(例如,my_atoms[index])创建一个Atom对象,它具有(除其他外)属性'tag'、' position '、'symbol'和' index '。用于存储atoms属性的底层数据结构非常高效,因为它不需要为Atoms对象表示的每个原子存储单独的Python对象。不幸的是,这也意味着每个原子的指数可以随着每次添加或删除而改变。 图图1显示了各种乙二醛衍生物的结构和原子指数,结构操控如何改变原子图图1显示了当进行添加和删除时,各个原子的指数如何变化。最明显的区别是在第四种结构中,其中两个原子的缺失导致指数4和5的减少分别为2和3。原子的添加只是扩展了阵列,因此添加到末尾。没有固有索引中的排序;原子添加到结构中的顺序影响原子的最终顺序如果通过改变给定原子的身份来进行取代,则指数保持不变。Atoms对象的可变性以及随后的索引移位,在跟踪原子的关系和身份方面引入了显著的复杂性。这些是开发工作流程的主要瓶颈,包括沸石的周期性和簇计算。2.2. MAZE解决方案认识到上述挑战,MAZE包将原子关系跟踪置于其设计的中心,同时保持与所有现有ASE功能的兼容性。 如以下部分所示,它大大简化了沸石工作流程,并降低了进行一系列结构操作的难度。3. 迷宫体系结构3.1. 体系结构概述MAZE项目旨在包括ASE基本包的所有功能,同时包括与原子跟踪相关的附加功能。这是通过使用继承来实现的。沸石是一组原子,因此创建继承自ASE的Atoms类的Zeolite类是合适的。沸石类代表沸石,包括用于识别独特晶体学位点的其他方法和性质。多态性确保Zeolite类具有父Atoms类的所有属性和方法。因此,ASE的所有沸石类的附加功能分为两类,即父类PerfectZeolite和其子类Zeolite. PerfectZeolite类包含从带标签的CIF文件构建Zeolite并保留站点标签的功能。PerfectZeolite中包含的方法都与站点识别和序列化有关在一组沸石中,可以仅存在一种完美的沸石,由此所有的衍生物(例如,Bronsted H版本、吸附物等)都是制造出来的一个简化的统一建模语言(UML)类图的沸石和PerfectZeolite类是在图。 二、MAZE软件包的用户将主要与Zeolite物体进行交互。沸石类的主要附加特征与 PerfectZeolite类涉及原子操作,例如添加原子、删除原子、提取簇和封端簇。通过在两个类之间划分功能,可以将构成Zeolite的属性和涉及结构操作的属性分开,从而大大简化底层代码。沸石功能的基础是一个内部IndexMapper对象,它跟踪来自相同母体结构的沸石中原子指数之间的关系。3.2. IndexMapper类IndexMapper类的实例负责跟踪原子索引之间的关系。对IndexMapper对象的引用是每个Zeolite类的属性,相关的Zeolite共享相同的IndexMapper。IndexMapper并不直接遇到Atoms对象,而只处理它们的索引。IndexMapper的核心数据结构是main_index,它由嵌套字典的集合组成。外部字典的键是对象中每行原子的唯一id(图3)。内部字典由每个德克斯特·D放大图片作者:Antonio,Jiawei Guo,Sam J.Holton等人软件X 16(2021)1007973Fig. 1. 从乙二醛衍生的Atoms对象中索引之间的关系。这些列将不同Atoms对象的索引相互关联,每个结构中的原子都标有相应的索引。当多个结构化操作连续执行时,索引移位问题变得更加明显。例如,如果将O和H原子加回#3以恢复#1,则它们的索引(4和5)将不同于初始结构。图二. Zeolite对象的简化统一建模语言(UML)类图。继承关系由一个空心箭头表示。Zeolite类继承自PerfectZeolite类,后者继承自Atoms类。zeolites name属性后跟Atom或None对象的索引。IndexMapper对象中的main_index记录不同Atoms对象的关系索引。unique_id为每个原子分配唯一的标识符(ID)。该ID不依赖于原子种类,并且如果原子类型从硅改变为例如,ID保持不变。该行显示了不同Atoms对象之间的索引之间的关系。例如,在第四行(即,索引3的字典),ID等于3,并且母体沸石_1和开放缺陷_5的索引都等于3。由从沸石_1中提取的簇组成的Clus-ter_3中的等效原子指数为0.沸石_3由21个原子组成,而开放缺陷_5对象由沸石_1中的所有原子组成,沸石_3中的原子除外。因此,Open Defect_5最终索引偏移21,如在表的最后行中可见当执行每个原子操作操作时,main_index自动更新,并且不需要用户的主动干预。index mapper类可用于通过get_index函数在两个相关沸石之间直接映射,但其核心优势是通过启用结构操作函数(如cap_atoms和integrate)来实现。补 充 这 个 索 引 映 射 器 的 是 Zeolite 类 中 的 add_atoms 和delete_atoms方法,它们返回原始Zeolite对象的副本,并将新列附加到IndexMapper这个新列包含新创建的Zeolite对象的索引,每行指示其他沸石中原子之间的关系。如果删除Zeolite对象,则解构器图三. 一个相关的Zetmap集合的主索引映射器的字典表示。外部字典的键表示唯一的ID,其中内部字典映射跨不同Atoms类对象的相同共享原子的索引之间的关系德克斯特·D放大图片作者:Antonio,Jiawei Guo,Sam J.Holton等人软件X 16(2021)1007974见 图 4。MAZE 和 ASE 生 成 硅 T2 位 被 铝 原 子 取 代 的 ZSM-5 分 子 筛 结 构 的 程 序 比 较 。 迷 宫 密 码 使 用内 置 的 make 函 数 读 取 未 修 改 的 CIF 文 件 并 将 映 射 存 储 在site_to_atom_indices字典中。较长的ASE代码需要修改CIF文件作为输入,元素映射要手动定义。这两个代码生成并可视化相同的SiO2 T2 Si→ Al结构。4.1. 从CIF文件沸石通常含有多个不同的T位点,每个T位点都具有独特的化学性质,这是由于局部原子环境的差异造成的。全面的沸石筛选研究需要系统地探索所有独特的T位点。这种类型的计算研究首先从IZA数据库下载CIF文件,将文件放在项目文件夹中,并使用ase.io.read函数将CIF文件读入Atoms对象。这种方法的一个挑战是, IZA数据库包含关于唯一原子的身份的额外信息,当CIF文件用ASE的读取功能加载时,这些信息不被保留。因此,需要各种“技巧”来将从CIF文件构建的Atoms对象与它们的标签对齐。 我们组中使用的一种黑客方法涉及将一个独特的网站从一个硅到一个未使用的原子,如氙,当原子对象被加载时,将其恢复为硅,注意索引(see 图 4,右)。这种手动标记机制缓慢、不透明图五. 群集集成的工作流。蓝色箭头显示工作流方向,从使用make方法构造的沸石开始。从一个结构转移到另一个结构所需的功能或操作显示在蓝线上的结构将从IndexMapper中删除其相应的条目,防止主索引与已删除的Zeolite对象索引混淆4. 说明性实例为了证明MAZE代码的能力并评估其API,执行了三个不同的任务。这些任务包括从标记的国际沸石协会(IZA)CIF文件构建沸石对象,添加和删除原子,以及一个完整的工作流程,包括删除簇,更改其部分原子并将其重新插入原始沸石。因为代码不再是自文档化的,并且容易出错,因为它涉及手动编辑关键数据文件。迷宫包显着改善了这一进程,介绍了使方法。make方法将沸石IZA代码作为输入,查找相应的CIF文件,如果没有找到,则尝试从IZA数据库下载沸石CIF文件。在定位或下载正确的CIF文件之后,make函数然后从IZA CIF文件构建Zeolite,并将索引和它们的标识之间的映射存储在以下两个文件中:Zeolite对象内部字典。然后可以通过使用get_site_type方法或直接访问字典来确定站点的身份(图11)。 4).4.2. 结构性操作Atoms类的结构操作特性允许在集合和属性中添加和删除原子单个原子被改变。执行这些操作的API受到Python列表操作方法的启发。虽然Python用户很熟悉这些操作,德克斯特·D放大图片作者:Antonio,Jiawei Guo,Sam J.Holton等人软件X 16(2021)1007975图 6.从结构A生成结构F所需的代码。不是自洽的,因为有些具有副作用(例如,POP方法),而其它方法是无副作用的,例如ADD方法。在沸石工作流程中,常见的是生成单一母体沸石的许多衍生物,并且由于在每次改性之前需要明确复制,这通过具有副作用的方法而为了与MAZE项目的目标保持一致,设计了新的原子操作方法,这些方法不会改变底层对象,而是返回一个带有应用修改的副本。这些方法(add_atoms和delete_atoms)简化了计算工作流程,并且还允许方法链接以提高代码可读性。ASE原子天体和MAZE沸石天体的可用方法列表见表S1。4.3. 团簇提取、原子帽化和积分这些额外的结构操作功能的力量可以通过执行复杂的工作流程来证明。典型的沸石晶胞含有超过一百个原子,但化学感兴趣的区域通常限于与几个T位点相邻的原子。为了减少量子化学计算的计算费用,计算通常在与感兴趣的活性位点相邻的原子的较小子集上进行。这个原子子集被称为原子簇[18]。帽原子(通常是氢)被添加到末端原子簇中,以形成有化学意义的结构。封端原子的最佳位置基于母体沸石型在封端的簇的结构已经被优化之后使用ASE基本包,因为在提取、操作和重新插入步骤中跟踪原子索引之间的关系存在挑战。Zeolite类在图5中,示出了工作流程中的阶段的图形表示以及执行从一个阶段到下一个阶段的转换所整个工作流有六个不同的结构,由函数桥接,这些函数将以前的结构作为输入并输出新的结构。集群结构(B、C、D、E)的索引与集群框架(A、F)不同,但是可以使用内置的IndexMapper的get_index方法轻松地将索引相互映射。由于这些函数不会改变它们所应用的沸石,而是返回一个新的沸石对象,因此它们可以链接在一起。将结构A转换为结构F所需的链式方法如图所示。 六、图中的代码。6演示了如何通过将多个功能链接在一起来实现复杂的工作流程。这种简单性允许操作的可知性精确和完整的可操作性,以及由于高可读性而产生的鲁棒性。使用簇提取的索引的加扰不允许使用基本ASE包的一致代码。相反,每个原子的索引必须在过程的每个阶段手动匹配。因此,MAZE包接口增加了可知性,可操作性和鲁棒性相比,繁琐的手工工作流程时,需要使用基本ASE包。5. 影响和结论这里通过演示如何执行代表性任务来展示MAZE包的改进APIMAZE软件包的其他几个完整的描述可在补充材料中引用的文件中找到。MAZE这个新的界面通过大大简化执行常见沸石任务所需的步骤来促进计算[2]计算实验比湿实验室实验劳动密集度低,但缺乏科学软件的最佳API和复杂的工作流程可能会导致研究人员在设置和运行方面投入大量时间。通过创建针对特定任务的定制软件,可以简化研究并进行更大规模的实验。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢这项研究没有从公共、商业或非营利部门的资助机构获得任何具体的资助。D. A.得到了美国数据科学和人工智能研究中心的支持。J.G. 感 谢 IUCRC Phase II Center for Rational Catalyst Synthesis(CeRCaS)的资助。这项研究使用了国家能源研究科学计算中心(NERSC)的资源,NERSC是位于劳伦斯伯克利国家实验室的美国能源 部 科 学 用 户 设 施 办 公 室 , 根 据 合 同 编 号2009/000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000DE-AC02-05CH11231。附录A. 补充数据与本文相关的补充材料可以在https://doi.org/10.1016/j.softx.2021.100797上找到。德克斯特·D放大图片作者:Antonio,Jiawei Guo,Sam J.Holton等人软件X 16(2021)1007976引用[1] Smit B , Maesen TLM. 对 形 状 选 择 性 的 分 子 理 解 Nature 2008;451(7179):671-8. http://dx.doi.org/10.1038/nature06552网站。[2] 金属交换沸石的桥接吸附分析和催化动力学. Nat Catal 2021;4(2):144-56。http://dx.doi.org/10.1038/s41929-020-00555-0.[3] Kosinov N,Liu C,Hensen EJM,Pidko EA.沸石中的过渡金属催化剂工程化学材料2018;30(10):3177网址://dx.doi.org/10.1021/acs.chemmater.8b01311网站。[4] Mohan S,Dinesha P,Kumar S. 氨SCR系统中铜沸石催化剂的NOx还原行为Chem Eng J 2020;384 : 123253. http://dx.doi.org/10.1016/j.cej.2019.123253 网站。[5] 范博霍芬·苏什克维奇·VL甲烷制甲醇:用于材料合理设计的铜交换沸石中的活性描述剂ACSCatal2019;9(7):6293-304。http://dx.doi.org/10.1021/acscatal.9b01534网站。[6] Astala R,Auerbach SM,Monson PA.硅沸石结构的密度泛函理论研究:SOD , LTA ,CHA ,MOR和 MFI的稳 定性和 机械性 能。 物理化 学杂 志B2004;108(26):9208网址://dx.doi.org/10.1021/jp0493733网站。[7] 郑晓,Blowers P.分子筛上甲烷催化反应的计算研究。分子催化剂A:化学2006;246(1-2):1-10。http://dx.doi.org/10.1016/j.molcata.2005.10.009。[8] 放大图片作者:John M. 微观和介孔材料科学中的建模和模拟。圣路易斯,美国 ;2017 年 , [ 在 线 ] 。 可 查 阅 http://ebookcentral.proquest 。com/lib/ucdavis/detail.action?docID=5051428。[9]魏克胡森BM,余J.沸石化学和催化的最新进展。Chem Soc Rev 2015;44(20):7022-4。http://dx.doi.org/10.1039/C5CS90100F网站。[10]Himanen L,Geurts A,Foster AS,Rinke P.数据驱动的材料科学:现状,挑战和前景。Adv Sci 2019;6(21):1900808。网址://dx.doi.org/10.1002/advs.201900808网站。[11] Pirhadi S , Sunseri J , Koes DR. 开 源 分 子 建 模 。 J Mol Graph Model2016;69:127http://dx.doi.org/10.1016/j.jmgm.2016.07.008网站。[12] Kresse G,Joubert D.从超软赝势到投影增强波方法。Phys Rev B 1999;59(3):1758-75。http://dx.doi的网站。org/10.1103/PhysRevB.59.1758。[13] 普林顿湾短程分子动力学的快速并行算法J Comput Phys 1995;117(1):1-19. http://dx.doi.org/10.1006/jcph.1995.1039网站。[14] Mortensen JJ,Hansen LB,Jacobsen KW.投影增广波法的实空间网格实现PhysRevB2005;71(3):035109。http://dx.doi.org/10.1103/PhysRevB.71.035109网站。[15] Hjorth Larsen A , et al. The atomic simulation environment-a Pythonlibrary for working with atoms. J Phys : Condens Matter 2017;29(27):273002. http://dx.doi.org/10.1088/1361-648X/aa680e网站。[16]Mosqueira-Rey E , Alonso-Ríos D , Moret-Bonillo V , Fernán-Varela I ,Álvarez-Estévez D. API可用性的系统方法:分类学衍生的标准和案例研究. InfSoftw Technol 2018;97:46-63. 网址://dx.doi.org/10.1016/j.infsof.2017.12.010网站。[17]Bahn SR,Jacobsen KW.一个面向对象的脚本接口到遗留的电子结构代码。计算 机 科 学 与 工 程 2002;4 ( 3 ) : 56-66. http://dx.doi 的 网 站 。org/10.1109/5992.998641。[18] Schroeder C等人,沸石催化剂SSZ-70中的稳定硅烷醇三元组。AngewChem Int Ed 2020;59(27):10939-43. http://dx.doi.org/10.1002/anie的网站。202001364.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功