5.1. isomer with Gaussian
Gaussian is one of the most popular quantum chemistry software, thus we have provided official support for it.
5.1.1. Configuration of Gaussian
If you already know how to configure Gaussian, you can skip this part.
For Windows users: Assume you use Gaussian16 and put it in the directory D:\G16W
, then right-click This PC and click Properties, Advanced System Settings, and Environment Variables. In System variables
, select PATH
and click Edit. In the editbox, add ;D:\G16W
at the end of the texts in it, and click OK to confirm it.
For Linux users: Assume you use Gaussian16 and put it in the directory /home/you/g16
and you want to set the scratch directory for calculations to /scratch/you
, then open your .bashrc
and at the end of the file, add the statements
export g16root="/home/you/g16"
export GAUSS_SCRDIR=/scratch/you
source $g16root/g16/bsd/g16.profile
5.1.2. Example: Al3O4(+)
Tip
The sample input and output files can be found in testfiles/isomer/1-al3o4-g16
.
Here we want to find the global minimum of \(\mathrm{Al}_3\mathrm{O}_4^{+}\) at B3LYP/6-31g(d) level of theory. We will show how to use Gaussian and isomer
to do this.
Step 1: Prepare an input file named al3o4.inp
. For Linux users, use the following content:
1al3o4 # Result file name
2Al 3 O 4 # Symbols
3cube 3 3 3 # Structure types
440 # Maximal number of calculations
5>>>>
6xyz2gaussian optfile $inp$ > $xxx$.gjf
7g16 < $xxx$.gjf > $xxx$.log 2>/dev/null
8gaussian2xyz $xxx$.log > $out$
9>>>>
The texts after #
are comments and can be arbitrary. I will explain the input line by line:
The folder name to save local minima.
The cluster components. For \(\mathrm{Al}_3\mathrm{O}_4^{+}\), just write
Al 3 O 4
.In this line, one can give the type of initial guesses. Available choices are shown below:
Key words |
Meaning |
---|---|
|
Generate a linear initial structure. |
|
Generate a plane initial structure from a 2×3 lattice. |
|
Generate an initial structure from a 3×4×3 lattice. |
Point group symmetry. |
Generate a cluster with specific point group symmetry Please see Clusters with Specific Point Group Symmetry for details. |
In this case, cube 3 3 3
has 3×3×3 = 27 lattice points. To generate an initial guess, isomer
will place 7 atoms (3 aluminum and 4 oxygen atoms) among the 27 lattice points. Thus, the lattice size must be greater than the total number of atoms in the cluster.
Tip
The lattice size should be a little greater than the total number of atoms in the cluster. For example, you want to study a 11-atom cluster \(\mathrm{La}\mathrm{Si}_{10}^{+}\), you should use a guess like cube 4 4 4
(4×4×4=64) but not cube 5 5 5
(5×5×5=125)
The maximum cycle number \(g_{\mathrm{max}}\). Here it is the number of calculations you want to do. See Theoretical Background for details.
The lines between two
>>>>
are the commands to call external programs. See Interfaces to External Programs for details.
Step 2: Create a file called optfile
with the following content:
1%nproc=48
2%mem=24GB
3#N B3LYP/6-31g(d) SCF(XQC) Geom(NoCrowd) Opt
4
5opt
6
7+1 1
8>>>>
9>>>>
This is a template file that tells xyz2gaussian
how to generate a Gaussian file. Briefly, xyz2gaussian
will put all things before the first >>>>
to the beginning of the Gaussian input, and all things between the two >>>>
after the coordinates in the Gaussian input.
Tip
You should change the number of cores, memory usage, charge, spin multiplicity and #
line according to your systems.
Step 3: Now you can run the global optimization:
$ isomer al3o4.inp > al3o4.out
This will take a while (3 hours for me). After the optimization, the end of al3o4.out
is
Reordered from low to high energy: =============================================================== # Energy Match-RMSD =============================================================== 19 -1028.18355496 0.00000000 37 -1028.07587708 1.17242448 21 -1028.04827707 1.37687293 38 -1028.04583450 1.42104118 36 -1028.04460563 1.60199116 13 -1028.03167498 0.92850705 12 -1028.02937072 0.96190938 27 -1028.02418981 1.28093256 24 -1028.02270757 1.24132082 25 -1028.01698825 0.83752662 34 -1028.01572644 0.94141639 6 -1028.01527907 0.83000691 15 -1028.01189880 1.08154055
So the global minimum is al3o4-LM/19.xyz
and is shown below:
5.1.3. Example: Au6
Tip
The sample input and output files can be found in testfiles/isomer/2-au6-g16
.
Here we want to find the global minimum of \(\mathrm{Au}_6\). Assume you have known from literature that the global minima of small gold clusters are flat due to the relativistic effects, we can directly search the global minimum by using plane
.
Step 1: Prepare an input file named au6.inp
. For Linux users, use the following content:
1au6 # Result file name
2Au 6 # Symbols
3plane 4 3 # Structure types
420 # Maximal number of calculations
5>>>>
6xyz2gaussian optfile $inp$ > $xxx$.gjf
7g16 < $xxx$.gjf > $xxx$.log 2>/dev/null
8gaussian2xyz $xxx$.log > $out$
9>>>>
In this case, plane 4 3
has 4×3 = 12 lattice points. To generate an initial guess, isomer
will place 6 atoms (6 goldatoms) among the 12 lattice points. You can use plane 4 4
if your have plenty of calculation resource. plane 3 3
is too small and is not recommended.
Step 2: Create a file called optfile
. For gold, we want to use TPSS functional and a self-defined basis set plus pseudopotential. Remember to put basis information between the two >>>>
.
1%nproc=48
2%mem=24GB
3#N TPSSTPSS/GENECP SCF(XQC) Geom (NoCrowd) Opt
4
5opt
6
70 1
8>>>>
9Au 0
10S 8 1.00
110.38000800E+02 0.20009000E-01
120.23972500E+02 -0.15167900E+00
130.15218200E+02 0.36396000E+00
140.55399900E+01 -0.82132600E+00
150.13855100E+01 0.93664100E+00
160.64246100E+00 0.42352700E+00
170.15649600E+00 0.16250000E-01
180.54910000E-01 -0.97800000E-03
19S 8 1.00
200.38000800E+02 -0.53040000E-02
210.23972500E+02 0.46318000E-01
220.15218200E+02 -0.11994000E+00
230.55399900E+01 0.30406200E+00
240.13855100E+01 -0.49450100E+00
250.64246100E+00 -0.25551600E+00
260.15649600E+00 0.60916300E+00
270.54910000E-01 0.59776700E+00
28S 8 1.00
290.38000800E+02 0.32340000E-01
300.23972500E+02 -0.17176200E+00
310.15218200E+02 0.33950300E+00
320.55399900E+01 -0.74617900E+00
330.13855100E+01 0.19174980E+01
340.64246100E+00 -0.11299310E+01
350.15649600E+00 -0.13662840E+01
360.54910000E-01 0.14423910E+01
37S 1 1.00
380.54910000E-01 0.10000000E+01
39P 7 1.00
400.10309200E+02 0.12821700E+00
410.66276500E+01 -0.35379000E+00
420.16744700E+01 0.56621100E+00
430.80111600E+00 0.49317100E+00
440.34687900E+00 0.11377500E+00
450.12270100E+00 0.25340000E-02
460.42428000E-01 0.67900000E-03
47P 7 1.00
480.10309200E+02 -0.35885000E-01
490.66276500E+01 0.10289000E+00
500.16744700E+01 -0.20098800E+00
510.80111600E+00 -0.20104500E+00
520.34687900E+00 0.11654900E+00
530.12270100E+00 0.59496900E+00
540.42428000E-01 0.45552000E+00
55P 7 1.00
560.10309200E+02 -0.77242000E-01
570.66276500E+01 0.22261100E+00
580.16744700E+01 -0.49535300E+00
590.80111600E+00 -0.36074700E+00
600.34687900E+00 0.71000000E+00
610.12270100E+00 0.56883900E+00
620.42428000E-01 0.11930000E-02
63P 1 1.00
640.42428000E-01 0.10000000E+01
65D 6 1.00
660.11002700E+02 0.16467000E-01
670.68916600E+01 -0.68013000E-01
680.18080800E+01 0.29949200E+00
690.82105100E+00 0.45430300E+00
700.34416100E+00 0.34422400E+00
710.12974300E+00 0.12125600E+00
72D 6 1.00
730.11002700E+02 -0.23628000E-01
740.68916600E+01 0.95672000E-01
750.18080800E+01 -0.54129400E+00
760.82105100E+00 -0.39553300E+00
770.34416100E+00 0.61916500E+00
780.12974300E+00 0.46827600E+00
79D 1 1.00
800.12974300E+00 0.10000000E+01
81F 1 1.00
820.89190000E+00 0.10000000E+01
83****
84
85Au 0
86ECP60MDF 5 60
87H-Komponente
881
892 1.000000 0.000000
90S-H
912
922 13.523218 426.641867
932 6.264384 36.800668
94P-H
954
962 11.413867 87.002091
972 10.329215 174.004370
982 5.707424 8.870610
992 4.828165 17.902438
100D-H
1014
1022 7.430963 49.883655
1032 8.321990 74.684549
1042 4.609642 6.486227
1052 3.511507 9.546821
106F-H
1072
1082 3.084639 8.791640
1092 3.024743 11.658456
110G-H
1112
1122 3.978442 -5.234337
1132 4.011491 -6.738142
114
115>>>>
Step 3: Now you can run the global optimization:
$ isomer au6.inp > au6.out
After the optimization, the end of au6.out
is
Reordered from low to high energy:
===============================================================
# Energy Match-RMSD
===============================================================
1 -814.38125305 0.00000000
3 -814.38117940 1.43811738
4 -814.38099683 0.02502934
7 -814.38067642 1.44986858
0 -814.37928321 0.05173414
19 -814.32702207 1.02885421
So the global minimum is au6-LM/1.xyz
and is shown below: