Turbomole



5       Methodology--The Insight Environment

This section is a general description of how to use the Turbomole module of the Insight program. On-line help (accessed by clicking the help icon) contains further details about what individual commands and parameters do. The Insight documentation provides general information on filling in parameter values, executing commands, the various parts of the Insight window, using the mouse, etc.

Commands provided in the Turbomole module are discussed in general terms in the order in which they are used in a typical calculation. Also included are hints about when certain parameter values should or should not be used.


Using Turbomole in the Insight environment

The Turbomole module is used to set up and then start a Turbomole calculation. Unlike many commands in the Insight program, nothing actually happens until the Turbomole job is started, making it possible to set up complex calculations and even (by temporarily leaving the Insight program to use a text editor) edit or change parts of the calculation before the job is started. The command input file that is built up through the Insight interface (called run_name.input) is eventually translated into a control file which directly controls the Turbomole run (see Files for additional information on files).

The commands in the Turbomole module can be grouped into four classes, roughly corresponding to the four basic steps of a Turbomole calculation:

The relation of these commands to the basic steps of a Turbomole calculation is outlined in the following section, and a detailed description of how the commands and parameters accessed via these pulldowns are used is presented under Setting up calculations with the commands in the Turbomole module.


Outline of basic steps of a Turbomole calculation

Step 1: Defining the model

A Turbomole calculation can be performed on any molecule or assembly of molecules that exists in the Insight space (provided it is not too large). Currently, Turbomole calculations are limited to systems containing no more than 400 total atoms or 8000 total basis functions (with a maximum of 2000 basis functions per irreducible representation). Note, however, that the Turbomole basis set library does not contain basis sets or effective core potentials for the very heavy elements, namely, atoms Am-Lw. Consequently, you need to supply your own basis sets for calculations involving any of these heavy elements. Molecules can be read from files with the File/Import or Molecule/Get command, be created with the Builder module, or result from work performed with another product such as the Discover program. Note that Turbomole does not modify the molecule in any way at this stage. Therefore, any desired modifications, such as adding hydrogens or partial charges to a molecule or adjusting its configuration, must be done prior to starting the Turbomole calculation. After selecting Turbomole from the Module pulldown (which appears when you click the MSI logo), you then tell it what system you want to work on and what basic type of calculation you want to do, by using the Setup/System command.

Next, the Symmetry/Find_Pt_Group command may be executed to determine the point-group symmetry of the system and, if desired, to use any symmetry that is found throughout the subsequent Turbomole calculation. Roughly symmetrical molecules can be geometrically adjusted to the exact symmetry required for Turbomole calculations by increasing the value of the Symmetry_Threshold parameter.

Step 2: Setting up the calculation parameters

The next step is to set the desired input parameters. The Setup and Optimize pulldowns contain commands that specify these parameters as well as toggles that turn on the calculation of molecular properties and the generation of grid data for 3D plots. Since all these parameters have default values, you need only set them if you want values other than the defaults. Each time you execute one of these commands, the parameter values that you enter become the new defaults and are used in all subsequent calculations in the current Insight session. You need to specify what properties and grid data you want before you start a run.

You can read in parameters that were used in a previous calculation by toggling the Load_Input parameter in the Setup/System command to on. You should also set the Calculation_Type to the same type of calculation specified in the input file you load, since it is otherwise overwritten by your new choice.

Step 3: Performing the Turbomole calculation

After all the input parameters are specified, you are ready to run the Turbomole calculation using the commands in the Background_Job and Run pulldowns.

The Background_Job pulldown is used to set non-default run conditions.

The Run/Run_Turbomole command writes out the necessary input files and specifies a name that is used as the root name for all output files.

