本科化学专业,现主攻理论化学~

代码自动生成与优化技术计算分子积分 (2016~2017)

下载libreta

分子积分计算是一切量子化学软件的必备功能,其中电子排斥积分(ERI)是决定软件计算速度最关键的部分之一。ERI的计算,在理论上需要极其复杂而又冗长的递推关系,实际程序中又涉及大量内存操作与浮点运算操作,人工写出一个达到最高效率的程序十分不易。因此,本人使用程序来对ERI的计算流程进行分析、优化和生成代码,即“用代码书写代码”的自动代码生成技术(ACG)。从(ss|ss),(ps|ss)直到(gg|gf),(gg|gg),对每种不同角动量的ERI的计算公式,包括Obara-Saika、Dupuis–Rys–King和McMurchie–Davidson递推公式,利用树搜索的方法进行分析,并使用公共表达式替代、优化缓存读取等技术来最大程度优化,并最终生成多达几十万行的计算代码。这就是分子积分库libreta的设计思想。libreta是一个黑箱化而又开源的库,包含所有常见的分子积分的计算代码,适用于各种角动量和缩合模式(segemented和general)的基组,可以帮助用户快速书写自己的量子化学代码。libreta的详细技术细节已经发表在J. Chem. Theory Compute. 2018, 14, 572中。

化学团簇结构搜索,ABCluster (2015)

下载ABCluster

在化学研究中,各种团簇,如金属原子分子的团簇的结构产生与全局、局部结构搜索是个极其麻烦的工作。本人编写的软件ABCluster就是专门为解决此问题而来。ABCluster是一款易用而又强大的软件,用户可以在几乎不了解ABCluster任何内部启发式算法机制的前提下,非常简单的用ABCluster对各类化学团簇,如Au42Pt13, N(CH3)3(H2O)20, (H2O)10@C60等进行全局优化。ABCluster还可以和各种计算化学软件如Gaussian,ORCA,LAMMPS等无缝接合进行搜索。目前ABCluster已经在多个已发表的成果中得到成功应用

线性标度耦合簇方法,Incremental Scheme (2013~2015)

Incremntal scheme 详情

Incremental scheme是一种简洁而又精确的量子化学方法,它可以把高精度的CCSD,CCSD(T)及其F12变体应用于非常大的闭壳层和开壳层分子,在几乎不损失精度的情况下大大减少计算量。如果是分子团簇的话,计算量更可以百倍的减少。这个方法也已经成功的应用到了很多实际问题,如镧系锕系三价阳离子的水合能计算,大有机分子的构象能,维生素计算,方法标定等等(相关应用见论文)。

Labile Capping Bond,镧系元素阳离子的水合性质 (2014)

镧系元素的三价阳离子(Ln3+)半径很大,所以在溶液或者配合物中可以有很高的配位数。实际上,Ln3+在水中有个有趣的性质:结合水交换速率呈现一个峰形曲线:从La到Gd时,速率逐渐增大,之后从Gd到Lu,速率逐渐降低(Chem. Rev. 2005, 105, 1923)。这个问题一度困扰了很多研究者。在2013~2014年间,本人从理论上发现Ln3+配合物中,位于capping位的配体可以受高配位环境的影响变得內禀不稳定,甚至呈现“越短越弱”的情况,这个现象本人称之为“labile capping bond” (Inorg. Chem. 2014, 53, 7700, J. Phys. Chem. A 2015, 119, 774)。它可以成功地解释交换速率呈峰形曲线,以及一系列Ln3+水合现象。这个概念甚至被运用到了估算水交换速率的研究中(J. Phys. Chem. A 2015, 119, 6436)。在2017年,有人通过NRM实验在Gd的配合物中证实了labile capping bond现象的存在(Chem. Eur. J. 2017, 23, 1110)。(PS: labile capping bond直译成“不稳定帽位键”,有没有更优雅的翻译呢?)

计算化学集群 (2009)

下载集群构建教程

做计算化学最重要的硬件就是计算机。对于大的组,要想高效的安排计算任务,最好的选择是组建自己的计算机集群,配置相应的作业系统并安排专人管理。09~12年左右专门组建过集群并当过管理员,其经验曾总结为一个小文档。