|
创建DFTB+参数背景 DFTB+需要原子间相互作用的原子参数。Materials Studio中提供了许多参数集合。如果要使用DFTB+计算包含任何可用参数集合都不支持的原子相互作用的结构,Materials Studio提供了一个用于自行创建参数的工具。 DFTB+参数化工具创建的参数将包含在Slater Koster库文件(.skflib)中,并包含以下内容: README.txt文件,包含有关参数的信息 Slater Koster文件(.skf)有关研究体系元素对的信息,包含:电子参数短程电位Hubbard项 元素的自旋常数 每种元素的波形图数据 skf.aux文件包含额外的参数设置。 介绍 在本教程中,将使用DFTB+参数化工具创建碳和氢参数集合。 本教程包括如下部分: 开始 安装参数化工具 搜索元素的电子设置 准备短程拟合 DFTB+参数化设置:定义构象体系、定义电子设置、定义拟合设置 设置计算任务控制参数并运行计算 结果评估 注意:为了和本教程中的参数保持一致,可以使用Settings Organizer对话框将项目中所有参数都设置为BIOVIA的默认值。 1、开始 首先启动Materials Studio并创建一个新项目。 打开New Project对话框,输入CHparameters作为工项目名,单击OK按钮。 新项目将以CHparameters为项目名显示于Project Explorer中。 2、安装参数化工具 在开始参数化过程之前,需要安装一些脚本工具,以便在创建参数时使用。 从菜单栏中选择File丨Import。导航至Examples\Scripting\DFTB+ Parameterization Tools文件夹,选择AutoParaElec.pl、DFTBEvalTool.pl、EvalElec.pl和MergeSkflib.pl文件。单击Open按钮。 从菜单栏中选择Tools | Scripting | Library…。在Library选项卡中选择My Favorites,在File部分中单击Add…按钮。在Add From Project对话框中选择AutoParaElec.pl文件,单击OK按钮。 重复上述操作,并添加DFTBEvalTool.pl、MergeSkflib.pl和EvalElec.pl脚本文件。 选择User Menu选项卡,单击Import…按钮。选择DFTB+ Electronic Evaluation.xml,单击Open按钮。 对DFTB+ Final Evaluation.xml、DFTB+ Generate Electronic Parameters.xml和DFTB+ Merge Parameters.xml文件重复此操作。 展开User Menu选项卡上的User | Parameters节点,并确保已将所有四个命令添加到此文件夹。关闭对话框。 注意:不能在需要使用安全身份验证级别网关的服务器上运行参数化工具。有关更多信息,请参阅网关安全概述。 3、搜索元素的电子设置 在创建DFTB+参数之前,需要确定每种元素使用的电子设置。这可以使用DFTB+生成电子参数DFTB+ Generate Electronic Parameters和DFTB+电子评估DFTB+ Electronic Evaluation脚本来完成。第一个脚本生成一组具有不同电子设置的Slater Koster库。第二个脚本可以评估库为不同结构重现电子结构的效果。在这里,将仅评估碳的设置,氢的设置可以以相同的方式进行,但考虑计算时间,将给出氢的合理值。 作为输入,需要一个碳元素的虚拟Slater-Koster库。 在Project Explorer中,创建名为Electronic的文件夹。在这个文件夹中创建一个新的3D Atomistic Document,并将其命名为C-C.xsd。使用绘制工具创建双原子碳分子。 单击Modules工具栏上的DFTB+按钮 然后选择Calculation或从菜单栏中选择Modules | DFTB+ | Calculation。 将打开DFTB+ Calculation对话框。 将Task设置为参数化Parameterization。将Quality从Medium更改为Fine。
单击More...按钮,打开DFTB+ Parameterization对话框。
可利用DFTB+ Parameterization对话框进行参数化设置。 选择Systems选项卡,设置短程电位拟合所需的C-C构象路径。
这就产生了一条拉伸分子中的C-C键的构型路径。这就是创建虚拟Slater-Koster库所需的全部信息。短程电位的精度并不重要,因为将不会使用这个库来处理任何涉及力或总能量的计算。 在Electronic选项卡上,将泛函设置为GGA PBE。 在DFTB+ Calculation对话框中,单击Run按钮,并关闭对话框。 参数化任务完成后,将返回库。该文件夹还包含一个.elec文件,其中包含参数化中使用的电子设置。 使用.skflib和.elec文件作为模板,可以创建一组具有不同电子设置的Slater Koster文件。在实际研究中,将分两个阶段执行此操作:首先创建一个大尺寸低精度的网格,然后在确定想要研究的区域后,创建第二个精度更高的网格。在本教程中,将使用精度较高的网格。 打开C.skflib文件。从菜单栏中选择User | Parameters | DFTB+ Generate Electronic Parameters,打开DFTB+ Generate Electronic Parameters对话框。将MinRadii1设置为2.2,MaxRadii1设置为2.8,MaxRadiiStep1设置为0.05,单击OK按钮。 该工具生成一组Radii1和Power的设置不同的.skflib文件。由于在Potential模式下进行,因此将不使用Radii2设置。计算完成后,结果文件夹C DFTB+ Generate Electronic Parameters中将包含SkfLib.zip文件,其中包含创建的所有.skflib文件。zip文件用于评估使用不同晶体结构的能带结构的电子设置。 建立一个名为Band structure的文件夹,将SkfLib.zip文件复制到该文件夹内。确保Band structure文件夹被选中,打开Import Document对话框,导航至Structures\ceramics,选择diamond.xsd和graphite.xsd结构,单击Open按钮。 确保diamond.xsd为当前文档,选择Build | Symmetry | Primitive Cell。 打开Import Document对话框,导航至Structures\metals\pure-metals,选择Al.xsd结构。单击Open按钮。 选择Build | Symmetry | Primitive Cell。选择所有原子,并将其元素类型更改为C。将晶胞常数更改为2.0 Å。将文件重命名为C_fcc.xsd。 要确保评估结构具有真实的几何构型,需对每个结构运行几何优化计算。此处,使用CASTEP模块的固定晶胞形状优化功能,以确保结构不会收敛到较低能量的结构。 单击Modules工具条上的CASTEP按钮 选择Calculation,或从菜单栏中选择Modules | CASTEP | Calculation。将Quality设置为Ultra-fine,Functional设置为GGA PBE。将Task更改为Geometry Optimization,单击More...按钮,打开CASTEP Geometry Optimization对话框。将Cell optimization设置为Fixed Shape,在Options选项卡中,将TPSD设置为Algorithm,关闭对话框。 应对于所有输入结构以相同设置运行几何优化计算。 使得diamond.xsd为当前文档,在CASTEP Calculation对话框中单击Run按钮。 对graphite.xsd和C_fcc.xsd两个结构重复此操作。关闭CASTEP Calculation对话框。 计算完成后,需要将优化的结构放置于同一文件夹中,以便对脚本进行评估。 删除原始结构文件,并用几何优化后的结构替换每个结构。 使得diamond.xsd为当前文档,在菜单栏中选择User | Script Job...,打开Script Job Control对话框。选择服务器网关、队列(如果合适)以及要在其上运行能带结构计算的CPU核数。关闭Script Job Control对话框。 在菜单栏中选择User | Parameters | DFTB+ Electronic Evaluation,打开DFTB+ Electronic Evaluation对话框。将UpperLimit设置为4.0 eV,并单击OK按钮。 这将启动脚本任务,使用DMol3和DFTB+对与当前文档位于同一文件夹中的所有结构执行能带结构计算。脚本将比较指定能量窗口的能带结构,并在数据表中返回结果。对于每个结构,数据表包含能带结构比较的平均绝对误差(MAE)和一个能带结构文件,该文件在同一图表中显示DFTB+和DMol3能带结构。最右边一列包含所有结构的MAE平均值。要找到最佳能带结构拟合的设置,可对mean (MAE)列进行排序。 打开输出的BandStructures.std数据表文件,选择K列mean(MAE),单击Sort Ascending按钮 按升序排序。 从DFTB+库评估的第一行中,可以看到,Radii1 = 2.55和N = 4对所有评估的结构拟合的效果最好。根据每个结构的MAE,对每行进行排序的结果表明Radii1的值变化较小,石墨的最佳拟合值为2.45,金刚石的最佳拟合值为2.8。 在数据表中,双击G列BS(diamond)第一行中的文档。 将打开一个图表文件,其中在同一图表文件中呈现出DFTB+和DMol3算得的能带结构,能量已被平移,使得两次计算具有相同的费米能量。DFTB+可以很好地描述价带,但所计算的带隙值结果过大,是由于此处使用了极小基组。
在开始拟合之前,应保存项目并关闭所有窗口。 从菜单栏中选择File | Save Project,然后选择Window | Close All。
4、准备短程拟合 确定要使用的电子设置后,即可执行完整的参数化,包括拟合短程电位。第一步是确定短程拟合使用的体系。在本项目中,将尝试创建一个适用于大多数碳氢化合物的参数集合。要实现这一点,需要拟合体系可能包含的不同类型的化学键。 将使用以下体系: 氢-氢化学键 氢气分子 碳-碳化学键 乙烷,单键;乙烯,双键 ;苯,混合键 碳-氢键 甲烷 乙烷、甲烷和苯可以从Materials Studio的结构库中导入。 在Project Explorer中,建立一个名为Short range的文件夹。 打开Import Document对话框,导航至Structures\organics,选择ethane.xsd、methane.xsd和benzene.xsd结构文件。单击Open按钮。 氢气和乙烯分子可使用绘制工具创建。 在两个新的3D原子文档中,创建一个H-H和一个H2C=CH2分子,并将其重命名为H2.xsd和ethene.xsd。 现在已建立了设置参数化所需的所有分子的结构。然而,在开始使用它们之前,需要使用DMol3对每个分子进行几何优化。确保分子的结构已经进行优化,从而可以利用参数化对结构进行重现。 单击Modules工具条上的DMol3按钮 选择Calculation,或从菜单栏中选择Modules | DMol3 | Calculation。 打开DMol3 Calculation对话框。 4、准备短程拟合 确定要使用的电子设置后,即可执行完整的参数化,包括拟合短程电位。第一步是确定短程拟合使用的体系。在本项目中,将尝试创建一个适用于大多数碳氢化合物的参数集合。要实现这一点,需要拟合体系可能包含的不同类型的化学键。 将使用以下体系: 氢-氢化学键 氢气分子 碳-碳化学键 乙烷,单键;乙烯,双键 ;苯,混合键 碳-氢键 甲烷 乙烷、甲烷和苯可以从Materials Studio的结构库中导入。 在Project Explorer中,建立一个名为Short range的文件夹。 打开Import Document对话框,导航至Structures\organics,选择ethane.xsd、methane.xsd和benzene.xsd结构文件。单击Open按钮。 氢气和乙烯分子可使用绘制工具创建。 在两个新的3D原子文档中,创建一个H-H和一个H2C=CH2分子,并将其重命名为H2.xsd和ethene.xsd。 现在已建立了设置参数化所需的所有分子的结构。然而,在开始使用它们之前,需要使用DMol3对每个分子进行几何优化。确保分子的结构已经进行优化,从而可以利用参数化对结构进行重现。 单击Modules工具条上的DMol3按钮 选择Calculation,或从菜单栏中选择Modules | DMol3 | Calculation。 打开DMol3 Calculation对话框。 将Task设置为Geometry optimization,Quality设置为Fine,Functional设置为GGA PBE,在Electronic选项卡中,将Basis file设置为4.4。 确保ethene.xsd为当前文档,单击Run按钮。 应对所有输入结构使用相同设置运行该几何优化计算。 使得H2.xsd为当前文档,在DMol3 Calculation对话框中单击Run按钮。 对ethane.xsd、methane.xsd和benzene.xsd文档重复此操作。 当所有的计算任务完成后,应将优化好的结构复制到新文件夹中,并清理工作区。 在Short range文件夹下创建一个名为Structures的子文件夹,将所有已优化好的结构复制到该文件夹内。 从菜单栏中选择File | Save Project,然后选择Window | Close All。 5、DFTB+参数化设置 现在准备设置DFTB+参数化任务。 打开DFTB+ Calculation对话框,确保Task设置为Parameterization,Quality设置为Fine。 单击More...按钮,打开DFTB+ Parameterization对话框。 可利用DFTB+ Parameterization对话框设置参数化参数。可以使用Systems选项卡设置用于拟合的体系构象路径。由于此任务之前创建碳虚拟Slater-Koster库时曾经使用,因此系统网格仍然包含C-C结构。这将不会在完全参数化中使用,应该删除。 在Systems选项卡中,选择C-C结构一行,按下Delete键。 将留下空的体系网格。 有四种不同的构象生成方法: 拉伸Stretch-沿选定方向移动选定的原子集合。 扰动Perturb-使原子在其原始位置周围随机移动。 缩放Scale-均匀缩放体系的大小。 轨迹Trajectory-使用轨迹文件中包含的构象。 有关生成方法的详细信息,请参阅Systems选项卡-DFTB+参数化对话框(Systems tab - DFTB+ Parameterization dialog)。
使得Short range\Structures\H2.xsd为当前文档,选择化学键和其中一个H原子。在Systems选项卡中,选择生成方法为Stretch,单击Add按钮。 将为氢分子创建一个拉伸定义,其中选定的原子将沿着键的方向移动。有关生成的构象路径的详细信息可在DFTB+ Parameterization Details对话框中查看。 单击Details...按钮,打开DFTB+ Parameterization Details对话框。 DFTB+ Parameterization Details对话框包含关于所选路径的详细信息。对于一个拉伸生成方法,可以设置最大压缩量Maximum compression、最大膨胀值Maximum expansion、要生成的步数Number of steps和权函数宽度Weight function width。由于最小拟合距离约为0.65 Å,因此应减小最大压缩量Maximum compression。 设置Maximum compression为20 %,Number of steps为81。 接下来,将使用甲烷分子研究C-H相互作用。首先创建一条拉伸路径,覆盖C-H键的研究范围。
对于乙烯分子,将覆盖电势的核心部分。 使得Short range\Structures\ethane.xsd为当前文档,在两个碳原子中间创建一个距离测量,并选中。 对距离测量建立一个拉伸路径。将Maximum compression设置为30 %,Maximum expansion设置为10 %,Number of steps设置为61。 对乙烯建立另一条拉伸路径,将Minimum expansion设置为15 %,Maximumexpansion设置为15 %,Weight function width设置为7.5。Number of steps设置为41。 现在已经确保了尾部和核心部分的覆盖范围,可以仅添加苯分子与尖锐的重量函数。最大扰动应足够长,以达到邻近键类型。权函数的宽度应为最大扰动的一半左右。 使得Short range\Structures\benzene.xsd为当前文档。选择一个碳原子并为其建立一条扰动路径。将Number of shells设置为10,Maximum perturbation设置为15 %,Weight function width设置为7.5。 对于扰动生成方法,可以设置最大扰动Maximum perturbation、要生成的壳层数Number of shells和权函数宽度Weight function width。每个壳层半径固定并有四个位置。 现在已经创建了覆盖碳氢化合物体系所有重要化学键的路径。 要确保对所有元素对都有足够的覆盖率,单击DFTB+ Parameterization对话框Systems选项卡中的Elements...按钮。 打开DFTB+ Parameterization Elements对话框。 DFTB+ Parameterization Elements对话框概述了将为每个元素对创建的构象数量。如果一对元素的构象数量足够,则单元格将显示为绿色。可以更改视图以显示每个元素对的百分比贡献,这在对不同路径使用不同权重进行参数化时非常有用。 关闭DFTB+ Parameterization Details和DFTB+ Parameterization Elements对话框。
现在可以为参数化进行电子设置。 选择DFTB+ Parameterization对话框的Electronic选项卡。 使用创建Slater-Koster文件的电子参数使用过的相同泛函,也将在DMol3计算路径构象的总能量和力时使用。DMol3使用的基组由计算精度设置确定。 将Functional设置为GGA PBE。 将Functional设置为GGA PBE。 模式Mode将给出确定Slater Koster文件中的电子参数的方法。在电势Potential模式下,利用每个原子的电势产生对势。在密度Density模式下,每个原子的电子密度相加,用于确定每对原子的电势。模式的选择会影响元素的设置,Potential模式有一个压缩半径,而Density模式每个元素有两个压缩半径。压缩半径用于压缩波函数和电子密度,以避免远离原子核的区域。在文献报道中,Potential模式通常用于能带结构,Density模式通常用于生物分子和能量计算。有关这两种模式的详细信息,可参阅DFTB+理论部分。
在本例中,将使用Potential模式。 确保Mode设置为Potential。 现在需要为每个原子设置DFTB+参数。默认设置是较好的参数设置,但可以更改默认设置,以更符合目标体系的电子特性。电子构型Electron configuration和基组Basis set可用于提高电子性质。通常,导带和LUMO取决于激发轨道,例如,在硅中,3s3p基组将提供适合的价带和较差的导带,这可以通过将基组更改为3s3p3d来优化,其中激发的d轨道将与导带相互作用。压缩半径的设置不仅会影响电子性质,还会影响几何一致性。但是有时提供良好电子一致性的设置与产生最佳几何构型的设置有所差异,因此可能需要折衷。此处,将使用前面部分中搜索的碳参数设置,对于氢,将使用已知的优值。 对于碳,将Radii1设置为2.55,Power设置为4。对于氢,将Radii1设置为2.8。 现在将修改用于拟合短程电位的设置。 选择Fitting选项卡。
使用多项式基组进行拟合,其中多项式中的每项都有一个截断半径:式1
为一组定义的截断因子生成短程电位。对于每个截断因子,使用不同的最大多项式阶进行拟合。返回每个截断因子的最佳拟合。 在Polynomial部分中,将最小阶数Minimum order设置为10,将最大阶数Maximum order设置为12。截断系数通常约为键长的1.5倍。 如果截断因子延伸得太远,例如延伸到第二个相邻原子,则会对参数的可转移性产生不利影响。 关闭DFTB+ Parameterization对话框。 在开始参数化之前,应保存工程,并关闭所有窗口。 从菜单栏中选择File | Save Project,然后选择Window | Close All。 6、设置计算任务控制参数并运行计算 启动作业之前,应保存这些设置。 在Project Explorer中选择CHparameters项目。 在Modules工具条中选择DFTB+按钮 选择Save Settings...,输入名字CHNo Forces,单击OK键。 将使用DFTB+ Calculation对话框Job Control选项卡上的控件,控制计算任务。 选择DFTB+ Calculation对话框的Job Control选项卡。 可以选择运行计算的网关位置,并设置不同的选项,例如任务描述。也可以指定实时更新选项,以及当计算任务结束时的操作。 取消勾选Automatic选项卡,在Job description中输入CH No Forces。 现在准备运行DFTB+参数化计算任务。 单击Run按钮,关闭对话框。 显示一个文本文档Status.txt,包含计算状态。该文档定期更新,直到计算结束。它是指示计算进度的有用工具。 CH No Forces任务将仅使用总能量来拟合短程点位,这将确保拟合的良好能量精度,但不一定会产生非常好的几何构型。通过对能量和力进行拟合,可以提高拟合的精度。可以为每条路径修改能量和力的相对权重。 从菜单栏中选择File | Save Project,然后选择Window | Close All。 提示:任务文件夹的位置将取决于Project Explorer中的当前选择。如果没有选择,任务将显示在工程文件夹下。 双击Project Explorer中的CH No Forces - Calculation,打开保存的设置。打开DFTB+ Parameterization对话框,在Systems选项卡上勾选所有Force复选框,并将Rel weight值设置为5。 要获得C-C键的良好拟合,需增加该路径的权重。 将Stretch5的Weight设置为4.0。关闭DFTB+ Parameterization对话框。 在DFTB+ Calculation对话框的Job Control选项卡上,将Job description设置为CH With Forces。 将这些新设置保存为CH With Forces,然后单击DFTB+ Calculation对话框上的Run按钮。 从菜单栏中选择File | Save Project,然后选择Window | Close All。 7、结果评估 当计算结束后,计算任务的结果将返回到Project Explorer中的CH No Forces DFTB+ Parameterization和CH With Forces DFTB+ Parameterization文件夹。 在CH With Forces DFTB+ Parameterization文件夹中,双击CH With Forces.txt文件。
CH With Forces.txt文档包含任务输出(与上面的示例输出相比,可能稍有数值差异)。在文档底部有一个表格,其中包含所用不同截断因子的拟合结果。总误差是所有构象的Hartree累积平方拟合误差。当测试时,误差最小的拟合不一定会给出最佳结果,因为误差测量是针对总误差的,而希望在平衡位置周围获得良好的精度。因此,需要验证多个返回的参数集合。总误差最小的拟合将在任务文件夹中返回,而所有拟合的集合可在Alternatives子文件夹中找到。 要可视化参数,需要分析.skflib输出文档。 单击Modules工具条上的DFTB+按钮 选择Analysis,或者从菜单栏中选择Modules | DFTB+ | Analysis。 打开DFTB+ Analysis对话框。
选择Slater-Koster parameters,确保CH With Forces.skflib文件为当前文档,并显示于Results file中。勾选View Hamiltonian matrix elements和View overlap matrixelements复选框。单击View按钮。 将打开两个图表文件,其一显示短程电位,另一个显示哈密顿和重叠矩阵元。
短程电位图很重要,尾部的振荡表明该区域没有足够的数据来拟合。如果曲线在零点附近振荡,则最好使用较短的截断半径,否则需要扩展负责该区域数据的构象路径。 放大曲线的尾部并检查是否有振荡。 为其他计算任务生成相同的分析图表,并比较结果。
为了评估参数化结果,将使用DFTB+和DMol3对碳氢化合物结构进行几何优化,并比较结果。由于参数评估可能会重复多次,因此编写测试脚本是一种良好的做法。本教程提供了一个Materials Studio脚本,用于比较DMol3和DFTB+之间的几何优化结果。 选择Project Explorer中选择CHparameters根目录,创建一个名为Validation的新文件夹。 将优化好的H2.xsd、methane.xsd、ethane.xsd、ethene.xsd和benzene.xsd结构复制到Validation文件夹中。 从CH No Forces DFTB+ Parameterization文件夹中将CH No Forces.skflib文件复制到Validation文件夹中。 DFTB+ Final Evaluation的Perl脚本将对文件夹中的所有3D原子文档执行几何优化,并比较文件中的距离和角度测量值。结果将以output.txt文件的形式返回,其中包含每个结构的详细数据和结果的统计分析。 在Validation文件夹中的每个结构中,为每个化学键类型创建距离测量,并为每个键角类型创建角度测量。 然后从菜单栏中选择User | Parameters | DFTB+ Final Evaluation,打开DFTB+ Final Evaluation对话框。将Slater_Koster_Name设置为CH No Forces.skflib,并单击OK按钮。 计算需要几分钟。还应运行带有力的参数化验证。 从Validation文件夹中删除CH No Forces.skflib文件 将CH With Forces.skflib文件复制到Validation文件夹。 从菜单栏中选择User | Parameters | DFTB+ Final Evaluation,打开DFTB+ Final Evaluation对话框。将Slater_Koster_Name设置为CH With Forces.skflib,并单击OK按钮。 评估脚本生成一个output.txt文件,其中包含使用DFTB+和DMol3优化后每个几何监测的长度或角度之间的比较,例如,CH With Forces.skflib库验证CH将给出:
由于扰动路径的构象是随机生成的,得到结果可能有所不同。化学键距离约为0.02 Å的误差是可以接受的。 如果比较参数化之间的评估数据,将会发现,与预期相同,CH With Forces提供了最佳结果。而CH No Forces的参数化精度要低得多。 可以通过添加更多数据来提高结果较差的键类型的精度,或者,如果步数已经很高,则可以增加相应路径的权重。相邻键类型的数据也可能干扰拟合,在这种情况下,减小构象宽度和权函数宽度的减小可以解决该问题。 从菜单栏中选择File | Save Project,然后选择Window | Close All。 本教程到此结束。 建议进一步研究: 比较DMol3和DFTB+生成参数得到的碳纳米管能带结构。能带结构与短程电位无关,因此CH No Forces和CH With Forces参数化应给出相同的结果。 扩展评估集合,查找并尝试纠正性能不佳的结构。有时性能不佳是由于缺少物理意义而无法纠正。 使用Interactions选项卡上的扩展已有库Extend existing library复选框,使用第三个元素对库进行扩展。
上一篇模拟电子输运下一篇研究结构-能量之间的关系 |

