The Run_Turbomole command also creates a shell script file (run_name#.csh) that actually runs the Turbomole calculation. You can have the Insight program automatically submit this job to the background or just write it to disk, so that you can submit it manually later.

Step 4: Analyzing the results

The run_name.sum file contains the results of your Turbomole calculation. You can view its contents with the Insight file/text viewer or any standard UNIX text reader or editor. You can also use commands in the Analyze pulldown and in other modules of the Insight interface to construct grids and graph various properties.


Setting up calculations with the commands in the Turbomole module

Beginning a Turbomole session

To access the Turbomole commands, select Turbomole from the Module pulldown (accessed by clicking the MSI logo). The set of Turbomole pulldowns then appears on the lower menu bar.

Turbomole uses a defaults file for setting up default values for the Turbomole interface in Insight. The Insight program looks in a cascading series of directories for a defaults file: first in current-working-directory, then in $HOME, and, if the file has still not been found, finally in $BIOSYM/data/turbomole. You can customize the defaults file to tailor the parameter values to your liking. Site administrators may choose to update the file in $BIOSYM/data/turbomole, and ordinary users will probably want to copy or modify a file in their home directory.

You can reload the Turbomole interface with data from a previous job. This can speed revisions when only a minor change is needed for another calculation. This is accomplished by toggling the Setup/System command's Load_Input parameter to on.

Defining the molecule and its point-group symmetry

Specifying the system and type of calculation

You use the Setup/System command to tell Turbomole the name of the molecule or assembly on which you want to perform calculations and the basic type of calculation you want to run.

To specify the system, enter a name in the Object Name parameter box by picking a molecule or assembly in the display area of the screen, choosing its name from the Assem/Mol Names value-aid, or typing it in the Object Name parameter box.

To choose the type of calculation, set the Calculation_Type parameter to one of these:

If you want to load parameter values from an existing .input file, toggle the Load_Input parameter on and enter the name of the input file in the File Name parameter box. Note that you also need to set the Calculation_Type to match that in the input file.

Select Execute to execute the command.

Finding and adjusting the model's point-group symmetry

To identify the symmetry of your model and, if desired, use any symmetry that is found throughout the subsequent Turbomole calculation, use the Symmetry/Find_Pt_Group command.

Finding the point-group symmetry without changing the molecule's geometry

To only report existing symmetry, simply execute the Symmetry/Find_Pt_Group command with its parameters left at their default values (Snap_Symmetry = off, Snap_Orientation = off, Symmetry_Threshold = 0.005). The point-group symmetry of your molecule is reported in the message area near the bottom of the Insight window.

If the reported symmetry of the molecule is not as you expect (e.g., if you use the Builder module to construct formaldehyde to have C2v symmetry, but the Symmetry/Find_Pt_Group command reports Cs symmetry), it is likely that the molecule, as built, is not exactly symmetric and that the Symmetry_Threshold parameter therefore needs to be made larger to increase the tolerance for recognizing symmetry. So, if necessary, you can repeatedly execute the Symmetry/Find_Pt_Group command with progressively larger values of Symmetry_Threshold, until the symmetry you expect is reported. Note, however, that if you need to increase the Symmetry_Threshold parameter above about 0.5 Å, you should use the Builder tools to manually adjust the geometry before trying again.

Once you determine the point-group symmetry as expected, you may use the Symmetry/Find_Pt_Group command to enforce exact symmetry and/or to use symmetry in your subsequent Turbomole calculation.

Imposing exact symmetry on the molecule and using symmetry in calculations

To enable your subsequent Turbomole calculation to make use of the point-group symmetry and, if necessary, to adjust the geometry and spatial orientation of you molecule so it is exactly symmetric and to align the symmetry coordinates of the molecule properly with respect to Cartesian space, execute the Symmetry/Find_Pt_Group command with both Snap_Symmetry and Snap_Orientation toggled on and with Symmetry_Threshold set to the appropriate value (as determined above).

In general, when you execute this command with the Snap_Orientation parameter toggled on, your molecule is translated and/or rotated in space so that its center of mass is at the origin of the Cartesian axis system and (if a point group other than C1 is found), the axis or plane or center of symmetry is aligned properly with the Cartesian axis system.

Sometimes, you may not want to reorient you molecule (e.g., calculations in which an oriented external environment is included). In these cases, you would not use the Symmetry/Find_Pt_Group command, and your Turbomole calculation would be run without symmetry.

Technical notes

You must execute the Symmetry/Find_Pt_Group command in order to take advantage of any symmetry (other than C1) for Turbomole runs that are set up from the Insight interface.

Toggling the Snap_Symmetry parameter on means to attempt to change the relationship of the atoms to their ideal symmetry positions (the symmetry is adjusted when the command is executed). The symmetry label is displayed whether Snap_Symmetry is on or off. Toggling Snap_Symmetry to on also gives you access to the Snap_Orientation parameter.

Snap_Orientation can be toggled only if Snap_Symmetry is on. Toggling the Snap_Orientation parameter on means to attempt to place the molecule in the standard orientation around the origin and symmetry axes. Note: this may significantly displace your molecule. If Snap_Orientation is off, the molecule orientation does not change.

If you want to execute the Symmetry/Find_Pt_Group command with Snap_Orientation toggled on, you must do so before using the Grid pulldown (or icon), to prevent a mismatch between the positions of the molecule and the grid.

If the Symmetry/Find_Pt_Group command is not executed with Snap_Symmetry and Snap_Orientation toggled on, C1 symmetry is used in an optimization calculation (even if the Use_Symmetry parameter in the Optimize/Opt_Parameters command is toggled on).

Specifying parameters that control the calculation

Using the Setup/Parameters command

The Setup/Parameters parameter block contains many parameters that allow you to control the details of the Turbomole calculation. (Each time you execute the Setup/Parameters command, the parameter values that you enter become the new defaults and are used in all subsequent calculations in the current Insight session.) Each of these groups of parameters is discussed separately below.

Selecting the calculation method

Methods available

You can use one of the following ab initio methods for Turbomole calculations (see Theory for details):

Hartree-Fock
MP2
DFT
ACM

by choosing the appropriate parameter value under the Methods parameter in the Setup/Parameters command.

If you choose DFT, you must also select from among several density functionals. This can be done in two different ways:

  1. With the Other_Functionals parameter toggled off (default), you can select one of four standard, predefined density functionals (VWN, BVWN, BPW, and BLYP) from the Functionals parameter list:

    Table 2 . Standard functionals available within the Insight interface of Turbomole

    Functionals local correlation GC exchange GC correlation
    VWN   Vosko-Wilk-Nusair   --   --  
    BVWN   Vosko-Wilk-Nusair   Becke-88   --  
    BPW   Perdew-Wang   Becke-88   Perdew-Wang 91  
    BLYP   Lee-Yang-Parr   Becke-88   Lee-Yang-Parr  

  2. For greater flexibility, you can toggle the Other_Functionals parameter on, which allows you to select the individual local and gradient-corrected exchange and correlation terms in the density functional using the Local_Correlation, GC_Exchange, and GC_Correlation parameters.

The Local_Correlation parameter is used to select the local correlation functional. The choices for Local_Correlation are:

VWN (default): The Vosko-Wilk-Nusair parameterization of Ceperley and Alder's electron gas Monte Carlo data.

None: No local correlation functional.

The GC_Exchange parameter allows you to select a gradient-corrected exchange term. The choices for GC_Exchange are:

B_88: Becke's 1988 version of a gradient-corrected exchange functional.

None (default): No gradient-corrected exchange term.

The GC_Correlation parameter allows you to select a gradient-corrected correlation term. The choices for GC_Correlation are:

LYP: The Lee-Yang-Parr correlation functional, which includes both local and gradient-corrected terms.

PW: The Perdew-Wang 91 correlation functional, which includes both local and gradient-corrected terms.

None (default): No gradient-corrected correlation term.

If you choose the ACM method, the ACM coefficients are defaulted to Becke's suggested values (Becke 1993). However, they can be adjusted using the Slater_X, VWN_C, B88_X, and PW_C parameters.

Choosing which method to use

From a practical point of view in selecting the method, you need to consider (1) the computational cost, (2) disk and memory requirements, and (3) the accuracy of the available methods for your particular system.

The relative computational cost of the methods as implemented in Turbomole is:

Hartree-Fock < DFT (VWN) < DFT (BVWN) < DFT (BPW, BLYP), ACM << MP2

For all but small molecules, the Hartree-Fock (HF), DFT, and ACM methods are comparable in computational cost (all are dominated by the calculation of 2-electron integrals, which scales formally as N 4, where N is the size of the system). MP2, however, is an inherently more expensive method (it scales formally as N 5 ).

The disk space requirements of calculations using any of the Turbomole methods can be tailored to your hardware limitations (see Controlling disk and memory usage). There is, however, a distinction between HF/DFT/ACM and MP2. Whereas for the HF, DFT, and ACM methods, you can request that the calculation be run fully-direct (no disk space be used for storage of 2-electron integrals); with the MP2 method, a minimum amount of disk space is needed (below which the MP2 calculation cannot be run--see Controlling disk and memory usage).

Regarding the accuracy of the ab initio methods in Turbomole, since all the methods are approximations to the exact solution of the time-independent, electronic Schrödinger equation (see Theory), it is, in general, not possible to know, a priori, which method (when coupled with which basis set, see Selecting the basis set) will yield the most accurate results for a particular molecular system. Based purely on theoretical grounds, the ACM, DFT, and MP2 methods as a group are more accurate (they are less severe approximations of the Schrödinger equation) than Hartree-Fock, in that ACM, DFT, and MP2 include an approximate treatment of electron correlation (and Hartree-Fock includes no electron correlation). Of more relevance, however, is the accuracy of the methods and basis sets in applications to a wide variety of molecular systems. In this regard, recent work by researchers at MSI (Andzelm et al. 1995) for predictions of energies of a wide variety of reactions involving molecules composed of 1st- and 2nd-row elements (hydrogen-chlorine), found the performance of the methods (from most to least accurate) to be:

ACM > BPW > BLYP > MP2 >> VWN >> Hartree-Fock

For predictions of geometries the relative performance is:

ACM > MP2 > BPW, VWN > BLYP, HF

These conclusions are based on the performance of these methods on average, which is not necessarily the same as for a particular molecule.

For molecules containing heavier elements, the amount of data available is less abundant. However, calculations on organometallic systems and other molecules containing transition metals seem to indicate that the ACM and DFT methods are preferable to HF and MP2.

Selecting the basis set

The Basis And Grid parameters allow you to select the atomic basis functions that Turbomole uses in the expansion of the molecular orbitals. They also enable you to replace core electrons by effective core potentials in your electronic structure calculation.

The reliability of your results depends critically on selection of an appropriate basis set. While there are no universal laws regarding basis set selection, some rules of thumb can provide general guidelines. First, you should consider the atom types and nature of the interactions in your molecule. Atoms and bonds that are relatively polarizable require polarization functions to adequately describe the molecular electron deformations, while a proper description of weak molecular interactions requires a well saturated basis set to reduce the effects of basis set superposition errors. You should also consider the type of information you want from the Turbomole run. For example, most molecular geometries and harmonic vibrational frequencies can be reliably predicted with small- to medium-sized basis sets (i.e., the Pople basis sets, DZ, and DZP); however, reliable predictions of electrostatic moments, polarizabilities, infrared absorption intensities, and excitation energies generally require additional sets of polarization functions and/or diffuse orbitals. For predicting NMR shieldings, the quality of the basis set near the nuclei is critical; therefore, it is often important (especially for 2nd-row atoms) to use basis sets of TZ quality for describing the s and p orbitals. In addition, for MP2 calculations, the character and size of the virtual (unoccupied) orbital space becomes important. The virtual orbitals are also constructed from your atomic basis functions, and therefore, your choice of basis set plays an additional, indirect role in the quality of MP2 results. Thus, you should use a medium to large basis set when comparing relative MP2 energies, to allow for a well balanced correlation treatment among the molecules being compared.

The Basis_Source parameter allows you to select between reading the atomic basis set data and, if desired, effective core potential data from Turbomole's standard basis set library or from some other file.

Using the basis set library

With Library as the Basis_Source, a scrollable list of standard basis set choices is provided below. For more detailed information than is included in this section, you can refer to the appropriate literature references cited below or directly to the Turbomole basis set library files, which can be found in $BIOSYM/data/turbomole/bases/

If you select Library as the Basis_Source, your choice of one of the standard atomic basis sets from the parameter list is read from the Turbomole basis set library and assigned to each of the atoms in your molecule. If you also toggle the ECP parameter on, effective core potentials (ECPs) and their associated valence basis sets (ECP basis sets) are assigned to all atoms in your molecule which fall within the range specified by the ECP_Range parameter instead of the basis set selected in the basis set parameter list. The basis set assignments for atoms outside the selected range are not affected. For example, for the molecule SbFBr2 with the following values specified for the basis set and ECP parameters:


	Basis_Set_Data			dzp
	ECP			on
	ECP_Range			K-Pu 


the Sb and Br atoms would be assigned ECPs and the appropriate valence basis sets, since both Sb and Br fall within the range K-Pu (in the periodic table), but the F atom would be treated as an "all-electron" atom (since it lies outside the range K-Pu) and be assigned the DZP basis set.

With Library as the Basis_Source, the standard basis set choices available from the list are:

Split-valence (valence double-zeta) basis set for H-Kr (Schäfer et al. 1992).

sv basis set plus one set of polarization functions per atom.

Double-zeta basis set for H-Kr (Schäfer et al. 1992).

dz basis set plus one set of polarization functions per atom.

Triple-zeta basis set for H-Ar (Schäfer et al. 1992).

tz basis set plus one set of polarization functions per atom.

tz basis set plus two sets of polarization functions per atom.

Minimum STO-3G basis sets for H-Xe (Hehre et al. 1986 and references therein).

Split-valence 3-21G basis sets for H-Ar (Hehre et al. 1986 and references therein).

Split-valence 6-31G basis sets for H-Ar (Hehre et al. 1986 and references therein).

The 6-31G basis sets plus one set of polarization functions on Li-Ar; the 6-31G basis set on H and He.

The 6-31G basis sets plus one set of polarization functions on H-Ar.

Valence double-zeta basis set for H-Xe plus one set of polarization functions on all atoms but H and He (Godbout et al. 1992).

Valence double-zeta basis set for H-Xe plus one set of polarization functions on all atoms (Godbout et al. 1992).

Valence triple-zeta basis set for atoms H, B-F, Al-Ar plus one set of polarization functions on all atoms (Godbout et al. 1992).

Correlation-consistent valence double-zeta basis set for H, He, B-F (Dunning 1989).

cc-pvdz basis set augmented with diffuse functions (Kendall et al. 1992).

Correlation-consistent valence triple-zeta basis set for H, He, B-F (Dunning 1989).

cc-pvtz basis set augmented with diffuse functions (Kendall et al. 1992).

aug-cc-pvtz basis set with the s and p shells completely uncontracted.

Using effective core potentials

For systems that include one or more heavy atoms (atoms heavier than Xe) or for large systems, for which including all the electrons in the Turbomole calculation would not be practical, it is usually advisable to replace the core electrons (electrons which are low lying in energy and typically do not play any role in the chemistry and bonding in molecules) with effective core potentials (ECPs). In addition to reducing the size of the Turbomole calculation, ECPs can partially account for relativistic effects (which would otherwise be completely neglected by Turbomole), which become significant for the core electrons of the heavy elements. However, because calculation of NMR shielding tensors depends critically on the behavior of the wavefunction at the nuclei, ECPs should not be used for calculations in which NMR_Shielding is toggled on.

With Library as the Basis_Source, toggle the ECP parameter on to use effective core potentials in your calculation. ECPs and their associated valence basis sets are assigned to the appropriate atoms in your molecule, based on your choice for the ECP_Range parameter (which becomes accessible in the Setup/Parameters parameter block when ECP is toggled on).

With the ECP_Range parameter, you select a range of the periodic table (Li-Pu, Na-Pu, K-Pu, or Rb-Pu). All atoms in your molecule that fall within the selected range are assigned ECPs (and associated valence basis sets). All atoms that fall outside the selected range are treated as "all-electron" atoms and are assigned the basis set chosen from the basis set list.

The ECPs provided in Turbomole are the averaged relativistic effective potentials (AREPs) developed by Christiansen et al. and are summarized in Table 3. For detailed specifications of the AREPs, please refer to the literature references cited below the table and/or to the basis set library files located in $BIOSYM/data/turbomole/bases/

Table 3 . Averaged relativistic effective core potentials and ECP valence basis sets for atoms K-Pu

atom core electrons ECP1 valence basis set
Li-Ne   1s2   P   4s4p/2s(3,1)2p(3,1)  
Na, Mg   1s2   P   6s4p/4s(3,1,1,1)2p(3,1)  
Al-Ar   1s22s22p6   P   4s4p/2s(3,1)2p(3,1)  
K, Ca   1s22s22p6   H   5s4p/4s(2,1,1,1)2p(3,1)  
Sc-Zn   1s22s22p6   H   7s6p6d/5s(3,1,1,1,1)3p(4,1,1)3d(4,1,1)  
Ga-Kr   1s22s22p63s23p63d10   H   3s3p/2s(2,1)2p(2,1)  
Rb, Sr   1s22s22p63s23p63d10   L   5s5p/4s(2,1,1,1)3p(3,1,1)  
Y-Cd   1s22s22p63s23p63d10   L   5s5p4d/4s(2,1,1,1)3p(3,1,1)3d(2,1,1)  
In-Xe   1s22s22p63s23p64s23d104p64d10   L   3s3p/2s(2,1)2p(2,1)  
Cs-La   1s22s22p63s23p64s23d104p64d10   R   5s5p4d/4s(2,1,1,1)3p(3,1,1)3d(2,1,1)  
Ce-Lu   1s22s22p63s23p64s23d104p64d10   C   6s6p3d7f/4s(3,1,1,1)4p(3,1,1,1)2d(2,1)2f(6,1)  
Hf-Hg   1s22s22p63s23p64s23d104p64d104f14   R   5s5p4d/4s(2,1,1,1)3p(3,1,1)3d(2,1,1)  
Tl-Rn   1s22s22p63s23p64s23d104p65s24d105p64f145d10   R   3s3p/2s(21)2p(21)  
Fr-Ra   1s22s22p63s23p64s23d104p65s24d105p64f145d10   E   5s5p4d/4s(2,1,1,1)3p(3,1,1)3d(2,1,1)  
Ac-Pu   1s22s22p63s23p64s23d104p65s24d105p64f145d10   E   5s5p4d4f/4s(2,1,1,1)3p(3,1,1)ed(2,1,1)3f(2,1,1)  
1 ECPs are from P: Pacios and Christiansen (1985), C: Cundari and Stevens (1993), E: Ermler et al. (1991), H: Hurley et al. (1986), L: LaJohn et al. (1987), and R: Ross et al. (1990).

Reading basis sets and ECPs from a user-supplied file

If you prefer to use basis sets or ECPs other than those in the Turbomole library, select Read_From_File for the Bais_Source parameter. You provide the name of the file from which to read your own basis set data in the Basis_File parameter box (which becomes accessible when Basis_Source is set to Read_From_File). When the Basis_File parameter box is in focus (pick the parameter box with your left mouse button), a Turbomole_Files value-aid appears, which provides a scrollable list of all of the .turbo_archive files in your current working directory. You can select one of the .turbo_archive files in the value-aid or type in the name of another file from which to read your basis set (and ECP, if present) data.

Your basis set file must include at least one basis set for each atom type in your molecule (it may contain more than one basis set entry for a particular atom type; however, only the first such entry is used--the remainder are ignored). Any ECPs appearing in your basis set file are applied to all atoms of the particular atom type(s) for which the ECP entry(ies) appear (i.e., you do not need to toggle on the ECP parameter or select a range using the ECP_Range parameter).

The basis set (and, if desired, ECP) data must appear in Turbomole input file format. Refer to the Basis keyword for specifications of the format for basis set and ECP entries in your basis set file.

One technical point to note on basis function usage: while the standalone mode of running Turbomole does provide an input file keyword for switching between the true 5d7f and the Cartesian 6d10f orbital representations (see Basis_Type keyword), the Turbomole module in the Insight program does not provide access to this keyword. Consequently, unless you modify your input file by hand before launching your job, the following rule applies:

basis set representation
3-21G, 6-31G, 6-31G*, 6-31G**   6d10f  
All other basis sets
(including those read from a user-supplied file).  
5d7f  

Controlling disk and memory usage

During each iteration of the SCF procedure, two-electron integrals of the form:

Eq. 49

are needed. In Eq. 49, the one-electron functions (r) are the atomic basis functions, with each of the indices µ, , , spanning the basis set. Thus, the total number of two-electron integrals (neglecting symmetry and integral cutoffs) is proportional to N4, where N is the number of atomic basis functions. Since the integrals are independent of the SCF MO coefficients, the traditional SCF method involves a one-time precalculation and disk storage of all of these AO integrals. They are subsequently read from disk as required during each SCF iteration. Such an approach often creates a disk I/O bottleneck and limits the size of your molecular system to one for which all the AO two-electron integrals can fit on your available disk space.

The "direct" and "semi-direct" SCF schemes used in Turbomole eliminate this disk space limitation by providing the flexibility to store only a portion (semi-direct SCF) or none (direct SCF) of the AO two-electron integrals on disk. All integrals not stored on disk are recalculated each time they are needed. Similarly, for calculations in which two-electron integrals (and other two-electron quantities) are needed in the molecular orbital basis (SCF frequency calculations and all MP2 calculations), Turbomole uses semi-direct algorithms for the calculation and disk storage of these MO two-electron quantities as well.

The AO_Ints and MO_Ints parameters are used to specify the amount of disk space (in MBytes) that you want to use for storing AO two-electron integrals and MO two-electron quantities, respectively (the MO_Ints parameter appears in the Setup/Parameters parameter block only when Methods = MP2 or Calculation_Type (in the Setup/System command) = Frequency or Optimize_Frequency). For AO integral storage, you can specify that no disk space be used (AO_Ints = 0) to run a direct SCF calculation, although it is more efficient (in terms of SCF CPU time) to run a semi-direct SCF computation (AO_Ints > 0).

For MO integral storage, there is a minimum amount of disk storage that is necessary for any given SCF frequency or MP2 calculation, below which the calculation cannot be run with Turbomole (the minimum amount is not a fixed quantity but is a function of the size of the molecule, the size of the basis set, the symmetry of the molecule, etc.). If the value you specify for MO_Ints is below the minimum necessary to run the calculation, your job will abort with a message indicating what the minimum MO integral disk storage requirement is. Similar to AO integral storage, the more disk space you can provide for MO integral storage, the more CPU-efficient your calculation will be.

For SCF frequency and MP2 calculations, you can also specify the amount of in-core memory to use for holding the A-matrix during the solution of the coupled-perturbed Hartree-Fock (CPHF) equation (see Theory). The amount of memory (in MBytes) is specified using the Max_Core parameter, and, like for disk storage, the more memory you can provide, the more CPU-efficient your calculation will be (if you provide a value for Max_Core that exceeds the actual physical memory capacity of your computer, you will greatly reduce the efficiency of your job, since large amounts of memory paging will occur).

Defining the electronic state

The Spin, Charge, and Mult parameters are used to define the electronic state of your molecule. Based on your specifications for these parameters, Turbomole determines the orbital occupations and spin-pairings automatically.

The Charge parameter is used to define the total molecular charge (and thus the total number of electrons to be included in your calculation). The default value of 0 is appropriate for neutral molecules. If your system is a cation or anion, you would specify a positive or negative integer value, respectively.

If you want to carry out a calculation on the ground electronic state of a closed-shell system (all electrons spin-paired), the Restricted (default) selection of the Spin parameter automatically establishes a closed-shell electronic state in which a (necessarily) even number of electrons (2n) are paired off into the n lowest-energy molecular orbitals (determined by an extended Hückel calculation). With Spin = Restricted, the Mult parameter does not appear in the Setup/Parameters parameter block, since the electronic spin multiplicity is, by definition, equal to 1.

If you want to carry out a calculation on an open-shell electronic state of your molecule, you need to set Spin to Restricted_Open or Unrestricted and to specify the electronic spin multiplicity in the Mult parameter box. Turbomole automatically establishes the lowest-energy open-shell electronic state (based on the results of an extended Hückel calculation) consistent with the charge and spin multiplicity. Setting Spin = Restricted_Open establishes an open-shell SCF wavefunction in which each "closed-shell" orbital (i.e., each orbital that is fully occupied) is restricted to be spatially identical for spin-up (alpha) and spin-down (beta) electrons. Choosing Spin = Unrestricted establishes an open-shell SCF wavefunction in which two spatially distinct sets of molecular orbitals are used: "alpha" orbitals for spin-up electrons and "beta" orbitals for spin-down electrons.

The spin multiplicity is specified using the Mult parameter: values of 1, 2, 3, ... result in open-shell singlets, doublets, triplets, ... , respectively. A spin-restricted open-shell wavefunction is a proper eigenfunction of the total spin operator (S2). Conversely, a spin-unrestricted wavefunction can be more flexible (e.g., for studying bond-breaking processes); however, it is not an eigenfunction of S2 and, consequently, may suffer from contamination from states of higher spin multiplicity.

You may encounter situations where symmetry-dictated orbital degeneracy prevents Turbomole from establishing a unique electronic state based on your Spin, Charge, and Mult parameter specifications. If this happens, your Turbomole job aborts with a message indicating the nature of the problem. You will have to either provide the orbital occupations and spin pairings explicitly using the interactive Hückel tool described below (set MO_Guess to Interactive_Huckel) or run the calculation without symmetry to break the symmetry-enforced orbital degeneracies.

Setting up the SCF portion of a Turbomole job

By default, Turbomole uses an extended Hückel (EHT) calculation to generate starting orbitals and orbital occupations for the SCF portion of your job (MO_Guess = Huckel).

If, before running your job, you want to look at the EHT orbital energy diagram and perhaps modify the default orbital occupations and spin-pairings, you can set MO_Guess = Interactive_Huckel and select Execute. This launches a preliminary EHT calculation which, upon completion, displays an EHT orbital energy diagram (showing the default orbital occupations) in a new window called MO_DIAGRAM (Figure 2).

Figure 2 . Window that shows results of interactive Hückel calculation

An interactive Hückel calculation was run on benzene with Spin set to Restricted and Charge set to 0.  

To utilize symmetry in the interactive Hückel calculation (and thus have the resultant orbital diagram include orbital symmetry), execute the Symmetry/Find_Pt_Group command (see Defining the molecule and its point-group symmetry) before launching the interactive Hückel job.

The resulting diagram shows the EHT orbitals ordered by energy (starting with the lowest-energy orbital at the bottom of the diagram and proceeding to higher-energy orbitals towards the top of the diagram). The left-most column contains the MO labels (numerical index + symmetry label), the right-most column contains the orbital energies (in Hartrees), and the orbital occupations are displayed in the middle of the diagram where a red box containing an i indicates a spin-up (alpha) occupied orbital, a green box containing an ! indicates a spin-down (beta) occupied orbital, and a yellow box indicates an empty orbital. A key to the diagram is provided at the bottom of the window. It illustrates the color scheme and displays the current values of the total spin multiplicity, the total number of electrons, and the total molecular charge.

To remove electron(s) from an orbital, simply click the occupied orbital with the left mouse button. If Closed_Shell is selected (from the menu bar at the bottom of the MO_DIAGRAM window, see below), both electrons are removed from the orbital. If in addition the closed-shell orbital is formally degenerate, all electrons in the degenerate set are removed with a single mouse click. If Open_Shell or Unrestricted is selected (from the menu bar at the bottom of the MO_DIAGRAM window, see Figure 2), the spin-up and spin-down electrons can be removed independently. The Multiplicity, Electrons, and Total Charge display at the bottom of the diagram are updated whenever electrons are added or removed.

To add electron(s) to an orbital, simply click the empty orbital with the left mouse button. If Closed_Shell is selected (from the menu bar at the bottom of the MO_DIAGRAM window, see Figure 2), both a spin-up and spin-down electron are added to the orbital. If in addition the orbital is formally degenerate, all members of the degenerate set are filled with a single mouse click. If Open_Shell or Unrestricted is selected (from the menu bar at the bottom of the MO_DIAGRAM window, see Figure 2), the spin-up and spin-down electrons can be added independently. To add a spin-up electron, use the left box of an empty orbital; to add spin-down electrons, use the right box. The Multiplicity, Electrons, and Total Charge display at the bottom of the diagram are updated whenever electrons are added or removed.

If the default EHT occupations are for a restricted closed-shell wavefunction and you want to unpair electrons, you should toggle the Closed_Shell/Open_Shell/Unrestricted button on the menu bar at the bottom of the MO_DIAGRAM window to Open_Shell (for restricted open-shell spin wavefunctions) or Unrestricted (for unrestricted spin wavefunctions). This allows you to add or remove spin-up and/or spin-down electrons independently rather than as pairs. Conversely, if the default EHT orbital occupations are for an open-shell state and you want to re-occupy the electrons into a closed-shell occupation scheme, you should put the electrons into a closed-shell configuration and then toggle the Closed_Shell/Open_Shell/Unrestricted button to Closed_Shell.

When you have occupied the orbitals as desired, select the Save button on the menu bar at the bottom of the MO_DIAGRAM window. The Spin, Charge, and Mult parameter boxes of the Setup/Parameters parameter block are updated according to your orbital occupation scheme.

The bottom of the MO_DIAGRAM window contains a menu bar whose functions are:

Button 1: Refill

Reset orbital occupation to default aufbau occupation.

Button 2: Closed_Shell/Open_Shell/Unrestricted

Toggle between spin wavefunctions of restricted closed-shell, restricted open-shell, and unrestricted form.

Button 3: Save

Save current orbital occupations and updates the Spin, Charge, Mult, and MO_Guess parameters in the Setup/Parameters parameter block according to the occupations in the diagram and the setting of Button 3. Upon executing the Save function, the MO_Guess parameter is automatically set to Read_MOs_From_File (see below) with MO_File set to ia_huckel.turbo_archive. (The ia_huckel.turbo_archive contains the orbitals from the EHT calculation and the orbital occupations from the MO_DIAGRAM window.)

Button 4: Exit

Close and delete the MO_DIAGRAM window. (This does not save occupations or set the parameters as does the Save function.)

If you want to start the SCF procedure with a set of MOs from a previous Turbomole calculation (MOs stored in a .turbo_archive file), set the MO_Guess parameter to Read_MOs_From_File and enter the name of the .turbo_archive file in the MO_File parameter box, which appears when MO_Guess is set to Read_MOs_From_File. When the MO_File parameter box is active, a list of .turbo_archive files residing in your current working directory appears, from which you can choose the desired file. To use MOs from a previous Turbomole calculation as starting orbitals for your current Turbomole calculation, the molecule and molecular symmetry used in the previous calculation must be the same as those in your current calculation.

The SCF_Conv parameter sets the SCF convergence criteria. The criteria consist of two tests, each of which must be satisfied for SCF convergence to be reached.

The Iteration parameter sets the upper limit for SCF iterations. If the SCF convergence criteria have not been satisfied after Iteration of SCF cycles, the SCF procedure is terminated.

Calculating other properties with Turbomole

You can specify additional molecular properties to be calculated. Not all properties are available for all possible selections of the Methods and Spin parameters. Only those properties available for your particular choice of Methods and Spin are accessible in the Setup/Parameters parameter block.

Optional properties

Toggling the Boys_Localization parameter on allows you to carry out a localization of the canonical SCF molecular orbitals based on the method of Boys (1960). When Boys_Localization is toggled on, the Local_HOMO and Local_Other_MO parameters appear (under the Volumetric heading). These are used to create plot data for displaying any localized occupied orbital.

Toggling the Relativistic_E parameter on allows you to calculate a relativistic correction to the SCF energy based on the method of Cowan and Griffin (1976).

Toggling the Electric_Moments parameter on allows you to calculate the electrostatic charge, dipole moment, and the second, third, and fourth molecular electrostatic moments from the SCF wavefunction.

Toggling the NMR_Shielding parameter on allows you to calculate chemical shielding tensors for all atoms in your system.

To calculate excitation energies and oscillator strengths for electronic excitations (e.g., to predict the UV/visible spectrum of your molecule), toggle the Excitation_Energies parameter on. To specify the details of the excitation energies calculation, you also need to specify values for the Exc_State_Method, State_Sym, Exc_State_Spin, and NumStates parameters.

With the Exc_State_Method parameter, you can choose between an excited-state calculation using the singles CI method (Exc_State_Method set to SCI) or random phase approximation method (Exc_State_Method set to RPA). The SCI method is less expensive, but the RPA method is, in general, more accurate.

With the State_Sym parameter, you specify the symmetry of the excited state(s). You can enter the string default, which specifies that excited states which transform according to the totally symmetric irreducible representation (e.g., excited states of A1 symmetry for a molecule having C2v symmetry) will be calculated. Alternatively, you can enter the standard label for the particular irreducible representation (in lower case characters) (e.g., b1g).

With the Exc_State_Spin parameter, you specify the multiplicity of the excited state(s). You can choose between excited spin singlets (Exc_State_Spin set to Singlet) or excited spin triplets (Exc_State_Spin set to Triplet).

With the NumStates parameter, you provide an integer, n, specifying how many excited states to calculate. Turbomole reports the excitation energies and oscillator strengths of the n lowest-energy excited states consistent with your choice of Exc_State_Method and Exc_State_Spin.

Polarizabilities

The Polarizabilities parameters allow you to calculate the Static and Frequency_Dependent molecular electrostatic polarizability. If Frequency_Dependent is toggled on, you must also provide the values for the frequency(ies) (in eV) of the field(s) to use in the calculation of frequency-dependent polarizabilities. Frequency-dependent polarizabilities are calculated at each frequency listed. You may list no more than ten frequencies and, if more than one frequency is listed, you must separate the values with white space.

Population analyses

Toggling the Mulliken parameter on allows you to carry out a Mulliken population analysis of the SCF wavefunction (Mulliken 1955).

Toggling the Loewdin parameter on allows you to carry out a Loewdin population analysis of the SCF wavefunction.

Toggling the Roby_Davidson parameter on allows you to carry out a population analysis based on occupation numbers from the method of Roby (1974) and Davidson (1967).

Toggling the ESP_Charges parameter on allows you to calculate atomic charges based on a fit to the molecular electrostatic potential.

Volumetric parameters

If you want to display the resultant MOs, electron density, and/or electrostatic potential from your Turbomole calculation, you can specify this using the parameters listed under the Volumetric heading.

Set the Charge_Density parameter on to generate plot data to represent the total charge density.

Set the Potential parameter on to generate plot data for the electrostatic potential.

Set the HOMO parameter on to generate plot data for the highest occupied molecular orbital. Set the LUMO parameter on to generate plot data for the lowest unoccupied molecular orbital. Note that, when selecting HOMO or LUMO, if the orbital selected is a degenerate orbital, grid data are generated for all members of the degenerate set (and stored in separate files).

Set the Other_MO parameter on so that you can enter numbers, separated by spaces, that specify which molecular orbitals to plot. Toggling Other_MO to on activates the Molecular_Orbitals parameter. Use the Molecular_Orbitals parameter to list the indices of the other molecular orbitals for which to generate grid data. These indices are specified as integers separated by spaces. For example, an entry of 5 6 8 would generate grid data for the orbital amplitudes of the fifth, sixth, and eighth lowest-energy MOs. Note that, when selecting Other_MO, orbital degeneracies are handled as for HOMO and LUMO (i.e., if you selected an orbital that is a member of a degenerate set, grid data are generated for all members of the set). Additionally, for purposes of counting the orbitals (with the lowest-energy orbital being orbital 1), an n-fold degenerate set of orbitals is counted as n orbitals (not 1 orbital). Thus, in the orbital situation shown below, selecting Other_MO with Molecular Orbitals set to 5, 6, or 7 or selecting HOMO would generate the same three grid files for the triply degenerate orbitals 5, 6, and 7:

To generate grid data for the display of localized occupied orbitals (available when Boys_Localization is on, see above), you can toggle on the Local_HOMO and/or Local_Other_MO parameters. With the Local_HOMO parameter toggled on, grid data are generated for the localized HOMO. With the Local_Other_MO parameter toggled on, you provide integers in the Local_Mol_Orbitals parameter box which specify the localized occupied orbitals. The rules for specifying these integers are identical to those for the Molecular_Orbitals parameter (see above).

Using OPTIMIZE in the Insight environment

The recommended procedure for geometry optimization within the Insight program is:

  1. Construct the molecule to be optimized using the Builder or read in the geometry from an existing .car file or appropriate database.

  2. Specify any desired geometric constraints with the Optimize/Constraints command. This may include distance, angle, or dihedral constraints among any atoms in the system. Dummy atoms can be defined with the Pseudo_Atom pulldown (in the Builder module) to aid in defining constraints that are awkward or impossible to define with only real atoms.

  3. Minimize the geometry interactively, using one of the molecular mechanics forcefields available as part of the Discover package (the default forcefield is adequate for most routine organic molecules). It is strongly recommended that you also calculate a Hessian matrix at this time. (Starting with even a relatively simple mechanics Hessian can dramatically reduce the number of cycles required to reach convergence, especially with Cartesian coordinates.) You should also make sure that the desired constraints are met, as much as possible, before starting the optimization run.

  4. Check the mechanics-converged geometry for symmetry using the Symmetry/Find_Pt_Group command. If no symmetry is found and you suspect that your molecule ought to have some, increase the symmetry tolerance and try again. If symmetry is still not found, try repeating Step 3 with a tighter gradient-convergence criterion.

  5. Steps 1-4 can be repeated to build, say, the backbone of a molecule and ensure that it has the desired symmetry and/or constraints before adding side chains and additional functional groups. (Note, that if you do modify the molecule, you will need to recalculate the Hessian, using the same mechanics forcefield as in Step 3. Do this by invoking the Discover program again.)

  6. When you are satisfied with your molecule's symmetry and constraints, only then should you set the remaining optimization parameters and prepare your job for submission.

The advantages of starting an optimization with a reliable Hessian are clear from Table 4, which shows the number of cycles to reach convergence with various Hessian options for a test suite of molecules covering a range of various point-group symmetries in both Cartesian and natural internal coordinates.

Using a good starting Hessian is virtually mandatory in optimizations in Cartesian space, which perform very poorly otherwise, especially for larger systems with little or no symmetry (Table 4). Optimizations in natural internal coordinates are much less sensitive to the initial Hessian data--the (default) diagonal Hessian is, in general, just as good as a full mechanics-generated Hessian. Thus, if you are optimizing in natural internal coordinates, an input Hessian is not obligatory for good performance.

Table 4 . Efficiency of optimization under various conditions

Number of optimization cycles needed to reach convergence for minimization using Cartesian and internal coordinates, starting with a unit, a diagonal, or a molecular mechanics-derived Hessian. Calculations were done with Turbomole, but the same general results would be obtained in any optimization.

molecule number
of
atoms
sym-
metry
group
number
of
vari-
ables
Cartesian coordinates internal coordinates
unit
Hessian

mechan-
ics
Hessian

unit
Hessian

dia-
gonal
Hessian

mechan-
ics
Hessian

water   3   C2v   2   5   5   7   5   6  
ammonia   4   C3v   2   7   6   7   5   6  
acetylene   4   D*h   2   7   6   5   7   6  
benzene   12   D6h   2   6   4   5   3   4  
ethane   8   D3d   3   7   4   6   4   5  
propadiene   7   D2d   3   10   5   8   5   5  
neopentane   17   Td   3   10   5   7   5   5  
1,3,5-trifluoro-benzene   12   D3h   4   7   5   6   5   5  
hydroxysulfane   4   C1   6   21   11   17   10   8  
disilyl ether   9   C2v   7   27   10   13   8   8  
acetone   10   C2v   8   22   7   7   6   6  
furan   9   C2v   8   10   8   11   7   8  
naphthalene   18   D2h   9   11   5   9   7   5  
methylamine   7   Cs   10   10   5   7   5   6  
1,3,5-trisilacyclo-hexane   18   C3v   11   36   8   14   8   8  
1,3-difluoroben-zene   12   C2v   11   8   5   9   6   5  
ethanol   9   Cs   13   18   6   8   6   6  
difluoropyrazine   16   C2h   15   21   8   11   9   9  
1,5-difluoronaph-thalene   18   C2h   17   16   6   11   7   6  
benzidine   26   D2   18   26   10   25   12   9  
benzaldehyde   14   Cs   25   17   6   9   6   6  
4-methyl-3-penten-2-one   17   Cs   28   38   7   9   8   7  
2-amino-4-pteri-dinol   17   Cs   31   23   9   12   11   10  
2-hydroxybi-cyclopentane   14   C1   36   45   15   23   13   15  
caffeine   24   Cs   42   39   10   11   10   12  
histidine   20   C1   54   102   30   44   23   19  
dimethylpentane   23   C1   63   29   9   15   16   12  
menthone   29   C1   81   100   14   26   16   13  

However, under certain circumstances the topology of your molecule might be such that OPTIMIZE has difficulty generating a complete set of internal coordinates. If this occurs, the default procedure is to switch to Cartesian coordinates, where a starting Hessian is needed. Bear this in mind when deciding whether or not to generate a Discover Hessian for your ab initio optimization.

Optimization parameters are set within the Insight environment by selecting the Optimize/Opt_Parameters command. (The commands in the Optimize pulldown in the Turbomole user interface appear greyed out if an OPTIMIZE calculation has not been set up. This is intended to keep you from defining parameters that do not affect the calculation.) When this command is first selected, the parameter block shown in Figure 3 appears. The parameters and their meanings are discussed below.

Figure 3. Default appearance of the Optimize/Opt_Parameters parameter block

This is the appearance of the Optimize/Opt_Parameters parameter block the first time this command is selected, if the parameters in the Session/Cmd_Display command have not been changed. (Please see the Insight II User Guide for information on the effects of the Session/Cmd_Display command.)  

Coordinate_System refers to the coordinates used to describe the molecule to be optimized. These can be Cartesian or Internal coordinates--the latter are generated automatically by OPTIMIZE, so no user input is required. The default is Auto, which means that OPTIMIZE attempts to generate a set of internal coordinates and use these, but if this fails, the program switches to Cartesian coordinates. Specifying Cartesian or Internal forces the coordinate choice. For successful optimization using Cartesian coordinates, a reliable starting Hessian (read from a file specified by Hessian_File after toggling Starting_Hessian to on) is recommended.

Use_Constraints is toggled on (indicated by highlighting and a pushed-in appearance) if you already set any geometric constraints for your molecule with the Optimize/Constraints command. Two algorithms are available for constrained optimization: Penalty functions and Lagrange multipliers. The former is more robust; the latter is more accurate and more efficient. The Lagrange_Penalty choice means that OPTIMIZE first tries the Lagrange multiplier algorithm and, if this fails, it then switches to penalty functions. Another option, Penalty_Lagrange, uses penalty functions and, at convergence, refines the final structure using Lagrange multipliers. Specifying Penalty or Lagrange forces a particular algorithm.

You may have convergence problems if you use angle constraints near 0° or 180°. It may be necessary to optimize using only penalty functions first and then use the Lagrange multiplier method in a separate run after the first has converged.

The current maximum number of specific distance or angle constraints that is allowed is ten. More "constraints" can be set by freezing atom positions: any number of atoms may be frozen. You may request other distance and angle constraints and frozen coordinates in the same job; however, take care that your constraints are not mutually exclusive.

Note that constrained transition-state searches can be done only with the Lagrange multiplier method--the penalty function algorithm cannot be used.

Use_Symmetry is on if you used the Symmetry/Find_Pt_Group command to find the symmetry of your molecule.

Locate_Trans_State should be toggled on if you want to optimize to a transition state. The Calc_Mode parameter becomes accessible when Locate_Trans_State is on and is used to indicate which Hessian mode to maximize--the default is to maximize along the lowest mode. Other modes can be requested by setting Calc_Mode accordingly; however, this is not recommended unless you know the Hessian structure in some detail. Note that, without a reasonable starting Hessian, transition-state searches have limited chances of success.

GDIIS_Mode invokes the GDIIS algorithm of Pulay (Pulay 1982). This is available for minimization only. GDIIS calculates the new geometry as a linear combination of the current geometry and geometries from previous optimization steps; the total number of such geometries utilized is given by Max_DIIS, which becomes accessible when GDIIS_Mode is set to Manual. A suggested range for Max_DIIS is 2-10. Setting GDIIS_Mode to Automatic causes OPTIMIZE to estimate a suitable value for Max_DIIS based on the number of degrees of freedom.

Tolerances refers to the criteria that must be met for the geometry to be considered converged. The Grad_Conv criterion and either the Energ_Conf or Disp_Conv criteria (or both) must be satisfied for the optimization to be considered converged.

Grad_Conv is the convergence criterion for the maximum component of the gradient vector (in atomic units). The default is 0.0003, which should be more than sufficient for most purposes. To obtain accurate vibrational frequencies for very floppy molecules, this value should be reduced.

Energ_Conf is the convergence criterion for the energy change from the previous optimization step (in atomic units). The default is 0.000001 Hartree.

Disp_Conv is the convergence criterion for the maximum predicted displacement, that is, the maximum component of the displacement vector for the next step (in atomic units). The default is 0.0003, which should be more than sufficient for most purposes. For very floppy molecules this value can be increased without affecting the energetics.

Cycles is the maximum number of optimization cycles allowed for the job. The default is 50, which should be more than enough under most circumstances. If convergence is not achieved in Cycles steps, the job aborts.

Max_Disp is the maximum allowed step size, that is, the maximum permitted length of the displacement vector from one optimization cycle to the next (in atomic units). The default is 0.3. For awkward optimizations (e.g., to transition states or very shallow minima) with starting geometries known (or suspected) to be close to the final converged geometry, Max_Disp should be reduced.

All optimizations, especially those using Cartesian coordinates, should be initiated with a good starting Hessian. For standard minimizations, a good Hessian can be obtained from the Discover program; for transition-state searches, Turbomole should be instructed to calculate a Hessian before starting the optimization (by selecting the Setup/System command and choosing the Frequency option).

Toggling Hessian_Update to on enables you to access the Hessian_Update_Mode parameter, which indicates the manner in which the starting Hessian is updated during the optimization procedure. Three update methods are supported: Powell, BFGS, and BFGS_Safe. Defaults are provided, depending on the settings of various other parameters in this parameter block. These defaults should not be changed.

When the parameter block initially appears (Figure 3), the default options that are applicable to an unconstrained minimization using the EF algorithm are highlighted. Indeed, if a standard minimization is all you intend to do, there is no need to select the Optimize/Opt_Parameters command at all. The parameter block expands (or greyed-out parameters become accessible) when certain options are selected. For example, setting GDIIS_Mode to Manual makes the Max_DIIS parameter box accessible (see Figure 4), allowing the size of the iterative subspace to be set (the default is 4).

Figure 4. Appearance of Optimize/Opt_Parameters parameter block after GDIIS_Mode is set to Manual

Here, the GDIIS_Mode parameter has been set to Manual, which makes the Max_DIIS parameter box available (compare Figure 3).  

When you have set all the parameters in this parameter block, select Execute to actually set the internal Turbomole parameters and to exit the parameter block.

Setting up grid output

The Setup/Setup_Grid_Output command allows you to set up the parameters that determine the boundaries of the grid for generation of 3D data.

The Grid_Style parameter allows you to select the method used to compute the grid boundaries. Setting Grid_Style to Enclosure automatically determines the upper and lower limits of the x, y, and z dimensions of the grid, based on the coordinates of the molecule and the value of the Border_Space parameter. The value of the Border_Space parameter (in angstroms) is added to the maximum value in each of the x, y, and z dimensions spanned by the molecule, and, similarly, subtracted from the minimum value in each dimension to define the 3D rectangular region of the grid.

You also need to specify the method for determining the positions of the grid points. With Grid_Style set to Enclosure, you specify the grid points with the Number_of_Steps parameter. The Number_of_Steps parameter allows you to choose the number of points per dimension of the 3D grid. These points are evenly spaced in each of the x, y, and z dimensions. This method provides a constant number of points in each dimension, but not a constant point density for any molecule or assembly. Note that the lower boundaries of the grid will be shifted so that the grid points fall exactly on the grid boundaries.

With Grid_Style set to Extents, you explicitly specify the upper and lower grid boundaries in each of the X, Y, and Z dimensions, using the Lower_Bounds and Upper_Bounds parameters.

With Grid_Style set to Extents, you also need to specify the positions of the grid points with the Grid_Step parameter. The Grid_Step parameter allows you to specify the distance, in angstroms, between points in each dimension of the 3D grid. This value must be greater than zero. This method provides a constant density of points in each dimension of any size grid.

Setting up the background job

Use of the Background_Job pulldown is optional. If it is not used, the default is to run all jobs on the local host in Cont_Insight mode (see the Background_Job/Setup_Bkgd_Job command). If you prefer this mode, you do not need to read the remainder of this subsection.

When the Background_Job/Setup_Bkgd_Job command is used, the background job list shows only those background jobs that are run from the current module and can be run on a remote host. If the module contains only one job, the parameter is automatically filled in. The list of hosts shows only those hosts that are associated with that background job in the background_job_hosts file at your site. It is possible for you to specify a remote host that is unavailable (off line, for instance) or for which you have no login account.

Use the Background_Job/Control_Background_Job command to coordinate running background jobs by detaching selected jobs from or attaching them to Insight. In addition, you can use this command to specify the interval for invoking a task specific to a particular background job for processing its output.

Every background job submitted via the generic background utility is assigned a job number. This number is displayed in the information area when the job is submitted (e.g., Starting Module background job ... as job 1). You should note the job number when the job is submitted, since it can be used later to check the job's completion status, control the job while it is still running, or kill the job.

The Setup_Bkgd_Job command does not actually run the command--it simply records your host, Execution_Mode, and other preferences. The default host is Local. Your selected host and Execution_Mode are used for any subsequent background jobs for the duration of the Insight session. When you start a new session, all background job parameters are again set to their default values.

The Execution_Mode parameter allows you to run a background job concurrently (Cont_Insight) or interactively (Wait_For_Job) or to simply create the necessary command files to submit the job, but not actually execute them (Cmd_File_Only).

The Send_Mail parameter allows you to have the system send you an electronic mail message upon completion of the background job. This parameter is not active if Execution_Mode is set to Wait_For_Job. You may find this option useful when running long jobs where you exit the Insight program before the job completes.

The Save_Cmd_Files parameter allows you to save the command file used to submit the background job bkgd_job_run_name#.csh). Otherwise, this file is deleted when the job completes. This parameter is not active when Execution_Mode is set to Cmd_File_Only.

All background jobs return a completion status. The completion status is an integer code that indicates success, failure, and/or reason for failure of the job. The status code is displayed when you are notified that the job has completed.

If you consistently want to send background jobs to another host, you can modify your personal Insight startup file to invoke Setup_Bkgd_Job for each module's background jobs that you want to assign automatically. Note that you must first change to the module in which the background job's interface is found before using Setup_Bkgd_Job to set a preference for that background job.

The Completion_Window parameter can be used to prevent the notification window from appearing when the background job completes. The default is on.

Support for the network queuing system (NQS) is now available in the Background_Job/Setup_Bkgd_Job command.

For the user interface to present parameter defaults and a value-aid containing available queues, and to correctly formulate an NQS command, the user's NQS queue environment information must be provided to the Insight program. The Background_Job_Hosts file contains the NQS queue information, or you may enter the required information directly using the Background_Job/Setup_Bkgd_Job command.

Based on the parameter values provided in the Background_Job/Setup_Bkgd_Job command when Submission_Mode is set to Queued, the Insight background job mechanism formulates a standard NQS command and starts a process to execute it. It is assumed that the NQS command constructed by the Insight program functions with your NQS configuration.

Starting the job

Use the Run/Run_Turbomole command to assign a name to and initiate your Turbomole job. The run name is used to identify the input and output files associated with the job.

Monitoring a background job

The Background_Job/Completion_Status command has three modes of operation. The One_Job option displays a brief message indicating if a specific job has completed. The message is displayed in the information area of the screen. Certain background jobs generate a status file containing additional information while they are running. If this additional status information is available, it is displayed in the textport. If All_Jobs is chosen, the job number, job name, run name, status code, and job status are displayed in the textport for every job submitted during the current Insight session. The Look_Up_Status option is used to look up the meaning of a return status code.

The Report_Mode parameter is used to indicate what information you would like the command to return: status of one job, status of all jobs, or the meaning of a return status code from a particular job.

The Job_Number parameter becomes active when One_Job is selected. It is used to specify the background job that you want to monitor.

The Background_Job and Status parameters become active when Look_Up_Status is chosen. They are used to specify a status code that you want to look up.

The Kill_Bkgd_Job command is used to stop execution of a background job by killing its process and, optionally, deleting its output files. The Job_Number parameter is used to specify which background job to kill. A value-aid containing a list of all currently running background jobs is provided. If the Save_Output parameter is toggled on, then all output files generated by the background job are saved when the job is killed. The default value of this parameter is off, meaning that all output files are deleted.

Visual aids to analyzing results

Displaying orbital contours

The reactivities of molecules may often be determined in terms of the sizes and detailed shapes of the molecular orbitals that comprise their valence manifolds (Hout et al. 1983). Inspection of the shapes and symmetries of only the highest occupied and lowest unoccupied molecular orbitals is often sufficient to determine whether or not two molecules can react and, if they do react, what the stereochemistry of the product is likely to be (Hout et al. 1983).

You can use the Analyze/Orbital_Contour command to automatically contour both the plus and minus phases of a molecular orbital in one step (the Grid/Contour command requires two separate steps for contouring the plus and minus phases of an orbital; and the contour levels, contour colors, and contour name root parameters have no default values.) You can also use this command to recalculate an orbital contour, by toggling the Recalc_Contours parameter on.

The name of the grid that contains the relevant data is specified with the Scalar Grid Name parameter. A name is given to a grid during its creation with the Grid/Get command (the Grid pulldown is accessed from one of the icons along the side of the main Insight window).

The Contour Name parameter specifies the root name to be given to a created contour objects or the name of the contour pair that you want to recalculate. When calculating a new contour, you usually do not need to pay any attention to this parameter, since a unique default name is derived from the value of Grid Name parameter. When recalculating, both the positive and negative contours are recalculated.

The Orbital_Amplitude parameter is used to specify the value of the contour to create. For orbital amplitude contours, the default value of is usually appropriate.

The colors assigned to the plus and minus phases of the orbital contour are specified with the Plus Contour Color and Minus Contour Color parameters, respectively. The color can be specified as a character string such as red, as an RGB triplet of integers specifying the red, green, and blue contributions, or by choosing a standard or custom-mixed color from a color palette value-aid. Control of color is explained further in the Insight II User Guide.

Displaying charges

The Analyze/Charge Display command displays or loads charges for the molecule specified by Object Name. You can display, undisplay, or load the charges, according to the setting of the Charge_Operation parameter.

The Charge_Type parameter specifies the type of charge that is used with the Charge_Operation parameter. If Charge_Type is set to Current_Charges, the partial charges obtained from Insight are considered. (The combination Charge_Operation equals Load and Charge_Type equals Current_Charges therefore has no effect.)

The remaining choices of the Charge_Type are the types of atomic charges that are supplied by DMol, Turbomole, or Zindo.

The color of positive and negative charges is specified through the Charge_Plus_Color and the Charge_Minus_Color parameters, respectively. The charge spheres can be scaled using the Charge_Scale_Factor parameter, which defaults to 1.0 (no scaling).

Specifying isotopes

The Analyze/Isotope_Setup command's parameter block looks like:

The Isotope_Setup command provides the basic capability for specifying particular atomic masses before performing a normal mode analysis. It also provides access to default isotopic masses for a wide range of nuclear isotopes. The information is taken from a separate data file and can therefore be customized.

The Isotope parameter defines the action to be taken. The Standard_Weight and Substitute_Isotope settings of the Isotope parameter define the atomic mass for all atoms specified with the Atom parameter. The Atom parameter's scope is limited to atoms of the same element type.

The Substitute_Isotope setting makes two additional parameters accessible: Isotope Name and Isotope Mass.

Isotope Name refers to the name of the isotope that is obtained by prefixing the number of nucleons to the element symbol. The information is read from the q_isotopes.dat data file (see Files). The isotopes for a given element are listed in the Isotope List value-aid. For example, for hydrogen you would find the entries H, 1H, 2H, and 3H. The entry with only the element symbol (H here) refers to the standard weight, which is an average of isotope masses according to their relative abundances. The Isotope Mass parameter is entered automatically, depending on what Isotope Name was selected, but it can be modified. The Isotope Name is resolved to the first element found if the Atom parameter contains a wildcard.

The List_Current setting activates two parameters that are related to visualizing the current atomic mass definitions: List_In_Table and Label_Atoms.

The List_In_Table parameter, if toggled on, writes all the atomic masses, along with the atom names, to a table in a separate window. Clicking a table cell in that table adds an atomic mass label to the atom picked. This has the side effect that when the molecule is moved, labels are redrawn with the value of the partial charges.

The Label_Atoms parameter, if toggled on, attaches labels to all the atoms in a molecule specified by the Molecule Name parameter.

The labels' styles can be modified--the relevant parameter names in the Isotope_Setup parameter block are self-explanatory--as can the precision (through the Precision parameter in the Insight Viewer's Session/Environment command).

