周悦 海雪 任翠兰 殷亚茹 商琨琳 雷蕾 怀平,,4
1(上海科技大学 上海 201210)
2(中国科学院上海应用物理研究所 上海 201800)
3(中国科学院大学 北京 100049)
4(中国科学院上海高等研究院 上海 201210)
X射线自由电子激光(X-ray Free-electron Laser,XFEL)峰值亮度比第三代同步辐射光源高8~10个量级,脉冲时间短3~4个量级,并且具备非常好的空间相干性和超高准直性,因此被誉为第四代光源[1-2]。表1列举了目前国际上已建成或在建的主要XFEL装置。他们可产生光子能量高达数十keV的X射线脉冲,飞秒脉冲持续时间,因此单脉冲能量可达几毫焦耳。XFEL短脉冲和高功率密度的特点,为科学研究提供了更好的能力,但也会造成光学元件薄膜材料的烧蚀、裂痕和剥落等现象,在相对较短的时间内导致材料的宏观性能退化,光学元件的性能降低、服役寿命缩短,进而影响到整个光学系统的可靠性和稳定性[3]。因此,耐辐照性是XFEL装置光学元件材料一个重要的指标,XFEL诱导光学元件损伤相关科学研究也是装置的研究热点问题之一。
表1 国际上主要XFEL装置Table 1 Main XFEL facilities worldwide
国际上已经进行了许多实验研究,探讨了光学元件在XFEL辐照下的损伤现象、损伤阈值,以及材料、激光与损伤之间的关系。Milov等[4]通过FLASH对钌薄膜损伤点进行非原位分析,揭示了损伤现象随着激光入射通量增加的变化情况。Koyama等[5]通过SACLA多脉冲辐照过程中X射线反射率退化的原位测量,评估了损伤阈值,并观测了辐照损伤产生的压印直径和坑洞横截面。20世纪50年代以来,各类材料模拟计算软件日益成熟,基于分子动力学(Molecular Dynamics,MD)等跨尺度理论模拟计算方法能够阐述微观物理过程,帮助理解实验上材料的损伤及光与材料相互作用机制[6]。Ivanov等[7]在分子动力学基础上耦合双温模型,在原子尺度上研究短脉冲激光照射下镍、金薄膜熔化和损伤的快速非平衡过程,获得材料损伤的演化过程。
在大规模的模拟计算过程中,模拟体系材料种类多、参数可变空间大,科研人员通常需要手动输入大量重复命令完成计算任务的定义与提交、计算结果的检查与分析。同时,计算数据面临着发现难、访问难、共享难和再利用难的问题。利用工作流、数据库和编程工具可以高效便捷地开展材料模拟计算研究,降低大量计算任务执行、数据管理和计算过程控制的复杂性[8]。Materials Project[9]、AFlow[10-11]等材料研究平台利用工作流和数据库等组件积累了上亿条高质量数据,其数据被Google DeepMind团队利用,进行机器学习训练,预测了220万种新晶体[12];国内的ALKEMIE[13]、MatCloud+[14]支持多尺度、可视化的高通量计算,并对模拟数据结构化管理。然而,当前大部分平台支持VASP(Vienna Ab-initio Simulation Package)等第一性原理计算,对分子动力学模拟计算软件LAMMPS[15](Large-scale Atomic/Molecular Massively Parallel Simulator)的支持相对较为有限。从研究体系上,对于激光辐照下材料辐照损伤领域的高通量平台较为稀缺。因此,高效便捷地开展基于LAMMPS的分子动力学模拟研究以及科学管理和利用计算数据成为亟待解决的问题。
本文开发了一种自动化辐照模拟程序AISL(Automatic Irradiation Simulation based on LAMMPS),成功应用于XFEL与光学器件材料的辐照损伤微观机制研究。该程序基于分子动力学材料计算软件LAMMPS和科学工作流工具Fireworks开发,实现了XFEL辐照损伤模拟计算自动化工作流管道,包括高通量计算任务的管理和执行、模拟计算数据库的建立和计算结果的后处理等功能,能够有效提高XFEL辐照损伤模拟计算效率,并且为后续XFEL光学元件辐照损伤机理的进一步分析和机器学习的应用奠定了基础。
AISL是一个基于Linux系统,采用Python编程语言编写的程序,旨在提供高通量分子动力学材料辐照模拟计算自动化管道,实现XFEL与金属材料相互作用的数据积累。程序采用分层架构,包含数据层、接口层和应用层,框架如图1所示。数据层采用MongoDB的集合(Collection)和分布式文件系统(GridFS)数据存储策略。接口层嵌入并行模拟软件LAMMPS、数据库MongoDB、工作流Fireworks和可视化软件Ovito。应用层是程序的核心,提供模拟任务的三大处理模块,包括任务模块、工作流模块和资源模块。任务模块具备4个基础功能:模拟体系构建、模拟任务计算、模拟数据解析存储以及后处理。通过工作流模块的辐照模拟工作流,可以自动串联任务模块中的基础任务,实现辐照模拟的自动化。该软件层还支持大规模模拟任务的批量处理,形成高通量XFEL辐照损伤MD模拟计算。
图1 AISL程序框架图Fig.1 Framework of the AISL program
分子动力学是获得材料辐照损伤热力学规律和微观结构演化过程的有效手段。LAMMPS[15]是由美国Sandia国家实验室开发的分子动力学模拟软件,可以模拟材料的热传导、形变、断裂等行为,研究热力学性能;模拟电化学、催化等反应,研究物理化学过程;模拟高分子构象和运动,研究高分子材料结构和性能。
Fireworks[16]是Materials Project自主研发的组件,用于实现计算任务流程的执行和管理。它主要由三个部分组成:Firetask、Firework和Workflow。Firetask可以由单个Python函数或shell脚本构成,用于执行具体任务。Firework包含多个Firetasks,其Spec空间包含引导工作流程所需的所有信息。多个Fireworks组成一个Workflow,从而形成完整的工作流。Fireworks之间通过FWAction存储和传递数据,实现动态工作流的协调和执行。选用Fireworks对高性能计算集群上运行的高通量计算工作流进行作业管理,自动完成材料结构到性质数据的计算。通过Fireworks提供的GUI(Graphics User Interface)界面,实现可视化实时监控。
MongoDB[17]是由MongoDB Inc公司开发的文档型数据库,以BSON(Binary JSON)为数据模型,支持高达PB级别的数据处理需求。同时其具有良好的扩展性,支持分片和集群部署,适合大数据存储需求。MongoDB以其无模式的特性而著称,容许集合没有固定的结构,可以包含不同格式和类型的文档对象。
工作流模块提供了便捷的方式,使用并行模拟软件LAMMPS实现光学器件材料在XFEL辐照下的动态过程计算。本程序约定遵循如图2所示的辐照模拟计算的一般流程:首先进行模拟体系的建立,包括设置模拟环境、构建原子模型、选择合理的力场,并通过能量最小化过程使体系达到稳定状态。随后,对金属材料进行温度初始化,并在适当的系综下进行弛豫处理。接着,引入激光约束条件,启动体系演化计算,达到热平衡状态停止计算。
图2 辐照模拟计算的一般流程图Fig.2 General flow chart of radiation simulation calculations
LAMMPS模拟过程涉及参数种类多样、可变条件空间大,输出结果往往高达数百万条,因此从中提取结构演化特征、揭示损伤微观机理是一大挑战。通过这一工作流(图3所示),只需要用户提交预设条件数值(如激光能量密度、脉冲宽度、初始温度等),程序会自动生成辐照损伤模拟工作流。根据预设条件的不同,产生多个模拟任务。每个模拟任务会按照预设条件生成模拟文件集,包括输入文件、双温模型(Two-Temperature Model,TTM)初始格点温度文件和参数文件。自动生成的模拟任务将根据配置的计算资源在高性能计算集群上运行LAMMPS。完成计算后,基于这些原始数据,程序可以展示原子轨迹的动态图,绘制电子温度和晶格温度演化图。原子坐标、体系热力学信息和日志文件等原始计算数据将被自动解析并存储到辐照模拟数据库中。
图3 高通量自动化辐照模拟工作流Fig.3 Workflow of high-throughput automated irradiation simulation
此外,本程序还提供了高通量模拟工作流的作业跟踪和监管功能,通过Fireworks内置的GUI界面,实时监控辐照模拟计算任务的状态,如“等待中”(READY)、“运行中”(RUNNING)、“已完成”(COMPLETED)以及“失败”(FIZZLED)等。同时提供详细的任务执行记录,并支持失败任务或子任务重启运行。
在高通量计算的场景下,材料数据结构松散、数量高达百万且事务性要求不高,因此选择非关系型数据库MongoDB来管理辐照损伤模拟数据。材料辐照损伤数据库的设计参考了2019年发布的全球首个材料基因工程数据通则标准以及国家材料科学数据共享网中材料计算数据的描述规范[18-19]。该数据库包括三大类:辐照损伤元数据、工作流信息数据以及原始文件数据,详细的数据存储结构见图4。其中,辐照损伤元数据由自动生成的唯一ID(id)、LAMMPS模拟软件(simulation_software)、作业资源(job_info)、辐照模拟输入(input)、辐照模拟输出(output)等数据模块组成。材料辐照损伤元数据将对辐照模拟参数进行规范定义:材料基本参数(material_basic_information),如材料种类、薄膜厚度、原子质量、熔点、晶格结构;激光参数(laser_parameters),如脉冲能量、波长、脉宽、入射角;TTM参数(TTM_parameters),如格点初始温度、电子热容、电声子耦合系数等;模拟参数(simulation_parameters),如周期性边界条件、势函数类型、能量最小化条件;模拟计算产生的原始数据(log)和后处理数据(dump),包括温度演化数据、压力演化数据、能量演化数据、原子坐标等。工作流信息数据详细记录了每个工作流及子任务的运行状态、序号和名称等关键信息,同时还包括每个流程的输入和输出数据。材料模拟产生的原始文件和图片存储于MongoDB的分布式文件系统GridFS中。
图4 辐照损伤模拟数据库模型Fig.4 Database model for radiation damage simulation
在XFEL装置的强辐照环境下,K-B镜、波带片、单色器、布拉格反射镜等光学元件必须采用耐辐照材料,如低Z材料C、SiC和B4C等[20],具有高反射率和高损伤阈值的优点,适用于真空窗口和束流闸;或高Z涂层材料铑Rh、金Au、钌Ru、镍Ni等[21],具有更大的临界角,从而在有限空间内获得更大的数值孔径。例如在European-XFEL的SPB/SFX设备中,选用了低Z材料B4C(3~7.5 keV)、高Z材料Ru(7.5~16 keV)[21]。本文开发的软件可适用于各类光学元件材料的模拟研究,下文将以金属材料为例展示其主要功能。
为了克服传统的经典分子动力学无法计算电子效应的局限性,本文结合1974年Anisimov等[22]提出的TTM模型,用于研究辐照损伤过程中电子与晶格能量交换的过程,解决金属热传导过程中电子、晶格系统不平衡问题,进一步使用AISL程序实现高通量计算过程和数据管理。电子温度和晶格温度的时间和空间变化可以通过一维双温热传导方程进行描述[22]:
式中:C和K分别为热容和热导率;下标e和l分别代表电子和晶格系统相应物理量;G是电子-晶格耦合系数;t是时间;z是材料表面垂直向里的长度;S(z,t)是激光项。双温模型将电子系统与晶格系统看成两个分立的准傅里叶热传导系统,并通过耦合项实现两个系统的能量交换。
本文为验证AISL程序的功能可用性和高效性,以XFEL辐照金属薄膜为例进行模拟测试。光学元件薄膜材料选取金,XFEL激光选取单脉冲,测试了不同激光能量密度、脉冲宽度下X射线自由电子激光与金的相互作用的演化结果,模拟体系主要参数详见表2。使用AISL程序,可一键提交包括15种激光能量密度和11种脉冲宽度在内的共计26种条件的辐照模拟任务。每个模拟任务均包含4个步骤:模拟体系构建、模拟任务计算、模拟数据解析存储以及后处理。用户根据个人关心的时间段,通过灵活的演化时间选取窗口,查看对应的演化图。通过Fireworks的GUI界面直观地监控模拟任务、远程跟踪任务状态、查看任务工作流的详情信息,并实时统计不同状态的工作流总量,详见图5。在终端中使用命令,例如lpad pause_fws、lpad add、lpad resume、lpad set_priority,可以分别实现工作流的取消、添加、重启以及设置优先级的操作,从而满足实际模拟的需求。
图5 辐照损伤工作流状态的实时可视化界面(绿色:已完成,黄色:运行中,蓝色:等待中)(彩图见网络版)Fig.5 Real-time visualization interface of the radiation damage workflow state (Green: COMPLETED , Yellow: RUNNING, Blue:READY) (color online)
表2 XFEL辐照模拟体系主要参数Table 2 Primary parameters of the XFEL irradiation simulation system
针对以上不同模拟任务的结果,经过后处理模块绘制了在不同激光能量密度、脉冲宽度下的金材料电子-晶格温度演化图,分别如图6~7所示。其中实线表示电子温度,虚线表示晶格温度。插图描述了激光加载初期电子温度跃变细节。在单个模拟过程中,电子吸收激光能量进行热传导,通过电声子耦合项实现电子和晶格之间的能量交换。由于电子温度下降,晶格温度则相应升高。最终,体系在数十皮秒的时间尺度内实现了热平衡,其温度明显高于初始温度水平。AISL程序的模拟结果和变化趋势与Mo等实验结果一致[24]。
图6 在脉冲宽度为0.13 ps、不同激光能量密度的飞秒激光加载下,金膜的电子-晶格温度演化(彩图见网络版)Fig.6 Evolution of electron-lattice temperature in the gold film depicted under femtosecond laser loading with a pulse width of 0.13 ps and various laser energies (color online)
图7 在激光能量密度为0.18 MJ·kg-1、不同脉冲宽度的激光加载下,金膜的电子-晶格温度演化(彩图见网络版)Fig.7 Evolution of electron-lattice temperature in the gold film depicted under laser loading with a laser energy density of 0.18 MJ·kg-1 and various pulse widths (color online)
图8展示了随着激光能量密度增加,金膜的最大电子温度、电子-晶格平衡温度以及电子-晶格温度耦合时间均呈现增加的趋势,达到最大电子温度的时间增加趋势缓慢。激光能量密度的提高导致电子吸收更多的能量,从而使最大电子温度升至更高的水平。随着更多能量传递给晶格,电子和晶格之间的能量耦合需要更长的时间来完成。最终,系统在达到平衡后的温度也相应上升。
图8 不同激光能量密度的飞秒激光加载下,金膜的最大电子温度和达到最大电子温度的时间(a)、电子-晶格平衡温度和耦合时间(b)Fig.8 Under femtosecond laser loading at various laser energies, the maximum electron temperature (Temax) and time to reach Temax (a), and the electron-lattice equilibrium temperature and coupling time (b)
图9 展示了随着脉冲宽度增加,电子温度达到的最大值减小、时间越长,电子-晶格平衡温度变化不显著,电子-晶格温度耦合时间增加趋势较为缓慢。激光脉冲宽度的减小会导致电子在短时间内吸收更多能量,从而使电子温度在短时间内迅速达到峰值,整体温度的升高和达到平衡会加快。
图9 不同脉冲宽度的激光加载下,金膜的最大电子温度和达到最大电子温度的时间(a)、电子-晶格平衡温度和耦合时间(b)Fig.9 Under laser loading at various pulse widths, the maximum electron temperature (Temax), and time to reach Temax (a), the electronlattice equilibrium temperature and coupling time (b)
AISL程序成功实现了通过交互式输入方式创建和提交多条件的辐照模拟任务。在单个模拟计算中,仅需1 s即可对数十万条电子和晶格温度数据进行分析绘图。同时将数据解析、存储到数据库也只需1 s。相对于传统手动建立输入文件和进行处理分析所需的时间,这些时间可以忽略不计。数据库按照预设模型进行清晰而完整地记录,无须用户参与,符合科学数据的FAIR(Findable,Accessible,Interoperable,Reusable)原则。规整的模拟数据可直接用于基于机器学习的材料挖掘,避免了繁琐的数据清洗和预处理步骤。这证实了程序的可用性和高效性,使得进行辐照模拟研究变得更加便捷。在计算资源、存储空间不受限制的情况下,该程序具备执行上千个模拟任务的能力。
依托于GitLab仓库管理平台对程序进行软件备份和版本控制,并且实现了快速部署功能。辐照损伤模拟数据库采用三节点分布式部署方案,搭建“一主一副本一仲裁”副本集,实现多台服务器之间异步同步,提供高可用能力。
架构部署如图10所示,当网络故障、硬件磁盘损坏或者其他原因造成主服务器宕机时,无须人为干预,自动切换备份服务器作为主服务器工作,实现故障自动恢复功能。将副本服务器设为只读,分流读请求至副本,实现读写分离,提升读取性能和负载能力。同时,对副本集进行安全认证配置,要求客户端在连接到副本集时需进行身份验证,以确保数据的安全性。经各节点故障模拟测试表明,系统具有良好的自动故障恢复能力。
图10 三节点高可用架构部署图Fig.10 Schematic of three-node high-availability architecture deployment
本文提供了一种基于Python语言的自动化辐照模拟程序AISL,以支持采用分子动力学方法开展XFEL对材料的辐照损伤模拟研究。从应用结果来看,该程序可以满足科研人员便捷开展高通量辐照模拟计算时自动化提交和管理多个任务的需求,能够显著提高基于LAMMPS的辐照损伤模拟计算效率。同时在此过程中形成的辐照损伤模拟数据库,为后续进一步利用机器学习方法进行数据挖掘和下一代光学元件材料筛选奠定基础。
本文已经走出探索的第一步。由于光学器件结构的复杂性、激光参数和材料种类的多样性,未来将进一步优化完善程序,如适应低Z材料模拟,在模拟时考虑器件的异质结、多层薄膜以及多脉冲激光的影响,提高任务智能纠错能力,引入更强大的计算集群等,以实现更加卓越的使用体验。同时,将实验数据整合至辐照损伤数据库,打造更为综合和全面的辐照数据集。
致谢感谢史武军副研究员在硬件上提供的帮助。
作者贡献声明周悦负责程序开发、整体测试和调试以及论文撰写和修改;海雪、殷亚茹负责辐照损伤研究采用的TTM-MD的LAMMPS模拟程序、模拟体系和相关参数的提供,以及程序的自动化模拟测试方案的设计指导;任翠兰负责辐照模拟理论指导和论文修改;商琨琳负责程序修复和资源监管;雷蕾负责技术研发、程序设计以及论文研究方案的提出与修改;怀平负责自动化辐照模拟的总体目标制定、规划和指导,论文修改指导。