从头算结构演变(Maise)特征的模块
*基于神经网络间相互作用的描述
*进化优化
*结构分析
1。一般信息
2。下载和安装
3。输入
4。例子
5。设置输入标签描述
Maise是由
Alexey Kolmogorov [email protected]
samad hajinazar [email protected]
Ernesto Sandoval [email protected]
当前版本2.9在Linux平台上工作,并结合了3个用于建模,优化和分析原子结构的模块。
1与密度功能理论计算相比,神经网络(NN)模块以低计算成本来构建,测试和使用NN模型以低计算成本来描述具有接近AB的启动精度的原子质相互作用。
以使用NN模型加速结构搜索的主要目标,该模块的主要功能是放松给定的结构。为了简化NN应用程序和比较,我们将输入和输出文件格式与VASP软件中的输入格式密切匹配。以前在“模型/”目录中可用的参数化NN模型已被生成并广泛测试了晶体和/或纳米结构材料。 NNS的第一个实用应用包括预测新合成的MG-CA和M-SN合金[1-3],以及鉴定更稳定的CU-PD-AG和AU纳米颗粒[4,5]。
用户可以使用Maise创建自己的NN模型,该模型通常经过密度功能理论(DFT)的总能量和原子力数据,以培训相对较小的结构。相关和多样化的配置的产生是通过我们发表的工作中详细介绍的“进化抽样”协议分别完成的[6]。该法规介绍了如何为具有多个元素的化学系统构建强大的NNS的独特功能“分层训练” [6]。 NN模型是以层次结构开发的,首先是针对元素的,然后是用于二进制的,它可以生成可重复使用的库,用于元素周期表中的扩展块。
2实施的进化算法(EA)可有效地识别给定化学成分的基态构型。我们的研究表明,当没有实验性结构输入可用时,EA在处理大型结构方面特别有利[7,8]。
可以对3D散装晶体,2D膜和0D纳米颗粒进行搜索。可以根据先验信息随机或预定义的结构群体。当基于上一代的两个父结构创建新的配置时,基本操作是“交叉”,当父结构随机变形时,“突变”。对于0D纳米颗粒,我们引入了多发性进化算法,该算法允许在指定的大小范围内有效地同时优化簇[4]。
3分析函数包括基于径向分布函数(RDF),空间群和WYCKOFF位置的结构进行比较,特别是,基于RDF的结构点乘积对于基于外部的SPGLIB包装等。消除EA搜索中的重复结构,并在发现的低能结构池中选择不同的配置。
[1] https://pubs.rsc.org/en/content/articlelanding/2018/cp/c8cp05314f# !! divabstract
[2] https://www.nature.com/articles/s41524-022-00825-4
[3] https://pubs.rsc.org/en/content/articlelanding/2023/cp/d3cp02817h/unauth
[4] https://pubs.rsc.org/en/content/articlelanding/2019/cp/c9cp00837c# !! divabstract
[5] https://pubs.acs.org/doi/10.1021/acs.jpcc.9b08517
[6] https://journals.aps.org/prb/abstract/10.1103/physrevb.95.014114
[7] https://journals.aps.org/prl/abstract/10.1103/physrevlett.109.075501
[8] https://journals.aps.org/prb/abstract/10.1103/physrevb.98.085131
可以通过运行从命令行获得的Maise的源代码:
git clone git://github.com/maise-guide/maise.git
或者
git clone https://github.com/maise-guide/maise.git
或者
wget -O master.zip https://github.com/maise-guide/maise/archive/master.zip unzip master.zip
1使用“ make -jobs ”进行完整汇编。要进行重新编译,请使用“ Make Clean”来删除对象文件或“使All-All”删除对象文件和外部库。
2在Maise汇编期间,“ Make -Jobs”检查是否存在两个所需的外部库,GSL库和SPGLIB v1.11.2.1,2019年2月。如果没有,它们将自动下载到./ ext-dep并在大多数系统上安装在./lib中。
3如果没有自动完成GSL或SPGLIB安装,请手动编译它们,然后复制(i)libgsl.a,libgslcblas.a和libsymspg.a,纳入'./lib'subdirectory; (ii)'spglib.h'标题进入'./lib/include'subdirectory; (iii)所有GSL标头进入'./lib/include/gsl'子目录。
4 a'check'脚本在“ ./test/”目录中可用,该目录可以在编译Maise可执行文件后运行以确保代码的正确功能。该脚本会自动检查在解析数据,训练神经网络并评估晶体结构时的代码性能。如果汇编正常,则“检查”脚本将输出。否则,将为错误日志提供有关此问题的更多信息。
该代码已在Linux平台上进行了广泛的测试。我们将感谢用户对包装在不同平台上的安装和性能的反馈。
定义仿真的主要输入文件是用作业设置,具有NN参数的“模型”的“设置”,以及具有VASP格式的原子结构参数的“ POSCAR”。在NN开发的解析阶段,将原子环境转换为NN输入需要一个“基础”文件,该文件指定Behler-Parrinello对称函数。
evos | nnet | 细胞 | |||||
搜索 | 考试 | 解析 | 火车 | 测试 | 模拟 | 考试 | |
设置 | + | + | + | + | + | + | |
模型 | +* | +# | +# | ||||
基础 | + | $ | |||||
SPG | + | + | |||||
GSL | + | + | |||||
*对于分层的培训,需要提供单个模型 在培训结束时,在解析目录中存储的$'基础'附加到“模型” #“模型”在培训完成后结束时粘贴了“基础” |
结构检查和操纵功能是通过用标志调用Maise来运行的:
maise -flag
旗帜 | 标志说明 |
---|---|
男人 | 输出可用标志的列表 |
RDF | 计算和绘制POSCAR的RDF |
CXC | 使用RDF计算POSCAR0和POSCAR1的点产品 |
CMP | 比较POSCAR0和POSCAR1的RDF,空间组和数量 |
SPG | 将POSCAR转换为str.Cif,Conv,Prim |
CIF | 将str.Cif转换为Conv和Prim |
暗淡 | 查找POSCAR是周期性(3)还是非周期性(0) |
卷 | 计算每个原子的晶体或纳米结构的体积 |
腐烂 | 沿着惯性矩的特征向量旋转纳米颗粒 |
移动 | 通过恒定移动沿一个方向移动原子 |
盒子 | 重置纳米颗粒的盒子尺寸 |
sup | 制作由Na X NB X NC指定的超级电池 |
eig | 沿着声子本本元中的波斯卡式移动单元单元 |
ORD | 按物种订购原子 |
出去 | 从MD提取快照或VASP中的放松轨迹 |
目录“示例/”具有用于单位细胞分析和操纵,分析数据,训练神经网络,使用神经网络模型模拟结构的毛症作业样本,进化搜索基态神经网络模型,分子动力学运行和唱机计算。 EASH示例具有一个读数文件,一个设置文件仅具有适用于特定作业的标签,以及参考输出文件以进行比较。
主要作业类型选择器
结构启示
主要evos
EVO操作
EVO跨界/突变
分子动力学
物种相关
I/O。
一般模型
神经网络模型
神经网络培训
解析
细胞放松
乔布特
nmax mmax
代码dene kmsh lbox ndim nitr nnjb npop rand rant runt seed sitr tini
Blob Chop Invs Mate Mute Pack PLNT refl rube交换tetr
ACRS ADST ELPS LCRS LDST MCRS SCRS SDST
CPLT CPLP ICMP DELT MOVI NSTP MDTP TMAX TMIN TMIN TSTP
ASPC NSPC TSPC
Cout Data Depo eval otpt wdir
ncmp nngt nnnn nnnu nsym
fmrk lreg ntrn ntst tefs npar
emax fmax fmin vmax vmin mmax
etol mint mitr pgpa rlxt时间
标签 | 描述 |
---|---|
乔布特 | 结构分析(00)使用标志指定的分析工具,进化搜索(10)运行(11)软出口(12)硬出口(13)分析,细胞模拟(20)松弛(21)分子动力学(22)声子计算,数据解析(30)准备NN培训的输入,NN培训(40)全面培训(41)分层培训 |
代码 | 使用中的代码类型。 (0)Maise-Int(1)Vasp-Ext(2)Maise-Ext |
NPAR | 平行NN训练或细胞模拟的核心数量 |
薄荷 | 用于神经网络训练和细胞优化的优化器算法。 (GSL最小化型(0)BFGS2(1)CG-FR(2)CG-PR(3)CG-PR(3)最陡下降 |
mitr | 最大优化步骤数;如果未达到所需的精度以进行NN训练或细胞优化步骤 |
rlxt | 细胞优化类型(2)仅力(3)全细胞(7)体积(VASP中的ISIF) |
etol | 训练或细胞优化收敛的误差耐受性 |
tefs | 培训目标值(0)E(1)EF(2)ES(3)EFS(4)玩具 |
FMRK | 将用于EF或EFS培训的原子的一部分 |
cout | 在单元评估和优化中输出输出类型 |
nmax | 单位单元中最大原子数 |
mmax | 截止半径内的最大邻居数 |
NSPC | 进化搜索,解析数据和神经网络培训的元素类型数量。 |
TSPC | NSPC标签指定的元素的原子数 |
ASPC | 每个元素的原子数量用于进化搜索 |
nsym | 使用“基础”文件的Behler-Parrinello对称函数的数量 |
NCMP | 神经网络输入向量的长度 |
ntrn | 用于神经网络培训的结构数量(负数为负数百分比) |
ntst | 用于神经网络测试的结构数量(负数为单位百分比) |
nnn | 神经网络中隐藏层的数量(不包括输入向量和输出神经元) |
nnnu | 隐藏层中的神经元数 |
nngt | 隐藏层神经元的激活函数类型(0)线性(1)TANH |
emax | 仅解析最低能量结构的这一比例。从0到1 |
fmax | 不会用大于此值的力解析数据 |
Vmin | 不会用体积/原子小于此值来解析数据 |
vmax | 不会用卷/原子大于此值的数据来解析数据 |
NDIM | 在进化搜索和细胞优化中单位细胞的维度(3)晶体(2)膜(0)粒子 |
lbox | 在ANG中生成颗粒的框维(忽略了晶体) |
NPOP | 进化搜索中的人口规模 |
Sitr | 在进化搜索(0)中开始迭代从随机或指定的结构开始 |
nitr | 进化搜索中的迭代次数(应大于SITR) |
蒂尼 | SITR = 0时启动进化搜索的类型 |
时间 | 进化搜索和细胞优化中细胞松弛的最大时间 |
PGPA | GPA的压力 |
迪恩 | 在池中的进化搜索中生成的不同结构/如果在此能量/原子(EV/ATOM)窗口内从基态开始 |
KMSH | k-mesh密度用于VASP-evos。建议的值:S/C 0.30,金属0.05 |
种子 | 在进化搜索(0)中开始使用随机数生成器的种子,将时间用作种子(+)种子值 |
兰德 | 开始种子以解析数据集。 (0)将时间用作种子(+)种子价值( - )无随机性:结构在清单顺序中解析 |
Tmin | MD运行中的最低温度(K) |
tmax | MD运行中的最高温度(K) |
TSTP | MD运行中的温度步骤(K)以Tmin到TMAX的运行形式 |
delt | MD运行的时间步长 |
NSTP | MD运行中每个温度的步骤数 |
CPLT | MD运行的鼻恒温器中的耦合常数。建议:25.0 |
CPLP | Brendsen Barostat中的耦合常数用于MD运行。建议:100.0 |
ICMP | MD运行的Brendsen Barostat中的等温可压缩性(以1/GPA为单位) |
Movi | 在MD运行期间将保存结构快照的步骤数 |
MDTP | MD Run类型(10)NVE(20)NVT:鼻子 - 霍夫(30)NPT:Nose-Hoover and Brendsen(40)同质(11,21,31,41)运行,并从POSCAR文件中读取,速度读取速度 |
depo | 通往DFT数据集的路径 |
数据 | 解析数据的位置进行解析或阅读以进行培训(在解析过程中将被覆盖) |
OTPT | 在培训过程中存储模型参数的目录 |
评估 | 模型测试数据目录 |
wdir | 进化搜索的工作目录,MD运行等。 |
Tetr | 使用Tetris操作随机生成的结构的一部分。从0到1 |
plnt | 从种子产生的结构的一部分。从0到1 |
盒 | 由封闭式结构产生的结构的一部分。从0到1 |
斑点 | 使用斑点形状随机生成的结构的部分。从0到1 |
伴侣 | 分频器使用每个父母的两半产生的结构的部分。从0到1 |
交换 | 跨界产生的结构的一部分是使用父母的核心和外壳产生的。从0到1 |
Rube | Rubik的立方体操作产生的结构的一部分。从0到1 |
回流 | 通过反射产生的结构的一部分。从0到1 |
Invs | 通过反转产生的结构的一部分。从0到1 |
劈 | 通过切碎而产生的结构的一部分。从0到1 |
沉默的 | 由随机变形对结构产生的结构的一部分。从0到1 |
MCR | 跨界的0.50突变率 |
SCR | 0.00交叉:交换率 |
LCR | 0.00交叉:晶格向量的突变强度 |
ACRS | 0.10跨界:原子位置的突变强度 |
SDST | 0.00失真:交换率 |
ldst | 0.00失真:晶格向量的突变强度 |
adst | 0.20失真:原子位置的突变强度 |
ELP | 0.30随机:纳米颗粒椭圆度 |