Displaying normal mode vibrations

The Analyze/Normal_Mode command creates a graph of normal mode frequencies and intensities from an .outmol file generated in a frequency calculation. This command also shows animated normal modes (selected by picking a frequency in the graph) and allows computation of isotope effects.

The Isotope_Subst parameter appears if the harmonic frequencies are actually calculated from a Hessian matrix supplied with the File_Contains parameter set to Hessian_Matrix. If the Isotope_Subst parameter is toggled on, the values for the atomic masses specified through the Isotope_Setup command (above) are used in the normal mode computation.

The Analyze/Normal_Mode command allows you to specify a wavenumber or an energy range for which to plot the frequency spectrum. The spectrum can be broadened. Modes can be displayed as arrows, and a distort function allows you to displace the geometry in the direction of a particular mode. A table containing the normal mode frequencies is generated, which can be used for selecting modes for the various visual representations.

Statistical thermodynamics

The Analyze/Stat_Mech command is used to obtain statistical thermodynamics data from the results of a quantum-code frequency calculation or a Discover .hessian file. The default parameter block looks like:

The Stat_Mech command operates on the basis of a frequency table supplied by the Analyze/Normal_Mode command. This frequency table is generated through a .hessian file supplied by either Discover or quantum codes such as DMol or Turbomole. The frequency table contains all the information required to perform the thermodynamic analysis, i.e., the values of all frequencies for the given system as a result of the normal mode analysis performed with the Normal_Mode command, as well as the atomic coordinates and masses needed for computing the translational and rotational contributions to the thermodynamic quantities. The atomic masses can be modified with the Analyze/Isotope_Setup command before performing the normal mode analysis.

