弱结合分子簇的大气浓度可以通过利用遗传算法和半经验量子化学的多步配置采样方法,从低能结构的热化学性质中计算。 ab initio
大气气溶胶形成和生长的计算研究需要精确的吉布斯自由能表面,这可以从气相电子结构和振动频率计算中获得。这些数量对于其潜在能量表面的几何形状对应于最小值的大气簇有效。最小能量结构的吉布斯自由能可用于预测温度和压力等各种条件下星团的大气浓度。我们提出了一个基于基于遗传算法的配置采样的计算成本低廉的过程,然后进行了一系列越来越精确的筛选计算。该过程首先使用半经验模型生成和演化大量配置的几何形状,然后以一系列高级理论水平优化结果的独特结构。最后,计算由此产生的最小能量结构集的热力学校正,并用于计算形成、平衡常数和大气浓度的吉布斯自由能。我们将该程序的应用应用于环境条件下水合甘氨酸簇的研究。
气候变化大气研究中最不确定的参数是云粒子反映传入太阳辐射的确切程度。气溶胶是悬浮在气体中的颗粒物,形成云粒子,称为云凝结核(CCN),散射传入辐射,从而阻止其吸收和随后加热大气1。要深入了解这种净冷却效应,需要了解气溶胶在CCN中的生长,这反过来又需要了解小分子团在气溶胶颗粒中的生长。最近的研究表明,气溶胶形成是由直径在3纳米以下的分子簇引起的;然而,这个大小制度很难访问使用实验技术33,4。4因此,为了克服这一实验限制,需要一种计算建模方法。
使用下面描述的建模方法,我们可以分析任何水合簇的生长。因为我们对水在生物前环境中从较小成分形成大型生物分子中的作用感兴趣,所以我们用甘氨酸来说明我们的方法。解决这些研究问题所需的挑战和工具,与研究大气气溶胶和核前星团55、6、7、8、9、10、11、12、13、14、15组时所遇到的挑战和14,工具非常相似。,6,7,8,9,10,11,12,13,在这里,我们检查水合甘氨酸簇,从一个孤立的甘氨酸分子开始,然后一系列逐步添加多达五个水分子。最终目标是计算大气中大气中Gly(H2O)n=0-5星团在海平面室温下和相对湿度(RH)为100%的均衡浓度。
通过添加其他蒸气分子或在现有簇上凝固,这些亚纳米分子簇中的少数组长成一个元稳临界簇(直径为1-3nm)。这些关键簇具有有利的生长轮廓,形成更大的(高达 50-100 nm)云凝结核 (CCN),这直接影响到云的降水效率及其反射事件光的能力。因此,对分子簇的热力学及其平衡分布有一个良好的了解,应能够更准确地预测气溶胶对全球气候的影响。
气溶胶形成的描述性模型需要分子簇形成的精确的热力学。计算分子簇形成的准确热力学需要确定最稳定的配置,这涉及到在星团的潜在能量表面(PES)16上找到全局和局部最小值。这个过程被称为配置采样,可以通过各种技术来实现,包括那些基于分子动力学(MD)17,18,19,20,17,18,19,20蒙特卡罗(MC)21,22,和21,22遗传算法(GA)23,24,25。23,24,25
多年来,为了在高水平的理论中获得大气水合物的结构和热力学,已经开发出了不同的协议。这些协议在选择 (i) 配置采样方法、(ii) 配置采样中使用的低级方法的性质以及 (iii) 用于在后续步骤中优化结果的更高级别方法的层次结构方面有所不同。
配置抽样方法包括化学直觉26、随机抽样27、28、,28分子动力学(MD)29、30、盆地跳跃29,30(BH)31和31遗传算法(GA)24、25、32。24,25,32这些采样方法采用的最常见低级方法是力场或半经验模型,如 PM6、PM7 和 SCC-DFTB。之后往往采用 DFT 计算,其基集越来越大,功能更可靠,来自雅各阶梯33的较高梯级。在某些情况下,这些后跟更高级别的波函数方法,如MP2,CCSD(T),和具有成本效益的DLPNO-CCSD(T)34,35。34,35
Kildgaard等人36开发了一种系统方法,在Fibonacci球体37周围小水合物或未水合簇的点上添加水分子,以产生较大簇的候选物。根据密切接触阈值和不同符合者之间的根均方距离删除非物理和冗余候选项。利用PM6半经验法和DFT和波函数方法的层次进行后续优化,在高水平的理论中获取一组低能量一致性器。
人工蜂群(ABC)算法38是张等人最近采用的一种新的配置采样方法,用于在名为ABCluster39的程序中研究分子簇。Kubecka等人40使用ABCluster进行配置采样,然后使用紧密结合的GFN-xTB半经验方法41进行低级重新优化。他们使用DFT方法进一步优化结构和能量,然后用DLPNO-CCSD(T)最终能量。
无论采用哪种方法,配置采样都从 PES 上的点随机或非随机生成的分布开始。每个点对应于相关分子簇的特定几何体,由采样方法生成。然后,通过遵循 PES 上的”下坡”方向找到每个点的最接近的局部最小值。因此,发现的一组最小值对应于分子簇的几何体,这些几何体是稳定的,至少在一段时间内。在这里,PES 的形状和对表面每个点的能量评估将敏感于系统的物理描述,其中更准确的物理描述会导致更计算成本的能量计算。我们将专门使用OGOLEM25程序中实现的GA方法,该方法已成功应用于各种全局优化和配置采样问题42、43、44、45,43,44,45以生成初始采样点。42PES 将由 MOPAC2016 计划47中实现的 PM7 模型46描述。使用这种组合是因为它与 MD 和 MC 方法相比生成了更多的点,并且发现本地最小值比对 PES 的更详细描述更快。
GA 优化的局部最小值集作为一系列筛选步骤的起点几何形状,从而产生一组低地最小能量。协议的这一部分首先使用密度函数理论 (DFT) 用小基础集优化了一组独特的 GA 优化结构。与 GA 优化的半经验结构相比,这组优化通常提供一组更小的独特局部最小结构,这些结构可以更详细地建模。然后,使用较大的基础集对这组较小的结构执行另一轮 DFT 优化。同样,此步骤通常会提供一组更小的独特结构,与小基础 DFT 步骤相比,这些结构可以更详细地建模。然后优化了最终的独特结构集,以更紧密的收敛和谐波振动频率计算。在此步骤之后,我们拥有计算大气中星团的均衡浓度所需的一切。整体方法在图1中用图表进行总结。我们将在高斯0949 DFT实现中使用 PW9148通用梯度近似 (GGA) 交换相关功能,以及 Pople50基集的两种变体(小基础步长为 6-31°G*,大基础步长为 6-311°G*)。这种交换相关功能和基集的特殊组合是由于其以前在计算大气簇51,52,52形成的精确吉布斯自由能量方面的成功选择的。
该协议假定用户可以访问高性能计算 (HPC) 群集,其中包含便携式批处理系统53 (PBS)、MOPAC2016 (http://openmopac.net/MOPAC2016.html) 47、OGOLEM(https://www.ogolem.org)25、高斯 09(https://gaussian.com)49和根据其特定安装说明安装的 OpenBabel54(http://openbabel.org/wiki/Main_Page)软件。47此协议中的每个步骤还使用一组内部 shell 和 Python 2.7 脚本,这些脚本必须保存到包含在用户$PATH环境变量中的目录中。运行上述所有程序所需的所有环境模块和执行权限也必须加载到用户的会话中。根据现代计算机资源标准,GA 代码 (OGOLEM) 和半经验代码 (MOPAC) 的磁盘和内存使用量非常小。OGOLEM/MOPAC 的总体内存和磁盘使用情况取决于要使用的线程数,即使这样,与大多数 HPC 系统的功能相比,资源使用量将很小。QM 方法的资源需求取决于群集的大小和所使用的理论水平。使用此协议的优点是,人们可以改变理论水平,以便能够计算最终一组低能量结构,请记住,通常更快的计算会导致结果的准确性更加不确定。
为了清楚起见,用户的本地计算机将被称为”本地计算机“,而他们有权访问的 HPC 群集将称为”远程群集“。
该协议生成的数据的准确性主要取决于三件事:(i) 步骤 2 采样的配置种类,(ii) 系统电子结构的准确性,(iii) 热力学校正的准确性。通过编辑包含的脚本来修改方法,可以解决每个这些因素。使用较大的随机生成结构的初始池、更多重复的 GA 以及 GA 中涉及的标准的松散定义,很容易克服第一个因素。此外,人们可以使用不同的半经验方法,如自一致的电荷密度-功能紧密绑定(SCC-DFTB)62模型和有效碎片62电位(EFP)63模型,以探索63不同物理描述的效果。这里的主要限制是方法无法形成或打破共价键,这意味着单体被冻结。GA 程序仅根据半经验描述找到这些冷冻单体最稳定的相对位置。
系统电子结构的精度可以通过多种方式提高,每种方法都有计算成本。可以选择更好的密度功能,如M06-2X64和wB97X-V65,或量子机械(QM)方法,如Müller-Plesset 66、67、68(MPn)扰动理论和耦合聚类66,67,6869(CC)方法,以改善系统的物理描述。在功能层次结构中,性能通常从通用梯度近似 (GGA) 功能(如 PW91)到范围分离的混合功能(如 wB97X-D 和元 GGA 混合功能(如 M06-2X)时,性能通常会提高。
DFT 方法的缺点是无法系统地向精确值相融合;但是,DFT 方法在计算上成本较低,并且对于各种应用有着广泛的功能。
使用波函数方法(如 MP2 和 CCSD(T)计算的能量,结合相关一致增加基数基集([aug-_cc-pV[D,T,Q,…]Z) 系统地向其完整的基础集限制收敛,但随着系统规模的增大,每次计算的计算成本变得令人望而却步。通过使用显式相关基集70并推断到完整的基集 (CBS)71限制,可以进一步优化电子结构。我们最近的研究表明,密度拟合明确相关的二阶Müller-Plesset(DF-MP2-F12)扰动方法产生的能量接近MP2/CBS计算32的能量。修改当前协议以使用不同的电子结构方法包括两个步骤:(i) 按照软件给出的语法准备模板输入文件,(ii) 编辑run-pw91-sb.csh、run-pw91-lb.csh和run-pw91-lb-ultrafine.csh脚本,以生成正确的输入文件语法以及软件的正确提交脚本。 run-pw91-lb.csh
最后,热力学校正的精度取决于电子结构方法以及PES围绕全局最小值的描述。准确描述 PES 需要计算 PES 相对于核自由度位移的三阶和高阶导数,例如四分力场72、73,73 (QFF),这是一项极其昂贵的任务。电流协议使用谐波振荡器近似于振动频率,因此只需计算多达二分之一的 PES 导数。这种方法在高谐波的系统中变得有问题,例如非常软的分子和对称的双井电位,因为真正的PES和谐波PES差异很大。此外,从计算要求苛刻的电子结构方法中拥有高质量 PES 的成本只会加剧振动频率计算的成本问题。克服这一困难的一种方法是使用高质量电子结构计算的电子能量,以及以较低质量的 PES 计算的振动频率,从而在成本和准确性之间取得平衡。可以修改当前协议以使用不同的 PES 描述,如上一段所述;但是,还可以编辑脚本和模板中的振动频率关键字,以计算谐波振动频率。
任何配置采样协议的两个关键问题是采样潜在能量表面的初始方法以及用于识别每个群集的标准。我们在以前的工作中广泛使用了各种方法。对于第一个问题,即对潜在能量表面进行采样的初始方法,我们根据这些因素,选择使用GA与半经验方法。使用化学直觉26、随机采样和分子动力学(MD)29、3029,30的配置抽样,未能定期为大于10个单体群找到假定的全球最小值,正如我们在对水簇18的研究中观察到的那样。我们已经成功地使用盆地跳跃(BH)来研究(H2O)1174的复杂PES,但它需要手动加入一些潜在的低能量等值器,BH算法没有发现。对比BH和GA在查找全球水团最小值方面的表现(H2O)n=10-20表明,GA始终发现全球最小值快于BH75。在 OGOLEM 和 CLUSTER 中实现的 GA 用途非常广泛,因为它可以应用于任何分子簇,并且它可以与具有经典力场、半经验、密度功能和ab initio功能的大量封装接口。PM7的选择是由其速度和合理的精度驱动的。几乎任何其他半经验方法的计算成本都高得多。
关于第二个问题,我们探索使用不同的标准来识别从电子能量、偶极子矩、重叠RMSD和旋转常数到独特的结构。使用偶极子矩被证明是困难的,因为偶极子矩分量都取决于分子的方向,而总偶极子矩对几何差异非常敏感,以至于很难设置阈值,以确定结构是相同还是唯一。电子能量和旋转常数的组合被证明是最有用的。
目前认为两个结构唯一的标准是基于能量差阈值0.10千卡摩尔-1和旋转常数差1%。因此,如果两个结构的能量差异超过 0.10 千卡 mol-1 (±0.00015 a.u.)则被视为不同。其三个旋转常数(A、B、C)中的任何一个差异都超过 1%。多年来,大量内部基准发现这些阈值是合理的选择。我们的配置取样方法和筛选方法已应用于非常弱结合的簇,如与水混合的多芳烃76、77,77以及含有氨和胺的强结合三元硫酸盐水合物32。对于要考虑不同原体状态的群集,最佳方法是运行各种 GA 计算,每个计算都以不同原体状态的单体开始。这可确保仔细考虑具有不同原点状态的结构。但是,低级 DFT 计算通常允许原体状态在几何优化过程中发生变化,从而产生最稳定的原体状态,而不考虑起始几何体。
我们的 GA 配置采样方法即使对于软盘分子也运行良好,只要 GA 代码与通用的非参数化方法接口,使单体在 GA 运行过程中采用不同的配置。例如,将 GA 与 PM7 连接将允许单体结构发生变化,但如果它们的键像原体状态更改时那样破裂,则结构可能会作为不可接受的候选项被丢弃。
我们考虑了纠正谐波近似的缺点的不同方法,尤其是低振动频率引起的缺点。将准谐波近似结合到当前方法中并不难。然而,关于准谐波方法仍然存在问题,特别是当涉及到其下段频率时,它将应用。此外,没有严格的基准测试工作,检查准RRHO近似的可靠性,即使传统观点认为它应该比RRHO近似改进。
因此提出的协议可概括为任何无共价气体相位分子簇系统。通过编辑脚本和模板,也可以对使用任何半经验方法、电子结构方法和软件以及振动分析方法和软件进行概括。这假定用户对 Linux 命令行界面、Python 脚本和高性能计算感到满意。Linux操作系统不熟悉的语法和外观以及缺乏脚本编写经验是该协议中最大的陷阱,也是新生最努力的地方。多年来,我们集团在各种实施中已成功应用该协议,主要侧重于硫酸和氨对气溶胶形成的影响。该协议的进一步改进将涉及更强大的接口,以更电子结构软件,替代遗传算法的实现,并可能使用较新的方法来加快电子和振动能量的计算。我们目前应用该协议正在探索氨基酸在当前大气中气溶胶形成的早期阶段以及生物活性环境中形成较大生物分子的重要性。
The authors have nothing to disclose.
该项目得到了国家科学基金会(GCS)、阿诺德和马贝尔·贝克曼基金会贝克曼基金会贝克曼学者奖(AGG)和巴里·金水奖学金(AGG)的资助,包括CHE-1229354、CHE-1662030、CHE-1721511和CHE-1903871。使用了 MERCURY 联盟 (http://www.mercuryconsortium.org) 的高性能计算资源。
Avogadro | https://avogadro.cc | Open-source molecular visualization program | |
Gaussian [09/16] Software | http://www.gaussian.com/ | Commercial ab initio electronic structure program | |
MOPAC 2016 | http://openmopac.net/MOPAC2016.html | Open-source semi-empirical program | |
OGOLEM Software | https://www.ogolem.org | Genetic algorithm-based global optimization program | |
OpenBabel | http://openbabel.org/wiki/Main_Page | Open-source cheminformatics library | |
calcRotConsts.py | Shields Group, Department of Chemistry, Furman University | Python script to compute rotational constants | |
calcSymmetry.csh | Shields Group, Department of Chemistry, Furman University | Shell script to calculate symmetry number of a molecule given Cartesian coordinates | |
combine-GA.csh | Shields Group, Department of Chemistry, Furman University | Shell script to combine energy and rotational constants from different GA directories | |
combine-QM.csh | Shields Group, Department of Chemistry, Furman University | Shell script to combine energy and rotational constants from different QM directories | |
gaussianE.csh | Shields Group, Department of Chemistry, Furman University | Shell script to extract Gaussian 09 energies | |
gaussianFreqs.csh | Shields Group, Department of Chemistry, Furman University | Shell script to extract Gaussian 09 vibrational frequencies | |
getrotconsts | Shields Group, Department of Chemistry, Furman University | Executable to calculate rotational constants given a molecule's Cartesian coordinates | |
getRotConsts-dft-lb.csh | Shields Group, Department of Chemistry, Furman University | Shell script to compute rotational constants for a batch of large basis DFT optimized structures | |
getRotConsts-dft-lb-ultrafine.csh | Shields Group, Department of Chemistry, Furman University | Shell script to compute rotational constants for a batch of ultrafine DFT optimized structures | |
getRotConsts-dft-sb.csh | Shields Group, Department of Chemistry, Furman University | Shell script to compute rotational constants for a batch of small basis DFT optimized structures | |
getRotConsts-GA.csh | Shields Group, Department of Chemistry, Furman University | Shell script to compute rotational constants for a batch of genetic algorithm optimized structures | |
global-minimum-coords.xyz | Shields Group, Department of Chemistry, Furman University | Cartesian coordinates of global minimum structures of gly-(h2o)n, where n=0-5 | |
make-thermo-gaussian.csh | Shields Group, Department of Chemistry, Furman University | Shell script to extract data from Gaussian output files and make input files for the thermo.pl script | |
ogolem-input-file.ogo | Shields Group, Department of Chemistry, Furman University | Ogolem sample input file | |
ogolem-submit-script.pbs | Shields Group, Department of Chemistry, Furman University | PBS batch submission file for Ogolem calculations | |
README.docx | Shields Group, Department of Chemistry, Furman University | Clarifications to help readers use the scripts effectively | |
runogolem.csh | Shields Group, Department of Chemistry, Furman University | Shell script to run OGOLEM | |
run-pw91-lb.csh | Shields Group, Department of Chemistry, Furman University | Shell script to run a batch of large basis DFT optimization calculations | |
run-pw91-lb-ultrafine.csh | Shields Group, Department of Chemistry, Furman University | Shell script to run a batch of ultrafine DFT optimization calculations | |
run-pw91-sb.csh | Shields Group, Department of Chemistry, Furman University | Shell script to run a batch of small basis DFT optimization calculations | |
run-thermo-pw91.csh | Shields Group, Department of Chemistry, Furman University | Shell script to compute the thermodynamic corrections for a batch of DFT optimized structures | |
similarityAnalysis.py | Shields Group, Department of Chemistry, Furman University | Python script to determine unique structures based on rotational constants and energies | |
symmetry | Shields Group, Department of Chemistry, Furman University | Executable to calculate molecular symmetry given Cartesian coordinates | |
symmetry.c | (C) 1996, 2003 S. Patchkovskii, Serguei.Patchkovskii@sympatico.ca | C code to determine the molecular symmstry of a molecule given Cartesian coordinates | |
template-marcy.pbs | Shields Group, Department of Chemistry, Furman University | Template for a PBS submit script which uses OGOLEM | |
template-pw91.com | Shields Group, Department of Chemistry, Furman University | Template Gaussian 09 input | |
template-pw91-HL.com | Shields Group, Department of Chemistry, Furman University | Template Gaussian 09 input for ultrafine DFT optimization | |
thermo.pl | https://www.nist.gov/mml/csd/chemical-informatics-research-group/products-and-services/program-computing-ideal-gas | Perl open-source script to compute ideal gas thermodynamic corrections | |
gly-h2o-n.xlsx | Shields Group, Department of Chemistry, Furman University | Excel spreadsheet for the complete protocol | |
table-1.xlsx | Shields Group, Department of Chemistry, Furman University | Excel spreadsheet | |
table-2.xlsx | Shields Group, Department of Chemistry, Furman University | Excel spreadsheet | |
table-3.xlsx | Shields Group, Department of Chemistry, Furman University | Excel spreadsheet | |
table-4.xlsx | Shields Group, Department of Chemistry, Furman University | Excel spreadsheet | |
water.xyz | Shields Group, Department of Chemistry, Furman University | Cartesian coordinates of water | |
glycine.xyz | Shields Group, Department of Chemistry, Furman University | Cartesian coordinates of glycine |