4.1 The Geometry Main Menu
After some preliminaries providing the title etc. you reach the geometry main menu:
SPECIFICATION OF MOLECULAR GEOMETRY ( #ATOMS=0 SYMMETRY=c1 )
YOU MAY USE ONE OF THE FOLLOWING COMMANDS :
sy <group> <eps> : DEFINE MOLECULAR SYMMETRY (default for eps=3d-1)
desy <eps> : DETERMINE MOLECULAR SYMMETRY AND ADJUST
COORDINATES (default for eps=1d-6)
syndi <eps> : LIKE DESY, BUT FIND ONLY GROUPS WITH NON-
DEGENERATE IRREPS (D2h AND SUBGROUPS)
susy : ADJUST COORDINATES FOR SUBGROUPS
ai : ADD ATOMIC COORDINATES INTERACTIVELY
a <file> : ADD ATOMIC COORDINATES FROM FILE <file>
aa <file> : ADD ATOMIC COORDINATES IN ANGSTROEM UNITS FROM FILE <file>
sub : SUBSTITUTE AN ATOM BY A GROUP OF ATOMS
i : INTERNAL COORDINATE MENU
ired : REDUNDANT INTERNAL COORDINATES
red_info : DISPLAY REDUNDANT INTERNAL COORDINATES
ff : UFF-FORCEFIELD CALCULATION
m : MANIPULATE GEOMETRY
frag : DEFINE FRAGMENTS FOR BSSE CALCULATION
w <file> : WRITE MOLECULAR COORDINATES TO FILE <file>
r <file> : RELOAD ATOMIC AND INTERNAL COORDINATES FROM FILE <file>
name : CHANGE ATOMIC IDENTIFIERS
del : DELETE ATOMS
dis : DISPLAY MOLECULAR GEOMETRY
banal : CARRY OUT BOND ANALYSIS
* : TERMINATE MOLECULAR GEOMETRY SPECIFICATION
AND WRITE GEOMETRY DATA TO CONTROL FILE
IF YOU APPEND A QUESTION MARK TO ANY COMMAND AN EXPLANATION
OF THAT COMMAND MAY BE GIVEN
This menu allows you to build your molecule by defining the Cartesian coordinates interactively (ai) or by reading the coordinates from an external file (a, aa). The structure can be manipulated by the commands sub, m, name and del. The command sy allows you to define the molecular symmetry while desy and syndi try to determine automatically the symmetry group of a given molecule.
There exists a structure library which contains the Cartesian coordinates of selected molecules, e.g. \(\rm CH_4\). These data can be obtained by typing for example a ! ch4 or a ! methane. The data files are to be found in the directory $TURBODIR/structures. The library can be extended.
You can perform a geometry optimization at a force field level to preoptimize the geometry. For this purpose the Universal Force Field (UFF) developed from Rappé et al. in 1992 [11] has been implemented in the uff module (see also Section 5.4). This can also be used to calculate an analytical approximate Cartesian Hessian. If one does so, the start Hessian for the ab initio geometry optimization is this Hessian instead of the diagonal one ($forceinit on carthess for relax module).
Recommendation
Here is an easy way to get internal coordinates, which should work.
Have coord ready before calling define. In the main geometry menu proceed as follows to define redundant internals:
- a coord
-
read
coord - desy
-
determine symmetry, if you expect a higher symmetry, repeat with increased tolerance
desy 0.1, you may go up todesy 1.. - ired
-
get redundant internals
-
quit main geometry menu
To define internals:
- a coord
-
read
coord - desy
-
determine symmetry
- i
-
go to internal coordinate menu
- iaut
-
automatic assignment of bends etc.
- q
-
to quit bond analysis
- imet
-
to get the metric, unnecessary internals are marked
dnow. If#ideg = #kin the head line you are done. Otherwise this did not work. - <enter>
-
go back to main geometry menu
-
quit main geometry menu
To define cartesians:
- a coord
-
read
coord - desy
-
determine symmetry
-
quit main geometry menu
4.1.1 Description of commands
Main Geometry Menu
In the headline of this menu you can see the current number of atoms and molecular symmetry (we use an input for PH\(_3\) as example). The commands in this menu will now be described briefly:
- sy
-
Definition of the Schönflies symbol of the molecular point group symmetry. If you enter only
sy,definewill ask you to enter the symbol, but you may also directly entersy c3v.definewill symmetrize the geometry according to the new Schönflies symbol and will create new nuclei if necessary. You therefore have to take care that you enter the correct symbol and that your molecule is properly oriented. AllTURBOMOLEprograms require the molecule to be in a standard orientation depending on its point group. For the groups \(C_n\), \(C_{nv}\), \(C_{nh}\), \(D_n\), \(D_{nh}\) and \(D_{nd}\) the z-axis has to be the main rotational axis, secondary (twofold) rotational axis is always the x-axis, \(\sigma_v\) is always the xz-plane and \(\sigma_h\) the xy-plane. \(O_h\) is oriented as \(D_{4h}\). For \(T_{d}\), the threefold rotational axis points in direction (1,1,1) and the z-axis is one of the twofold axes bisecting one vertex of the tetrahedron. - desy
-
desyallows you to determine the molecular symmetry automatically. The geometry does not need to be perfectly symmetric for this command to work. If there are small deviations from some point group symmetry (as they occur in experimentally determined structures),desywill recognize the higher symmetry and symmetrize the molecule properly. If symmetry is lower than expected, use a larger threshold:<eps>up to 1.0 is possible. syndi-
syndiworks just likedesy, but only recognizes point groups with non-reducible irreducible representations (that is D\(_{2\text{h}}\) and its subgroups). This is designed for some features ofTURBOMOLEwhich can only handle such point groups. Note that the orientation of the molecule might be different from what you expect. For example, the \(xy\) plane will be a mirror plane of NH\(_3\) (which is assigned C\(_{\text{s}}\) symmetry). - susy
-
susyleads you through the complete subgroup structure if you want to lower symmetry, e.g. to investigate Jahn–Teller distortions. The molecule is automatically reoriented if necessary.
Example: \(T_d \rightarrow D_{2d} \rightarrow C_{2v} \rightarrow C_s\). - ai
-
You may enter Cartesian atomic coordinates and atomic symbols interactively. After entering an atomic symbol, you will be asked for Cartesian coordinates for this type of atom until you enter
*. If you enter&, the atom counter will be decremented and you may re-define the last atom (but you surely won’t make mistakes, will you?). After entering*,defineasks for the next atom type. Entering&here will allow you to re-define the last atom type and*to leave this mode and return to the geometry main menu. Enterqas atom symbol if you want to use a dummy center without nuclear charge. Symmetry equivalent atoms are created immediately after you entered a set of coordinates.This is a convenient tool to provide e.g. rings: exploit symmetry group \(D_{nh}\) to create an n-membered planar ring by putting an atom on the x-axis.
afile-
You may also read atomic coordinates (and possibly internal coordinates) from file, where file must have the same format as the data group
$coordin filecontrol.The Cartesian coordinates and the definitions of the internal coordinates are read in free format; you only have to care for the keywords
$coordand (optionally)$intdefand (important!) for the$endat the end of the file. The atomic symbol follows the Cartesian coordinates separated by (at least) one blank. For a description of the internal coordinate definitions refer to 4.1.Entering ‘
!’ as first character of file will telldefineto take file from the structure library. (The name following the ‘!’ actually does not need to be a filename in this case but rather a search string referenced in the structure library contents file, see Section 4.1). aafile-
same as
a, but assumes the atomic coordinates to be in Å rather than a.u. - sub
-
This command allows you to replace one atom in your molecule by another molecule. For example, if you have methane and you want to create ethane, you could just substitute one hydrogen atom by another methane molecule. The only requirement to be met by the substituted atom is that it must have exactly one bond partner. The substituting molecule must have an atom at the substituting site; in the example above it would not be appropriate to use CH\(_3\) instead of CH\(_4\) for substitution. Upon substitution, two atoms will be deleted and the two ones forming the new bond will be put to a standard distance.
definewill then ask you to specify a dihedral angle between the old and the new unit. It is also possible to use a part of your molecule as substituting unit, e.g. if you have some methyl groups in your molecule, you can create further ones by substitution. Some attention is required for the specification of this substituting unit, because you have to specify the atom which will be deleted upon bond formation, too. If you enter the filename from which the structure is to be read starting with ‘!’, the file will be taken from the structure library (see Section 4.1). Definitions of internal coordinates will be adjusted after substitution, but no new internal coordinates are created. - i
-
This command offers a submenu which contains everything related to internal coordinates. It is further described in Section 4.1.2.
- m
-
This command offers a submenu which allows you to manipulate the molecular geometry, i.e. to move and rotate the molecule or parts of it. It is further described in Section 4.1.3.
- frag
-
Here, the fragments will be defined as being used by the
jobbssescript in order to do a calculation osing the counter-poise correction scheme. In this menu, up to three monomers can be defined, together with their charges and their symmetry. When assigning atom numbers to fragments, if x is entered instead of a number, the program will request the first and last atoms of a range. This will be useful for very large fragments. wfile-
The command
wwrites your molecular geometry and your internal coordinates to file. Afterwards you will be back in the geometry main menu. If the filename entered starts with ‘!’, the structure will be written to the structure library. - name
-
nameallows you to change atomic identifiers turning, e.g. oxygen atoms into sulfur atoms. After entering the identifier to be changed (remember the double quotation marks :"c ring"), you will be asked to enter the new one. You can use question marks for characters not to be changed, e.g. you enter"??ring"to changec chaintoc ring. If you do not enter eight characters, your input will be filled up with trailing blanks. - del
-
The command
delallows you to delete one or more atoms. After you entered the atomic list,definewill show you a list of all atoms concerned and will ask you to confirm deleting these atoms. If any internal coordinate definitions exist, which rely on some of the deleted atoms, these definitions will be deleted, too. - banal
-
The command
banalallows you to perform a bonding analysis, that is,definewill try to decide which atoms are bonded and which are not (according to a table of standard bond lengths which is included in the code ofdefine). You must have performed this command before you can use the display commandsdisb(display bonding information) ordisa(display bond angle information). The standard bond lengths (and the bonding analysis available from these) are also needed for the commandssubandiaut(see internal coordinate menu, Section 4.1.2). If you want to change the standard bond lengths (or define more bond lengths, because not for all possible combinations of elements a standard length is available) you can do that by creating your own file with the non-default values and by specifying its full path name in file.sys.data. The file has the following simple format:c - h 2.2 h - h 2.0 . - . ...The format of the entries is almost arbitrary: the two element symbols have to be separated by a bar, the new bond distance follows in free format (in atomic units). If the file cannot be read properly, a warning message is displayed.
-
This command leaves this first main menu and writes all data generated so far to file. The default output file is the file you choose in the first question during your
definesession (usuallycontrol). Now the data groups$coordand$intdefwill be written to file. After leaving this menu, you will enter the atomic attributes menu, which is described in Section 4.2.
4.1.2 Internal Coordinate Menu
INTERNAL COORDINATE MENU ( #ideg=6 #k=2 #f=0 #d=0 #i=0 )
imet <a> : PROVIDE B-MATRIX FOR ACTIVE INTERNAL COORDINATES
(CHECK COMPLETENESS AND NUMERICAL QUALITY
AND CHANGE REDUNDANT INTERNALS TO display)
idef : SUB-MENU FOR INTERACTIVE DEFINITION OF INTERNAL COORDINATES
ideg <a> : OUTPUT NUMBER OF TOT. SYMMETRIC INTERNAL DEGREES OF FREEDOM
iaut : TRY AUTOMATIC DEFINITION OF INTERNAL COORDINATES
iman <a> : MANIPULATE GEOMETRY BY CHANGING INTERNAL COORDINATE VALUES
imanat <i>: AS iman BUT STARTING AT INTERNAL COORD. NUMBER i
ic <i> <x>: CHANGE STATUS OF INTERNAL COORDINATE <i> TO <x>
e.g. ic 5 d TO MAKE 5TH COORD. display OR ic k d
irem <i> : REMOVE INTERNAL COORDINATE <i>,
e.g. irem d TO REMOVE ALL display COORDS
dis : ANY DISPLAY COMMAND e.g. disi OR disc
disiat <i>: AS disi BUT STARTING AT INTERNAL COORD. NUMBER i
WHERE <a>= OPTIONAL ATOMIC SET (DEFAULT=all)
<i>= INDEX(LIST) OF INTERNAL COORDINATE(S) LIKE 3-6,8 OR <i>=<x>
<x>= STATUS OF INTERNAL COORDINATE = k, f, d OR i
ADDING A QUESTION MARK TO ANY COMMAND MAY PROVIDE EXPLANATIONS
ENTER COMMAND OR HIT >return< TO GET BACK TO GEOMETRY MAIN MENU
The parameters in the headline of this menu have the following meanings:
- #ideg
-
is the total number of symmetry restricted degrees of freedom.
- #k
-
is the number of active internal coordinates specified up to now. Only these coordinates are optimized during a geometry optimization.
- #f
-
is the number of fixed internal coordinates specified. These coordinates will be included in the \(\mathbf{B}\)-matrix (see command
imet), but their values will not be changed during geometry optimization. - #d
-
is the number of internal coordinates whose values will only be displayed (e.g. by command
disi), but no gradients will be calculated for these coordinates nor will they be included in the geometry optimization. - #i
-
means the number of coordinates which are defined, but will be completely ignored, i.e. they are not even displayed on the screen and will not be used by any program (this is the waste-paper-basket of
define).
Note that the #k plus #f must equal the number of degrees of freedom (#ideg) of your molecule, if you want to perform a geometry optimization. If you have less coordinates than degrees of freedom, you will have to specify further ones (commands idef or iaut, see below); if you have more coordinates than degrees of freedom, you will have to throw away some of them (commands irem or imet, see below).
The commands in this menu allow you to define internal coordinates for your molecule, adjust your geometry to special values of these internal coordinates and to control the numeric reliability of the chosen set of internal coordinates. In detail, the commands act as follows.
Description of commands
imeta-
This command computes the so-called \(\mathbf{B}\)-matrix, which is the matrix of the derivatives of the (active and fixed) internal coordinates with respect to Cartesian coordinates. This matrix is used in program
relaxfor the conversion from Cartesian coordinates and gradients to internal ones and vice versa. If this matrix is singular (or even nearly singular) this indicates a linear dependency of your internal coordinate set. As a consequence the geometry update (more exactly the transformation of the updated internal coordinates into Cartesian ones) will fail. This may also happen in the course of a geometry optimization if the coordinates run into linear dependency during their optimization.imetchecks the \(\mathbf{B}\)-matrix and removes linear dependent internal coordinates from your list (their status is changed from#kor#fto#d). If \(\mathbf{B}\) is only near singular, a warning is issued and the lowest eigenvalue(s) as well as the corresponding eigenvector(s) are displayed. In this case, you should try to find better internal coordinates (although this may not always be possible). After the commandimet, there may be too few (active plus fixed) internal coordinates, but certainly not too many (because linear dependencies have been eliminated). Perhaps you will have to add new ones or—better!—try commandiautoriredin the preceding menu.Command
imetshould be used always after creating internal coordinates withiautoridef(especially afteriaut, because this command creates usually an overcomplete set of internal coordinates). - idef
-
idefunfolds a little submenu where you can define internal coordinates manually. The exact procedure of the definition will be described below in a separate section. idega-
This command gives you the number of symmetry restricted degrees of freedom (for the atomic set specified by a). Without symmetry, this is just \(3N-6\), where \(N\) is the number of atoms, but if there is symmetry, some of these degrees of freedom will violate symmetry and therefore are not valid. For geometry optimizations, only the symmetry allowed degrees of freedom are needed, because the symmetry requirements are imposed anyway. In connection with the optional atomic set a this command can help you to find out, in which part of a complicated molecule internal coordinates are missing, if you fail to get the full number of
#ideg(which equals the result ofideg all) for the molecule as a whole. - iaut
-
iauttries an automatic definition of internal coordinates. This command relies on an recursive procedure which tries to simplify the molecule as far as possible and then starts the definition of internal coordinates. At present not all molecular topologies are supported, therefore it may happen that no internal coordinates can be assigned to your molecule or at least a part of it. However, for all cases in which an automatic assignment of coordinates is possible,iauthas up to now proved to provide very good internal coordinates. Ifiautworks for your molecule (and in most non-pathological cases it will) we recommend strongly to use these coordinates, as they may help you to save several cycles in the geometry optimization procedure. After creating internal coordinates withiautyou should always useimet(see above), becauseiautmay provide an overcomplete set of coordinates. All coordinates which conflict with the molecular symmetry are set to ignore byiaut. imana-
imanallows you to modify the values of internal coordinates. If you specify a list of atoms a only those internal coordinates which refer to only these atoms will be handled. You will get a list of all (active and fixed) internal coordinates and their current values and you will be able to enter a new value for each of them if you like. Default (<enter>) keeps the value shown. Be aware that all distances are given in atomic units (\(1\,\mathrm{a.u.}=52.9\,\mathrm{pm}\)). ici x-
This option allows you to change the status of a coordinate, e.g. from active to display or every other combination. The syntax is
ic 5 d, if coordinate no. \(5\) is to be set to display, oric k d, if all active coordinates are to be set to display. iremi-
This option allows you to delete definitions of internal coordinates from your list. The indices of the internal coordinates always refer to the full list of coordinates including display and ignore coordinates. To make sure you delete the right ones, use
disi. Also the indices will immediately change if you delete coordinates. If you want to delete several coordinates, this is therefore done most easily if you delete them in order of descending indices (because deletion of a coordinate has only an effect on the coordinates with higher indices). After choosing the coordinates to be deleted, a list of all coordinates involved will be displayed and you will be asked to confirm deletion.The syntax is simply
irem 5to delete internal coordinate no. \(5\) orirem dto remove all ‘display’ coordinates.
Hitting <return> will bring you back to the geometry main menu.
Interactive Definition of Internal Coordinates
If you choose idef in the internal coordinate menu, you will get the following information:
ENTER INTERNAL COORDINATE DEFINITION COMMAND
<x> <type> <indices>
WHERE <x> = k f d i
<type> = stre invr bend outp tors linc linp
comp ring pyrm bipy pris cube octa
THESE COMMANDS WILL BE EXPLAINED IN DETAIL IF YOU ENTER
<x> <type>? FOR SOME CHOICE OF <x> AND <type>, E.G. k stre ?
DEFAULT=GO BACK TO INTERNAL MAIN MENU DISPLAY=dis
The <x> means the status (see page 4.1.2) of the internal coordinate entered (k, f, d, i). The syntax is:
k stre 1 2
d tors 3 6 2 7
f bend 3 4 5
i outp 3 4 7 9
Note that in the third example atom 5 is the central atom of the angle!
Specification of available internal coordinates
The following types of coordinates are available:
- stre
-
The
stre(for stretch) describes a distance between two atoms. It needs only two atomic indices to be given, the order of which is arbitrary. - invr
-
The
invrcoordinate (for inverse r) describes an inverse distance. The declaration is the same as forstre, but in some cases (if you are far away from the minimum) the use ofinvrmay result in better convergence. - bend
-
benddescribes a bond angle. It requires three atoms to be specified, of which the third one is the atom at the apex. - outp
-
Out-of-plane angle: outp \(a b c d\) is the angle between bond \(a-d\) and plane \(b-c-d\).
- tors
-
Dihedral angle: tors \(a b c d\) is the angle between the planes \(a-b-c\) and \(b-c-d\).
- linc
-
This is a special coordinate type to describe the bending of a near-linear system. linc \(a b c d\) describes the collinear bending of \(a-b-c\) (where the angle is defined as for
bend: the apex atom appears last) in the plane of \(b-c-d\) (see also below, commandlinp). The system \(b-c-d\) has to be non-linear, of course. - linp
-
This coordinate is similar to
linc, but describes the bending of \(a-b-c\) perpendicular to the plane \(b-c-d\). These two types of coordinates are in most cases sufficient to describe the bending of near-linear systems. An example may help you to understand these two coordinate types. Consider ketene, H\(_2\)CCO, which contains a linear system of three atoms. Without symmetry, this molecule has 9 degrees of freedom. You could choose the four bond lengths, two CCH angles and the out-of-plane angle of the C–C bond out of the CHH–plane. But then two degrees of freedom still remain, which cannot be specified using these normal coordinate types. You can fix these by usinglincandlinp. The two coordinateslinc 1 3 2 4andlinp 1 3 2 4(where 1=oxygen, 2=carbon, 3=carbon, 4=hydrogen) would solve the problem. - comp
-
The type
compdescribes a compound coordinate, i.e. a linear combination of (primitive) internal coordinates. This is often used to prevent strong coupling between (primitive) internal coordinates and to achieve better convergence of the geometry optimization. The use of linear combinations rather than primitive coordinates is especially recommended for rings and cages (see ref. [49]). Commandiautuses linear combinations in most cases.After you entered
k compn where n is the number of primitive internal coordinates to be combined, you will be asked to enter the type of the coordinate (stre,bend, …). Then you will have to enter the weight (the coefficient of this primitive coordinate in the linear combination) and the atomic indices which define each coordinate. The definition of the primitive coordinates is the same as described above for the corresponding coordinate types. It is not possible to combine internal coordinates of different types. - ring
-
This type helps you to define special ring coordinates. You only have to enter
k ringn wherenis the ring size. Then you will be asked for the atomic indices of all atoms which constitute the ring and which must be entered in the same order as they appear in the ring. The maximum number of atoms in the ring is 69 (but in most cases the ring size will be limited by the maximum number of atoms which is allowed fordefine).
Hitting <return> will bring you back to the internal coordinate menu where you can see the new number of internal coordinates in the headline.
4.1.3 Manipulating the Geometry
Note that the molecular geometry can be modified with the iman command of the internal coordinate menu described earlier, if internal coordinates has been defined. Another option is to select m in the geometry main menu which provides the following submenu:
CARTESIAN COORDINATE MANIPULATION MENU :
move : TRANSLATE AND/OR ROTATE PART OF THE MOLECULE
align : ROTATE MOLECULE TO ALIGN TWO AXES
inert : MOVE MOLECULE SO THAT COORDINATE AXES BECOME
PRINCIPAL AXES OF INERTIA
mback : RESTORE PREVIOUS MOLECULAR GEOMETRY
dis : DISPLAY MOLECULAR GEOMETRY
YOU MAY APPEND A QUESTION MARK TO ANY OF THESE COMMANDS
FOR FURTHER EXPLANATIONS.
HIT >return< OR USE ANY GEOMETRY COMMAND NOT IN THIS LIST
TO TERMINATE THIS MENU.
UPON TERMINATION THE MOLECULAR SYMMETRY WILL BE ENFORCED
ACCORDING TO SYMMETRY GROUP c3v .
The meaning of the commands inert and mback should be clear; the commands move and align allow you to manipulate the geometry of your molecule. After entering move or align, you will be asked to specify a set of atoms on which the command shall act. You can use this to manipulate only a part of your molecule, e.g. if you are building a structure from subunits and you want to adjust their relative arrangement. As long as you stay in this menu, the molecular symmetry needs not be correct (so that you can try different movements and/or rotations), but as soon as you leave it, the geometry will be symmetrized according to the present Schönflies symbol. In move, after you specified the atomic set to be considered, you get the following information:
INPUT DIRECTION OF MOVEMENT OR LOCATION OF ROTATION AXIS
EITHER AS A COORDINATE TRIPLE SEPARATED BY BLANKS,
OR AS TWO ATOMIC INDICES SEPARATED BY KOMMA, OR x OR y OR z
OR ENTER ANY DISPLAY COMMAND FIRST OR & TO GO BACK
You can thus specify the direction of movement (or the rotational axis) in the form 0. 0. 1. or simply z (which both describes the z-axis) or 1.3256 -3.333 0.2218 for an arbitrary axis. If you want to specify an axis which is related to your molecule, you may also enter two atomic indices which define it. After having specified the axis, you have to enter the distance of movement and the angle of rotation. If you want to perform a simple rotation, enter 0 for the distance of movement and if you want to simply move your structure, enter 0 for the rotational angle.
In the align submenu, you are asked for two directions (“current orientation” and “new direction”) and you can use the same syntax as described above. The molecule will be rotated such that the “current orientation” axis points into the new direction. For example, first entering 1,2 and then z rotates (a part of) the molecule such that the bond between atom 1 and atom 2 is parallel to the \(z\) axis.
You can leave this menu and return to the geometry main menu by hitting <return> or by entering any command of the geometry main menu.