External

DESCRIPTION

Requests a calculation using an external program. This mechanism is primarily intended to facilitate the use of external programs to provide the low-level calculations in ONIOM calculations, but can also be used to conduct geometry optimizations using Gaussian’s optimizer with external programs providing the function values and derivatives.

Gaussian uses a standardized interface to run an external program to produce an energy (and optionally a dipole moment or forces) at each geometry. A text file is produced with the current structure, and a script named Gau_External is run by default (see below for information on specifying an alternate script). This script, which is provided by the user, is expected to:

You may specify a different script by including its name as the option to the External keyword: e.g., External=MyScript.

SCRIPT INVOCATION

By default, the Gau_External script is passed four parameters:

$ Gau_External layer InputFile OutputFile MsgFile

The parameters are defined as follows:

layer

  

A key letter indicating whether the computation is being performed on the real system (R), the model system of a 2-layer ONIOM or the middle layer of a 3-layer ONIOM (M), or the model system of a 3-layer ONIOM (S).

InputFile

  

The name of the file Gaussian has prepared as input for the external program.

OutputFile

  

The name of the file which should be read in after the external program completes.

MsgFile

  

The name of a file for messages; if the script creates this file, then its contents are copied to the Gaussian output file.

All of these files are deleted by Gaussian once the results have been recovered.

Additional arguments to the script may also be included:

External="RunTink Amber"

In this example, the actual command would be:

$ RunTink Amber layer InputFile OutputFile MsgFile

The specified script is always passed the parameters mentioned above as its final four arguments.

INPUT FILE FORMAT

The input file has the following format:

#atoms  derivatives-requested  charge  spin
atomic#  x  y  z  MM-charge                          Repeated for each atom.

The first line specifies the number of atoms in the molecule, what derivatives are to be computed (0=energy only, 1=first derivatives, 2=second derivatives), and the molecule’s charge and spin multiplicity. The remaining lines specify the atomic number, coordinates and molecular mechanics charge for each atom.

OUTPUT FILE FORMAT

The output file is in fixed format, and has the following data (all in atomic units):

Items    Pseudo Code    Line Format
energy, dipole-moment (xyz)    E, Dip(I), I=1,3    4D20.12
gradient on atom (xyz)    FX(J,I), J=1,3; I=1,NAtoms    3D20.12
polarizability    Polar(I), I=1,6    3D20.12
dipole derivatives    DDip(I), I=1,9*NAtoms    3D20.12
force constants    FFX(I), I=1,(3*NAtoms*(3*NAtoms+1))/2    3D20.12

The second section is present only if first derivatives or frequencies were requested, and the final section is present only if frequencies were requested. In the latter case, the Hessian is given in lower triangular form: αij, i=1 to N, j=1 to i. The dipole moment, polarizability and dipole derivatives can be zero if none are available.

RELATED KEYWORDS

External scripts may also be specified as one of the models for the ONIOM keyword (see examples below).

The Gaussian stand-alone MM program can be run with the -external switch, which causes it to read and write data in the formats used by the External interface.

EXAMPLES

The following route section specifies an external script for the low layer of a 3 layer ONIOM calculation:

# ONIOM(B3LYP/6-31G(d):AM1:External="RunTink Amber") Opt

The following route section specifies an external script for the high accuracy layer of a 2 layer ONIOM job:

# ONIOM(External="RunCC SDT":B3LYP/6-31G(d)) Opt

Last updated on: 9 Jun 2009