I studied Chemistry as an undergraduate. Now I am doing the theoretical chemistry research~
Automatic Code Generation and Optimization: Applications on the Evaluation of Molecular Integrals (2016~2017)
The evaluation of molecular integrals is necessary part for all quantum chemistry software. Among various kinds of integrals, the electron repulsion integrals (ERIs) is one of the most important factor determing the efficiency of a quantum chemistry software. The ERI evaluation involves complex and lengthy recurrence relations and in practice, a large number of memory operations and floating-point operations. It is very difficult for manually written codes to reach maximum efficiency. Thus, automatic code generation (ACG) technique, i.e., "using codes to write codes". For ERIs of all angular momentum combination from (ss|ss), (ps|ss) to (gg|gf), (gg|gg), the Obara-Saika, Dupuis–Rys–King, and McMurchie–Davidson recurrence relations are analyzed by the tree-search algorithm. Also, common subexpression elimination, cache access optimization, etc. are applied to optimize the program, and finally, more than 100,000 lines of codes are generated. This is how the molecular integral evaluation library libreta is designed. libreta is a black-box, open-source library, for the evaluation of molecular integrals over both segmented and general contracted Gaussian type orbitals. The technical details of libreta has been published in J. Chem. Theory Compute. 2018, X, X.
Global and Local Optimization of Chemical Clusters, ABCluster (2015)
In chemistry, the global and local optimization of chemical clusters is a very difficult work. My software ABClsuter is designed for this purpose. ABCluster is written in a black-box way that users can apply ABCluster to his or her own problem without knowing anything internal. You can easily obtain the global and a lot of local minima of various kinds of clusters, like Au42Pt13, N(CH3)3(H2O)20, (H2O)10@C60. Also, ABCluster can work with any computational chemistry software like Gaussian, ORCA, LAMMPS, etc. Now ABCluster has been applied in several published works.
Linear Scaling Coupled Cluster Theory, Incremental Scheme (2013~2015)
Incremental scheme is an efficient and accurate approach for computing the energies by the CCSD, CCSD(T) methods and their F12 variants for large closed- and open-shell molecules. It can reduce the comptuational cost with little loss of accuracy. For molecular clusters the efficiency is much more higher. This approach has been applied to several chemical problems, like the hydration energies of lanthanide(III), energy difference of isomers of organic molecules, solvent extraction, etc (See Publications for details).
Labile Capping Bond, Hydration of Lanthanide(III) (2014)
Trivalent lanthanide cations (Ln3+) have large radii, resulting a high coordination number in solvent or complexes. An interesting property of Ln3+ is that the water exchange rate exhibits a peak curve: it increases from La to Gd and decreases from Gd to Lu (Chem. Rev. 2005, 105, 1923). This has puzzled investigators for a long time. During 2013 to 2014, I find that in Ln3+complexes, the capping ligands can be inherently labile due to the hindrance, perhaps being "shorter and weaker", which I called "labile capping bond" (Inorg. Chem. 2014, 53, 7700, J. Phys. Chem. A 2015, 119, 774). It can successfully explain the peak curve and a series of hydration phenomena of Ln3+. This has been applied in the estimation of hydration exchange rate (J. Phys. Chem. A 2015, 119, 6436). In 2017, people has confirmed this by the NRM experiments of some Gd complexes (Chem. Eur. J. 2017, 23, 1110).
Computational Chemistry Cluster (2009)
For a large computational chemistry group, a good option is build one's own computer cluster and install the job queueing system. During 09 and 12 I used to build and maintain a computer cluster, and wrote a tutorial according to my own experience.