Description
The Geom keyword specifies the source of the molecule specification input, options related to coordinate definitions, and geometry-related output. By default, it is read from the input stream, as described previously. Geom may be used to specify an alternate input source. It also controls what geometry-related information is printed and use of internal consistency checks on the Z-matrix. The Geom keyword is not meaningful without at least one item selection option.
Gaussian 16 supports generalized internal coordinates (GIC), a facility which allows arbitrary redundant internal coordinates to be defined and used for optimization constraints and other purposes [Marenich17p]. There are several GIC-related options to Geom, and the GIC Info subsection describes using GICs as well as their limitations in the present implementation.
Options
Geometry Retrieval Options
Checkpoint
Take the molecule specification (including variables) from the checkpoint file. Only the charge and multiplicity are read from the input stream. For example, Geom=Checkpoint may be used by a later job step to retrieve the geometry optimized during an earlier job step from the checkpoint file. Checkpoint may be combined with the ModRedundant option or with the AddGIC option if you want to retrieve and alter the molecule specification in a checkpoint file using internal coordinate-style modifications. Note that Geom=(Checkpoint,ModRedundant,GIC) is equivalent to Geom=(Checkpoint, AddGIC). The Geom=(Checkpoint,GIC) option (i.e., without ModRedundant) will not use the GICs from the checkpoint file, but instead, it will build a new set of GICs automatically based on the current molecular specification (e.g., Cartesian coordinates) from the checkpoint file. The Geom=(Checkpoint,ReadAllGIC) option will not use the GICs from the checkpoint file, but instead, it will read a new set of GICs from the input file and calculate their values based on the current molecular specification (e.g., Cartesian coordinates) from the checkpoint file. Note that Geom=(Checkpoint,GIC) is equivalent to Geom=Checkpoint Opt=GIC, and Geom=(Checkpoint, ReadAllGIC) is equivalent to Geom=Checkpoint Opt=ReadAllGIC.
AllCheck
Take the molecule specification (including variables), the charge and multiplicity, and the title section from the checkpoint file. Thus, only the route section and any input required by keywords within it need be specified when using this option. This option is not valid with Modify but may be combined with ModRedundant, GIC, or AddGIC in the same way as the Checkpoint option.
Step=N
This option retrieves the structure produced by the Nth step of a failed or partial geometry optimization (it is not valid for a successful optimization). Step=Original recovers the initial starting geometry. This option is used for restarting geometry optimization from intermediate points. It must be combined with one of Checkpoint, AllCheck, or Modify. Note that not all steps are always present in the checkpoint file; a Hessian updated message in the log file means that the corresponding step is available in the checkpoint file. NGeom=N retrieves the Nth geometry from an optimization checkpoint file using the same record of points used for display in GaussView, where N=1 corresponds to the input molecule specification. Geom=Step=M is automatically converted to Geom=NGeom=M+1 if the previous optimization used redundant internal coordinates.
Modify
Note that this option refers to modification specifications for geometry optimizations using Z-matrix coordinates only. In general, it is deprecated in favor of ModRedundant. It should not be used with GICs. Use Geom=(Checkpoint,AddGIC) instead of Geom=Modify if you want to modify the generalized internal coordinates.
This option specifies that the geometry is to be taken from the checkpoint file and that modifications will be made to it. A total of two input sections will be read: the first contains the charge and multiplicity, and the second contains alterations to the retrieved geometry.
Modification specifications for geometry optimizations using Z-matrix coordinates have the following form:
variable [new-value] [A|F|D]
where variable is the name of a variable in the molecule specification, new-value is an optional new value to be assigned to it, and the final item is a one-letter code indicating whether the variable is to be active (i.e., optimized) or frozen; the code letter D requests numerical differentiation be performed with respect to that variable and activates the variable automatically. If the code letter is omitted, then the variable’s status remains the same as it was in the original molecule specification.
Geometry Specification & Modification Options
ModRedundant
Except for any case when it is combined with the GIC option (see below), the ModRedundant option will add, delete, or modify redundant internal coordinate definitions (including scan and constraint information) before performing the calculation. This option requires a separate input section following the geometry specification. AddRedundant is synonymous with ModRedundant.
This option may be used for job types other than optimizations. It may also be combined with NGeom, Check or AllCheck to retrieve and modify an internal coordinate definition from a checkpoint file.
When used with Check, or NGeom, two input sections will be read: the first contains the charge and multiplicity, and the second contains alterations to the retrieved internal coordinate definition. When combined with the AllCheck option, only the internal coordinate definition modifications input is needed.
Lines in a ModRedundant input section use the following syntax:
[Type] N1 [N2 [N3 [N4]]] [A | F] [Type] N1 [N2 [N3 [N4]]] B [Type] N1 [N2 [N3 [N4]]] K | R [Type] N1 [N2 [N3 [N4]]] D [Type] N1 [N2 [N3 [N4]]] H diag-elem [Type] N1 [N2 [N3 [N4]]] S nsteps stepsize
N1, N2, N3, and N4 are atom numbers or wildcards (discussed below). Atom numbering begins at 1, and any dummy atoms are not counted.
The atom numbers are followed by a one-character code letter indicating the coordinate modification to be performed; the action code is sometimes followed by additional required parameters as indicated above. If no action code is included, the default action is to add the specified coordinate. These are the available action codes:
A | Activate the coordinate for optimization if it has been frozen. |
F | Freeze the coordinate in the optimization. |
B | Add the coordinate and build all related coordinates. |
K | Remove the coordinate and kill all related coordinates containing this coordinate. |
R | Remove the coordinate from the definition list (but not the related coordinates). |
D | Calculate numerical second derivatives for the row and column of the initial Hessian for this coordinate. |
H | Change the diagonal element for this coordinate in the initial Hessian to diag-elem. |
S | Perform a relaxed potential energy surface scan. Increment the coordinate by stepsize a total of nsteps times, performing an optimization from each resulting starting geometry. |
An asterisk (*) in the place of an atom number indicates a wildcard. Here are some examples of wildcard use:
* | All atoms specified by Cartesian coordinates. |
* * | All defined bonds. |
3 * | All defined bonds with atom 3. |
* * * | All defined valence angles. |
* 4 * | All defined valence angles around atom 4. |
* * * * | All defined dihedral angles. |
* 3 4 * | All defined dihedral angles around the bond connecting atoms 3 and 4. |
By default, the coordinate type is determined from the number of atoms specified: Cartesian coordinates for 1 atom, bond stretch for 2 atoms, valence angle for 3 atoms, and dihedral angle for 4 atoms. Optionally, type can be used to designate these and additional coordinate types:
X | Cartesian coordinates. |
B | Bond length. |
A | Valence angle. |
D | Dihedral angle. |
L | Linear bend specified by three atoms (if N4 is -1) or by four atoms, where the fourth atom is used to determine the 2 orthogonal directions of the linear bend. |
See the examples under the Opt keyword for illustrations of the use of ModRedundant.
NewDefinition
Generate a new set of redundant internal coordinates, replacing any that were in the checkpoint file. This option should not be used with GICs; use Geom=(Checkpoint,GIC) instead.
SkipAll
Do not generate any internal coordinates automatically. In the case of redundant internal coordinates based on the old algorithm available in Gaussian 09, all of the required coordinates must be explicitly specified in the ModRedundant input section. In the case of GIC-type internal coordinates based on the new GIC algorithm, you should use Geom=ReadAllGIC instead of this option.
SkipAng
Generates bonds but omits angles and dihedrals.
SkipDihedral
Suppresses the generation of dihedrals.
SkipHBond
Skips generation of hydrogen-bond coordinates.
KeepConstants
KeepConstants retains and NoKeepConstants discards information about frozen variables. The default is to retain them in symbolic form for the Berny algorithm and to discard them for older optimization algorithms (which don’t understand them anyway).
NewRedundant
Rebuilds the redundant internal coordinates from the current Cartesian coordinates. If used with Geom=Modify, the new modifications are appended to any earlier Opt=ModRedundant input before the coordinate system is updated. This option should not be used with GICs; use GIC or AddGIC instead (as appropriate).
Redundant
Build an automatic set of redundant internal coordinates such as bonds, angles, and dihedrals from the current Cartesian coordinates or Z-Matrix values, using the old algorithm available in Gaussian 09.
UseStandardOrientation
Use the coordinates in the standard orientation from the checkpoint file as the input orientation for the new job when using Geom=AllCheck.
Specifying Connectivity
Connectivity
Specify explicit atom bonding data via an additional input section (blank line-terminated) following the geometry specification and any modification to it. This option requires one line of input per atom, ordered the same as in the molecule specification, using the following syntax:
M N1 Order1 [N2 Order2 …]
where M is the atom number, the ‘N‘s are atoms to which the current atom is bonded, and the ‘Order‘s are the bond order of the corresponding bond. For example, this input specifies that the current atom is bonded to atoms 4 and 5, with bond orders of 1.0 and 2.0 respectively:
8 4 1.0 5 2.0
A bond order of 0.1 indicates a bond which should be used in generating internal coordinates but which should not affect atom types or connectivity for molecular mechanics.
This input section is terminated by a blank line.
ModConnectivity
Modify the connectivity of the atoms in the molecule specification (or retrieved from the checkpoint file). This option requires an additional input section (blank line-terminated) following the geometry specification and any modification to it. Connectivity modifications use the following syntax:
M N1 Order1 [N2 Order2 …]
where M is the atom number, the ‘N‘s are atoms to which that atom is bonded, and the ‘Order‘s are the bond order of the corresponding bond. A bond order of -1.0 removes a bond. For example, this input specifies that atom 8 is bonded to atoms 4 and 5, with bond orders of 1.0 and 2.0 respectively, and removes any bond to atom 9:
8 4 1.0 5 2.0 9 -1
This input section is terminated by a blank line.
GenConnectivity
Recompute connectivity rather than using the information in the checkpoint file when using Geom=AllCheck.
ZMConnectivity
Read connectivity using the atom numbering specified in the Z-matrix (including dummy atoms). Bond orders involving dummy atoms are discarded.
Applying Harmonic Constraints
IHarmonic=n
Add harmonic constraints to the initial structure with force constant n/1000000 Hartree/Bohr2. InitialHarmonic is a synonym for this option.
ChkHarmonic=n
Add harmonic constraints to the initial structure saved on the checkpoint file with force constant n/1000000 Hartree/Bohr2. CHarmonic is a synonym for this option.
ReadHarmonic=n
Add harmonic constraints to an additional structure read in the input stream (in the input orientation), with force constant n/1000000 Hartree/Bohr2. RHarmonic is a synonym for this option.
Specifying the List of Atoms to be Optimized
ReadOptimize
Read an input section modifying which atoms are to be optimized. The atom list is specified in a separate input section (terminated by a blank line). By default, the atom list contains all atoms in the molecule, unless any atoms are designated as frozen within the molecule specification, in which case the initial atom list excludes them. If the structure is being read in from the checkpoint file, then the list of atoms to be optimized matches that in the checkpoint file. ReadOpt and RdOpt are synonyms for this option. ReadFreeze and RdFreeze are deprecated synonyms.
The input section uses the following format:
atoms=list [notatoms=list]
where each list is a comma- or space-separated list of atom numbers, atom number ranges, and/or atom types. Keywords are applied in succession. Here are some examples:
atoms=3-6,17 notatoms=5 | Adds atoms 3,4,6,17 to atom list. Removes 5 if present. |
atoms=3 C 18-30 notatoms=H | Adds all C & non-H among atoms 3, 18-30. |
atoms=C N notatoms=5 | Adds all C and N atoms except atom 5. |
atoms=1-5 notatoms=H atoms=8-10 | Adds atoms 8-10 and non-hydrogens among atoms 1-5, |
Bare integers without a keyword are interpreted as atom numbers:
1,3,5 7 | Adds atoms 1, 3, 5 and 7. |
You can start from an empty atom list by placing noatoms as the first item in the input section. For example, the following input optimizes all non-hydrogen atoms within atoms 1-100 and freezes all other atoms in the molecule:
noatoms atoms=1-100 notatoms=H
The keyword allatoms similarly specifies all atoms within the molecule.
For ONIOM optimizations only, block and notblock can be similarly used to include/not include rigid blocks defined in ONIOM molecule specifications. If there are contradictions between atoms specified as atoms and within blocks—e.g., an atom is included within a block but excluded by atom type—Gaussian generates an error.
Atoms can also be specified by ONIOM layer via the [not]layer keywords, which accept these values: real for the real system, model for the model system in a 2-layer ONIOM, middle for the middle layer in a 3-layer ONIOM, and small for the model layer of a 3-layer ONIOM. Atoms may be similarly included/excluded by residue with residue and notresidue, which accept lists of residue names. Both keyword pairs function as shorthand forms for atom lists.
Micro
Set up redundant internal coordinates for ONIOM(MO:MM) microiterations, even if this is not an optimization.
Output-Related Options
Distance
This option requests printing of the atomic distance matrix (which is the default for molecules with fewer than 50 atoms). NoDistance suppresses this output.
CAngle
This option requests printing of interatomic angles using distance cutoffs to determine “bonded atoms”. The default is not to print (NoAngle). Angle requests printing of the interatomic angles for Opt=Z-matrix (using the Z-matrix to determine which atoms are bonded). Only one of CAngle, Angle, and NoAngle may be specified.
CDihedral
This option requests printing of dihedral angles using distance cutoffs to determine “connectivity”. The default is not to print (NoDihedral). Dihedral specifies printing of dihedral angles for Opt=Z-matrix (using connectivity information from the Z-matrix to decide which atoms are bonded). Only one of CDihedral, Dihedral, and NoDihedral may be specified.
PrintInputOrient
This option includes the table giving the Cartesian coordinates in the input orientation within the output file.
This option turns on additional printing by the model builder facility.
Generalized Internal Coordinate (GIC)-Related Options
GIC
This option builds an automatic set of GIC-type internal coordinates instead of the default. The option NoGIC builds the internal coordinates of [Peng96] as in Gaussian 09, and it is the default. The GIC-type coordinates generated by the GIC option are essentially the same as those generated by default.
AddGIC
This option adds, deletes, or modifies the GIC-type internal coordinate definitions generated automatically or retrieved from the checkpoint file. This option requires a separate GIC input section following the geometry specification. The syntax of the GIC input section is described in GIC Info tab. Note that Geom=(ModRedundant,GIC) is equivalent to Geom=AddGIC.
DefaultGIC
Make GICs the default (for use in a Default.Route file).
DefaultNoGIC
Make Peng internal coordinates the default (for use in a Default.Route, but this is the default anyway).
GICOld
Build the default set of redundant internal coordinates of [Peng96] as in Gaussian 09, and then convert the coordinates into GIC-type internal coordinate definitions.
ReadAllGIC
Do not build any redundant internal coordinates by default. Instead, read the input stream for user-provided GIC definitions and create the coordinates. This option requires a separate GIC input section following the geometry specification. The syntax of the GIC input section is described in GIC Info.
Geometry Checking Options
Crowd
Crowd activates and NoCrowd turns off a check that aborts the job if atoms are closer than 0.5 Å. By default, the check is performed for every read-in geometry. It is not performed by default for later points of geometry optimizations, numerical frequencies, etc., when the geometry has been generated during the job. NoTest skips the test entirely.
Independent
Independent activates and NoIndependent turns off a check on the linear independence of the variables specified in a Z-matrix. This is done by default only if a full optimization is requested using the Berny algorithm (Opt=Z-matrix).
Other Options
Huge
Changes various defaults for huge (>20K atom) systems. Currently, this sets Geom=NoTest and Symm=None.
Related Keywords
GIC Considerations
The options that do not mention GIC and can be used with the Geom keyword should work as described—except for NewDefinition and NewRedundant. The latter should not be combined with any GIC-related option. In the case of GICs, you should use Geom=(Checkpoint,GIC) instead of Geom=NewDefinition, Geom=GIC instead of Geom=NewRedundant, and Geom=(Checkpoint,addGIC) instead of Geom=(Modify,NewRedundant).
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.
The GIC input section is separated from the earlier input by a blank line. It has one or more lines containing coordinate definitions, expressions or standalone options. Here is a simple GIC input section for water illustrating some of the possible features:
R(1,2) Define a bond length coordinate for atoms 1 and 2 Bond2=R[1,3] Define another bond length coordinate named Bond2 HOH(freeze)=A(2,1,3) Define an optimization constraint: a bond angle coordinate named HOH (∠2-1-3)
For an optimization, these coordinates will result in the bond angle remaining fixed at its initial value and the two bond distances being optimized.
The basic form of a coordinate is the following:
label(options)=expression
All of the components are optional. In the preceding examples, all components were present only in the third line. The first line contained only a coordinate expression, while the second line also contained a label without options. Note that options may also be placed following the expression:
HOH=A(2,1,3) Freeze
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.
Structural Parameters
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).
R(i,j)
Define a bond coordinate between atoms i and j. B, Bond and Stretch are synonyms for R.
A(i,j,k)
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.
D(i,j,k,l)
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.
L(i,j,k,l,M)
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.
A linear bend definition has two components, indicated by M values of -1 and -2 for the first and second components, respectively (no other values are permitted). A linear bend is specified by defining its two orthogonal directions. These can be indicated in two ways:
- For a nonlinear molecule with more than 3 atoms, a fourth atom which does not form a linear angle with i, j and k in any combination can be used. In this case, l can be set to its atom number. For example, the following may be used to specify a linear bend involving atoms 1, 2 and 3 using atom 6 to determine the two orthogonal directions:
L(1,2,3,6,-1) L(1,2,3,6,-2)
If l is set to -4, then the fourth atom will be determined automatically based on the molecular geometry.
- The other method is to project the linear bend onto one of the coordinate system’s axial planes: the values of -1, -2 and -3 for l specify the YZ, XZ and XY planes (respectively). The value 0 may also be used to request that the appropriate plane be determined automatically:
L(1,2,3,0,-1) L(1,2,3,0,-2)
X(i)
Define the x Cartesian coordinate for atom i. Cartesian(i,-1) and Cartesian(i,X) are synonyms, and Cartesian may be abbreviated as Cart.
Y(i)
Define the y Cartesian coordinate for atom i. Cartesian(i,-2) and Cartesian(i,Y) are synonyms, and Cartesian may be abbreviated as Cart.
Z(i)
Define the z Cartesian coordinate for atom i. Cartesian(i,-3) and Cartesian(i,Z) are synonyms, and Cartesian may be abbreviated as Cart.
XCntr(atom-list)
YCntr(atom-list)
ZCntr(atom-list)
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.
DotDiff(i,j,k,l)
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).
Compound Expressions
Complex expressions may be constructed by combining multiple items using one or more mathematical operations. The argument(s) A and B can be the labels of a previously defined coordinate, a valid GIC expression or even constants (integer or floating-point). The operation names are not case sensitive. The following operations are available:
- Square root: SQRT(A).
- Power of e: EXP(A) for eA.
- Trigonometric functions: SIN(A), COS(A), TAN(A).
- Inverse cosine: ARCCOS(A).
- Addition: A+B
- Subtraction: A–B
- Multiplication: A*B
- Division: A/B
- Exponentiation: A**n for An (n is an integer). The form A^n is also accepted.
Here are some simple examples which define symmetrized OH bonds in water:
R12(inactive)=B(1,2) R13(inactive)=B(1,3) RSym = (R12 + R13)/SQRT(2) RASym = [Bond(1,2) - Bond(1,3)]/SQRT(2)
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.
Options
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.
For the purposes of geometry optimizations, a coordinate can be designated as:
- 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.
Active
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.
Frozen
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.
Inactive
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.
Kill
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.
PrintOnly
Include the initial value of the coordinate in the starting geometry in the Gaussian output file, and then flag it as inactive.
Modify
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.
Diff
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.
FC=x
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.
Value=x
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.
StepSize=x,NSteps=n
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.
Min=min,Max=max
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.
action OnlyIf condition
action IfNot condition
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.
Standalone Options
The following options are independent of coordinate definitions and apply globally. They should be specified alone on their input line.
FreezeAll
Freeze all internal coordinate previously added as active.
UnFreezeAll
Unfreeze all internal coordinates previously added as active frozen.
RemoveAll
Remove/inactivate all internal coordinate previously added as active (frozen or unfrozen).
Atom i action
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.
Examples
The following example manipulates some automatically-generated coordinates, defines some new ones, and then uses wildcards to remove coordinates related to specific atoms:
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).
The following example first defines the centroids of two fragments. Then, it defines the interfragment distance as an optimization coordinate:
Define the center of Fragment 1, but don't include it in the optimization. XC1(Inactive)=XCntr(1-10) YC1(Inactive)=YCntr(1-10) ZC1(Inactive)=ZCntr(1-10) Define the center of Fragment 2, but don't include it in the optimization. XC2(Inactive)=XCntr(11-21) YC2(Inactive)=YCntr(11-21) ZC2(Inactive)=ZCntr(11-21) Define the distance F1-F2 and include it in the optimization. Its value will be reported in Å: F1F2=sqrt[(XC1-XC2)^2+(YC1-YC2)^2+(ZC1-ZC2)^2]*0.529177
The following example requests a relaxed PES scan over the same coordinate:
F1F2(NSteps=10,StepSize=0.2)
The following example removes an angle coordinate generated by default if ≥179.9°, substituting a linear bend:
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. L(1,2,3,0,-2) Add IfNot A(1,2,3)
The following example removes an angle coordinate if it is ≤ the specified value, setting the corresponding force constant is set to 0.2 au. The latter applies whenever it is needed: as the initial force constant and the force constant to use should be variable be reactivated. The second line specifies the force constant for a bond coordinate:
A(1,2,3) Remove Min=3.139847 ForceConstant=0.2 R(1,2) FC=0.5
The following example sets the force constants for various coordinates. It also inactivates bond angle coordinates ≥ 179.8°:
R(1,*) FC=0.8 D(*,4,5,*) FC=0.4 A(*,1,*) FC=0.5 A(*,*,*) R Min=179.8
Limitations of GICs in the Current Implementation
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.
In a non-GIC optimization, or one using GICs with only regular dihedrals, then the program is careful about the periodicity of these coordinates. For example, in deciding whether a step in the geometry is too big and needs to be scaled back, it recognizes that a change in value from 1 degree to 359 degrees is really a change of -2 degrees rather than 358 degrees. Similarly, in numerically differentiating the forces in order to update the Hessian, displacements between geometries in internal coordinates are needed, and the periodicity is accounted for. A problem can arise when a GIC is a combination of parts for which such periodicity is important, typically, combinations of multiple dihedral angles. For example, consider these GICs:
D1 = D(1,2,3,4) D2 = D(5,6,7,8) V1 = D1 + 2*D2
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.
GIC Units in Gaussian Output
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.
Use of ModRedundant Format Input
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.
Last updated on: 23 April 2020. [G16 Rev. C.01]
See General Internal Coordinates for more information on GICs.
The Geom keyword specifies the source of the molecule specification input, options related to coordinate definitions, and geometry-related output. By default, it is read from the input stream, as described previously. Geom may be used to specify an alternate input source. It also controls what geometry-related information is printed and use of internal consistency checks on the Z-matrix. The Geom keyword is not meaningful without at least one item selection option.
Gaussian 16 supports generalized internal coordinates (GIC), a facility which allows arbitrary redundant internal coordinates to be defined and used for optimization constraints and other purposes [Marenich17p]. There are several GIC-related options to Geom, and the GIC Info subsection describes using GICs as well as their limitations in the present implementation.
Geometry Retrieval Options
Checkpoint
Take the molecule specification (including variables) from the checkpoint file. Only the charge and multiplicity are read from the input stream. For example, Geom=Checkpoint may be used by a later job step to retrieve the geometry optimized during an earlier job step from the checkpoint file. Checkpoint may be combined with the ModRedundant option or with the AddGIC option if you want to retrieve and alter the molecule specification in a checkpoint file using internal coordinate-style modifications. Note that Geom=(Checkpoint,ModRedundant,GIC) is equivalent to Geom=(Checkpoint, AddGIC). The Geom=(Checkpoint,GIC) option (i.e., without ModRedundant) will not use the GICs from the checkpoint file, but instead, it will build a new set of GICs automatically based on the current molecular specification (e.g., Cartesian coordinates) from the checkpoint file. The Geom=(Checkpoint,ReadAllGIC) option will not use the GICs from the checkpoint file, but instead, it will read a new set of GICs from the input file and calculate their values based on the current molecular specification (e.g., Cartesian coordinates) from the checkpoint file. Note that Geom=(Checkpoint,GIC) is equivalent to Geom=Checkpoint Opt=GIC, and Geom=(Checkpoint, ReadAllGIC) is equivalent to Geom=Checkpoint Opt=ReadAllGIC.
AllCheck
Take the molecule specification (including variables), the charge and multiplicity, and the title section from the checkpoint file. Thus, only the route section and any input required by keywords within it need be specified when using this option. This option is not valid with Modify but may be combined with ModRedundant, GIC, or AddGIC in the same way as the Checkpoint option.
Step=N
This option retrieves the structure produced by the Nth step of a failed or partial geometry optimization (it is not valid for a successful optimization). Step=Original recovers the initial starting geometry. This option is used for restarting geometry optimization from intermediate points. It must be combined with one of Checkpoint, AllCheck, or Modify. Note that not all steps are always present in the checkpoint file; a Hessian updated message in the log file means that the corresponding step is available in the checkpoint file. NGeom=N retrieves the Nth geometry from an optimization checkpoint file using the same record of points used for display in GaussView, where N=1 corresponds to the input molecule specification. Geom=Step=M is automatically converted to Geom=NGeom=M+1 if the previous optimization used redundant internal coordinates.
Modify
Note that this option refers to modification specifications for geometry optimizations using Z-matrix coordinates only. In general, it is deprecated in favor of ModRedundant. It should not be used with GICs. Use Geom=(Checkpoint,AddGIC) instead of Geom=Modify if you want to modify the generalized internal coordinates.
This option specifies that the geometry is to be taken from the checkpoint file and that modifications will be made to it. A total of two input sections will be read: the first contains the charge and multiplicity, and the second contains alterations to the retrieved geometry.
Modification specifications for geometry optimizations using Z-matrix coordinates have the following form:
variable [new-value] [A|F|D]
where variable is the name of a variable in the molecule specification, new-value is an optional new value to be assigned to it, and the final item is a one-letter code indicating whether the variable is to be active (i.e., optimized) or frozen; the code letter D requests numerical differentiation be performed with respect to that variable and activates the variable automatically. If the code letter is omitted, then the variable's status remains the same as it was in the original molecule specification.
Geometry Specification & Modification Options
ModRedundant
Except for any case when it is combined with the GIC option (see below), the ModRedundant option will add, delete, or modify redundant internal coordinate definitions (including scan and constraint information) before performing the calculation. This option requires a separate input section following the geometry specification. AddRedundant is synonymous with ModRedundant.
This option may be used for job types other than optimizations. It may also be combined with NGeom, Check or AllCheck to retrieve and modify an internal coordinate definition from a checkpoint file.
When used with Check, or NGeom, two input sections will be read: the first contains the charge and multiplicity, and the second contains alterations to the retrieved internal coordinate definition. When combined with the AllCheck option, only the internal coordinate definition modifications input is needed.
Lines in a ModRedundant input section use the following syntax:
[Type] N1 [N2 [N3 [N4]]] [A | F] [Type] N1 [N2 [N3 [N4]]] B [Type] N1 [N2 [N3 [N4]]] K | R [Type] N1 [N2 [N3 [N4]]] D [Type] N1 [N2 [N3 [N4]]] H diag-elem [Type] N1 [N2 [N3 [N4]]] S nsteps stepsize
N1, N2, N3, and N4 are atom numbers or wildcards (discussed below). Atom numbering begins at 1, and any dummy atoms are not counted.
The atom numbers are followed by a one-character code letter indicating the coordinate modification to be performed; the action code is sometimes followed by additional required parameters as indicated above. If no action code is included, the default action is to add the specified coordinate. These are the available action codes:
A | Activate the coordinate for optimization if it has been frozen. |
F | Freeze the coordinate in the optimization. |
B | Add the coordinate and build all related coordinates. |
K | Remove the coordinate and kill all related coordinates containing this coordinate. |
R | Remove the coordinate from the definition list (but not the related coordinates). |
D | Calculate numerical second derivatives for the row and column of the initial Hessian for this coordinate. |
H | Change the diagonal element for this coordinate in the initial Hessian to diag-elem. |
S | Perform a relaxed potential energy surface scan. Increment the coordinate by stepsize a total of nsteps times, performing an optimization from each resulting starting geometry. |
An asterisk (*) in the place of an atom number indicates a wildcard. Here are some examples of wildcard use:
* | All atoms specified by Cartesian coordinates. |
* * | All defined bonds. |
3 * | All defined bonds with atom 3. |
* * * | All defined valence angles. |
* 4 * | All defined valence angles around atom 4. |
* * * * | All defined dihedral angles. |
* 3 4 * | All defined dihedral angles around the bond connecting atoms 3 and 4. |
By default, the coordinate type is determined from the number of atoms specified: Cartesian coordinates for 1 atom, bond stretch for 2 atoms, valence angle for 3 atoms, and dihedral angle for 4 atoms. Optionally, type can be used to designate these and additional coordinate types:
X | Cartesian coordinates. |
B | Bond length. |
A | Valence angle. |
D | Dihedral angle. |
L | Linear bend specified by three atoms (if N4 is -1) or by four atoms, where the fourth atom is used to determine the 2 orthogonal directions of the linear bend. |
See the examples under the Opt keyword for illustrations of the use of ModRedundant.
NewDefinition
Generate a new set of redundant internal coordinates, replacing any that were in the checkpoint file. This option should not be used with GICs; use Geom=(Checkpoint,GIC) instead.
SkipAll
Do not generate any internal coordinates automatically. In the case of redundant internal coordinates based on the old algorithm available in Gaussian 09, all of the required coordinates must be explicitly specified in the ModRedundant input section. In the case of GIC-type internal coordinates based on the new GIC algorithm, you should use Geom=ReadAllGIC instead of this option.
SkipAng
Generates bonds but omits angles and dihedrals.
SkipDihedral
Suppresses the generation of dihedrals.
SkipHBond
Skips generation of hydrogen-bond coordinates.
KeepConstants
KeepConstants retains and NoKeepConstants discards information about frozen variables. The default is to retain them in symbolic form for the Berny algorithm and to discard them for older optimization algorithms (which don't understand them anyway).
NewRedundant
Rebuilds the redundant internal coordinates from the current Cartesian coordinates. If used with Geom=Modify, the new modifications are appended to any earlier Opt=ModRedundant input before the coordinate system is updated. This option should not be used with GICs; use GIC or AddGIC instead (as appropriate).
Redundant
Build an automatic set of redundant internal coordinates such as bonds, angles, and dihedrals from the current Cartesian coordinates or Z-Matrix values, using the old algorithm available in Gaussian 09.
UseStandardOrientation
Use the coordinates in the standard orientation from the checkpoint file as the input orientation for the new job when using Geom=AllCheck.
Specifying Connectivity
Connectivity
Specify explicit atom bonding data via an additional input section (blank line-terminated) following the geometry specification and any modification to it. This option requires one line of input per atom, ordered the same as in the molecule specification, using the following syntax:
M N1 Order1 [N2 Order2 …]
where M is the atom number, the 'N's are atoms to which the current atom is bonded, and the 'Order's are the bond order of the corresponding bond. For example, this input specifies that the current atom is bonded to atoms 4 and 5, with bond orders of 1.0 and 2.0 respectively:
8 4 1.0 5 2.0
A bond order of 0.1 indicates a bond which should be used in generating internal coordinates but which should not affect atom types or connectivity for molecular mechanics.
This input section is terminated by a blank line.
ModConnectivity
Modify the connectivity of the atoms in the molecule specification (or retrieved from the checkpoint file). This option requires an additional input section (blank line-terminated) following the geometry specification and any modification to it. Connectivity modifications use the following syntax:
M N1 Order1 [N2 Order2 …]
where M is the atom number, the 'N's are atoms to which that atom is bonded, and the 'Order's are the bond order of the corresponding bond. A bond order of -1.0 removes a bond. For example, this input specifies that atom 8 is bonded to atoms 4 and 5, with bond orders of 1.0 and 2.0 respectively, and removes any bond to atom 9:
8 4 1.0 5 2.0 9 -1
This input section is terminated by a blank line.
GenConnectivity
Recompute connectivity rather than using the information in the checkpoint file when using Geom=AllCheck.
ZMConnectivity
Read connectivity using the atom numbering specified in the Z-matrix (including dummy atoms). Bond orders involving dummy atoms are discarded.
Applying Harmonic Constraints
IHarmonic=n
Add harmonic constraints to the initial structure with force constant n/1000000 Hartree/Bohr2. InitialHarmonic is a synonym for this option.
ChkHarmonic=n
Add harmonic constraints to the initial structure saved on the checkpoint file with force constant n/1000000 Hartree/Bohr2. CHarmonic is a synonym for this option.
ReadHarmonic=n
Add harmonic constraints to an additional structure read in the input stream (in the input orientation), with force constant n/1000000 Hartree/Bohr2. RHarmonic is a synonym for this option.
Specifying the List of Atoms to be Optimized
ReadOptimize
Read an input section modifying which atoms are to be optimized. The atom list is specified in a separate input section (terminated by a blank line). By default, the atom list contains all atoms in the molecule, unless any atoms are designated as frozen within the molecule specification, in which case the initial atom list excludes them. If the structure is being read in from the checkpoint file, then the list of atoms to be optimized matches that in the checkpoint file. ReadOpt and RdOpt are synonyms for this option. ReadFreeze and RdFreeze are deprecated synonyms.
The input section uses the following format:
atoms=list [notatoms=list]
where each list is a comma- or space-separated list of atom numbers, atom number ranges, and/or atom types. Keywords are applied in succession. Here are some examples:
atoms=3-6,17 notatoms=5 | Adds atoms 3,4,6,17 to atom list. Removes 5 if present. |
atoms=3 C 18-30 notatoms=H | Adds all C & non-H among atoms 3, 18-30. |
atoms=C N notatoms=5 | Adds all C and N atoms except atom 5. |
atoms=1-5 notatoms=H atoms=8-10 | Adds atoms 8-10 and non-hydrogens among atoms 1-5, |
Bare integers without a keyword are interpreted as atom numbers:
1,3,5 7 | Adds atoms 1, 3, 5 and 7. |
You can start from an empty atom list by placing noatoms as the first item in the input section. For example, the following input optimizes all non-hydrogen atoms within atoms 1-100 and freezes all other atoms in the molecule:
noatoms atoms=1-100 notatoms=H
The keyword allatoms similarly specifies all atoms within the molecule.
For ONIOM optimizations only, block and notblock can be similarly used to include/not include rigid blocks defined in ONIOM molecule specifications. If there are contradictions between atoms specified as atoms and within blocks—e.g., an atom is included within a block but excluded by atom type—Gaussian generates an error.
Atoms can also be specified by ONIOM layer via the [not]layer keywords, which accept these values: real for the real system, model for the model system in a 2-layer ONIOM, middle for the middle layer in a 3-layer ONIOM, and small for the model layer of a 3-layer ONIOM. Atoms may be similarly included/excluded by residue with residue and notresidue, which accept lists of residue names. Both keyword pairs function as shorthand forms for atom lists.
Micro
Set up redundant internal coordinates for ONIOM(MO:MM) microiterations, even if this is not an optimization.
Output-Related Options
Distance
This option requests printing of the atomic distance matrix (which is the default for molecules with fewer than 50 atoms). NoDistance suppresses this output.
CAngle
This option requests printing of interatomic angles using distance cutoffs to determine “bonded atoms”. The default is not to print (NoAngle). Angle requests printing of the interatomic angles for Opt=Z-matrix (using the Z-matrix to determine which atoms are bonded). Only one of CAngle, Angle, and NoAngle may be specified.
CDihedral
This option requests printing of dihedral angles using distance cutoffs to determine “connectivity”. The default is not to print (NoDihedral). Dihedral specifies printing of dihedral angles for Opt=Z-matrix (using connectivity information from the Z-matrix to decide which atoms are bonded). Only one of CDihedral, Dihedral, and NoDihedral may be specified.
PrintInputOrient
This option includes the table giving the Cartesian coordinates in the input orientation within the output file.
This option turns on additional printing by the model builder facility.
Generalized Internal Coordinate (GIC)-Related Options
GIC
This option builds an automatic set of GIC-type internal coordinates instead of the default. The option NoGIC builds the internal coordinates of [Peng96] as in Gaussian 09, and it is the default. The GIC-type coordinates generated by the GIC option are essentially the same as those generated by default.
AddGIC
This option adds, deletes, or modifies the GIC-type internal coordinate definitions generated automatically or retrieved from the checkpoint file. This option requires a separate GIC input section following the geometry specification. The syntax of the GIC input section is described in GIC Info tab. Note that Geom=(ModRedundant,GIC) is equivalent to Geom=AddGIC.
DefaultGIC
Make GICs the default (for use in a Default.Route file).
DefaultNoGIC
Make Peng internal coordinates the default (for use in a Default.Route, but this is the default anyway).
GICOld
Build the default set of redundant internal coordinates of [Peng96] as in Gaussian 09, and then convert the coordinates into GIC-type internal coordinate definitions.
ReadAllGIC
Do not build any redundant internal coordinates by default. Instead, read the input stream for user-provided GIC definitions and create the coordinates. This option requires a separate GIC input section following the geometry specification. The syntax of the GIC input section is described in GIC Info.
Geometry Checking Options
Crowd
Crowd activates and NoCrowd turns off a check that aborts the job if atoms are closer than 0.5 Å. By default, the check is performed for every read-in geometry. It is not performed by default for later points of geometry optimizations, numerical frequencies, etc., when the geometry has been generated during the job. NoTest skips the test entirely.
Independent
Independent activates and NoIndependent turns off a check on the linear independence of the variables specified in a Z-matrix. This is done by default only if a full optimization is requested using the Berny algorithm (Opt=Z-matrix).
Other Options
Huge
Changes various defaults for huge (>20K atom) systems. Currently, this sets Geom=NoTest and Symm=None.
The options that do not mention GIC and can be used with the Geom keyword should work as described—except for NewDefinition and NewRedundant. The latter should not be combined with any GIC-related option. In the case of GICs, you should use Geom=(Checkpoint,GIC) instead of Geom=NewDefinition, Geom=GIC instead of Geom=NewRedundant, and Geom=(Checkpoint,addGIC) instead of Geom=(Modify,NewRedundant).
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.
The GIC input section is separated from the earlier input by a blank line. It has one or more lines containing coordinate definitions, expressions or standalone options. Here is a simple GIC input section for water illustrating some of the possible features:
R(1,2) Define a bond length coordinate for atoms 1 and 2 Bond2=R[1,3] Define another bond length coordinate named Bond2 HOH(freeze)=A(2,1,3) Define an optimization constraint: a bond angle coordinate named HOH (∠2-1-3)
For an optimization, these coordinates will result in the bond angle remaining fixed at its initial value and the two bond distances being optimized.
The basic form of a coordinate is the following:
label(options)=expression
All of the components are optional. In the preceding examples, all components were present only in the third line. The first line contained only a coordinate expression, while the second line also contained a label without options. Note that options may also be placed following the expression:
HOH=A(2,1,3) Freeze
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.
Structural Parameters
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).
R(i,j)
Define a bond coordinate between atoms i and j. B, Bond and Stretch are synonyms for R.
A(i,j,k)
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.
D(i,j,k,l)
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.
L(i,j,k,l,M)
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.
A linear bend definition has two components, indicated by M values of -1 and -2 for the first and second components, respectively (no other values are permitted). A linear bend is specified by defining its two orthogonal directions. These can be indicated in two ways:
- For a nonlinear molecule with more than 3 atoms, a fourth atom which does not form a linear angle with i, j and k in any combination can be used. In this case, l can be set to its atom number. For example, the following may be used to specify a linear bend involving atoms 1, 2 and 3 using atom 6 to determine the two orthogonal directions:
L(1,2,3,6,-1) L(1,2,3,6,-2)
If l is set to -4, then the fourth atom will be determined automatically based on the molecular geometry.
- The other method is to project the linear bend onto one of the coordinate system’s axial planes: the values of -1, -2 and -3 for l specify the YZ, XZ and XY planes (respectively). The value 0 may also be used to request that the appropriate plane be determined automatically:
L(1,2,3,0,-1) L(1,2,3,0,-2)
X(i)
Define the x Cartesian coordinate for atom i. Cartesian(i,-1) and Cartesian(i,X) are synonyms, and Cartesian may be abbreviated as Cart.
Y(i)
Define the y Cartesian coordinate for atom i. Cartesian(i,-2) and Cartesian(i,Y) are synonyms, and Cartesian may be abbreviated as Cart.
Z(i)
Define the z Cartesian coordinate for atom i. Cartesian(i,-3) and Cartesian(i,Z) are synonyms, and Cartesian may be abbreviated as Cart.
XCntr(atom-list)
YCntr(atom-list)
ZCntr(atom-list)
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.
DotDiff(i,j,k,l)
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).
Compound Expressions
Complex expressions may be constructed by combining multiple items using one or more mathematical operations. The argument(s) A and B can be the labels of a previously defined coordinate, a valid GIC expression or even constants (integer or floating-point). The operation names are not case sensitive. The following operations are available:
- Square root: SQRT(A).
- Power of e: EXP(A) for eA.
- Trigonometric functions: SIN(A), COS(A), TAN(A).
- Inverse cosine: ARCCOS(A).
- Addition: A+B
- Subtraction: A–B
- Multiplication: A*B
- Division: A/B
- Exponentiation: A**n for An (n is an integer). The form A^n is also accepted.
Here are some simple examples which define symmetrized OH bonds in water:
R12(inactive)=B(1,2) R13(inactive)=B(1,3) RSym = (R12 + R13)/SQRT(2) RASym = [Bond(1,2) - Bond(1,3)]/SQRT(2)
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.
Options
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.
For the purposes of geometry optimizations, a coordinate can be designated as:
- 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.
Active
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.
Frozen
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.
Inactive
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.
Kill
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.
PrintOnly
Include the initial value of the coordinate in the starting geometry in the Gaussian output file, and then flag it as inactive.
Modify
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.
Diff
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.
FC=x
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.
Value=x
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.
StepSize=x,NSteps=n
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.
Min=min,Max=max
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.
action OnlyIf condition
action IfNot condition
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.
Standalone Options
The following options are independent of coordinate definitions and apply globally. They should be specified alone on their input line.
FreezeAll
Freeze all internal coordinate previously added as active.
UnFreezeAll
Unfreeze all internal coordinates previously added as active frozen.
RemoveAll
Remove/inactivate all internal coordinate previously added as active (frozen or unfrozen).
Atom i action
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.
Examples
The following example manipulates some automatically-generated coordinates, defines some new ones, and then uses wildcards to remove coordinates related to specific atoms:
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).
The following example first defines the centroids of two fragments. Then, it defines the interfragment distance as an optimization coordinate:
Define the center of Fragment 1, but don't include it in the optimization. XC1(Inactive)=XCntr(1-10) YC1(Inactive)=YCntr(1-10) ZC1(Inactive)=ZCntr(1-10) Define the center of Fragment 2, but don't include it in the optimization. XC2(Inactive)=XCntr(11-21) YC2(Inactive)=YCntr(11-21) ZC2(Inactive)=ZCntr(11-21) Define the distance F1-F2 and include it in the optimization. Its value will be reported in Å: F1F2=sqrt[(XC1-XC2)^2+(YC1-YC2)^2+(ZC1-ZC2)^2]*0.529177
The following example requests a relaxed PES scan over the same coordinate:
F1F2(NSteps=10,StepSize=0.2)
The following example removes an angle coordinate generated by default if ≥179.9°, substituting a linear bend:
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. L(1,2,3,0,-2) Add IfNot A(1,2,3)
The following example removes an angle coordinate if it is ≤ the specified value, setting the corresponding force constant is set to 0.2 au. The latter applies whenever it is needed: as the initial force constant and the force constant to use should be variable be reactivated. The second line specifies the force constant for a bond coordinate:
A(1,2,3) Remove Min=3.139847 ForceConstant=0.2 R(1,2) FC=0.5
The following example sets the force constants for various coordinates. It also inactivates bond angle coordinates ≥ 179.8°:
R(1,*) FC=0.8 D(*,4,5,*) FC=0.4 A(*,1,*) FC=0.5 A(*,*,*) R Min=179.8
Limitations of GICs in the Current Implementation
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.
In a non-GIC optimization, or one using GICs with only regular dihedrals, then the program is careful about the periodicity of these coordinates. For example, in deciding whether a step in the geometry is too big and needs to be scaled back, it recognizes that a change in value from 1 degree to 359 degrees is really a change of -2 degrees rather than 358 degrees. Similarly, in numerically differentiating the forces in order to update the Hessian, displacements between geometries in internal coordinates are needed, and the periodicity is accounted for. A problem can arise when a GIC is a combination of parts for which such periodicity is important, typically, combinations of multiple dihedral angles. For example, consider these GICs:
D1 = D(1,2,3,4) D2 = D(5,6,7,8) V1 = D1 + 2*D2
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.
GIC Units in Gaussian Output
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.
Use of ModRedundant Format Input
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.
Last updated on: 23 April 2020. [G16 Rev. C.01]
See General Internal Coordinates for more information on GICs.
Last updated on: 23 July 2019. [G16 Rev. C.01]