Author Topic: Cant change stretch value  (Read 6303 times)

janwahl

  • Jr. Member
  • **
  • Posts: 13
  • Karma: +0/-0
Cant change stretch value
« on: September 07, 2009, 12:36:06 PM »
i just have now a problem with my geometry optimization. I just want to do a geometryoptimization with a constraind. i have now all internal coordinates but when i set in my coord file the constrained and change the value of the stretch, define doesnt recognize the change. disi always shows up the old value. so how can i change the value of stre and set it "f"??

thenk you for your help

jan

  • Jr. Member
  • **
  • Posts: 11
  • Karma: +0/-0
Re: Cant change stretch value
« Reply #1 on: October 12, 2009, 11:36:19 AM »
Hello
I am not sure if I understand what you did. You created a coord file with internal coordinates and than edited the file to set an "f" behind the internal coordinate that define the angle to fix it.? Is that right?
If so I think this is not the right procedure. You have to do this internal coordinates  submenu "idef". There you type in "f stre A B" where A and B are the two atoms between which the distance should be fixed.
And I think you can't change the distance between these two atoms in the "idef" menu. So you need an input structure that has the right distance between these atom. In the "idef" you can only fix that value.
Regards

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 560
  • Karma: +0/-0
Re: Cant change stretch value
« Reply #2 on: October 12, 2009, 11:59:47 AM »
Hi,

define can change the value of internal coordinates if the Pulay internal coordinates are used and not the redundant ones. If you manage to get a complete set of internal coordinates (e.g. by using iaut and then imet to check the linear dependency), it is possible to change the value of each internal coordinate with iman.

For larger molecules or such with a more complicated structure (annealed rings, etc.) where the automatic generation of Pulay internal coordinates with iaut fails, another approach can be used:

  • read in your structure in define as usual
  • define the internal coordinate you want to change as fixed (idef and then e.g.  f tors 1 2 3 4 , bend 3 1 5, ...)
  • generate internal redundant coordinates (not really necessary, but it makes sure that all keywords are written to the control file by default)
  • continue with the input generation as usual
  • after define has finished, open the coord file and search for the

    $intdef
    # definitions of internal coordinates
      1  f  1.0000000  bend  4    2     1      val=92.34832


    section and change the value to whatever you like (too large changes can result in problems with convergence, see below).
  • re-run define, enter the geometry menu and just redo ired

    The internal redundant coordinate generation step automatically reads in all fixed internal coordinates and checks if their values differ from the cartesian structure. If that is the case, it will iteratively try to move the cartesians to the new values of the internal coordinates (cartesian -> internal is trivial, but internal -> cartesian is not uniquely defined). Check the output if the structure has converged, if not retry the procedure with smaller changes.

This is also described in the tutorial.

Uwe