User 870ab5b546
19-10-2011 01:36:15
Hi,
If I draw butane in its highest energy conformation (C-CH3 bonds eclipsed), and I clean in 3D by the Gradient optimize method, the structure does not change. This structure is a local maximum. I understand that it's not clear which direction it should fall, but it should fall in some direction, not just give up and stay at a maximum.
ChemAxon 8b644e6bf4
20-10-2011 12:41:24
Hi,
"Gradient optimize" method invokes just the geometry optimization which not necessarily can break out from these situations. (Actually, the current force field is not able to provide out of plane gradient component for this 2D structure.)
I understand that it's not clear which direction
it should fall, but it should fall in some direction, not just give up
and stay at a maximum.
As i understand the geometry optimizer itself can not use such heuristics since it is not able to recognize these situations. If breaking theses situations is required then "hyperfine" must be used which is intended to provoke such "fall in some direction".
I would like to note that currently, hyperfine can be used only after coordinate generation.
Regards,
Gabor
User 870ab5b546
20-10-2011 14:24:31
The options are Fine Build, Fine with Hydrogenize, Fast Build, Build or Optimize, and Gradient Optimize. If you are referring to Fine Build, the problem with it is that it finds a global minimum, not a local one. I would like a method that finds a local minimum but doesn't get stuck on a local maximum.
Another example I can cite is when I gradient-minimized cyclohexane to a boat conformation (MRV below). I would have hoped that Gradient Optimize would have converged on a twist-boat, but it converged on a boat. I then had to manually move some H atoms to get it to fall into the twist-boat local minimum.
<?xml version="1.0" ?>
<cml>
<MDocument>
<propertyList>
<property dictRef="viewEulerAngles" title="viewEulerAngles">
<array size="3" dataType="xsd:double">0.20422520293792407 -0.16763526858154204 -0.00319470050309532</array>
</property>
</propertyList>
<MChemicalStruct>
<molecule molID="m1">
<atomArray
atomID="a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18"
elementType="C C C C C C H H H H H H H H H H H H"
mrvMap="1 2 3 4 5 6 0 0 0 0 0 0 0 0 0 0 0 0"
x3="-0.37156539014223255 -1.7763623857801512 -2.0590153340565025 -2.218044669508397 -0.7863569312692567 0.1674830020875592 0.3315083819800189 -0.4117764263869269 -2.3067322210839203 -1.6363565538863152 -3.089450334647465 -1.1489867575036656 -2.9257456928237477 -2.279956897410464 -0.8360208112169146 -0.3710428943856495 0.25182268500402144 1.1618070160329201"
y3="-0.825638364101807 -0.34877286256114975 1.5352736004250467 0.3255863538007087 -0.19917626180279824 -0.03131602370040347 -0.7238382032549243 -1.8890064961899093 -1.206163915850103 0.36237800119644437 1.9532427037005875 2.3081288477044826 -0.2603952416926711 1.3503386199599823 -1.2574455218442206 0.33214561926415936 1.027711389705227 -0.4009202017972466"
z3="0.9810900377537696 1.437586437512092 0.5267257851565654 -1.1385923017495296 -1.431112197917146 -0.22934501722564862 1.810499624183893 0.7266262861635291 1.8646374822142753 2.2579726467048298 0.790531459961229 0.5801562033179388 -1.7324821817256058 -1.5181719426207976 -1.7020694938254086 -2.29262552427779 0.027782331571146103 -0.4947795332594652"
/>
<bondArray>
<bond atomRefs2="a1 a2" order="1" />
<bond atomRefs2="a1 a6" order="1" />
<bond atomRefs2="a2 a3" order="1" />
<bond atomRefs2="a3 a4" order="1" />
<bond atomRefs2="a4 a5" order="1" />
<bond atomRefs2="a5 a6" order="1" />
<bond atomRefs2="a1 a7" order="1" />
<bond atomRefs2="a1 a8" order="1" />
<bond atomRefs2="a2 a9" order="1" />
<bond atomRefs2="a2 a10" order="1" />
<bond atomRefs2="a3 a11" order="1" />
<bond atomRefs2="a3 a12" order="1" />
<bond atomRefs2="a4 a13" order="1" />
<bond atomRefs2="a4 a14" order="1" />
<bond atomRefs2="a5 a15" order="1" />
<bond atomRefs2="a5 a16" order="1" />
<bond atomRefs2="a6 a17" order="1" />
<bond atomRefs2="a6 a18" order="1" />
</bondArray>
</molecule>
</MChemicalStruct>
</MDocument>
</cml>
This isn't a huge issue, because the user can intervene to force the structure off a maximum. But it's completely counterintuitive that a minimization would sit on a maximum. And I'm confident your programmers can find a solution.
ChemAxon 8b644e6bf4
03-11-2011 01:31:33
Dear Bob,
I would like a method that finds a local minimum but doesn't get stuck on a local maximum.
Currently this is possible only by "distrurbing" the initial structure before gradient optimization. As far as i know we do not expect to modify the behavior of optimization in such situations.
Another example I can cite is when I
gradient-minimized cyclohexane to a boat conformation (MRV below). I
would have hoped that Gradient Optimize would have converged on a
twist-boat, but it converged on a boat. I then had to manually move
some H atoms to get it to fall into the twist-boat local minimum.
This is a nice example. Although "hyperfine" is not available to work on already 3D inputs one can mimic its functionality using current msketch GUI (disturb the structure then optimize):
- Open the symmetric boat structure in msketch
- Select tools - conformation - molecular dynamics
- Select "Frames" to display
- Click OK to display MD steps
- Make sure that no cell (frame) is selected in the displayed window
- Select Structure - Clean3D - Cleaning method - Gradient optimize in MD results window
- Slelect Structure - Clean3D - Clean in 3D in MD results window to optimize all steps
As a results steps disturbed enough to provide sufficient gradient will be optimized to a local minimum.
regards
Gabor
User 870ab5b546
03-11-2011 14:01:02
I understand that a user can work around this deficiency by making some manual adjustments, but this workaround requires that the user know that the minimized structure is stuck at a local maximum. If the user is not so aware, then he or she will not know to implement the workaround.
I work with novice students, and I cannot expect them to know enough to manipulate the structure. I am asking you to enhance the algorithm so that JChem will recognize when it is stuck at a local maximum and will adjust the structure accordingly. Please add this request to your list.
ChemAxon efa1591b5a
08-11-2011 14:33:48
Hi Bob,
Thank you for the suggestion. However, in the near future we cannot work on this modified behaviour, so do not expect siwft action from us. :(
Regards
Miklos