Files needed and produced

When the Stat_Mech command is executed, it launches a background job named stat_mech, which uses one input file called stat_mech.input and produces two output files, stat_mech.output and stat_mech.tbl:

The frequency table is specified by the NMA_Frequency_Table parameter. The program checks whether this table actually contains all necessary information, since the associated list of objects includes all tables that were generated in the current Insight session.

Temperature range

The range of temperatures for which thermodynamic quantities are to be computed is specified through three parameters:

The temperatures are specified as absolute temperatures in Kelvin.

Thermodynamic quantities

The thermodynamic quantities computed are:

For each of these four quantities, the contributions from translational, rotational, and vibrational motions can be written to a .tbl file. Which thermodynamic data are written to the .tbl file depends upon the settings of parameters in the Stat_Mech command. For example, the S_Vibration parameter controls whether the vibrational contribution to the entropy is written to the .tbl file.

Additional parameters control the printing of the zero-point vibrational energy (Report_ZPVE) and of the moments of inertia (Report_Rotor_Info) to the .output file. The Report_Symmetry parameter, if toggled on, both reports the symmetry number for the particular system and includes it in the rotational partition function.

Displaying density-of-states information

The Analyze/Density_of_States command creates a total density-of-states plot by broadening the eigenvalues in an .outmol or .dos file. Partial density-of-states information (e.g., contributions by atom, atom type, or function) can be viewed from a .dos file (if present).

