This section discusses specifying generalized internal coordinates (GICs) in Gaussian input files. GICs have many potential uses: defining additional coordinates whose values are reported during geometry optimizations, freezing various structural parameters during the optimization of a molecular system, specifying parameters over which to perform a scan, defining constraints for geometry optimizations based on structural parameters or complex relationships between them, requesting calculation of parts of the Hessian, and other purposes.
For an optimization, these coordinates will result in the bond angle remaining fixed at its initial value and the two bond distances being optimized.
Labels are user-assigned identifiers for the coordinate. They are not case sensitive. Labels many contain letters and number, but must begin with a letter. If no label is specified, a generic one will be assigned by the program (e.g., R1, R2, A1, etc.). A parenthesized, comma-separated list of options can be included following the label if desired. Note that square brackets or braces may be substituted for parentheses anywhere in a coordinate definition.
Coordinates are defined by expressions. The simplest expressions simply identify a specific structural parameter within the molecule, using the following constructs. Note that an asterisk may be used as a wildcard for any atom number (see the examples).
Define a bond coordinate between atoms i and j. B, Bond and Stretch are synonyms for R.
Define a non-linear angle coordinate involving atoms i, j and k where the angle vertex is at atom j. Angle and Bend are synonyms for A.
Define a dihedral angle between the plane containing atoms i, j and k and the plane containing atoms j, k and l. Dihedral and Torsion are synonyms for D.
Define the linear bend coordinate involving atoms i, j and k where the angle vertex is at atom j. Linear and LinearBend are synonyms for L.
If l is set to -4, then the fourth atom will be determined automatically based on the molecular geometry.
Define the x Cartesian coordinate for atom i. Cartesian(i,-1) and Cartesian(i,X) are synonyms, and Cartesian may be abbreviated as Cart.
Define the y Cartesian coordinate for atom i. Cartesian(i,-2) and Cartesian(i,Y) are synonyms, and Cartesian may be abbreviated as Cart.
Define the z Cartesian coordinate for atom i. Cartesian(i,-3) and Cartesian(i,Z) are synonyms, and Cartesian may be abbreviated as Cart.
Define x, y or z Cartesian coordinate for the geometric center (centroid) of a molecular fragment that contains specified atoms. The atom list is a comma-separated list of atom numbers and/or ranges. For example, XCntr(1,12-15,27) defines the x coordinate of the fragment containing atoms 1, 12, 13, 14, 15 and 27. If the atom list is omitted, it defaults to the entire molecule.
Define the dot product (a·b) of the two Cartesian coordinate difference vectors a and b for atoms i, j, k and l determined as a = (Xi–Xj, Yi–Yj, Zi–Zj) and b = (Xk–Xl, Yk–Yl, Zk–Zl).
Power of e: EXP(A) for eA.
Trigonometric functions: SIN(A), COS(A), TAN(A).
Exponentiation: A**n for An (n is an integer). The form A^n is also accepted.
The first two coordinates are set as inactive since they are intermediates not intended to be used in the optimization. Line 3 illustrates an expression using previously defined labels, while line 4 shows the use of literal expressions with operators. Note that the argument to the square root function is the constant 2.
A comma separated list of options can follow the coordinate label, enclosed in parentheses. Alternatively, options may follow the expression, separated from it and from one another by spaces. All options are case insensitive.
Active: The coordinate is part of the list of internal coordinates used in the geometry optimzation. In contrast, Inactive coordinates are not included in the set used for the geometry optimization. By default, active coordinates are unfrozen: allowed to change value (see the next bullet).
Frozen: A coordinate whose value is held constant during the course of a geometry optimization. The values of active, unfrozen coordinates change during a geometry optimization. The frozen or unfrozen status of inactive coordinates is irrelevant during an optimization.
In the descriptions that follow, coordinates that "already exist" refers to previously-defined coordinates with the same label or the same value expression. Such coordinates may have been defined earlier in the input stream or retrieved from the checkpoint file from a previous job.
If the specified coordinate does not already exist, build a new coordinate defined by the given expression, and flag it as active and unfrozen. If the coordinate was previously defined, then flag it as active and unfrozen (whatever its previous status). It is the default. Activate, Add and Build are synonyms for Active. May be abbreviated to A when specified following the expression.
Build a coordinate defined by the expression if it does not exist, and flag the coordinate as active for geometry optimizations and freeze it at the current value.
Freeze is a synonym for Frozen. May be abbreviated to F when specified following the expression.
If the coordiante does not already exist, build a new coordinate defined by the expression and flag it inactive. If the coordinate with the given label or for the given expression has been already built and flagged as active (frozen or unfrozen), then remove it from the geometry optimization by flagging it as inactive. Remove is a synonym for Inactive. May be abbreviated to R when specified following the expression.
Remove the coordinate from the list of internal coordinates used in geometry optimization along with any dependent coordinates by flagging all of them as inactive. The dependent coordinates include any coordinate that depends on the same atoms as the given coordinate. For example, R(1,5) Kill will result in removing the coordinate R(1,5)—the internuclear distance between atoms 1 and 5—as well as the valence angles, dihedral angles and any other coordinate that depends on the Cartesian coordinates of atoms 1 and 5 in combination with other atoms in the molecule. RemoveAll is a synonym for Kill. May be abbreviated to K when specified following the expression.
Include the initial value of the coordinate in the starting geometry in the Gaussian output file, and then flag it as inactive.
A label must be included in the coordinate specification for this option. It replaces the old coordinate with the specified label with the new expression, and flags the newly modified coordinate as active and unfrozen.
Calculate numerical second derivatives for the row and column of the initial Hessian corresponding to this coordinate. May be abbreviated to D when specified following the expression.
Change the diagonal element for the given coordinate in the initial Hessian to x, a floating-point number in atomic units. ForceConstant is a synonym for FC.
Set the initial value for the given internal coordinate to x, a floating point value. The units for the value are those of the Gaussian program, as defined by the Units keyword (Angstroms or degrees by default). The current Cartesian coordinates will be adjusted to match this value as closely as possible. This option should be used cautiously and sparingly. It is far easier and more reliable to set the initial molecular structure as desired in a graphical environment like GaussView.
These options are used to specify a relaxed potential energy surface scan in which the coordinate is incremented by x a total of n times, and a constrained optimization is perfromed from each resulting starting geometry. x should be a positive floating-point number in atomic units, N should be an integer >1. When these options follow the expression, the comma separating them should be replaced by a space.
This option is used in combination with Active, Freeze or Inactive. It adds, freezes or makes inactive the coordinate when its value satisfies the condition min≤value≤max. min and max are floating-point numbers in the units defined by the Units (Angstroms or degrees by default). If Min or Max is omitted, the condition becomes value≤max or min≥min respectively. When these options follow the expression, the comma should be replaced by a space.
These options provide conditional coordinate operations. They can only be placed following the expression defining the current coordinate. Action is one of Active, Freeze or Inactive. The condition is a label or expression for another coordinate. The specified action will be performed for the current coordinate if the coordinate referred to in condition is active for OnlyIf or inactive for IfNot. Note that the conditional test applies only to the action specified preceding the option and not to other options that may be present in the coordinate specification.
The following options are independent of coordinate definitions and apply globally. They should be specified alone on their input line.
Freeze all internal coordinate previously added as active.
Unfreeze all internal coordinates previously added as active frozen.
Remove/inactivate all internal coordinate previously added as active (frozen or unfrozen).
Apply the specified action to the Cartesian coordinates of atom i. If i is an asterisk, then the action applies to all atoms. Action is one of Active, Freeze, UnFreeze, Remove (make inactive), RemoveAll and XYZOnly. These options are as defined above; XYZOnly says to remove any internal coordinates that depend on atom i but to add/retain the coordinates of that atom. The default action is Active.
R(5,9) freeze                 		Freeze bond distance R(5,9).
R(8,9)                        		Add a new active coordinate R(8,9) with a default label.
Ang189 = A(1,8,9)             		Add a new active coordinate A(1,8,9) labeled Ang189.
R10(remove)                             Remove a coordinate labeled R10.
Dih6123(remove) = D(6,1,2,3)  		If D(6,1,2,3) exists, then remove the coordinate.
Dis79(freeze) = R(7,9)        		Freeze the coordinate R(7,9): if it is new, then label it Dis79; if it already exists, retain the old label.
G1 = (R16+R19)*0.529177       		Add a new coordinate labeled G1.
Ang189a(modify)=cos(g2)*57.29577951   	Change the definition of coordinate Ang189a.
R(11,*) remove                		Remove distances between atom 11 and any other atom.
D(*,1,17,*) remove            		Remove any dihedral built around the 1-17 bond.
Note that if a specified coordinate already exists, then an entry adding it will result in an error (e.g., lines 1-3 above).
Define the center of Fragment 1, but don't include it in the optimization.
Define the center of Fragment 2, but don't include it in the optimization.
A(1,2,3) Remove Min=179.9           Remove angle coordinate if too large.
L(1,2,3,0,-1) Add IfNot A(1,2,3)    Add linear bend only if the angle coordinate not active.
In the current implementation, GICs can be successfully used for many purposes including optimization constraints and PES scans. However, there are potential problems with active composite coordinates including multiple dihedral angles. In general, coordinates comprised of combinations of bond distances and bond angles should behave well. Simple dihedral angles are also welll supported. Complex expressions involving multiple dihedral angles are acceptable for frozen coordinates and for PES scans. However, they should be avoided as active optimization coordinates.
D1 and D2 are dihedral angles, but they are intermediates and are not used as variables in the optimization. Their periodicity is not currently recognized in the composite coordinate V1. Suppose they have values of 1 and 2 degrees at one geometry and 1 and 359 degress at the next. The change in the optimization variable V1 should be 0 + 2*(-3) = -6 degrees, but it is actually 0 + 2*(357) = 714 degrees, which looks like an enormous change. This will result in the optimization algorithm performing very poorly. V1 isn't a simple periodic function; it is necessary to apply periodicity to its component parts as it is computed, which is not done in the current GIC implementation.
The values of the GICs defined as pure distances and angles (including valence angles, linear bends and dihedral angles/torsions) are computed from the Cartesian coordinates in atomic units (Bohrs) and stored internally in Bohrs and radians. However, for the user's convenience, they are expressed as usual in Angstroms and degrees in the Gaussian output. In the case of a generic GIC (i.e., when the GIC is not a pure Cartesian coordinate, bond distance or angle), the GIC value is computed as a function of Cartesian coordinates and bond distances in Bohrs and angles in radians, combined with optional constants in user-defined units. Such generic GIC values (labeled as GIC) are computed, stored and output in these same units: i.e., if the GIC is a combination of bonds or a combination of valence angles, then the arbitrary units become Bohrs for the bonds and radians for the angles.
Modifications to the GICs can be read in using the ModRedundant format from the current internal coordinate algorithm. However, the old format is only available with the GICs that include only pure bond distances, bond angles or torsion angles. In addition, the old format and the new GIC format described above cannot be mixed together in the same input section.