crest-lab / crest

CREST - A program for the automated exploration of low-energy molecular chemical space.
https://crest-lab.github.io/crest-docs/
GNU Lesser General Public License v3.0
198 stars 42 forks source link

QCG for long linear molecules #259

Closed ucb-mgcf closed 3 weeks ago

ucb-mgcf commented 8 months ago

Hi,

I'm enjoying using the QCG modules, and in addition to having some successful outcomes, I've run into an issue for long, "linear" molecules. The process begins by placing the first solvation layer, but it doesn't add solvent molecules at the two ends of the solute, and instead proceeds to add additional layers to the other parts. This continues until dozens of solvent molecules have been added, but the two solute ends remain bare (see attached .xyz file). I assume this is caused by the wall potentials. Is there a way (directly or indirectly) for the user to modify the wall potentials so that the solvent is added uniformly across the solute chain?

I've attached a simple example of this, for a H-(S_10)-H chain. I added a .txt extension to the .xyz file so that it would upload here. The specific crest command I used is shown in the output file.

thanks

out_file.txt qcg_grow.xyz.txt

ucb-mgcf commented 8 months ago

Although the solute structure is essentially contained in the qcg_grow.xyz file, I thought I'd explicitly attach the starting structure I used: PM6.xyz.txt

ucb-mgcf commented 7 months ago

I did some additional testing, and I'm thinking that the issue is originating in the --nopreopt argument. I ran a different linear molecule, C10H22, both with and without --nopreopt. The one with preoptimization has the solvent symmetrically covering the molecule, while the one with --nopreopt clearly shows a solvent shell whose orientation is not aligned with the molecule axis. So I wonder if the problem is as simple as the wall-potential axes not being aligned with the molecular axes, for when --nopreopt is used.

I've attached the structure files for the two C10H22 calculations.

qcg_grow_nopreopt.xyz.txt qcg_grow_preopt.xyz.txt

ucb-mgcf commented 7 months ago

In case other people encounter this problem, I'll share the workaround I've been using. In the .xcontrol file, I constrain all atoms except a single H atom, preferably one in an "inactive" alkyl group, because deviations of this C-H bond will tend to be mostly immaterial. I proceed with the growth calculation but without the --nopreopt argument. So the calculation is using the preopt, but it works because not all atom are constrained, while the desired full constraint on the starting solute structure is nearly satisfied, so this approach has been effective.

cplett commented 7 months ago

Hi, Thanks for the great analysis of the problem and for sharing the workaround for the problem. A short update on this: I'm currently working on improving the QCG and a (hopefully) near-future version will be released that does not rely on these wall potentials for the cluster growth anymore. This will yield better cluster coverage, especially for such linear systems.

ucb-mgcf commented 6 months ago

Thanks, and that sounds great, I'll look forward to exploring calculations with the new QCG algorithm when it comes out. I plan to promote the usage of QCG at my computational facility; the initial applications have been to explicit-solvent calculations for pKas and excited-state absorption/emission.

github-actions[bot] commented 4 weeks ago

This issue had no activity for 6 months. It will be closed in 1 week unless there is some new activity.