Once a converged electron density has been calculated, there are several ways to analyze the results, in particular the wavefunction. A convenient way of displaying the molecular orbital spectrum is by constructing and plotting the density of states. For molecular systems, this is commonly done by graphing the molecular orbitals as a function of the MO eigenvalues. The degeneracy of the orbitals is then indicated by the height of the functions. The theory is presented under Density of states graphs.

Displaying a summary of Turbomole output

The Analyze/Scan_Turbomole_Output command creates a short text summary (in a file called run_name.sum) of the Turbomole output of a job that ran or is currently running. The summary includes a list of the most important keywords, the most recent geometry and gradients, the total and binding energies, and information on the molecular orbitals (including information about the symmetry, if any, and the eigenvalues).

For frequency calculations, the vibrations are included, and if properties were calculated, both Mulliken and Hirshfeld data, as well as the electrostatic moments, are summarized.

The run statistics (the computer and CPU used, total CPU time) are included at the end of the summary file.

Using other Insight pulldowns

The Grid pulldown (which is one of the icons along the side of the main Insight window) is used to create and manipulate an energy grid for a molecule. You can create and compute the energy grid, display and undisplay it, and write it to an output file that is readable by the Contour/Get command. You need to define the parameters in the Grid pulldown commands before plotting a DMol calculation.

Please see the Insight documentation for further information on using the Grid and other Insight pulldowns and icons.




Last updated September 29, 1997 at 03:09PM PDT.
Copyright © 1997, Molecular Simulations, Inc. All rights reserved.