You are on page 1of 94

Solid State Calculations Using gaussian:

The Definitive Guide to G09 PBC Calculations


April 25, 2012

Contents
1 Conventions Used in this Document
1.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Additional Input Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Using the ICSD: Starting Structures
2.1 Performing A Search . . . . . . . . . . .
2.2 Saving the cif Files . . . . . . . . . . . .
2.3 A Sample cif File . . . . . . . . . . . . .
2.4 Opening the cif File in GaussView . . .
2.5 Saving a Job File Derived from a cif File

6
6
7

.
.
.
.
.

8
9
12
14
16
17

.
.
.
.
.
.
.
.
.

18
18
19
19
19
20
22
22
23
25

.
.
.
.
.

26
26
27
27
28
29

.
.
.
.

30
30
30
31
32

6 Spin-Orbit Calculations
6.1 Example 1: Ge with ECP . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Example 2: Hg with ECP . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33
33
35

7 Dispersion Calculations

36

.
.
.
.
.

3 PBC Input Files


3.1 A Sample Input File . . . . . . . . . . . .
3.2 PBC Single Point Energy Calculations . .
3.2.1 Link 0 Commands . . . . . . . . .
3.2.2 The Route: Lines 1-3 . . . . . . . .
3.2.3 Title and Coordinate Specifications
3.3 Geometry Optimizations . . . . . . . . . .
3.3.1 Line-By-Line Description . . . . . .
3.4 Constrained Geometry Optimizations . .
3.5 Restarts . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.
.
.
.
.

4 Antiferromagnetic Guess Calculations


4.1 Input . . . . . . . . . . . . . . . . . . . . . .
4.2 Example 1: H Triplet Singlet . . . . . . .
4.3 Output File Info . . . . . . . . . . . . . . .
4.4 Example 2: Cr Triplet Singlet . . . . . .
4.5 Example 3: LaTiO3 Ti Quintuplet Singlet
5 Variable Magnetic Moment Calculations
5.1 Input . . . . . . . . . . . . . . . . . . . .
5.2 Output . . . . . . . . . . . . . . . . . . .
5.3 Example 1: Linear Monostrand of Pd . .
5.4 Example 2: Uranium Nitrides . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

8 Running Band Structure and PDOS Jobs


8.1 The Usual Case: PDOS and BS Simultaneously
8.2 PDOS Only . . . . . . . . . . . . . . . . . . . .
8.2.1 Input Example . . . . . . . . . . . . . .
8.2.2 PDOS Output . . . . . . . . . . . . . . .
8.3 Band Structure Only . . . . . . . . . . . . . . .
8.3.1 Example Input File . . . . . . . . . . . .
8.3.2 Output Files . . . . . . . . . . . . . . . .
8.4 Obtaining BS/PDOS Later . . . . . . . . . . . .
8.5 Detailed Description of BS/PDOS IOps . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

37
37
39
39
39
40
40
40
41
42

9 Symmetry
9.1 A Sample band.inp File . . . . . . .
9.2 Determining the SG for 3-D Systems
9.3 2-D Slabs/Films . . . . . . . . . . . .
9.4 1-D Monolayers . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

43
44
45
47
47

10 Plotting BS and PDOS


10.1 A Basic PDOS Plot . . . . . . . .
10.2 A Sample PDOS *.gpt File . . .
10.3 Plotting Band Structure . . . . .
10.3.1 Using gpband to Plot BS
10.3.2 Default gpband Output .
10.3.3 Annotated Default gp File
10.3.4 Modified BS Output . . .
10.4 Locating k-Points . . . . . . . . .
10.4.1 Easy Indirect Gaps . . . .
10.4.2 Special Gaps . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

48
48
49
50
50
50
51
52
53
53
53

.
.
.
.
.
.

54
54
56
57
57
57
57

.
.
.
.
.

58
59
59
60
60
61

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

11 Increasing the Accuracy and Efficiency of PBC


11.1 Practical Tips for G09 PBC Calculations . . . .
11.2 Diffuse Functions . . . . . . . . . . . . . . . . .
11.3 All PBC Keywords . . . . . . . . . . . . . . . .
11.3.1 Description . . . . . . . . . . . . . . . .
11.3.2 Options . . . . . . . . . . . . . . . . . .
11.3.3 Availability . . . . . . . . . . . . . . . .
12 Submitting Jobs at Rice
12.1 Modules: General Procedure
12.2 What You See: Logging In .
12.3 Module Commands . . . . .
12.3.1 Module Avail . . . .
12.3.2 Module Load . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
3

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Jobs
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

12.3.3 Module List . . . . . . . . . . . . .


12.3.4 Module Unload . . . . . . . . . . .
12.3.5 Modules & Submission . . . . . . .
12.4 G09 Modules Available on STIC . . . . . .
12.4.1 Applications Modules on STIC . .
12.5 Modules Available on Group Workstations

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

61
61
61
62
63
64

13 Scripts
13.1 PBS Submission Scripts (Rice-Specific) . . . . . . . . . . . .
13.1.1 STIC Serial Job PBS Submission Script . . . . . . .
13.1.2 STIC Parallel (Linda) Job PBS Submission Script . .
13.1.3 DaVinci Parallel (Linda) Job PBS Submission Script
13.1.4 BioU Serial Job PBS Submission Script . . . . . . . .
13.2 PDOS Vertical Template . . . . . . . . . . . . . . . . . . . .
13.3 PDOS Horizontal Template . . . . . . . . . . . . . . . . . .
13.4 Band Structure: gpband Default . . . . . . . . . . . . . . .
13.5 Band Structure: Modified AlSb (HISS) gpt File . . . . . . .
13.6 BS and PDOS Multiplot Example . . . . . . . . . . . . . . .
13.6.1 Header and Multiplot Set-Up . . . . . . . . . . . . .
13.6.2 Band Structure Plot . . . . . . . . . . . . . . . . . .
13.6.3 Band Structure PlotII . . . . . . . . . . . . . . . . .
13.6.4 The Rotated PDOS Plot-I . . . . . . . . . . . . . . .
13.6.5 The Rotated PDOS Plot-II . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

65
66
66
67
68
69
70
71
72
73
74
74
75
76
77
78

14 PBC Functionals
14.1 Scuseria Functionals . . .
14.2 Just-For-Solids Functionals
14.3 (Semi)Local Functionals .
14.4 Global Hybrids . . . . . .
14.5 Functional Bibliography .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

80
80
80
81
81
81

15 Basis Sets for Extended Systems


15.1 Example: The 6-311G Basis Set for Fluorine . . . . . . . . .
15.2 Modifying Basis Sets for PBC Calculations . . . . . . . . . .
15.2.1 Basis Set Databases . . . . . . . . . . . . . . . . . .
15.2.2 Example 1: Modified PBC Basis Sets with No ECPs
15.2.3 Example 2: Modified Arsenic Basis Set + ECP . . .
15.2.4 Example 3: Step-by-Step Modification for Cl . . . . .
15.3 Using the EMSL . . . . . . . . . . . . . . . . . . . . . . . .
15.3.1 Example: Ge . . . . . . . . . . . . . . . . . . . . . .
15.4 Converting cry to gbs Files: gbsutil . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

82
82
83
84
84
85
86
88
88
89

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

16 Backing Up Your Data


16.1 Using rsync: Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90
90

Conventions Used in this Document

The following conventions will be used throughout:


KEYWORDS when discussed in the text will be in Bold face font
IOps when discussed in the text will be in red.
Input and Output files for/from a G09 job, when discussed in the text, will be in
green.
External URL links will be in blue.
Internal links to sections or files within this pdf file will be in a darker, navy blue.
Directory paths on GUSCUS or any other machine will appear in, violet2.
sgu1 is an imaginary Scuseria Group User with an ID in the style that Rice uses, which
is typically 3 initials from your name followed by a number. sgu1 appears in several
examples...

1.1

Examples

Generally, the EXAMPLES will be in monospace font and indented, e.g.


Like this and thus ready to use for a G09 job.
Types of examples to expect include:
1. INPUT and or the ROUTES
2. OUTPUT and or the cmd line commands to watch/work-up a job
3. Scripts (PBS, etc.) if small enough, will be included in Section 13 of this document
or accessible locally by SCP from guscus:/projects/guscus/Manuals/scripts/.
4. Small Basis Sets for illustrative purposes will be included in Section 15. Links or
paths to a database, if one exists, will also be listed in this section. Note that the basis
sets are generally not small since we are not limited to H, He, Li and Be in the 21st
century.
All of these files should be immediately useable via cut-N-paste from this document. Acrobat
Reader should allow this, Evince does not always work. If not, there will always be some
template, somewhere. (But Acrobat works pretty much most of the time.)

Sec. 1: Conventions Used in this Document

1.2

Additional Input Examples

Please note that there are numerous additional examples of PBC jobs that are small enough
to run relatively quickly. Many of these may be taken from the Heyd 2005 paper on HSE,
(#265).
The unmodified (HSE03) input files and basis sets from this paper are located at online.
Simply replace the route line below in those *.com files, with the recommended route in
Sections 3.2.2-3.2.3).
%chk= file.chk
#p HSEh1PBE/GenECP Int(Grid=UltraFine) Pop=Regular FMM=(print)
IOp1=timestamp IOp(5/13=1,5/33=1)
SCF=(NoVarAcc,NoIncFock,Tight)

A local version of the sc40 test set, implementing the above


HSE-for-PBC route and including all basis sets is located at:
guscus:/projects/guscus/Manuals/examples/sc40

Last Modified March 26, 2012

Using the ICSD: Starting Structures

The ICSD Web database is located at icsd.fiz-karlsruhe.de. For Rice users free access is
available via IP address at icsd.fiz-karlsruhe.de.ezproxy.rice.edu.

The red rectangle in the center shows you how you are logged in. If it does not show that
you are logged in through Rice then you have access to the full database. You cannot access
the full database at home, or remotely, since the license is via IP address.)
The orange arrow to the right indicates how you can log in, and personalize your account.
This feature allows you to save your searches, which is very handy.
The yellow rectangle to the right shows you all of the options available for the different
searches. Chemistry is the most frequently used option.
NOTE: The contents of the center section change, depending upon the chosen option, while
the choices to the far left and right remain the same.

Sec. 2: Using the ICSD: Starting Structures

2.1

Performing A Search

Once you have logged in, you should see a page similar to that depicted in Figure 1. Go to
the left column and click Chemistry,as is delineated by the red arrow.

Figure 1: The ICSD page once you have logged in and are ready to begin a search.
Once you have clicked on Chemistry you will be provided with an empty form, as in
Figure 2.
1. Type in the element/compound/alloy/system you are interested in the line marked by
thered arrow This example is for bcc Cr.
2. Enter the number of elements in the system.orange arrow. (In this case 1.)
3. Hit Run Query on the left. green arrow.

Figure 2: The ICSD page once you have logged in and are ready to begin a search.
Notice that the lower right of Figure 2 has saved searches, indicated by the blue arrow in
the lower left corner. You can save your searches and recall them as necessary.
9

Sec. 2: Using the ICSD: Starting Structures

The various crystal structures for your system available in the database then appear, as in
the Cr example discussed and in Figure 3, below.
1. It is better to use the most recent and/or highest quality structures, but in this example,
the High Quality Data only option does not reduce the number of structures. (See
the red arrow to the far left.)
2. The ICSD generally reports only the Hermann-Mauguin notation (HMN) to report the
symmetry elements in the space groups. See the orange arrow to the left. (The space
group in HMN and as number(s) are in the *.cif files.)
The 4th column has the Structure Type, which is also listed in the band.inp file
names. So, since, we know we want bcc-Cr and it is a metal like W (Tungsten)
select the Im3m structure.
- BUT - what if you do not know that much? Refer to Section ?? for more
information on determining symmetry in various dimensions.
3. Simply select the structure(s) with the space group(s) you need. See the Green arrow.
4. Click Export Selected Data at the top, right, as indicated by the blue arrow.

10

Sec. 2: Using the ICSD: Starting Structures

Figure 3: Some of the many crystal structures available for Cr on the ICSD.

Note that if the Show Detailed View button is clicked once the structure has been
selected (purple arrow of Figure 3), that significantly more information about the structure
appears, as shown in Figure 4.
1. The structure is a Jmol animation with free rotation in and out of the ICSD window/tab.
2. The Experimental section summarizes what can be found in the articles of the Bibliography section.
3. The Warnings and Comments may be helpful in determining the quality of the structure
4. Once satisfied, click the Export CIF File button. (Circled in red.)

11

Sec. 2: Using the ICSD: Starting Structures

Figure 4: The detailed view for Cr cif file ID #44731.

2.2

Saving the cif Files

The Export Selected Data page is depicted in Figure 5.


1. Enter the name of the cif file(s) in the form (circled in red.)
2. Click either Single CIF FIle or Multiple CIF Files to export. (red arrows.)
In the Cr example, there will be only one file saved, with the name Cr_bcc.cif
If multiple files are selected, they are saved as a zip file, with the filenames
Cr_bccX.cif , with X= 1, 2, 3, ... once they are extracted.
12

Sec. 2: Using the ICSD: Starting Structures

3. Notice that there are two other formats: *.csv and *.xls, if tabulated data is desired.

Figure 5: The Export Selected Data page for Cr cif file ID #44731.

NOTE:
GaussView can read *.cif files as is,
so once they are downloaded, you are ready to go!

Last Modified April 10, 2012

13

Sec. 2: Using the ICSD: Starting Structures

2.3

A Sample cif File

This file has truncated symmetry equivalent positions.


(See guscus:/projects/guscus/Manuals/Cr_44731.cif for the full file)
#(C) 2012 by Fachinformationszentrum Karlsruhe. All rights reserved.
data_44731-ICSD
_database_code_ICSD 44731
_audit_creation_date 2000-12-16
_audit_update_record 2006-04-01
_chemical_name_systematic Chromium - alpha
_chemical_formula_structural Cr
_chemical_formula_sum Cr1
_chemical_name_structure_type W
_exptl_crystal_density_diffrn 7.19
_cell_measurement_temperature 293.
_publ_section_title
;
The absorption and refraction corrections and the lattice constants of
chromium
;
loop_
_citation_id
_citation_journal_full
_citation_year
_citation_journal_volume
_citation_page_first
_citation_page_last
_citation_journal_id_ASTM
primary Zhurnal Eksperimentalnoi i Teoreticheskoi Fiziki 1964 47 476 479
ZETFA7
loop_
_publ_author_name
Straumanis, M.E.
Weng, C.-C.
_cell_length_a 2.88494(7)
_cell_length_b 2.88494
_cell_length_c 2.88494
_cell_angle_alpha 90.
_cell_angle_beta 90.
_cell_angle_gamma 90.
_cell_volume 24.01
_cell_formula_units_Z 2
_symmetry_space_group_name_H-M I m -3 m
_symmetry_Int_Tables_number 229

14

Sec. 2: Using the ICSD: Starting Structures

loop_
_symmetry_equiv_pos_site_id
_symmetry_equiv_pos_as_xyz
1 z, y, -x
2 y, x, -z
3 x, z, -y
4 z, x, -y
5 y, z, -x
6 x, y, -z
7 z, -y, x
8 y, -x, z
9 x, -z, y
10 z, -x, y
11 y, -z, x
12 x, -y, z
13 -z, y, x
14 -y, x, z
15 -x, z, y
16 -z, x, y
17 -y, z, x
18 -x, y, z
19 -z, -y, -x
20 -y, -x, -z

(TRUNCATED)

. . .
96 x+1/2, y+1/2, z+1/2
loop_
_atom_type_symbol
_atom_type_oxidation_number
Cr0+ 0
loop_
_atom_site_label
_atom_site_type_symbol
_atom_site_symmetry_multiplicity
_atom_site_Wyckoff_symbol
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
_atom_site_B_iso_or_equiv
_atom_site_occupancy
_atom_site_attached_hydrogens
Cr1 Cr0+ 2 a 0 0 0 . 1. 0
#End of data_44731-ICSD

15

Sec. 2: Using the ICSD: Starting Structures

2.4

Opening the cif File in GaussView

Figure 6: The GaussView main console.


1. On the menu bar, select FILE OPEN (See Figure 6.)
2. A window will appear as in the left of Figure 7
3. Select in the File type window Crystallographic Information Files (*.cif)
4. Go to the directory you want and select the cif file you want
5. The file name should appear in parentheses in the first box e.g., BaTiO3.cif
6. Click the blue Open button to the left and GaussView will open the structure
7. A new window will open with the crystal structure inside the box defined by the lattice
parameters. (See the right image of Figure 7.)
Note that the lower left corner contains information about the number of atoms, and
electrons as well as the charge and multiplicity.
The information to the right will change upon selection of atoms or bonds.
8. Manipulate the file as you wish and then save.

Figure 7: GaussView for cif files. Left: The window to select and open a cif file in your
directory. Right: The periodic system with cell axes and atoms constructed from the cif
file by GaussView.

16

Sec. 2: Using the ICSD: Starting Structures

2.5

Saving a Job File Derived from a cif File

Figure 8: The Calculation Menu to set up and save a gjf file.


1. On the menu bar, select CALCULATE Gaussian Calculation Setup... (See Figure 8.)
2. If you have already save a calculation scheme, you may do this, instead.
3. A window will appear as in Figure 9
4. All requisite keywords/IOps discussed in Section 3 are input via the Additional Keywords
line.
5. Paths to basis sets or ECPs can be added via the Add. Input tab to the far right.
6. Store the file first by hitting the Retain button at the bottom (5th ) from the left.
7. Save it as a *.gjf file by going to the main window under FIle Save.

Figure 9: GaussView window for setting up a job.

17

PBC Input Files


The example below contains the minimal input file you will need for running
a PBC job. Copying the route and using it should ensure that any small test
PBC job will run reasonably smoothly.

3.1

A Sample Input File


%chk=CdS-wu_x.chk
#p HSEh1pbe/GenECP Int(Grid=UltraFine) pop=regular fmm=(print)
IOp1=timestamp IOp(5/13=1,5/33=1,5/181=10,5/184=186)
SCF=(NoVarAcc,NoIncFock,Tight)
CdS-Wurzite (hexagonal) using basis set from JJ Sowa xtal Solid State
Sciences 2005 7 73 78
0 1
Cd
S
Cd
S
Tv
Tv
Tv

0.00000000
0.00000000
2.06825000
2.06825000
4.13650000
-2.06825000
0.00000000

2.38820939
2.38820939
1.19410469
1.19410469
0.00000000
3.58231408
0.00000000

0.00000000
2.53193200
3.35800000
5.88993200
0.00000000
0.00000000
6.71600000

@/projects/guscus/basis/cd-heyd.gbs/N
@/projects/guscus/basis/s-mHeyd2005.gbs/N

Quick File Description


1. Link 0 commands: checkpoint file specification (%mem etc., added in *.pbs files)
2. The route
3. The title line(s)
4. Charge and multiplicity specifications
5. Coordinates (for a unit cell, now, not a molecule)
6. Three translation vectors, labeled by Tv
7. The basis set specification

18

Sec. 3: PBC Input Files

3.2

PBC Single Point Energy Calculations


A detailed description of each line and/or section of the input file in Section 3.1
is provided in the subsections that follow. Most requirements parallel what is
normally used for molecular calculations.
(See the Gaussian09 Online Users Manual.)

3.2.1

Link 0 Commands

1. A checkpoint, *.chk file is vital: PBC jobs run long, are prone to crash, and are necessary
for BS/PDOS calculations.
2. %mem, %NProcShared, scratch file names/locations and other commands will be added
via the various PBS scripts and are not necessarily PBC-related other than that memory
requirements will be much larger than those of molecules, and running in parallel becomes
especially useful.

3.2.2

The Route: Lines 1-3

1. #p Requests more verbose print-out. *ALWAY* use.


2. HSEh1PBE Functional specification
HSEh1PBE is the HSE06h version of HSE the most current and accurate flavor of
HSE. USE THIS FOR HSE.
Frequently used functionals are SVWN5, PBE, TPSS, PBEsol, and HISS.
All other functionals, the appropriate keywords and/or IOps are tabulated in the Functionals section, Section 14.
References for the various functionals are also in Section 14 or may be found locally as
bib file at guscus:/projects/guscus/Manuals/functionals.bib.
3. GenECP Basis set specification: read in a basis set and and an ECP
GenECP is equivalent to the combination of Gen and Pseudo=Read.
If no ECP is required, use the keyword, Gen.
4. Int(Grid=Ultrafine) always use, period.
To make valid energy comparisons among two or more jobs, the same grid must be used
and the Ultrafine grid is generally better for PBC calculations...
Note that there are numerous ways to specify this grid: consult the G09 Keyword page
to see the other variations. (G09 input is essentially free-format, so case usually DOES
NOT matter.)
5. Pop=Regular molecular orbital printing and several types of population analysis.
Absolutely necessary for computing Band Structure and PDOS: leaving it out will result
in much distress. Section 8.1.

19

Sec. 3: PBC Input Files

Using the Pop=FULL option will result in an... overly large file.
6. FMM=Print and IOp1=timestamp are useful for debugging and timings
Odds are, you will use these at some point: put them in your template and be glad
later.
7. Other important PBC IOps: (Check the G09 IOps Page for more details. These are all
Overlay 5 Direct link to Overlay 5)
5/13=1 continue running even in spite of non-convergence, ILSW flag ON
5/33=1 eigenvalues and MOs printed at end
5/181=10 run a PDOS calculation (See Section 8.2.)
5/184=### look for a band.inp file of space group ### and compute the band
structure.
e.g., 186 = Wurtzite/hexagonal; 216 = Zincblende; 227 = Diamond, ...
See Sections 8.3 and 9.1.
8. The SCF settings are key for both energy calculations and optimizations. Again,this is the
minimal route for a PBC job. See the specific keyword pages for more details.
NoVarAcc Do not use the default of modest integral accuracy early in direct SCF,
switching to full accuracy later on.
NoIncFock Prevents the use of incremental Fock matrix formation, and it is the
default for conventional SCF
Tight SCF=Tight, should be default: SCF details.
Note that "tight" varies by Gaussian version for PBC, so explicitly stating this is
a safety measure.
If in doubt, check your output file.
There is a definite difference between HSE03 and HSE06.

3.2.3

Title and Coordinate Specifications

Notice that very little differs from a molecular file specification...


1. Line 4 starts the Title Section
Cannot exceed five (5) lines and must be preceded and followed by a blank line.
Do not use @ # ! - _ \ or any control characters (especially Ctrl-G)
Use for notes e.g., recording the name, symmetry, ICSD ID and lattice parameters of
the compound, etc..
2. Charge and multiplicity specifications
Charge is the number to the left, multiplicity the number to the right.

20

Sec. 3: PBC Input Files

For a neutral singlet, will usually see 0 1, but be aware of an older notation using
commas: 0,1
3. The unit cell coordinates.
xyz Cartesian coordinates
Usually from a *.cif file downloaded from a database, like the ICSD, see Section 2.
Can be aprimitive, the full unit cell or a supercell. NOTE:
Databases generally provide the unit cell, not the primitive cell.
4. The translation vectors always follow the cell coordinates
Labeled by Tv, or numerically as -2.
Correspond to the x, y and z directions, respectively.
Note that these directions/planes do not necessarily correlate with those for various
Miller Indices of interest: when going from 3-D to a 2-D slab or 1-D monolayer, simply
deleting one (or two) of the rows from the bulk structure may not result in the desired
lower dimensional structure.
Always followed by a blank line.
5. The basis set specification using a path
The/N prevents the basis set from being printed at the beginning if the output file
Alternatively, the basis set and/or ECP can be added to the end of the file, as in
molecular calculations
6. There are cases where additional specifications may be added to a file. For examples, review
the sample input files in Sections 4, 5, and 6.

This example, with the complete input file (including both basis sets)
and the corresponding output file is provided locally at:
guscus:/projects/guscus/Manuals/examples/CdS-wu/.

Last modified March 26, 2012

21

Sec. 3: PBC Input Files

3.3

Geometry Optimizations
Note that both the lattice parameters *and* the atomic positions
are relaxed within a gaussian PBC optimization.

Below is an example route for a PBC Optimization:

%chk=CdS-wu_x.chk
#p HSEh1pbe/GenEcp Int(Grid=UltraFine) Pop=Regular FMM=(Print)
IOp1=timestamp IOpp(5/13=1,5/33=1,5/181=10,5/184=186)
SCF=(NoVarAcc,NoIncFock,Tight) Opt Guess=(Read,Fock)

3.3.1

Line-By-Line Description

1. Keep the SCF=(NoVarAcc,NoIncFock,Tight) specification.


2. Add the keyword Opt
3. PBC optimizations benefit greatly from an initial guess, hence; Guess=(Read,Fock).
Why Guess=(Read,Fock) and not just Guess=(Read)?
According to Dr. Cristian V. Diaconu, reading from the Fock matrix is better because:
Guess=Read uses the Fock matrix if NMtPBC in the chk file is the same as
that of the current calculation, otherwise, it uses the MO coefficients, folded
in the unit cell. The latter is good for weakly-interacting molecular solids,
but becomes increasingly bad as the inter-cell interaction increases. For nonmolecular solids I suggest always using Guess=(Read,Fock).
4. The *chk files can become very, very large (hundreds of MB or even a tens of GB)
If running a big job, back up the *chk file periodically. A corrupted checkpoint file
is an extremely sad thing
The STIC/DaVinci/BlueBioU file systems can and *will* corrupt checkpoint files such
is the price of cutting-edge computing.

22

Sec. 3: PBC Input Files

3.4

Constrained Geometry Optimizations


This information originates from an email exchange between Rich Martin from
LANL and Dr. Fernando R. Clemente of Gaussian Technical Support.
Check Section 11.3 for notes on additional PBC keyword usage.

The best way to apply constraints in these geometry optimizations would be to use the keyword
Opt=ModRedundant, symbolic Z-matrices would not work well for PBC optimizations.
The trick in applying constraints to PBC geometry optimizations is to get the correct
numbering right. Note that the translation vectors count for the purpose of atom numbering even
though they are obviously not atoms and thus their numbers cannot be used directly to apply a
constraint. So, for example, if one wants to freeze the length of a translation vector, the constraint
would be to freeze the interatomic distance between an atom in the origin cell and the same atom
in the contiguous cell along the direction of the translation vector of interest.
In a 3-D periodic calculation, there are 8 cells to consider, the origin cell (O) and seven contiguous
cells (one along each one of the three translation vector, T1, T2 and T3, plus the four contiguous
cells along the diagonals, T1+T2, T1+T3, T2+T3, and T1+T2+T3). The following shows how
these cells are ordered for atom numbering purposes:
Cell Start End
O
1
T3
N+1
T2
2N+1
T2+T3
3N+1
T1
4N+1
T1+T3
5N+1
T1+T2
6N+1
T1+T2+T3
7N+1

N
2N
3N
4N
5N
6N
7N
8N

where N is the number of entries in the input file, that is the number of "real" atoms plus the three
translation vectors.
For instance, in the input file you sent here, you have 12 atoms plus the three translation vectors,
that makes N=15. If you were to freeze the length of the first translation vector (T1), you could
freeze, for instance, the interatomic distance between atom 1 (in cell O) and atom 61 (same atom
but in cell T1).
In your case, I see that you would like to constrain the lengths of T1 and T2 to be the same, not just
freeze the length. Unfortunately, the redundant internal set does not allow to impose the identity
condition between two coordinates. However, for this particular case, it would still be possible to
do what you are trying here.
In order to keep the lengths of T1 and T2 equal during the optimization, you could freeze the angle
between an atom in cell T1, the same atom in cell O, and the same atom in cell T1+T2. This angle

23

Sec. 3: PBC Input Files

should bisect the angle between T1-O-T2. So, given that your translation vectors form an angle
of 90 degrees, the T1-O-T1+T2 angle should be frozen to be 45.0 degrees, exactly at the bisection
(which implies that the two translation vectors will be equal in length). Below is an example of how
to do this for your input file.
#p uTPSStpss/Gen PBC=(nkpoint=2000) pop=regular
SCF=(convergence=7,maxcycles=64,NoVarAcc)
Guess=(Read,Fock) OPT=modredun
V4O8 tetragonal rutile
0 5
V
O
O
V
V
V
O
O
O
O
O
O
Tv
Tv
Tv
A 61 1 31 90.0 F
A 61 1 91 45.0 F

(high temperature);

1.27880629
0.27860530
1.81959437
3.48744003
2.73205066
0.52341693
4.48764102
3.73225165
-0.47678407
2.94665196
2.19126259
1.06420500
4.55460000
0.00000000
0.00000000

4.44482660
0.95052300
3.32683050
2.18167660
0.08147340
2.34462340
3.21367300
3.57577700
1.31262700
1.06368050
1.19946950
3.46261950
0.00000000
4.55460000
0.00000000

Towler V and O basis;

-0.22374016
0.87756065
0.96076224
1.19205909
3.77512190
2.35932265
0.09075828
2.67382109
3.46062345
0.00755669
2.59061950
3.54382505
0.00000000
0.00000000
5.70280000

! T1-O-T2 angle 90 deg.


! T1-O-T1+T2 angle bisects above angle

@v_towler.bas
@o_towler.bas

Last Modified March 29, 2012

24

Sec. 3: PBC Input Files

3.5

Restarts

For both energy calculations and optimizations, adding Restart is sufficient, i.e.,
Energy Calculation: SCF=(NoVarAcc,NoIncFock,Tight,Restart)
Optimization: SCF=(NoVarAcc,NoIncFock,Tight) OPT=Restart
See also Section 3.4 for instructions on how to run constrained geometry optimizations

Last modified March 27, 2012

25

Antiferromagnetic Guess Calculations


The "Antiferromagnetic Guess" or "Spin-Flip" code for PBCS "flips" the spin
density for a given set of atoms. It is useful for generating AFM (antiferromagnetic) guesses from FM (ferromagnetic) calculations.

NOTE: For version G09-b1-pbc-2.3 the IOps are:


1. 5/150=1 turn on the AFM guess
2. 5/150=0 turn off the AFM guess (default)
3. AGAIN: These IOps change by version, so check before running.

4.1

Input

If the AFM guess is turned on, a list of atoms whose spin densities are to be flipped should be
specified after a blank line from the input file. This is best accomplished by running a two-part
calculation using Link 1. (See Section 4.2 for more details.)
1. The first part of the input file should be the "unflipped" system
2. Add a blank space
3. Add Link1
4. The new route will include Guess=(Read,Fock), IOp(5/150=1) and NoSymm. The
NoSymm keyword prevents the reorientation and causes all computations to be performed
in the input orientation.
5. Add the new spin multiplicity, e.g., 0 3 0 1
6. Input the coordinates again (could Geom=Allchk be used)
7. Input ONE (1) blank line after the last Tv
8. Add the list of atoms that will be spin flipped
Specify according to the atom numbers
Apparently vertically specified (See 4.5.)

26

Sec. 4: Antiferromagnetic Guess Calculations

4.2

Example 1: H Triplet Singlet

In the following example, the comments are actually *in* the G09 input file.
%chk=H.chk
#p PBEPBE/cc-pvtz
PBE H note this starts out as a triplet and will be flipped
0,3
H
H
TV

0.0000 0.000 0.0000


0.0000 0.000 1.1000
0.0000 0.000 2.2000

--Link1-%chk=H.chk
#p PBEPBE/cc-pvtz Guess={Read,Fock} IOp(5/150=1) NoSymm
PBE H note that the total spin multiplicity is now 1
0,1
H
H
TV

0.0000 0.000 0.0000


0.0000 0.000 1.1000
0.0000 0.000 2.2000

! LIST OF ATOMS WHERE THE SPIN SHOULD BE FLIPPED


! Note only 1 linee between the Tv and the atom list
1

4.3

Output File Info

At the beginning of the SCF, the output file should contain the following message:
"AfmFkG: AFM guess by flipping spin density"
followed by the list of atoms and basis sets involved in the spin flipping.

The input and output files with comments are located locally at:
guscus:/projects/guscus/Manuals/AFMGuess/Example1-H.

27

Sec. 4: Antiferromagnetic Guess Calculations

4.4

Example 2: Cr Triplet Singlet


%chk=Cr.chk
#p PBEPBE/LANL2DZ
PBE Cr
0,3
Cr
Cr
TV

0.0000 0.000 0.0000


0.0000 0.000 2.4000
0.0000 0.000 4.8000

--Link1-%chk=Cr.chk
#p PBEPBE/LANL2DZ guess=read IOp(5/150=1)
PBE Cr
!
! **** note that total spin multiplicity here is 1.
!
0,1
Cr
0.0000 0.000 0.0000
Cr
0.0000 0.000 2.4000
TV
0.0000 0.000 4.8000
!LIST OF ATOMS WHERE THE SPIN SHOULD BE FLIPPED
1

Information from the output file:


[sgu1@gw Example2-Cr]$ grep "SCF D" *.log
SCF Done: E(UPBE-PBE) = -172.513542291
SCF Done: E(UPBE-PBE) = -172.571323846

A.U. after
A.U. after

55 cycles
30 cycles

1st line: Converged SCF energy corresponding to that of the triplet.


2nd line: Converged SCF energy corresponding to that of the singlet arising post spin-flip.

A sample version of the input and output with comments is located locally at:
guscus:/projects/guscus/Manuals/AFMGuess/Example2-Cr.

28

Sec. 4: Antiferromagnetic Guess Calculations

4.5

Example 3: LaTiO3 Ti Quintuplet Singlet

In the following example, the comments are actually *in* the G09 input file.
Notice the free-format of the G09 input files...
%chk=LTO.chk
#p UPBEpbe/GEN pseudo=read Int=Grid=Ultrafine
iop(5/13=1,5/33=1,3/18=1,3/65=-25) GFInput pop=regular SCF=tight
Ferro magnetic LaTiO3 Spin UP for all

Ti atoms 2,8,9,10

0,5
La,0,3.0649514287,-2.2692554128,-1.580103775
Ti,0,0.27940315,-2.4932384439,-3.5559414972
O,0,-2.2052614311,0.2766559378,-1.5802918116
O,0,1.4815133703,-0.890960693,-3.3214858263
La,0,-2.5045921227,2.8229404289,2.3702238711
La,0,0.2660765836,0.0554120936,2.3713792713
La,0,0.2942660209,0.4982535617,-1.5812458804
Ti,0,0.2793469199,-2.490041081,0.3961952352
Ti,0,-2.5196374746,0.2743011984,-3.5568557237
Ti,0,-2.5197041276,0.2775004992,0.3952969214
O,0,2.7656449004,0.277038938,2.3704292974
O,0,0.5937990896,-2.4894430993,2.3716929806
O,0,-0.0334301204,3.0431335943,-1.5815593191
O,0,-0.922206137,1.443200864,0.6296615465
O,0,-1.3188302628,-1.3219594526,4.112984379
O,0,1.8777073771,1.8772833843,0.1591920659
O,0,-0.9211487908,1.4446548897,4.1116294151
O,0,1.4825626149,-0.8895175017,0.1604564175
O,0,1.8791897066,1.8756333904,-3.322861073
O,0,-1.3173586107,-1.3236264087,0.6309382415
TV,0,5.5997593459,-0.0013274988,-0.0004424492
TV,0,0.0016897946,5.5337445538,-0.0022507369
TV,0,-0.0001024768,0.0064109731,7.9042794351
! used basis sets @2_mod_SVP_Ti.gbs, SVP_O.gbs, 2_SVP_La.gbs get from Fadwa El-Mellouhi
! fadwa.el_mellouhi@qatar.tamu.edu
%-------------------------------------------------%chk=LTO.chk
#p UPBEpbe/GEN pseudo=read Int=Grid=Ultrafine
Guess(Read,Fock) IOp(5/13=1,5/33=1,3/18=1,3/65=-25,5/150=1) GFInput pop=regular SCF=tight
AntiFerromagnetic state will be obtained from the previous run by activating the IOP 5/150=1 indicating
to flip spin for the Ti atoms. Atoms 8 and 9 will have spin DOWN while 2 and 10 will keep spin UP.
0,1
La,0,3.0649514287,-2.2692554128,-1.580103775
Ti,0,0.27940315,-2.4932384439,-3.5559414972
O,0,-2.2052614311,0.2766559378,-1.5802918116
O,0,1.4815133703,-0.890960693,-3.3214858263
La,0,-2.5045921227,2.8229404289,2.3702238711
La,0,0.2660765836,0.0554120936,2.3713792713
La,0,0.2942660209,0.4982535617,-1.5812458804
Ti,0,0.2793469199,-2.490041081,0.3961952352
Ti,0,-2.5196374746,0.2743011984,-3.5568557237
Ti,0,-2.5197041276,0.2775004992,0.3952969214
O,0,2.7656449004,0.277038938,2.3704292974
O,0,0.5937990896,-2.4894430993,2.3716929806
O,0,-0.0334301204,3.0431335943,-1.5815593191
O,0,-0.922206137,1.443200864,0.6296615465
O,0,-1.3188302628,-1.3219594526,4.112984379
O,0,1.8777073771,1.8772833843,0.1591920659
O,0,-0.9211487908,1.4446548897,4.1116294151
O,0,1.4825626149,-0.8895175017,0.1604564175
O,0,1.8791897066,1.8756333904,-3.322861073
O,0,-1.3173586107,-1.3236264087,0.6309382415
TV,0,5.5997593459,-0.0013274988,-0.0004424492
TV,0,0.0016897946,5.5337445538,-0.0022507369
TV,0,-0.0001024768,0.0064109731,7.9042794351
! basis sets @2_mod_SVP_Ti.gbs @Basis/SVP_O.gbs @2_SVP_La.gbs
9
8

Local versions of the input and output files (with comments) are located at:
guscus:/projects/guscus/Manuals/AFMGuess/Example3-LTO.

Last Modified March 28, 2012

29

Variable Magnetic Moment Calculations

The Variable Magnetic Moment (VMM) code is similar to that of the AFM Guess.
For version G09-b1-pbc-2.3 the IOps are:
1. 5/150=-1 turn on the VMM code
2. 5/150=0 turn off the VMM guess (default)
3. NOTE: These IOps change by version please check before running.

5.1

Input

1. The first part of the input file should be the "unflipped" system
2. Specify orbitals of interest, e.g., 5D 7F in Example ??
3. Add a blank space
4. Add Link1
5. The new route will include Guess=(Read,Fock), IOp(5/150=-1)
6. Input the coordinates again (could Geom=Allchk be used?)

5.2

Output

For final energy information:


[sgu1@gw VMM]$ grep "SCF D" test.log
SCF Done: E(US-VWN5) = -254.423823192
SCF Done: E(US-VWN5) = -254.500741669

A.U. after
A.U. after

37 cycles
16 cycles

To watch job progress, type:


[sgu1@gw VMM]$ grep -A5 "VMM N" test.log
which then provides the following information:
VMM NIter= 20 Fermi level: -5.23345194178
Magnetic moment = 1.588292 Bohr magneton per unit cell
Eferm= -5.233452 NE= 36 Er0= 0.00D+00 Er1=-7.11D-15
ZInLT1: VMM Cor=Cln Er=-1.60D+01 Sum=
-209.923914275660400
ZInLT1: VMM Cor=Yes Er=-4.55D-13 Sum=
-410.884531549023800
End of ZIntLT.
Tue Mar 27 12:52:16 2012
0.03 cpu seconds.

30

Sec. 5: Variable Magnetic Moment Calculations

5.3

Example 1: Linear Monostrand of Pd


NOTE: The reference data is taken from Dr. Juan Peraltas calculations run
with GDV-F.02. At the time of this writing, we used G09-B1. Please exercise
caution if using older or newer versions. Files are accessible locally at:
guscus:/projects/guscus/Manuals/VMM/Example1-Pd

%chk=Pd.ccpvtzpp.SVWN5.5.V06.chk
#p USVWN5/Gen Pseudo=read 5D 7F IOp1=timestamp
SCF=(Conver=8,MaxCycle=300,CDIIS,NoIncFock,NoVarAcc)
iop(5/33=1,5/13=1) PBC(NCellMin=120)
Pd linear monostrand SVWN5 /
0,5
Pd
Pd
Tv

multipl = 5 old example from Juan Peralta

.000000
0.000
0.0

.00000
.000000
0.000
3.000
0.0
6.0000

! basis set information provide in input file on


! guscus:/projects/guscus/Manuals/VMM/Example1-Pd
! Notice only one blank line between last Tv and --Link1-!
--Link1-%mem=2500Mb
%nproc=4
%chk=Pd.ccpvtzpp.SVWN5.5.V06.chk
#p USVWN5/Gen Pseudo=read 5D 7F SCF=Tight Guess=Read IOp1=timestamp
IOp(5/33=1,5/150=-1,5/13=1) scf=(conver=8,maxcycle=300,CDIIS,DAMP)
PBC(NCellMin=120)
Pd linear monostrand SVWN5 /
0,5
Pd
Pd
Tv

multipl = 5

.000000
0.000
0.0

.00000
.000000
0.000
3.000
0.0
6.000

! basis set information provide in input file on


! guscus:/projects/guscus/Manuals/VMM/Example1-Pd

31

Sec. 5: Variable Magnetic Moment Calculations

5.4

Example 2: Uranium Nitrides

In the following example, the comments are actually *in* the G09 input file.

This is somewhere in the Refractories directory.


M. Lucero and V. Barone...

This example is being specially prepared in order to


optimize all aspects of your learning experience.
Relevant files will be placed in:
guscus:/projects/guscus/Manuals/VMM/Example2-UNx.

Last Modified March 27, 2012

32

Spin-Orbit Calculations

The key is to use a gdv version that has Spin-Orbit Coupling implemented and to use IOp(3/117=1).
As of April 1, 2012, G09-B1 and gdv-H11 may be used with confidence, although gdv-H13 has
been tested.

6.1

Example 1: Ge with ECP

The following job was run using gdv-H13.


This uses... IOps 5/193=1 and 5/155=3: Contact Irek W. Bulik for more information.

%subst l302 ..
%KJob l302
#p USVWN5/Gen Pseudo=Read 5d 7F IOp1=tstamp gfprint
iop(3/117=1) NosSmm
Bulk Ge with ECP spin-orbit. This is the "molecular" calculation
only to generate the intracell SO matrix elements in the cell 0.
@Ge.cell.geom ! Coordinates, basis sets and ECP are all online
@Ge.bas
@Ge-SO.ecp
--Link1-%subst l502 ..
#p USVWN5/Gen Pseudo=Read 5d 7F IOp1=tstamp
SCF(maxcycle=60,conver=5)
PBC(cellrange=60,NKPoint=1000)
IOp(5/193=1)
IOp(5/155=3)
!
!
!
!

Bulk Ge with ECP spin-orbit. This is the PBC part.


After a regular PBC calculation GDV will read the SO matrices
from the previous (molecular) calculation for the 0-0 cell, add
it to the Fock matrix, transform to k-space and diagonalize.

@Ge.cell.geom ! Coordinates, basis sets and ECP are all online


@Ge.bas
@Ge-SO.ecp

33

Sec. 6: Spin-Orbit Calculations

The output file provides the magnitude of the coupling via the cmd line: grep A300 SCF D00
[sgu1@gw test-Ge-con]$
SCF Done: E(US-VWN5)
NFock= 8
Spin-orb: E(2nd v) =
TOTAL
E(US-VWN5)

grep -A3 "SCF D" Ge.SVWN5.SO.log


= -588.414562597
A.U. after
Conv=0.19D-05
-V/T= 2.4479
-0.270861610394E-02 A.U.
= -588.417271213
A.U.

8 cycles

Relevant job files may be accessed locally at:


/projects/guscus/Manuals/Spin-Orbit/RECP-SO/test-pbc-3/testGe-con/

34

Sec. 6: Spin-Orbit Calculations

6.2

Example 2: Hg with ECP

The following job was run using gdv-H13


%subst l302 ..
%KJob l302
#p NoSymm UHF/Gen Pseudo=read 5d 7F SCF=NoVarAcc test
IOp(3/117=1)
Hg with ECP spin-orbit. This is the "molecular" calculation only to
generate the intracell SO matrix elements in the cell 0.
0 1
Hg 0.0000

0.0000

0.0000

! (12s12p9d3f2g)/[6s6p4d3f2g] basis set from Ref 37.


! The basis set and ECP are online in the full input file.
. . .

The output file provides the magnitude of the coupling:


[sgu1@gw test-Hg-atom]$ grep -A3 "SCF D"
SCF Done: E(UHF) = -152.532937892
NFock= 23 Conv=0.12D-07
Spin-orb: E(2nd v) = -0.155018692641
TOTAL
E(UHF) = -152.687956585

*.log
A.U. after
23 cycles
-V/T= 3.9834
A.U.
A.U.

Relevant job files may be accessed locally at:


/projects/guscus/Manuals/Spin-Orbit/RECP-SO/test-pbc-3/ttestHg-atom

Last Modified March 29, 2012

35

Dispersion Calculations

How to run Ireks 2- and 3-body code based

This example is being specially prepared in order to


optimize all aspects of your learning experience.
If you need immediate assistance, please contact Irek W. Bulik.
Examples will eventually be locally available in:
guscus:/projects/guscus/Manuals/Dispersion/.

Last Modified March 23, 2012

36

Running Band Structure and PDOS Jobs


Generally, it is easier to run PDOS and band structure calculations at the same
time if it becomes apparent that one part of the data is not needed, the
extraneous output can always be deleted. Nevertheless, be aware that band
structure and PDOS data tend to complement each other much of the time.

8.1

The Usual Case: PDOS and BS Simultaneously

For the example route below, both PDOS and band data will be computed for the HSE single point
energy calculation of a monolayer of MoS2 .[1]
%chk=monohse.chk
#p HSEh1PBE/GenECP Int(Grid=UltraFine) pop=regular FMM=print
IOp1=timestamp iop(5/13=1,5/33=1)
SCF=(NoVarAcc,NoIncFock,Tight)
IOp(5/181=10,5/184=194)
NOTE:
1. Both band structure and projected densities of states data will be produced at the end of this
SPE calculation.
If this had been an optimization, band structure data would appear at the end of each
opt cycle.
Some PDOS data files appear during an energy calculation (see Section 8.2 but all files
do not appear until the job completes.
2. The IOp 5/181=10 indicates that G09 should calculate the PDOS.
3. The IOp 5/184=194 indicates that the k-path and labels for space group 194 (hexagonal)
have been provided in the band.inp file.
The band.inp files are described in Section 9.1 and located locally at
guscus:/projects/guscus/Manuals/binps/.
A band.inp file with the correct symmetry (see Section 9 must be copied, renamed and
placed in the same directory as your job.
4. The monolayer is a 2-D system, so a modified band.inp file was used for this calculation.
5. Ensure that your pbs or other submission file has the following line at the very end:
mkpdos

-bias-from $InpBase.out -f -v >& mkpdos.log

37

Sec. 8: Running Band Structure and PDOS Jobs

Relevant files for data work-up include:


1. G09 input and output files: *.gjf and *.out (See Section 3.)
2. The basis set file: mos_cvd.gbs (See Section 15.)
3. Band-relevant files: band.dat and bandk.dat (See Section 8.3.)
4. PDOS-relevant files: pdos.dat and pdos.legend.txt (See Section 8.2.)
5. A multiplot gnuplot file both.gpt that produces the plot. (See Section 13.6.)

All relevant files to reproduce the plot in Figure 10 may be copied from:
guscus:/projects/guscus/Manuals/examples/MoS2mono
See Section 10 for explicit details on using Gnuplot for BS/PDOS plots.

12
10
8

Energy (eV)

12

Ss
Sp
Sd
Mos
Mop
Mod
Total

10
8

2
MoS2 Monolayer SPE

EF

HSE Gap 2.33 eV (D)

KPath

PDOS (states/eV/unit cell)

Figure 10: An example of BS and PDOS as plotted using multiplot. The data is from the
HSE SP calc of an MoS2 monolayer, with a calculated direct band gap Eg of 2.33 eV. (See
#386, Appl. Phys. Lett. 99, 261908 (2011).)

Last updated: April 16, 2012

38

Sec. 8: Running Band Structure and PDOS Jobs

8.2

PDOS Only
PDOS only jobs are fairly straightforward:
1. Add IOp 5/181=10 to the route.
2. Place the following command at the end of your *.gjf or *pbs file:
mkpdos bias from 0 $InpBase.out0 f v > & mkpdos.log

8.2.1

Input Example
%chk=Si-dia_o.chk
#p HSE1PBE/Gen Pop=Regular Int(Grid=UltraFine) FMM=Print
IOp1=timestamp IOp(5/13=1,5/33=1)
SCF(NoVarAcc,NoIncFock,Tight) IOp(5/181=10,5/184=227)
OPT Guess=(Read,Fock)

8.2.2

PDOS Output

Several PDOS-related files will appear once a job has finished. NOTE: A job will appear to be
running until all PDOS-related files finish writing. These files include:
pdos.dat contains the data to plot Useful.
pdos.legend.txt Legend for orbital populations on specific nuclei. Useful.
fort.121 appears as the job runs and indicates that PDOS will be calculated.
zpratl-pdos.inp a file necessary for the calculation, appears as jobs runs.
mkpdos.log describes what happened during the PDOS calculation.
pdos.d additional data that may be deleted at the end.

2.5

PDOS (states/eV/unit cell)

Sis
Sip
Sid
Total

Fermi level

Si (dia)
HSE OPT
Eg = 1.22 eV (I)
Expt. = 1.17 eV (I)

1.5

0.5

0
-10

-8

-6

-4

-2

0
2
Energy (eV)

Figure 11: HSE opt of Si (dia) horizontal.

39

10

Figure 12: HSE opt of Si (dia) vertical.

Sec. 8: Running Band Structure and PDOS Jobs

8.3

Band Structure Only

Band structure jobs are also easy to run and set up, but require some knowledge of the symmetry of
the system because of the necessary band.inp files. The band.inp files will be discussed in detail
in Subsection 9.1.

8.3.1

Example Input File

(This is for BS only, no PDOS)


%chk=AlSb_x.chk
#p HSEh1PBE/GenECP Int(Grid=Ultrafine) fmm=(print) pop=regular
IOp1=timestamp iop(5/13=1,5/33=1) SCF=(NoVarAcc,NoIncFock,Tight)
IOp(5/181=200,5/184=227)
To properly use IOp 5/184 in your route:
1. The number of the space group for your system needs to be input as the 5/184 argument in
the route of the input file. e.g., IOp(5/184=227) indicates an FCC system with space group
number 227.
2. To ensure that PDOS is turned off, at IOp(5/181=200)
3. The band.inp file, containing the appropriate K-path and coordinates for the Brillouin zone
for that space group must also be copied from the /binps directory (where ever it is) into the
running directory of your job and re-namedband.inp.
4. NOTE: the name of the band.inp must be lower case.
5. If the band.inp file is not present, the band structure code will choke, as the default is to
look for a band.inp file that will have the coordinates and K-path for the specified space
group.
See Section 9.1 for a detailed explanation/example of the band.inp files.

8.3.2

Output Files

In addition to the *.out and *.chk files that are necessary for processing the BS data, two (2) new
files are produced:
1. band.dat This contains everything you need to plot band structure. The last 6 lines of the
file (tail -6 band.dat) provide the number of electrons, the HOCO and LUCO values, the
indirect gap (after scaling) and mGap1/MGap1.
2. bandk.dat This is in the work-up, but it is not as large as band.dat and is not necessary
once a gnuplot file has been set up.
Last updated: March 26, 2012

40

Sec. 8: Running Band Structure and PDOS Jobs

8.4

Obtaining BS/PDOS Later

If a *chk file is available for either an opt or energy calculation, band structure and PDOS can be
calculated after the fact. This requires a truly minimal input file assuming pop=regular was used
in the job that generate the *chk file:
%chk=AlN_x.chk
#p HSEh1PBE/ChkBas Geom=AllCheck Guess=(Read,Fock)
IOp1=timestamp iop(5/13=1,5/33=1)
IOp(5/181=10,5/184=227,5/14=20)
ChkBas reads the basis set information from the *chk file
Geom=AllCheck takes the title, charge, multiplicity and coordinates from the *chk file.
IOp 5/14=20 uses the BS data from the already computed real-space Fock matrix.
These 4 lines are sufficient to produce, in this case, both PDOS and BS for a FCC system in space
group 227.
To turn off PDOS, which should usually run automatically as it is in most *pbs scripts, (See
Section 13) change the PDOS IOp to IOp(5/181=200).
This restart is much faster than re-doing a full energy calculation, but is generally not
instant unless it is PDOS only.
This usually works, but if the *chk file was corrupted or there was not band.inp file in place
for the restart from an good *chk file, all sorts of weirdness will ensue.
Last updated: March 26, 2012

41

Sec. 8: Running Band Structure and PDOS Jobs

8.5

Detailed Description of BS/PDOS IOps

IOp
IOp 5/181

Arguments
0
1
2
10
20
00
200

IOp 5/184
EE
00 00
99 00 00
FF
00
01
02
03
10
20
30
KK
KK 00
0
SpG
1-228
IOp 5/183
0
-1

Table 1: IOps for BS and PDOS


Explanation
The PDOS IOp
Should produce PDOS on every atom and orbital
Read pdos.inp once file is produced
Do NOT read pdos.inp
Run DOS/PDOS (Default)
Perform projection group for ea. atom AOT atom type
Produce files for the DOS (CVD says default ???)
Turn off PDOS
The BS IOp
E window for band range1
print bands within EE eV of Fermi Level2
no window, plot all possible bands
k-Path Determination
Default, same as 21 (???)
k-path from band.inp replaces k-path from library3
k-path from band.inp appended to k-path from library4
ignore k-path from band.inp4
labels from band.inp replace labels from library4
labels from band.inp appended to labels from library4
ignore labels from band.inp4
Number of k-Points Sampled
use KK*1000 k-points for sampling the path
Special: 0 same as 2 (2000 k-points) [DEFAULT]4,5
Space group specification
Space group #, band.inp file in working directory
The Auto BS IOp
= EE KK FF
Defaults
No band structure

NOTE: This is not final...


THIS SECTION IS A WORK IN PROGRESS.
If you need immediate assistance, please contact Melissa Lucero.
Last updated: March 24, 2012

42

Symmetry
To run band structure jobs, the argument of IOp (5/184=SG)
is the space group number (SG) of the system.

Formally, the space group number refers to the unique numbers (1-230) assigned to all space group
types, as defined by the International Union of Crystallography.
Groups within the same crystal system or point group have consecutive numbers, otherwise,
the numbering is arbitrary.
Not all space groups are represented by known compounds.
To locate the appropriate *.inp file:
1. Note that the files are named first by the SG that would complete the argument of IOp
(5/184=SG), then the prototype, followed finally by packing type e.g., 186_MoS2-hex.inp.
(For more information, refer Section 9.1.)
2. Copy and rename the *.inp file with the appropriate SG to band.inp in the running directory
3. This enables gaussian to read the k-path and label the high symmetry points.
4. Recall that band.inp files are stored locally in guscus:/projects/guscus/Manuals/binps/
Other instances where knowing the SG is helpful:
1. When the conventional/crystallographic unit cells are large, creating a smaller primitive is
useful and requires knowledge of the SG before and after the cell size is reduced.
2. If a supercell is created (e.g., for doping), then the symmetry changes must be noted.
NOTE:
There are numerous systems to designate symmetry, so familiarity with the more
common systems will prove helpful when information other than SG is provided.
Currently Available Information:
A sample band.inp file Section 9.1
3-D (Bulk) systems Section 9.2
2-D Slabs/films/monolayers Section 9.3
1-D Chains Section 9.4
Creating supercells and primitives Section under construction
Other symmetry designations Section under construction
List of additional resources Section under construction

43

Sec. 9: Symmetry

9.1

A Sample band.inp File

Below is an example of the band.inp copied from 227-Diamond-fcc.inp in the /binps directory
[needs a path] and renamed band.inp. Notice that other symmetry designations in addition to
space group are listed; nevertheless, G09 uses the SPACE GROUP as the argument to IOp(5/184).
!
!
!
!
!
!
!
!

C Diamond A4 Fd bar3 FCC


Pearson Symbol: cF8
Strukturbericht Designation: A4
Space Group: Fdbar3m
Number: 227
Others: Si, Ge, Sn
Reference: Ashcroft and Mermin, p. 76

KLABELS:
GM
0
K
3/8
L
1/2
U
5/8
W
1/2
X
1/2

0
3/8
1/2
1/4
1/4
0

0
3/4
1/2
5/8
3/4
1/2

KPATH: GM X W K GM L U W L K|U X
IMPORTANT:
This external band.inp file is necessary because the internal library cannot always correctly
identify the symmetry, especially for space groups lower than 200. (The band structure code
looks for the band.inp file by default.)
More importantly, band.inp files allow the path to be changed as necessary to match the
literature or, in the case of optimizations where the symmetry has changed, re-run the job
with the correct space group and path
Again, the band.inp template files are in the /binps directory on guscusgw and
are named (1) according to space group and lattice and/or (2) labeled to indicate
any modifications or use in publications.
Notice that fractions or decimal representations can be used, e.g., 1/2 or 0.5 for the coordinates.
Last updated: March 26, 2012

44

Sec. 9: Symmetry

9.2

Determining the SG for 3-D Systems


NOTE: The following suggestions and/or instructions generally apply to undoped systems and any other of relatively high symmetry. Lower symmetry or
esoteric systems may require more extensive effort.

The space group of crystal structure is usually included in the *.cif (or, less frequently *.pdf ) file
downloaded from a database, e.g., the ICSD or the AMS.
The space groups are numbers ranging from 1-230, as is seen to the far left column of Figure 13, which
contains also the short symbols to the far right, another commonly used symmetry designation.

Other means of acquiring SG information:


1. The literature the computational or experimental methods section(s) will include mention
the SG, or at least the short symbol designations.
2. The Energy Materials site maintained by Curtarolos group at Duke provides an online converter at ACONVASP Online.
3. Similarly, the Aflow Library is a searchable database of band structures and related properties,
containing:
The DFT+U band structure (fully-optimized) plotted alongside the PDOS.
A JMol animation of the primitive cell used for the calculation. (Depending upon the
browser and OS, the coordinates may be extracted from JMol.)
Effective masses, electron mobilities, lattice parameters before and after optimization,
etc.
4. The Prototype list online at the The Navy Crystallographic site.
5. The Prototype list file in the guscus:/projects/gusucus/Manuals/ directory
6. The Bilbao Crystallographic Server has numerous utilities that are updated, periodically, e.g.,
CELLTRAN will transform unit cells
TRANSTRU transforms structures
Any of the other Structure Utlities
7. Google (No joke.)
8. Materials-specfic GUIs such as Materials Studio, Vesta, XcrysDen, etc., that will determine
symmetry and convert to any of a number of primitive cell types.

45

Sec. 9: Symmetry

Figure 13: Table of Space Groups in 3-D. The SGs used as the argument for IOp 5/184
are located in the far left column, as numbers 1-230. The other common system, the International Short System designations, are an abbreviated version of Hermman-Mauguin
notation and form the column to the far right. Other systems such as the Pearson for Struckturbericht designations are as not universally applicable, and are thus not as widely used.
(From: en.wikipedia.org/wiki/Space_group)

46

Sec. 9: Symmetry

9.3

2-D Slabs/Films

Generally, the initial space group of your system in terms of how g09 identifies the point group is
in the *.cif file downloaded from a database, e.g., the ICSD or the AMS. Other means of acquiring
this information include:
1. The literature the papers you start with
2. The ACONVASP Online site (Curtarolos group at Duke)
3. The 2-D Space Groups Table (See Figure 14)
4. Materials software like Materials Studio, Vesta, etc.

Figure 14: 2D-Brillouin Zones. (a) Square, with lattice constant a, (b) Rectangular, with
lattice contants 1 , 2 , and, (c) Hexagonal with lattice constant a. (Taken from: Economou,
2010, Ref. [2])

9.4

1-D Monolayers

Generally, the initial space group of your system is in the *.cif file downloaded from a database.
Other means of acquiring this information:
1. The literature
2. Non-Gaussview software

Last updated: March 28, 2012

47

10

Plotting BS and PDOS

10.1

A Basic PDOS Plot

Density of states plots are generally *MUCH* easier to work-up than BS data: simply use the
pdos.dat, pdos.legend.txt files generated by your job output and a *.gpt template file.
The pdos.dat file for am MgInS2 LSDA OPT looks like this:
#

E/eV
-42.0000
-41.9800
-41.9600
-41.9400
-41.9200
-41.9000
-41.8800
-41.8600
-41.8400
-41.8200
-41.8000
-41.7800
-41.7600
-41.7400
-41.7200
-41.7000
-41.6800
-41.6600
-41.6400
-41.6200
. . .

0 Mg S a
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000

0 Mg P a
0.0000
0.0000
0.0000
0.0000
0.0006
0.0026
0.0097
0.0335
0.1067
0.3143
0.8543
2.1437
4.9656
10.6178
20.9583
38.1885
64.2341
99.7368
142.9556
189.1489

0 In S a
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0001
-0.0001
-0.0003
-0.0004
-0.0007
-0.0009
-0.0012

0 In P a
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0001
-0.0002
-0.0003
-0.0005
-0.0008
-0.0011
-0.0014

0 In D a
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0000

0 S S a
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0001
0.0004
0.0009
0.0018
0.0036
0.0066
0.0111
0.0172
0.0246
0.0326

0 S P a
0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
-0.0000
-0.0001
-0.0004
-0.0011
-0.0027
-0.0063
-0.0136
-0.0268
-0.0488
-0.0821
-0.1274
-0.1827
-0.2417

0 S D a
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0002
0.0003
0.0005
0.0007
0.0011
0.0014

Total a
0.0000
0.0000
0.0000
0.0000
0.0006
0.0026
0.0097
0.0334
0.1066
0.3139
0.8534
2.1413
4.9601
10.6060
20.9350
38.1460
64.1627
99.6258
142.7966
188.9385

and the pdos.legend.txt looks like this:


1
2
3
4
5
6
7
8
9
10

E(eV)
0 Mg S a
0 Mg P a
0 InS a
0 In P a
0 In D a
0 S S a
0 S P a
0 S D a
Total a

where the different orbitals for each atom are listed followed by the Total electron density. This
helps you determine the color scheme of your gnuplot output.

This *gpt template file is provided at:


guscus:/projects/guscus/Manuals/examples/pdos.gpt
Additional templates are located in Sections 13.2 and 13.3..

48

Sec. 10: Plotting BS and PDOS

10.2

A Sample PDOS *.gpt File

To use this template:


1. Replace the argument for stub with the name of your PDOS *.dat file:
e.g., stub = MgInSlda stub = YourPDOS
2. Adjust the color scheme according the the pdos.legend.txt file, which will determine the
legend/key. (This is illustrated in the last eight (8) lines in the example below.)
reset # Avoids ugliness in Gnuplot if something went wrong in the previous compilation
# Below are optional short-cuts to help annotate your PDOS output
bas
tit

= Towler Mg, CVD S, Crystal In

= DIRECT Mg_8In_{16}S_{32}:
. xc . / . bas .

Fully-Relaxed XTAL

Gap_I=Gap_D=2.5 eV

set title tit


stub = MgInSlda.

# This is the name of your #.dat file

HOCO = 0
LUCO = 4.1252
set xrange [-5.0:8.0] # range of x-axis will vary by system
set yrange [-2:80] # range of y-axis will vary by system
# Line styles and color
set style line 1 lt 0
set style line 2 lt 1
set style line 3 lt 2
set style line 4 lt 1
set style line 5 lt 1
set style line 6 lt 1
set style line 7 lt 1
set style line 8 lt 1
set style line 9 lt 1
set style line 10 lt 3

scheme
lc rgbcolor "black"
lc rgbcolor "magenta"
lc rgbcolor "magenta"
lc rgbcolor "red"
lc rgbcolor "blue"
lc rgbcolor "cyan
lc rgbcolor "green"
lc rgbcolor "gray"
lc rgbcolor "orange"
lc rgbcolor "orange"

pt
pt
pt
pt
pt
pt
pt
pt
pt
pt

0
2
1
1
1
5
2
3
4
5

ps
ps
ps
ps
ps
ps
ps
ps
ps
ps

1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5

set xlabel Energy (eV)


set ylabel DOS (states/eV/unit cell)
set xtics 0.5
set ytics 5.0
#set mxtics 5
set arrow 1 from HOCO, graph 0 to HOCO, graph 1 nohead lc rgbcolor "dark-red" lw 1.5
set label 1 Fermi level at HOCO, graph 1 right rotate offset character 1, character -1
fa(x) = x
fb(x) = 0
# The actual commands to plot your data
plot 0 w l lt 0 notitle, \
stub . dat using 1:(fa($10)) w l ls 1 title Total, \
stub . dat using 1:(fa($2)) w l ls 2 title Mg_s , \
stub . dat using 1:(fa($3)) w l ls 3 title Mg_p , \
stub . dat using 1:(fa($4)) w l ls 5 title In_s , \
stub . dat using 1:(fa($5)) w l ls 6 title In_p , \
stub . dat using 1:(fa($6)) w l ls 7 title In_d , \
stub . dat using 1:(fa($7)) w l ls 8 title S_s, \
stub . dat using 1:(fa($8)) w l ls 9 title S_p, \
stub . dat using 1:(fa($9)) w l ls 10 title S_d

This sample pdos *gpt file is provided at:


guscus:/projects/guscus/Manuals/examples/pdos.gpt
See also: Sections 13.2 and 13.3.

49

Sec. 10: Plotting BS and PDOS

10.3

Plotting Band Structure

Currently, the easiest way to plot band structure data is to use the gpband Perl script written by
Dr. Cristian Diaconu. As it is to large to include in Section 13, the gpband script is stored at
guscus:/projects/guscus/Manuals/scripts/gpband.

10.3.1

Using gpband to Plot BS

1. Place a copy of gpbandon each machine where gaussian PBC code will be run.
2. Run gpband in the jobs working directory: gpband band.dat
The files that are processed include band.dat bandk.dat and the *.out, hence the
admonition to run gpband in the jobs working directory.
Note the numerous annotations within the script, describing the program and how the
band*.dat files are arranged.
Of the many options, gpband nameoffile.dat seems to work the best, but feel
free to explore.
3. Copy the gnuplot and *.dat files to your desktop to plot the data. (There is no Gnuplot on
most Rice clusters.)
4. gpband prepares a basic gp file that runs to produce eps output see Figure 15.
The default color scheme is most likely not what will be used in the final plot.
The lowest gap is generally plotted, but may be adjusted for aesthetic reasons.
Labels, I-bars, additional lines and comments must be added by hand.

10.3.2

Default gpband Output

20

10

Energy (eV)

10

20

30

40

W K|U X

k path

50

Figure 15:
The band structure for AlSb optimized using
HISS. The command gpband
band.dat produced a Gnuplot
file, band-p.gp, ran it and created band.eps (to the left) automatically. Notice the default energy scale (taken from the gaussian PBC code defaults) is intentionally large and that the color
scheme has each band coded in
different linestyles and/or colors.

Sec. 10: Plotting BS and PDOS

10.3.3

Annotated Default gp File

Annotated sections of the gp file that produced Figure 15. (The full script is in Section 13.4.)
x1_GM = 0.000000
x2_X = 0.862114
x3_W = 1.293143
x4_K = 1.597934
x5_GM = 2.512322
x6_L = 3.258914
x7_U = 3.786839
x8_W = 4.091633
x9_K = 4.396424
x10_X = 4.701213

[Header and other non-band-related content deleted...]


These are the values and labels of the high-symmetry k-points:
* Their ordering was specified in the band.inp file
* They will be used in the next section of the gp file as x-tic labels
* The values correspond to all x-coordinates.

set xtics ( "{/Symbol G}" x1_GM, "X" x2_X, "W" x3_W,


"K" x4_K, "{/Symbol G}" x5_GM, "L" x6_L, "U" x7_U,
"W" x8_W, "K | U" x9_K, "X" x10_X )
E0
cHOCO
HOCO
cLUCO
LUCO
EF
mGap
MGap
iGap

=
=
=
=
=
=
=
=
=

10.371738
10
10.371738
11
12.420518
10.371738
3.058369
8.405779
2.048780

E(y) = y - E0
set
set
set
. .
set

arrow
arrow
arrow
.
arrow

These are the x-tic labels: easily modified.

Unscaled energy of the Valence Band Max (VBM).


COLUMN where the HOCO is located.
Unscaled energy of the Highest Occ. Crystal Orbital (HOCO.
COLUMN where the LUCO is located.
Unscaled energy of the Lowest Unocc. Crystal Orbital (LUCO.
The VBM redefined as the Fermi Level
Next highest gap after the indirect gap
Next highest gap after the mgap
The indirect gap

# energy shifting function

Scales the energies so that EF = 0

1 from x1_GM, graph 0 to x1_GM, graph 1 nohead lt -1


2 from x2_X, graph 0 to x2_X, graph 1 nohead lt -1
3 from x3_W, graph 0 to x3_W, graph 1 nohead lt -1
10 from x10_X, graph 0 to x10_X, graph 1 nohead lt -1

set arrow 11 \
from graph 0, first E(HOCO) \
to
graph 1, first E(HOCO) nohead lt 19

Arrow for Fermi Level/VBM

set arrow 12 \
from graph 0, first E(LUCO) \
to
graph 1, first E(LUCO) nohead lt 20

Arrow for CBM

set yrange [*:*]


plot

\
data
data
data
data
data
data
data
data
data
data
data
data
data
data
data
data
data
data

Horizontal k-path lines.


(Truncated list to save space)

using
using
using
using
using
using
using
using
using
using
using
using
using
using
using
using
using
using

1:(E($19)) t "27" with l ls 18, \


1:(E($18)) t "26" with l ls 17, \
1:(E($17)) t "25" with l ls 16, \
1:(E($16)) t "24" with l ls 15, \
1:(E($15)) t "23" with l ls 14, \
1:(E($14)) t "22" with l ls 13, \
1:(E($13)) t "21" with l ls 12, \
1:(E($12)) t "20" with l ls 11, \
1:(E($11)) t "19" with l ls 10, \
1:(E($10)) t "18" with l ls 9, \
1:(E($9)) t "17" with l ls 8, \
1:(E($8)) t "16" with l ls 7, \
1:(E($7)) t "15" with l ls 6, \
1:(E($6)) t "14" with l ls 5, \
1:(E($5)) t "13" with l ls 4, \
1:(E($4)) t "12" with l ls 3, \
1:(E($3)) t "11" with l ls 2, \
1:(E($2)) t "10" with l ls 1

Default y-axis range

Plotting the data...

51

Sec. 10: Plotting BS and PDOS

10.3.4

Modified BS Output

The gp file in Section 10.3.3 has been modified in the following ways to produce Figure 16:
The scale of the y-axis is now from -7 to 10, so it is easier to see the camel-back structure
of AlSb.
The valence band are all colored red.
The conduction bands are all labeled in blue
The Fermi Level E = 0 is now labeled and the energy denoted as a horizontal black line
The conduction band maximum is depicted as a dashed orange line.
The favored, indirect transition from to somewhere near X is marked by both an arrow
and a green I-bar.
The slightly higher in energy direct gap is marked only with an I-bar.
Structure analysis, e.g., locating points on the bands that are not along the high-symmetry
k-lines for energy comparisons. Mining the data in the band*.dat files will be discussed in
Section 10.4.
10
8
6

Energy (eV)

4
2
2.33 eV (I)

2.05 eV (I)

0
2
4

Figure 16: The band structure for AlSb optimized


using HISS. The predicted
indirect transition Eind occurs at 2.05 eV (compare to
EF
1.69 eV for LT exp.[3]). The
direct gap, Edir =2.33 eV, also
compares favorably to 2.84
experiment.[4]

6
K

W K|U X

All files necessary to produce this plot and that of Figure 15 are locally
available at guscus:/projects/guscus/Manuals/examples/AlSb-HISS.
The full gp files are also listed in Sections 10.3.4 and 13.5.

52

Sec. 10: Plotting BS and PDOS

10.4

Locating k-Points
This section is for locating points so that arrows can be drawn in Gnuplot to
mark direct and indirect transitions. Not all points of import are located on the
lines corresponding to the symmetry points specified in the path of the band.inp
file, so this becomes something of an art.

10.4.1

Easy Indirect Gaps

This should be the easy case for an indirect gap from one k-point to another.
1. Search band.dat file for energy via grep
2. Also need to do the reverse case.

10.4.2

Special Gaps

This should be the more complex cases for


1. an indirect gap between one k-point and a point in between two others
2. direct gaps that are not on any high-symmetry points
3. locating the coordinates of various minima or maxima for comparison

This example is being specially prepared in order to optimize


all aspects of your learning experience.
If you need immediate assistance, please contact Melissa Lucero.

Last updated: March 26, 2012

53

11
11.1

Increasing the Accuracy and Efficiency of PBC Jobs


Practical Tips for G09 PBC Calculations
Contributed by Professor Gustavo E. Scuseria for the 2009 Guide.

For Starters: Read the Gaussian 09 manual entries for Molecule Specifications and the keywords:
PBC and FMM. (The input file information in Section 3 has more information for PBC.
Perhaps an FMM section would be useful...)
What not to do: If you want to put your computer system on its knees, try B3LYP with a diffuse
basis set on your favorite 3D system, e.g., diamond.
1. The near-field portion of the FMM without symmetry included will be very costly.
2. Symmetry is not implemented, yet, but we are working on it and even when it is, doping
and disorder lower the symmetry, anyway.
3. The HFx (Hartree Fock exchange) portion with diffuse basis functions (bfs), a full-range
1/r potential, and default cutoffs will take forever, and it is almost guaranteed that a
single iteration will exceed your patience.
Hybrids: Any with full (global) or long-range 1/r potential are significantly more expensive (1020x or even more) than short-range hybrids like HSE that were designed with solids in mind.
Be extremely careful if you want to do a PBC full or long-range hybrid.
Dimensionality: 3D calculations are more expensive than 2D, which are, in turn, much more
expensive than 1D. If you are not familiar with the PBC code and how to tune up its options,
we recommend that you start playing in 1D and move your way up to 2D/3D slowly.
Diffuse bfs: They may be needed in some specific cases and for some specific properties but in
general, it is a good idea to carefully analyze whether your chosen MOLECULAR basis set
(i.e., a basis set that was developed for atoms/molecules and usually contain fairly diffuse bfs
to describe atomic tails) is really needed for your PERIODIC system, which does not have
any density tail (well... it does if you are doing 1D or 2D, but not in 3D).
Linear dependencies: Our PBC code does not suffer from linear dependencies, i.e., if you use
a dense basis on a dense system and you end up with product bfs that are almost linearly
dependent (overlap matrix eigenvalue at some k-point below a certain threshold), the code
will remove the offending linear combination. However, there may be cases where the overall
accuracy is affected because of
1. Aggressive thresholds
2. A sloppy (or not accurate enough) xc quadrature grid, or,
3. A sloppy (or not accurate enough) Brillouin zone (k-point) integration grid.
In these cases, the SCF will die with some error message (with the cause not
trivially identifiable form the error message) being a combination of the above.

54

Sec. 11: Increasing the Accuracy and Efficiency of PBC Jobs

bf Exponents: As a practical matter, bfs with exponents smaller than 0.10-0.15 are problematic
and usually not needed. Removing them (i.e., adapting a molecular basis for an efficient
periodic calculation) is not required in our code (our numerics are usually robust enough to
deal with them) but it will surely make your calculations much faster and your life
much easier on thresholds.
Metals: Tread very carefully if your system is metallic. Metal calculations are tricky and costly.
1. Integration in k-point space is arduous. There are several options that can be tried
here if one has convergence problems in the SCF. A radical solution is to start from a
finite temperature calculation at ca. 1000 K and then try to cool off the system some
or converge ILT (or similar) from there.
2. Most PW calculations on metals are done at finite temperature, otherwise convergence
is rather difficult to achieve even with PW codes.
3. Diffuse and polarization functions are generally important for metals. Your cpu time will
go up because to achieve convergence you will need a larger basis than for semiconductors
or insulators and lots of k-points.
Semiconductors and Insulators: If you feel that your calculations are slow, there is plenty of
room of improvement by playing with many of the accuracy thresholds (explained in detail in
Izmaylovs piece). The record for this type improvement may be the InAs case finely-tuned
by Ed Brothers: he was able to achieve a 20x speed-up by tuning thresholds (from default
values) with a minimal loss of accuracy for the band gap (less than 0.01 eV)
Density Fitting Gaussian provides the density fitting approximation for pure DFT calculations.
The desired fitting basis set is specified as a third component of the model chemistry, as in
this example:
#p BLYP/6-31G(d)/Auto
Note that the slashes are required when a density fitting basis set is specified. See the Basis
Sets entry in the Gaussian manual for more information.
CPU Time Monitor your cpu time with flags like #p and IOp1=timestamp, which will increase
cpu time printing and allow you to spot portions that are particularly expensive and amenable
to improvement by fine-tuning thresholds. See Section 3.

Last Modified March 23, 2012

55

Sec. 11: Increasing the Accuracy and Efficiency of PBC Jobs

11.2

Diffuse Functions
Contributed by Dr. Cristian V. Diaconu with comments from Drs. Artur F.
Izmaylov, and Ionut D. Prodan for the October 2009 version of this guide.

NMtPBC is determined for k = 0. Unfortunately, the convergence of the Bloch sums with the
numberof cells depends on k for the Bloch sum form currently used in Gaussian. This is
usually not a problem; however, for diffuse functions, this may become a huge problem. The
number of cells may increase toward k = . While the number of cells is enough at k = 0,
it may not be enough as k = , and Gaussian will die with the error:
Possibly not enough cells included in PBC.
Numerical problems in PBC.
If this happens the only way around it is to increase the number of cells by forcing a larger
range: PBC=(CellRange=N). See the PBC keyword page. -OR- use less-diffuse basis
functions, since the calculations become prohibitively expensive with diffuse functions anyway.
Due to the same problem of the form of the Bloch functions, the norms of the Bloch functions
become exponentially small when the exponents become small (norm ca. exp(k 2 /a). The
norms are also k-dependent, so even if the near linear dependencies are eliminated at k = 0,
the norms of the Bloch functions may still be too small at other values of k. This condition
leads to warnings from subroutine ZFrmV2 of the form:
ZFrmV2: there are 14 very small orbitals for k= 617 kxyz= 7 15 3.
The only solution to this problem is to prune the diffuse basis functions (especially the p-type).
Gaussian removes the culprits, (see Section ?? but when this happens the basis functions are
too diffuse and is usually associated with the previous problem (not enough cells included in
PBC) or Gaussian dies with an error of the following type:
-------------------- ATTENTION-------------------Total charge is not ZERO --- -0.002902253251
-------------------- ATTENTION-------------------There is a problem with the total charge.
There is also a problem with 5d/6d basis sets. See the Basis Sets entry in the Gaussian 09
manual. This problem can be exacerbated for periodic calculations, especially when using
a 5d basis set as a 6done, thus having an extra s-type function that can be nearly linear
dependent with the existing s-type functions. This is true the other way, too: a 6d basis set
may assume to have an extra s-type functions from the d-type shells.
The rule of thumb for diffuse functions: the smallest exponent for s-type functions should be
larger than about min = 2/d2 , where d is the smallest distance between two atoms. The
exponent input in Gaussian is in Bohr 2 , so use d in Bohr.

56

Sec. 11: Increasing the Accuracy and Efficiency of PBC Jobs

11.3

All PBC Keywords


This page contains the entirety of the PBC keyword page
at Gaussian.com as of March 28, 2012.

11.3.1

Description

The PBC keyword allows you to specify options for Periodic Boundary Conditions jobs.
Note: PBC is turned on simply by including translation vectors in the input structure, and this
keyword is used only to control how PBC calculations are performed.
If you do not need any of these options, you do not have to include the keyword PBC to perform
a PBC calculation.

11.3.2

Options

GammaOnly Do just the point (k = 0) rather than full k-integration.


NKPoint=N Do approximately N k-points.
CellRange=N Go out N Bohr in each direction in setting up image cells.
NCellMin=N Include at least N cells.
NCellMax=N Include at most N cells in any part of the calculation.
NCellDFT=N Include at least N cells in DFT XC quadrature. NCellXC is synonymous.
NCellK=N Include at least N cells in exact exchange.
By default, if exact exchange is included, then this is twice the number of cells used for
overlap-related quantities and XC quadrature.

11.3.3

Availability

HF and DFT energy and optimizations. Not valid with SCRF or Charge. For periodic systems of
any reasonable size, acceptable performance may only be feasible by using a pure DFT functional
in combination with density fitting.

Last modified March 27, 2012

57

12

Submitting Jobs at Rice

The module system is employed on Scuseria Group workstations as well as on the shared computational resources at Rice: BlueBioU, DaVinci and STIC. (An older machine, SUG@R is also
available, but is is non-ideal for PBC jobs.) A condo of Scuseria-Group-Only nodes exists on each
of the Rice clusters. Normally, it is more efficient to use the guscus condo (see Section 13), but
change the queue name to common, for access to the public nodes.

Figure 17: STIC, BlueBioU, DAVinCI, and SUG@R.

STIC - Shared Tightly Integrated Cluster. An Intel Nahalem computing cluster.


BlueBioU - Primarily for biocomputing. An IBM Power 7 System. press release
DAVinCI - Data Analysis and Visualization Cyber-Infrastructure. x86-64 hybrid.press release
SUG@R - Shared University Grid @ Rice An older Intel Xeon compute cluster.
For general information, see the Getting Started documentation.

58

Sec. 12: Submitting Jobs at Rice

12.1

Modules: General Procedure


For the examples in this section, sgu1 is an imaginary Scuseria Group user with
a login ID of the type that Rice usually sets up: typically 2-3 initials from your
name and a number.

The following is the procedure for STIC, but the procedure works the same on all Rice computers.
1. Login via ssh
2. Source the .bashrc file containing the Gaussian paths in it: source /projects/guscus/.bashrc
3. cd to shared.scratch, e.g., cd /shared.scratch/sgu1
4. Type module avail to see what modules are available (See Section 12.3.1) for the output.)
-OR5. Type module list to confirm which modules are already loaded. (See Section 12.3.3)
6. Type module load gdv-h11-hiss-and-pbc.2.3 to load the module for PBC calculations
(See Section 12.3.2.)
7. Check to see that the module loaded successfully by typing module list (See Section 12.3.3)
8. Run the script to create the *.pbs file (See Section 13 for the necessary scripts.)
9. Type qsub *.pbs to submit your job
10. Type qstat to see that your job was submitted and is in the queue you want it to be in...

12.2

What You See: Logging In


# THIS IS STEP 1a

[mylaptop:~] scucserian% ssh sgu1@stic.rice.edu

# THIS STEP 1b

sgu1@stic.rcsg.rice.edus password:

# Below is what will appear once you log into STIC:

Last login: Tue Mar 13 12:23:58 2012 from worf.rice.edu


----------------------------------------------------------------------Ken Kennedy Institute for Information Technology, Rice University
==============================================
Unauthorized access is prohibited.
STIC.RICE.EDU
Questions and Problem Reports -> http://helpdesk.rice.edu
Documentation and User News -> http://rcsg.rice.edu/stic
----------------------------------------------------------------------****************IMPORTANT*******************
NOTICE TO COMP422 and COMP322 USERS!!
DO NOT RUN JOBS ON THE LOGIN NODES.

# SERIOUSLY, never, EVER run jobs on a login node

********************************************
-bash-3.2$ source . /projects/guscus/.bashrc
-bash-3.2$ cd /shared.scratch/sgu1

# THIS IS STEP 2
# THIS IS STEP 3

Last Modified March 27, 2012

59

Sec. 12: Submitting Jobs at Rice

12.3
12.3.1

Module Commands
Module Avail

Typing module avail will allow you to see which modules are currently available on the machine
you have logged into, as in the example, below:
[sgu1@login1 sgu1]$ module avail

The gaussian-related codes are listed in the top section, which includes G09, all usable gdv versions
and the Portland Group compilers. The bottom section lists various applications that may be of
use, like matlab.

For PBC jobs, the module you should load is gdv-h11-hiss-and-pbc.2.3.

The g09- series are actual g09 versions, not development versions of the gaussian code.
The gdv- series are developement versions of gaussian.
The most stable for PBC, with the most features and options is gdv-h11-hiss-and-pbc.2.3.
USE THIS unless otherwise instructed.
gdv-h11-sol has PBEsol incorporated in it, but no PBC features like BS, PDOS, AFM,
VMM, SO or Dispersion.

60

Sec. 12: Submitting Jobs at Rice

12.3.2

Module Load

To LOAD a module, simply type module load module name,


[sgu1@login1 sgu1]$ module load gdv-h11-hiss-and-pbc.2.3

12.3.3

Module List

To CONFIRM the module was loaded, or LIST modules already loaded, type: module list
[sgu1@login1 sgu1]$ module list
Currently Loaded Modulefiles:
1) pgi-10
2) gdv-h11

3) gdv-h11-hiss-and-pbc.2.3

Notice that at least 3 files are loaded. The module you want
usually has the highest number.

12.3.4

Module Unload

To UNLOAD a module, type module unload ModuleName, confirm with module list
[sgu1@login1 sgu1]$ module unload gdv-h11-hiss-and-pbc.2.3
[sgu1@login1 sgu1]$ module list
No Module Files Currently Loaded

12.3.5

Modules & Submission

Put it all together: Load/confirm modules, submit job and check the queue as in Section 12.1.
[mjl3@login1 mjl3]$ module load gdv-h11-hiss-and-pbc.2.3
[mjl3@login1 mjl3]$ module list
Currently Loaded Modulefiles:
1) pgi-10
2) gdv-h11

3) gdv-h11-hiss-and-pbc.2.3

[mjl3@login1 mjl3]$ pbcscript PBCjobFile.gjf 10


[mjl3@login1 mjl3]$ qsub PCBInputFile.pbs
[mjl3@login1 mjl3]$ qstat | grep guscus
346944.sticman
346954.sticman
348858.sticman
349052.sticman
349056.sticman

LiMoS2-hse11_o
LiMoS2-pbe_o
20
n2-ksghf
PCBInputFile

mjl3
mjl3
ks19
rmi1
sgu1

190:28:0
187:12:3
235:00:3
04:32:08
00:02:08

R
R
R
R
R

guscus
guscus
guscus
guscus
guscus

Last Modified March 27, 2012

61

Sec. 12: Submitting Jobs at Rice

12.4

G09 Modules Available on STIC

The availability on the other machines will vary, but will tend to have the same versions of the
more recent codes. Source /projects/guscus/.bashrc and then type module avail to see the
list below...

Table 2: Gaussian Modules Currently Available (as of March 27, 2012) on STIC
Module
G09 Versions
g09-b1
g09-b1-linda
g09-b1-pbc-2.3
g09-b1-pbc-2.3.t
g09-c1
g09-c1-linda
G09 Development
gdv-g1
gdv-h1
gdv-h1-D
gdv-h1-extra-HISS
gdv-h10
gdv-h11
gdv-h11-hiss-and-pbc.2.3
gdv-h11-ib3
gdv-h11-sol
gdv-h12p
gdv-h12p-D
gdv-h13
PGI Compilers
pgi-10
pgi-10.9
pgi-11

Description

Notes

This is previous G09


When in doubt use this
Runs in parallel
STIC, use 4 nodes
A version of the PBC code not sure
This PBC code works
Used for publications
Latest G09
Use at own risk
Latest G09 in parallel
Timings are weird
Ancient
Very Old
Very Old
Old for HISS
Old
Old
RECENT
Ireks working version
PBEsol
New
New
Latest

Needed for some calcs; dont use


Dont use
Daniels?
Dont use unless checking data
Probably not used by anyone
*NO* PBC so not useful
Use this. Has HISS and PBC1
Dont use
No BS/PDOS, but PBEsol works
Ask Irek
Ask Irek
Ask Irek

Oldest
Old
Latest

Check which version loads w/code


Check which version loads w/code
Check which version loads w/code

[1] This version will eventually also include PBEsol, Ireks dispersion code, any new Bulik
functionals and any other code that is to be used by many, PBC or not. This will be the version
that will be kept current.

Last Modified March 27, 2012

62

Sec. 12: Submitting Jobs at Rice

12.4.1

Applications Modules on STIC

Source /projects/guscus/.bashrc and then type module avail to see the list below...

Table 3: Applications Modules Currently Available on STIC (As of March 27, 2012), sorted
according to potential interest to the Scuseria Group.
Module
gaussian/g09-c1-linda
intel/2011.0.13(default)
intel/3.2.1.015
jdk/1.6.0_12
matlab/2008b(default)
matlab/2009b
matlab/2011a
pgi/9.0.4
pgi/10.9
python3/3.2.1
R/2.11.1-gcc
siesta/3.0-rc2

Description
Parallel G09
compiler
compiler
Jasons PQT code
Check w/Irek
Check w/Irek
Check w/Irek

Check w/Irek
Can we use this?

openmpi/1.3.3-gcc
openmpi/1.3.3-intel
openmpi/1.3.3-pgi
openmpi/1.4.4-gcc
openmpi/1.4.4-intel(default)
openmpi/1.4.4-pgi

63

Module
Notes
amber/11
Bio FF code
cilk++/8503
cmake/2.8.5
comsol/3.5a
comsol/4.0a
comsol/4.1
fftw/3.2.2-intel
globus/5.0.4-xsede
gmt/4.5.3
gromacs/4.5.5
Bio visualizer
hdf5/1.8.4p1
hdf5/1.8.8(default)
hpctoolkit/2011-05-16
hypre/2.0.0-intel
lammps/20Aug11
lumerical/6.5.5(default)
lumerical/7.5.1
lumerical/7.5.3
mvapich/1.2rc1-intel
namd/2.7
namd/2.8
netcdf/4.1.1
papi/3.7.0
opencl/2.5rc2
slog2sdk/1.2.6
totalview/8.7.0
totalview/8.9.2
turnin/2.0
turnin/2.1
turnin/3.0(default)

Sec. 12: Submitting Jobs at Rice

12.5

Modules Available on Group Workstations

You need to source /projects/guscus/.bashrc and then type module avail to see the list below.
To run gnuplot and others APPS, type module load Apps

Table 4: Modules Currently Available on Workstations (as of March 27, 2012)


Module
Description
Notes
Applications
Apps
numerous apps like gnuplot type module load Apps
GaussView/5.0.9
load a G09 module, then
type module load GaussView
G09 Versions
g09-b1
This is previous G09
When in doubt use this
g09-c1
Latest G09
Use at own risk
g09-c1-linda
Latest G09 in parallel
Timings are weird
G09 Development
module load gdv-x x=gdv ver.
gdv-f2
Before time
Remote chance will need
gdv-g1
Ancient
Needed for some calcs; dont use
gdv-h1
Very Old
Dont use
gdv-h10
Old
Probably not used by anyone
gdv-h11
Old
*NO* PBC so not useful
gdv-h11-ib3
Ireks
Local development
gdv-h12p
New
Ask Irek
gdv-h13
Latest
Ask Irek
G09 PBC Code
Any of these STIC?
module load g09-y y=g09 ver.
g09-b1-extra-dosj
Very Old
experimental PBC?
g09-b1-extra3
-pbc-2.devel
Old
experimental PBC
g09-b1-pbc-2.3t
This PBC code works
Used for publications
g09-b1-pbc-2.3
An older version
not sure
g09-b1-pbc-2.3.5
Old
experimental PBC ?
PGI Compilers
module load pgi-z z=pgi ver.
pgi-7.2
Older
Check which version loads w/code
pgi-10
Older
Check which version loads w/code
pgi-10.8
Older
Check which version loads w/code
pgi-10.9
Old
Check which version loads w/code
pgi-11
Latest on STIC
Check which version loads w/code
pgi-11.9
Latest
Newer than that on STIC

Last Modified March 27, 2012

64

13

Scripts
The scripts provided herein are optimized for quick cut-N-paste.
Alternatively, local users may copy them from:
guscus:/projects/guscus/Manuals/scripts
Questions, comments or better implementations are welcome.
Please feel free to contact Melissa Lucero.

The scripts are broken into three groups:


1. PBS submission scripts Section 13.1.
(a) STIC see Sections 13.1.1 (serial) and 13.1.2 (parallel)
(b) DaVinci see Section 13.1.3 (parallel)
(c) BlueBioU aka BioU see Section 13.1.4 (serial)
(d) All of the above scripts are locally available at
guscus:/projects/guscus/Manuals/scripts.
2. BS and PDOS Gnuplot Scripts
(a) The gpband perl script is too large to include, copy from in
guscus:/projects/guscus/Manuals/scripts. A How-To explaining how to use it
may be in order...
(b) PDOS A straightforward example from Section 10.2
Cut-N-Paste templates from Sections 13.2 and 13.3
-OR- at guscus:/projects/guscus/Manuals/examples/Si-pdos/.
(c) BS The example used in Section ??
Pared down here, in Section ??
-OR- at guscus:/projects/guscus/Manuals/examples/band.gpt
(d) A Multiplot script with both BS and PDOS aligned vertically. Section 13.6

Produces the example in Section 8.1


Heavily annotated
Broken into smaller pieces for Cut-N-Pase
The original is located at:
guscus:/projects/guscus/Manuals/examples/MoS2mono/

3. Other Gnuplot Scripts a work in progress


Other gnuplot data representations
Stacks, histograms, bars
Note: The script content may vary slightly as the OS for each cluster is
updated and or with new gdv/G09 versions. If in doubt, please feel free to
contact Irek W. Bulik or Melissa J. Lucero.
Last Modified March 29, 2012

65

Sec. 13: Scripts

13.1

PBS Submission Scripts (Rice-Specific)

13.1.1

STIC Serial Job PBS Submission Script


cmd line input: ./sticpbs-serial InputFile.gjf walltime (in days)
e.g., [sgu1@login2]$ ./stic-serial.sh SiC.gjf 10

#!/bin/bash
set -o errexit
set -o pipefail

# exit on errors
# or failure in a pipe

if [ $# -eq 0 ]; then
cat <<EOF
USAGE:
${0##*/} Input NNodes WallTime_in_days
EOF
exit 1
fi
Inp=$1
# test if we got needed data
if [ -z "$Inp" ]; then
echo "No Input File Specified"
exit 1
fi
if [ -z "$2" ]; then
echo "Wall Time Not Specified"
exit 1
fi
WALLTIME=$(( 24 * $2 )):00:00
InpBase=${Inp%.*}
SubFile=$InpBase.pbs #Prepare submission script
cat <<EOFPBS >$SubFile
#!/bin/bash
#PBS -N $InpBase
#PBS -V
#PBS -m n
#PBS -r n
#PBS -o $InpBase.pbserr
#PBS -j oe
#PBS -l nodes=1:ppn=12,walltime=$WALLTIME
#PBS -l mem=24000mb
#PBS -q guscus
InpBase=$InpBase
TIMEFORMAT="TIMING: %3R %3U %3S"

# Format for bash time builtin

GAUSS_SCRDIR=/shared.scratch/\$USER/tmp/\$PBS_JOBID
export GAUSS_SCRDIR
\${GAUSS_MEMDEF:=2415919104}
cd \$PBS_O_WORKDIR
exec &>$InpBase.err
set -x
trap "rm -rf \$GAUSS_SCRDIR" EXIT
mkdir -p \$GAUSS_SCRDIR

# print commands before executing


# clean up at exit

df -h
uname -a
printenv
time \$GAU <<EOGJF >"\$InpBase.out"
%mem=23500mb
EOFPBS
cat $Inp
>> $SubFile
echo "EOGJF"
>> $SubFile
cat << EOF >> $SubFile
echo \$?
mkpdos -bias-from "\$InpBase.out" -f -v >& mkpdos.log # Required to run PDOS, comment out if no PBC code
EOF

This script may also be found at guscus:/projects/guscus/Manuals/scripts/stic-serial.sh

66

Sec. 13: Scripts

13.1.2

STIC Parallel (Linda) Job PBS Submission Script


cmd line input: ./script InputFile.gjf # nodes (4 is best) walltime (in days)
e.g., [sgu1@login1]$ ./stic-linda.sh InP.gjf 4 10

#!/bin/bash
set -o errexit
set -o pipefail

# exit on errors
# or failure in a pipe

if [ $# -eq 0 ]; then
cat <<EOF
USAGE:
${0##*/} Input NNodes WallTime_in_days
EOF
exit 1
fi
Inp=$1
NNodes=$3
if [ -z "$Inp" ]; then # test if we got needed data
echo "No Input File Specified"
exit 1
fi
if [ -z "$2" ]; then
echo "Wall Time Not Specified"
exit 1
fi
if [ -z "$NNodes" ]; then
echo "Number Of Nodes Not Specified"
exit 1
fi
WALLTIME=$(( 24 * $2 )):00:00
InpBase=${Inp%.*}
SubFile=$InpBase.pbs #Prepare submission script
cat <<EOFPBS >$SubFile
#!/bin/bash
#PBS -N $InpBase
#PBS -V
#PBS -m n
#PBS -r n
#PBS -o $InpBase.pbserr
#PBS -j oe
#PBS -l nodes=$NNodes:ppn=12,walltime=$WALLTIME
#PBS -l mem=24000mb
#PBS -q guscus
InpBase=$InpBase
TIMEFORMAT="TIMING: %3R %3U %3S"
# Format for bash time builtin
GAUSS_SCRDIR=/shared.scratch/\$USER/tmp/\$PBS_JOBID
export GAUSS_SCRDIR
\${GAUSS_MEMDEF:=2415919104}
cd \$PBS_O_WORKDIR
exec &>$InpBase.err
set -x
trap "rm -rf \$GAUSS_SCRDIR" EXIT
mkdir -p \$GAUSS_SCRDIR

# print commands before executing


# clean up at exit

df -h
uname -a
printenv
LINDA_WORKERS=\$(cat \$PBS_NODEFILE |sort -u |tr \n , |sed s/,$//)
time \$GAU <<EOGJF >"\$InpBase.out"
%nprocsh=6
%mem=23500mb
%LindaWorkers=\$LINDA_WORKERS
EOFPBS
cat $Inp
>> $SubFile
echo "EOGJF"
>> $SubFile
cat << EOF >> $SubFile
echo \$?
EOF

This script may also be found at guscus:/projects/guscus/Manuals/scripts/stic-linda.sh

67

Sec. 13: Scripts

13.1.3

DaVinci Parallel (Linda) Job PBS Submission Script


cmd line input: ./script InputFile.gjf walltime (in days)
e.g., [sgu1@login1]$ ./davy-linda.sh AlN.gjf 10

#!/bin/bash
set -o errexit
set -o pipefail

# exit on errors
# or failure in a pipe

if [ $# -eq 0 ]; then
cat <<EOF
USAGE:
${0##*/} INPut NNODES
EOF
exit 1
fi
INP=$1
NNODES=$2
# test if we got needed data
if [ -z "$INP" ]; then
echo "No Input File Specified"
exit 1
fi
if [ -z "$NNODES" ]; then
echo "Number Of Nodes Not Specified"
exit 1
fi
INPBASE=${INP%.*}
#Prapare submission script
SUBFILE=$INPBASE.pbs
cat <<EOFPBS >$SUBFILE
#!/bin/bash
#PBS -N $INPBASE
#PBS -V
#PBS -m n
#PBS -r n
#PBS -o $INPBASE.pbserr
#PBS -j oe
#PBS -l nodes=$NNODES:ppn=12,pmem=4000mb
#PBS -q parallel
INPBASE=$INPBASE
TIMEFORMAT="TIMING: %3R %3U %3S"

# Format for bash time builtin

GAUSS_SCRDIR=/scratch/\$USER/tmp/\$PBS_JOBID
export GAUSS_SCRDIR
: \${GAUSS_MEMDEF:=2415919104}
cd \$PBS_O_WORKDIR
exec &>$INPBASE.err
set -x
trap "rm -rf \$GAUSS_SCRDIR" EXIT
mkdir -p \$GAUSS_SCRDIR

# print commands before executing


# clean up at exit

df -h
uname -a
printenv
LINDA_WORKERS=\$(cat \$PBS_NODEFILE |sort -u |tr \n , |sed s/,$//)
time \$GAU <<EOGJF >"\$INPBASE.out"
%nprocsh=12
%mem=42GB
%LindaWorkers=\$LINDA_WORKERS
EOFPBS
cat $INP
>> $SUBFILE
echo "EOGJF"
>> $SUBFILE
cat << EOF >> $SUBFILE
echo \$?
EOF

This script may be obtained at: guscus:/projects/guscus/Manuals/davinci-linda.sh

68

Sec. 13: Scripts

13.1.4

BioU Serial Job PBS Submission Script


cmd line input: ./script InputFile.gjf walltime (in days)
e.g., [sgu1@login2]$ ./biou-serial.sh ZnS.gjf 10

#!/bin/bash
set -o errexit
set -o pipefail

# exit on errors
# or failure in a pipe

#if [ $# -eq 0 ]; then


#
cat <<EOF
#USAGE:
# ${0##*/} Input NNodes WallTime_in_days
#EOF
#
exit 1
#fi
Inp=$1
# test if we got needed data
if [ -z "$Inp" ]; then
echo "No Input File Specified"
exit 1
fi
#if [ -z "$2" ]; then
#
echo "Wall Time Not Specified"
#
exit 1
#fi
#if [ -z "$NNodes" ]; then
#
echo "Number Of Nodes Not Specified"
#
exit 1
#fi
#WALLTIME=$(( 24 * $2 )):00:00
InpBase=${Inp%.*}
SubFile=$InpBase.pbs #Prepare submission script
cat <<EOFPBS >$SubFile
#!/bin/bash
#PBS -N $InpBase
#PBS -V
#PBS -m n
#PBS -r n
#PBS -o $InpBase.pbserr
#PBS -j oe
#PBS -l nodes=1:ppn=128,walltime=24:00:00
#PBS -l mem=24000mb
#PBS -q serial
InpBase=$InpBase
TIMEFORMAT="TIMING: %3R %3U %3S"
# Format for bash time builtin
GAUSS_SCRDIR=/shared.scratch/\$USER/tmp/\$PBS_JOBID
export GAUSS_SCRDIR
\${GAUSS_MEMDEF:=17179869184}
cd \$PBS_O_WORKDIR
exec &>$InpBase.err
set -x
trap "rm -rf \$GAUSS_SCRDIR" EXIT
mkdir -p \$GAUSS_SCRDIR

# print commands before executing


# clean up at exit

df -h
uname -a
printenv
time \$GAU <<EOGJF >"\$InpBase.out"
%mem=23500mb
EOFPBS
cat $Inp
>> $SubFile
echo "EOGJF"
>> $SubFile
cat << EOF >> $SubFile
echo \$?
mkpdos -bias-from "\$InpBase.out" -F -v >& mkpdos.log
EOF

Download this script locally from: guscus:/projects/guscus/Manuals/biou-serial.sh

69

Sec. 13: Scripts

13.2

PDOS Vertical Template


This minimal example produces a vertical PDOS plot, with the valence
band at the bottom and the conduction band populations at the top, as
in the figure below. Copy the gpt file and relevant data for Si from
guscus:/projects/guscus/Manuals/examples/Si-pdos.

reset
set term postscript portrait enhanced dashed lw 2.0 color Times-Roman 20
# DEFINE INPUT AND OUTPUT
set output output.ps # name of output file
data = pdos.dat
# dat file
# DEFINE PLOT RANGES
set lmargin 5.5
set rmargin 0.5
set yrange [-10.0:10.0] # THESE WILL CHANGE BASED ON YOUR SYSTEM
set xrange [-0.03:2.5] # LEAVES A LITTLE SPACE TO SEE IF BASIS SET IS OKAY
set ylabel Energy (eV) offset 1.3,0
set xlabel PDOS (states/eV/unit cell)
set ytics 2.0 # THIS IS BASED ON A SMALL UNIT CELL, ADJUST AS NECESSARY
set xtics 0.5
# ARROWS
# The gray baseline along the y-axis
set arrow 1 from 0, graph 0 to 0, graph 1 nohead lc rgb dark-gray

lw 1.0

# LABELS -- Depending upon OS and Gnuplot version, may be Helvetica-Italic


set label 1 {/Helvetica-oblique=18 E_{F}} at 2.55,0 tc rgb dark-red
set label 2 at 1.5,2.2 {/Helvetica=22 Si (dia) } tc rgb royalblue
set label 3 at 1.5,1.6 {/Helvetica=16 HSE OPT} tc rgb navy
set label 4 at 1.50,1.0 {/Helvetica-oblique=16 E_{g} }{/Helvetica=16 = 1.22 eV (I)} tc rgb navy
set label 5 at 1.5,0.4 {/Helvetica=16 Exp. = 1.17 eV (I)} tc rgb dark-red
set key at 2.40,9.50 right # X-coord of Upper Left Corner and Y-coord of Upper Right Corner
# LINE STYLES -set style
set style
set style
set style
set style
set style
set style
set style
set style
set style

use as many as necessary


line 1 lt 1 lw 2.0 lc rgbcolor black
line 2 lt 3 lw 1.5 lc rgbcolor red
line 3 lt 1 lw 1.5 lc rgbcolor forest-green
line 4 lt 1 lw 1.5 lc rgbcolor blue
line 5 lt 1 lw 1.0 lc rgbcolor royalblue
line 6 lt 1 lw 1.0 lc rgbcolor gold
line 7 lt 1 lw 1.0 lc rgbcolor plum
line 8 lt 2 lw 1.0 lc rgbcolor sea-green
line 9 lt 1 lw 1.0 lc rgbcolor gray50
line 10 lt 0 lc rgbcolor white

# PLOT THE DATA -- FIRST LINE IS DASHED BLACK LINE FOR FERMI LEVEL
plot 0 w l lt 2 lw 2.0 lc rgb black not,\
data using 2:1 w l ls 2 t Q_{/Helvetica-oblique s},\
data using 3:1 w l ls 3 t Q_{/Helvetica-oblique p},\
data using 4:1 w l ls 4 t Q_{/Helvetica-oblique d},\
data using 5:1 w l ls 1 t Total

70

Sec. 13: Scripts

13.3

PDOS Horizontal Template


This minimal example produces a horizontal PDOS plot, with the valence band
to the left. the Fermi level in the center, and the conduction band populations
to the right, as in the figure below. Copy the gpt file and relevant data for Si
from guscus:/projects/guscus/Manuals/examples/Si-pdos.

reset
set term postscript eps enhanced dashed dl 2.0 color Times-Roman 20
# INPUT AND OUTPUT
set output pdos.eps # name of output file
data = pdos.dat # dat file
# PLOT RANGES
set lmargin 5.5
set xrange [-10.0:10.0]
set yrange [-0.1:2.5] # Allows view of baseline
set xlabel Energy (eV)
set ylabel PDOS (states/eV/unit cell) offset 1.3,0
set xtics 2.0
set ytics 0.5
# ARROWS and LABELS
set arrow 1 from 0, graph 0 to 0, graph 1 nohead lc rgb dark-gray lw 1.0
set label 1 Fermi level at 0, graph 1 right rotate offset character 1, character -1 tc rgb navy
set label 2 at -9,2.3 {/Helvetica=20 Si (dia) } tc rgb dark-red
set label 3 at -9,2.1 {/Helvetica=16 HSE OPT} tc rgb navy
set label 4 at -9,1.9 {/Helvetica-Italic=16 E_{g} = }{/Helvetica=16 1.22 eV (I)} tc rgb navy
set label 5 at -9,1.7 {/Helvetica=16 Expt. = 1.17 eV (I)} tc rgb red
set key at 9.7,2.45 right

# Plot the data...


plot 0 w l lt 1 lw 3.0 lc
data using 1:2 w l
data using 1:3 w l
data using 1:4 w l
data using 1:5 w l

rgb gray not,\


ls 3 t Q_{/Helvetica-Italic s},\
ls 2 t Q_{/Helvetica-Italic p},\
ls 4 t Q_{/Helvetica-Italic d},\
ls 1 t Total

71

2.5
Si (dia)
2

Sis
Sip
Sid
Total

Fermi level

Add more colors or styles as required


line 1 lt 1 lw 2.0 lc rgbcolor black
line 2 lt 1 lw 1.5 lc rgbcolor blue
line 3 lt 2 lw 1.0 lc rgbcolor green
line 4 lt 4 lw 2.0 lc rgbcolor red
line 5 lt 1 lw 1.0 lc rgbcolor royalblue
line 6 lt 4 lw 1.0 lc rgbcolor forest-green
line 7 lt 1 lw 1.0 lc rgbcolor gold
line 8 lt 2 lw 0.8 lc rgbcolor forest-green
line 9 lt 1 lw 1.0 lc rgbcolor khaki
line 10 lt 0 lc rgbcolor white

PDOS (states/eV/unit cell)

# LINE STYLES -set style


set style
set style
set style
set style
set style
set style
set style
set style
set style

HSE OPT
Eg = 1.22 eV (I)
Expt. = 1.17 eV (I)

1.5

0.5

0
-10

-8

-6

-4

-2

0
2
Energy (eV)

10

Sec. 13: Scripts

13.4

Band Structure: gpband Default

The default gpband script for HSE optimized AlSb.


(Discussed inSections 10.3.2 and 10.3.3.)
#! /usr/bin/gnuplot
reset
set encoding iso_8859_1
set terminal postscript eps enhanced color dl 2 "Times-Roman,18"
set output band.eps
set lmargin 5.5
set rmargin 4
set macros
unset key
unset colorbox
set xlabel "k path"
set ylabel "Energy (eV)" offset 1.5,0
data = band.dat
x1_GM = 0.000000
x2_X = 0.862114
x3_W = 1.293143
x4_K = 1.597934
x5_GM = 2.512322
x6_L = 3.258914
x7_U = 3.786839
x8_W = 4.091633
x9_K = 4.396424
x10_X = 4.701213
set xtics ( "{/Symbol G}" x1_GM, "X" x2_X, "W" x3_W, "K" x4_K, "{/Symbol G}" x5_GM, "L" x6_L, "U" x7_U, "W" x8_W, "K | U" x9_K, "X" x10_X )
E0
cHOCO
HOCO
cLUCO
LUCO
EF
mGap
MGap
iGap

=
=
=
=
=
=
=
=
=

10.371738
10
10.371738
11
12.420518
10.371738
3.058369
8.405779
2.048780

E(y) = y - E0
set
set
set
set
set
set
set
set
set
set

arrow
arrow
arrow
arrow
arrow
arrow
arrow
arrow
arrow
arrow

# energy shifting function

1 from x1_GM, graph 0 to x1_GM, graph 1 nohead lt -1


2 from x2_X, graph 0 to x2_X, graph 1 nohead lt -1
3 from x3_W, graph 0 to x3_W, graph 1 nohead lt -1
4 from x4_K, graph 0 to x4_K, graph 1 nohead lt -1
5 from x5_GM, graph 0 to x5_GM, graph 1 nohead lt -1
6 from x6_L, graph 0 to x6_L, graph 1 nohead lt -1
7 from x7_U, graph 0 to x7_U, graph 1 nohead lt -1
8 from x8_W, graph 0 to x8_W, graph 1 nohead lt -1
9 from x9_K, graph 0 to x9_K, graph 1 nohead lt -1
10 from x10_X, graph 0 to x10_X, graph 1 nohead lt -1

set arrow 11 \
from graph 0, first E(HOCO) to

graph 1, first E(HOCO) nohead lt 19

set arrow 12 \
from graph 0, first E(LUCO) to

graph 1, first E(LUCO) nohead lt 20

set yrange [*:*]


plot

\
data
data
data
data
data
data
data
data
data
data
data
data
data
data
data
data
data
data

using
using
using
using
using
using
using
using
using
using
using
using
using
using
using
using
using
using

1:(E($19)) t "27" with l ls 18, \


1:(E($18)) t "26" with l ls 17, \
1:(E($17)) t "25" with l ls 16, \
1:(E($16)) t "24" with l ls 15, \
1:(E($15)) t "23" with l ls 14, \
1:(E($14)) t "22" with l ls 13, \
1:(E($13)) t "21" with l ls 12, \
1:(E($12)) t "20" with l ls 11, \
1:(E($11)) t "19" with l ls 10, \
1:(E($10)) t "18" with l ls 9, \
1:(E($9)) t "17" with l ls 8, \
1:(E($8)) t "16" with l ls 7, \
1:(E($7)) t "15" with l ls 6, \
1:(E($6)) t "14" with l ls 5, \
1:(E($5)) t "13" with l ls 4, \
1:(E($4)) t "12" with l ls 3, \
1:(E($3)) t "11" with l ls 2, \
1:(E($2)) t "10" with l ls 1

72

Sec. 13: Scripts

13.5

Band Structure: Modified AlSb (HISS) gpt File


The modified gp file that produced Figure 16 in Section 10.3.4.

reset
set terminal postscript eps enhanced color dl 2 "Helvetica,18"
set output AlSb-hiss2.eps
data = AlSb-hiss.dat
set rmargin 4
unset key
set ylabel "Energy (eV)" offset 1.5,0
x1_GM = 0.000000
x2_X = 0.862114
x3_W = 1.293143
x4_K = 1.597934
x5_GM = 2.512322
x6_L = 3.258914
x7_U = 3.786839
x8_W = 4.091633
x9_K = 4.396424
x10_X = 4.701213
set xtics ( "{/Symbol G}" x1_GM, "X" x2_X, "W" x3_W, "K" x4_K, "{/Symbol G}" x5_GM, "L" x6_L, "U" x7_U, "W" x8_W, "K | U" x9_K, "X" x10_X )
E0
cHOCO
HOCO
cLUCO
LUCO
EF
mGap
MGap
iGap
UCO2

=
=
=
=
=
=
=
=
=
=

10.371738
10
10.371738
11
12.420518
10.371738
3.058369
8.405779
2.048780
12.700369

E(y) = y - E0

# energy shifting function

# LINE STYLES
set style
set style
set style
set style
set style
set
set
set
set
set
set
set
set
set
set

arrow
arrow
arrow
arrow
arrow
arrow
arrow
arrow
arrow
arrow

line
line
line
line
line

1
2
3
4
5

lt
lt
lt
lt
lt

4
1
1
1
1

lw
lw
lw
lw
lw

0.7
1.0
2.5
2.5
2.5

lc
lc
lc
lc
lc

rgbcolor
rgbcolor
rgbcolor
rgbcolor
rgbcolor

dark-turquoise
black
black
red
blue

#k-point Vertical LINESS


# BORING BANDS thin black line
# BANDS OF INTEREST thicker black line c
# VB Max ......................
# CB Min -----------------

1 from x1_GM, graph 0 to x1_GM, graph 1 nohead ls 1


2 from x2_X, graph 0 to x2_X, graph 1 nohead ls 1
3 from x3_W, graph 0 to x3_W, graph 1 nohead ls 1
4 from x4_K, graph 0 to x4_K, graph 1 nohead ls 1
5 from x5_GM, graph 0 to x5_GM, graph 1 nohead ls 1
6 from x6_L, graph 0 to x6_L, graph 1 nohead ls 1
7 from x7_U, graph 0 to x7_U, graph 1 nohead ls 1
8 from x8_W, graph 0 to x8_W, graph 1 nohead ls 1
9 from x9_K, graph 0 to x9_K, graph 1 nohead ls 1
10 from x10_X, graph 0 to x10_X, graph 1 nohead ls 1

# I-Bars and
set arrow
set arrow
set arrow
# Labels
set label
set label
set label

Transition Arrows
11 from 0.735264,0 to 0.735264,E(LUCO) size 0.2,90 heads lw 2.5 lc rgb green front
13 from x5_GM,0 to 0.735264,E(LUCO) heads lw 1.5 front
15 from x6_L,0 to 3.258914,E(UCO2) size 0.2,90 heads lw 2.5 lc rgb magenta front
1 {/Helvetica-Oblique=28 E_{F}} at 4.7,0.00 tc rgbcolor dark-red
2 {2.05 eV (I)} at 0.9,0.6
3 {2.33 eV (I)} at 3.3, 0.8

set yrange [-7:10]


plot 0 w l lt
E(LUCO) w l lt
data using
data using
data using
data using
data using
data using
data using
data using
data using
data using
data using
data using
data using
data using
data using
data using
data using
data using

-1 not,\
2 lc rgbcolor "orange" not, \
1:(E($19)) t "27" with l ls 5, \
1:(E($18)) t "26" with l ls 5, \
1:(E($17)) t "25" with l ls 5, \
1:(E($16)) t "24" with l ls 5, \
1:(E($15)) t "23" with l ls 5, \
1:(E($14)) t "22" with l ls 5, \
1:(E($13)) t "21" with l ls 5, \
1:(E($12)) t "20" with l ls 5, \
1:(E($11)) t "19" with l ls 5, \
1:(E($10)) t "18-occ" with l ls 4, \
1:(E($9)) t "17-occ" with l ls 4, \
1:(E($8)) t "16-occ" with l ls 4, \
1:(E($7)) t "15-occ" with l ls 4, \
1:(E($6)) t "14-occ" with l ls 4, \
1:(E($5)) t "13-occ" with l ls 4, \
1:(E($4)) t "12-occ" with l ls 4, \
1:(E($3)) t "11-occ" with l ls 4, \
1:(E($2)) t "10-occ" with l ls 4

73

Sec. 13: Scripts

13.6

BS and PDOS Multiplot Example


This gnuplot script is modified gpband output gpband will *not* produce this file. Note that the length of this template necessitates that it be
broken into sections. Simply concatenate the parts discussed in the following pages to obtain a working script or scp the full version located at guscus:/projects/guscus/Manuals/scripts/both.gpt

The Annoted Sections of the Gnuplot File:


Chunk 1: Header, Section 13.6.1
Chunk 2: BS plot data-I: Set-up, Section 13.6.2
Chunk 3: BS plot data-II: Plotting, Section 13.6.3
Chunk 4: PDOS plot data-I: Set-up, Section 13.6.4
Chunk 5: PDOS plot data-II: Plotting, Section 13.6.5

13.6.1

Header and Multiplot Set-Up

# TERMINAL SET-UP
reset
set encoding iso_8859_1
set terminal postscript eps enhanced lw 2 color
# SET INPUT AND OUTPUT FILE NAMES
set output both.eps
data = band.dat
# SET MARGINS, AXES and DECORATIONS
set lmargin 5.5
set rmargin 0
set xlabel "K-Path"
set ylabel "Energy (eV)" offset 1.3,0
unset key
unset colorbox
# SET MULTIPLOT
# --> 1 ROW, 2 COLUMNS, NO TITLE
set multiplot layout 1,2

74

"Times-Roman,16"

Sec. 13: Scripts

13.6.2

Band Structure Plot

# X-TIC LABELS AND INFORMATION GENERATED BY gpband


x1_GM = 0.000000
x2_M = 0.969907
x3_K = 1.529883
x4_GM = 2.649834
set xtics ( "{/Symbol G}" x1_GM, "M" x2_M, "K" x3_K, "{/Symbol G}" x4_GM )
# RELEVANT ENERGY DATA
E0 = -6.22565 # The
cHOCO = 10
HOCO = -6.225650
cLUCO = 11
LUCO = -3.900374
EF = -6.225650
mGap = 2.325276
MGap = 4.138425
iGap = 2.325276
E(y) = y - E0

highest energy of the valence band


# The column containing the HOCO in the band.dat file
# The Highest Occupied Crystal Orbital
# The column containing the LUCO in the band.dat file
# The Lowest Unoccupied Crystal Orbital
# The unscaled Fermi energy, same as E0 for now
# The minimum gap
# The next gap
# The indirect gap

# The energy shifting (scaling) function

# LINE STYLES & EXTRA COLORS FOR LABELING VARIOUS BANDS WHEN NECESSARY
# ----->
Note, there are more in the actual gpt file on guscus...
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set

style
style
style
style
style
style
style
style
style
style
style
style
style
style
style

line
line
line
line
line
line
line
line
line
line
line
line
line
line
line

1 lt 4 lw 0.5 lc rgbcolor dark-turquoise


2 lt 1 lw 1.0 lc rgbcolor black
3 lt 1 lw 2.5 lc rgbcolor black
4 lt 1 lw 1.5 lc rgbcolor red
5 lt 1 lw 1.5 lc rgbcolor blue
6 lt 1 lw 1.0 lc rgbcolor orange
7 lt 1 lw 1.0 lc rgbcolor yellow
8 lt 1 lw 1.0 lc rgbcolor forest-green
9 lt 4 lw 1.0 lc rgbcolor sea-green
10 lt 1 lw 2.0 lc rgbcolor green
11 lt 1 lw 1.0 lc rgbcolor cyan
12 lt 1 lw 1.0 lc rgbcolor magenta
13 lt 1 lw 1.0 lc rgbcolor dark-salmon
14 lt 1 lw 1.0 lc rgbcolor gray50
15 lt 0 lc rgbcolor white

75

Sec. 13: Scripts

13.6.3

Band Structure PlotII

# SET VERTICAL
set arrow 1
set arrow 2
set arrow 3
set arrow 4
# LOWEST
VBMx
VBMy
CBMx
CBMy

LINES FOR HIGH-SYMMETRY POINTS


from x1_GM, graph 0 to x1_GM, graph
from x2_M, graph 0 to x2_M, graph 1
from x3_K, graph 0 to x3_K, graph 1
from x4_GM, graph 0 to x4_GM, graph

1 nohead ls 1
nohead ls 1
nohead ls 1
1 nohead ls 1

GAP INFOR (NOT PRODUCED BY gpband)


= 1.529883
= -6.225650-E0 # prescaled,scaled
= 1.529883
= -3.900374-E0 # prescaled,scaled

set arrow 5 from VBMx,VBMy to VBMx,CBMy heads size .2,90 ls 10 front


set arrow 6 from VBMx,VBMy to CBMx,CBMy heads front
set arrow 7 from 0,first E(LUCO) to 5.3, first E(LUCO) nohead ls 9
set yrange [-8:12]
set ytics -8,2,12

# Determine by hand, gpband gives [*:*]

# PLOT THE BANDS - Range from gpband (ls 5=blue, ls 4=red)


plot 0 w l lt 1 lw 3.0 lc rgb gray not, \
data using 1:(E($24)) t "37" with l ls 5, \
data using 1:(E($23)) t "36" with l ls 5, \
data using 1:(E($22)) t "35" with l ls 5, \
data using 1:(E($21)) t "34" with l ls 5, \
data using 1:(E($20)) t "33" with l ls 5, \
data using 1:(E($19)) t "32" with l ls 5, \
data using 1:(E($18)) t "31" with l ls 5, \
data using 1:(E($17)) t "30" with l ls 5, \
data using 1:(E($16)) t "29" with l ls 5, \
data using 1:(E($15)) t "28" with l ls 5, \
data using 1:(E($14)) t "27" with l ls 5, \
data using 1:(E($13)) t "26" with l ls 5, \
data using 1:(E($12)) t "25" with l ls 5, \
data using 1:(E($11)) t "24" with l ls 5, \
data using 1:(E($10)) t "23-occ" with l ls 4, \
data using 1:(E($9)) t "22-occ" with l ls 4, \
data using 1:(E($8)) t "21-occ" with l ls 4, \
data using 1:(E($7)) t "20-occ" with l ls 4, \
data using 1:(E($6)) t "19-occ" with l ls 4, \
data using 1:(E($5)) t "18-occ" with l ls 4, \
data using 1:(E($4)) t "17-occ" with l ls 4, \
data using 1:(E($3)) t "16-occ" with l ls 4, \
data using 1:(E($2)) t "15-occ" with l ls 4

76

Sec. 13: Scripts

13.6.4

The Rotated PDOS Plot-I

# SET UP PDOS PLOT


pdosdata = pdos.dat
set rmargin 5.5
set lmargin 0
unset xlabel
unset ylabel
set xlabel PDOS (states/eV/unit cell)
unset ytics
unset xtics
set xrange [*:*]
# Use until you know your system, overwritten by line below.
set xrange [-0.1:6] # Adjust as is necessary
set xtics 1,1,6
set y2range [-8:12]
set y2tics -8,2,12
set y2tics (-8, -6, -4, -2, {/Times-ItalicBold E_F} 0, 2, 4, 6, 8, 10, 12)
set key
# GAP LABELS FOR PDOS SIDE
unset arrow
unset label
# I-BAR
set arrow 1 from 2,E(HOCO) to 2,E(LUCO) heads size .3,90 ls 10 lw 2 front
# ARROW
set arrow 2 from 2,0 to 2,E(LUCO) heads lw 0.8 front
# LABEL: SYSTEM & CALCULATION TYPE
set label 1 at 3,0.5 {/Helvetica=14 MoS_{2} Monolayer SPE} tc rgb navy
# LABEL: FUNCTIONAL AND BAND GAP
set label 2 at 3,-0.5 {/Helvetica=14 HSE Gap 2.33 eV (D)} tc rgb dark-red

77

Sec. 13: Scripts

13.6.5

The Rotated PDOS Plot-II

# PDOS PLOT COLORS


set style line 1 lt 1 lw 1.5 lc rgbcolor black
set style line 2 lt 1 lw 1.0 lc rgbcolor skyblue
set style line 3 lt 2 lw 1.0 lc rgbcolor blue
set style line 4 lt 1 lw 1.0 lc rgbcolor blue
set style line 5 lt 4 lw 1.0 lc rgbcolor royalblue
set style line 6 lt 4 lw 1.0 lc rgbcolor forest-green
set style line 7 lt 1 lw 1.0 lc rgbcolor spring-green
set style line 8 lt 2 lw 0.8 lc rgbcolor forest-green
set style line 9 lt 4 lw 1.0 lc rgbcolor dark-magenta
set style line 10 lt 4 lw 1.0 lc rgbcolor red
set style line 11 lt 1 lw 1.0 lc rgbcolor red
set style line 12 lt 4 lw 1.0 lc rgbcolor brown
set style line 13 lt 1 lw 1.0 lc rgbcolor gold
set style line 14 lt 1 lw 1.0 lc rgbcolor orange
set style line 15 lt 4 lw 1.0 lc rgbcolor goldenrod
set style line 16 lt 1 lw 1.0 lc rgbcolor dark-green
set style line 17 lt 1 lw 1.0 lc rgbcolor dark-khaki
set style line 18 lt 1 lw 1.0 lc rgbcolor navy
set style line 19 lt 1 lw 1.0 lc rgbcolor plum
set style line 20 lt 1 lw 1.0 lc rgbcolor pink
set style line 21 lt 1 lw 1.0 lc rgbcolor khaki
set style line 22 lt 1 lw 1.0 lc rgbcolor sea-green
set style line 23 lt 3 lw 1.0 lc rgbcolor green
set style line 24 lt 1 lw 1.0 lc rgbcolor cyan
set style line 25 lt 1 lw 1.0 lc rgbcolor magenta
set style line 26 lt 1 lw 1.0 lc rgbcolor #ab00ab
set style line 27 lt 1 lw 0.7 lc rgbcolor #00abff
set style line 28 lt 3 lw 0.7 lc rgbcolor #00abff
set style line 29 lt 0 lc rgbcolor white
# PLOT THE PDOS DATA; SET UP THE LEGEND/KEY
plot 0 w l lt
pdosdata using
pdosdata using
pdosdata using
pdosdata using
pdosdata using
pdosdata using
pdosdata using
unset multiplot

1 lw 3.0 lc rgb gray not,\


2:1 w l ls 13 t S_{/Helvetica-Italic s},\
3:1 w l ls 14 t S_{/Helvetica-Italic p},\
4:1 w l ls 15 t S_{/Helvetica-Italic d},\
5:1 w l ls 28 t Mo_{/Helvetica-Italic s},\
6:1 w l ls 27 t Mo_{/Helvetica-Italic p},\
7:1 w l ls 26 t Mo_{/Helvetica-Italic d},\
8:1 w l ls 1 t Total
# ALWAYS USE THIS FOR A MULTIPLOT PLOT

78

Sec. 13: Scripts

79

14
14.1

PBC Functionals
Scuseria Functionals

Table 5: Functionals developed in the Scuseria Group sorted according to type. Note that
availability is variable. SR=Short -range, MR=Middle-range, and LR=Long-range.
Keyword and/or IOp

Acronym(s)

Global Hybrids
TPSSh

TPSSh

SR Screened Hybrids
HSEh1HSE
HSE1PBE
HSE2PBE
MR Screened Hybrids
3/74=-61
3/74=-56
3/74=-62
3/74=-57
LR Screened Hybrids
LC-wPBE

Citation(s)
[5, 6]

G09-B1 and higher

HSE, HSE06H
HSE, HSE06
HSE03

[7, 8, 9]
[8, 9]
[10]

Use this *always*

HISS, HISSb

[11]

HISS, HISSb
HISS-a
HISS-a

[11]
[12]
[12]

Use this!
G09-B, gdv-h11 (PBC)
Use this gdv-h1 (PBC)
Dont use; gdv-h11 (PBC)
Dont use; gdv-h1 (PBC)

LC-PBE

[13]

G09-B1 and higher

Semilocal
PBEPBE + 3/74=5050 PBEsol
TPSSTPSS
TPSS

14.2

Availability/Notes

[14, 15]
[16]

gdv-h11-sol; no PBC, yet...

Just-For-Solids Functionals

Table 6: Functionals developed explicitly for solids, discussed and compared in the literature,
but not necessarily implemented widely. (Not an exhaustive list.)
Keyword and/or IOp

Acronym(s)

Citation(s)

Availability/Notes

PBEPBE + 3/74=5050

AMO5
HSEsol
HTBS
MBJLDA
PBEsol

[17]
[18]
[19]
[20]
[14, 15]

Not available
Not available
Not available
Not available
gdv-h11-sol; no PBC, yet...

80

Sec. 14: PBC Functionals

14.3

(Semi)Local Functionals

Table 7: Functionals commonly encountered by the solid state theoretician that are known
not to work well, but continue to be used, anyway. Arranged roughly according to the rungs
of the functional Jacobs Ladder.[21]
Keyword and/or IOp

Acronym(s)

Citation(s)

SVWN5

LSDA

[22]

LSDA
M06L
PBEPBE
PW91
PW92
TPSSTPSS
revTPSS
WC

LSDA, LDA
M06L
PBE
PW91
PW92
TPSS
revTPSS
WC

[23]
[24]
[25, 26]
[27]
[28]
[16]
[29, 30, 31]
[32]

14.4

Availability/Notes

G09-B1 and higher


...use the LSDA with SVWN5
Never use
Use this rather than PW91
Less-clean version of PBE
Not sure what this is
Jian-Min says eh.
Not sure about any of this

Global Hybrids

OMG, why? Seriously, see the commentary by GES in Section 11.1.

Table 8: Global hybrid functionals that have been applied to the extended systems. Note:
expect to expend extensive amounts of CPU time.
Keyword and/or IOp

Acronym(s)

Citation(s)

Availability/Notes

B3LYP
PBEh1PBE
M06
M06HF
M062X
TPSSh

B3LYP
PBEh,PBE0
M06
M06HF
M062X
TPSSh

[33]
[34, 35]
[36]
[37]
[38]
[5, 6]

G09-B1 and higher


PBE hybrid HSE
Truhlar Suite
Variation of above
Variation of above
Not sure which

14.5

Functional Bibliography

For LaTex users, a BibTex file, functionals.bib file with all of the citations used here and more is
provided at guscus:/projects/guscus/Manuals/functionals.bib.

Last Modified March 26, 2012

81

15

Basis Sets for Extended Systems

The format for PBC basis sets is the same as that for molecular basis sets. See the G09 Basis Set
and Gen/GenECP pages for more details. Generally, the basis sets will be called externally via
Gen/GenECP(or Pseudo=Read) or by specifying the path to the basis set preceded by an @
and terminated with a /N to prevent writing to the output file. (As in Section 3) The anatomy of
a G09 basis set file is as follows:

Type/Constraint
1
2
3
...
n

nGauss
d1
d2
d3
dn

ScaleFactor
#
#
#
#
#

The the Shell Descriptor Line


n primitive gaussian specifications
k exponent and
dk contraction coefficient.
n total primitive gaussian lines.

1. The shell descriptor line contains: the shell type, the number of primitive gaussians, and the scale factor.
The type/constraint specification is for shells: S, P, D, DP, SPD, F, G... for
s-, p-, d, dp... shells, respectively.
NGauss specifies the number of primitive gaussian shells (the degree of contraction) for the shell being defined.
Scale Factor (#) refers to the shell scale factor, e.g. if #=2, all primitive
exponents are scaled by 2.
2. The remaining lines are primitive gaussian specifications
There are nGauss of them
Each line defines the exponents k and dk contraction coefficients.
Comments are made using an exclamation point

15.1

Example: The 6-311G Basis Set for Fluorine


****
F
0
S
6
1.00
11427.1000000
1722.3500000
395.7460000
115.1390000
33.6026000
4.9190100
SP
3
1.00
55.4441000
12.6323000
3.7175600
SP
1
1.00
1.1654500
SP
1
1.00
0.3218920
****

<- Mandatory blank space after Tvs


<- 4 asterisks after blank space (Mandatory)
<- Indicates this is a Fluorine basis set
The first shell (S) descriptor line
The first (S) exponent and contract coeffcients
The second ...

0.00180093
0.0137419
0.0681334
0.2333250
0.5890860
0.2995050
0.1145360
0.9205120
-0.00337804

0.0354609
0.2374510
0.8204580

1.0000000

1.0000000

1.0000000

1.0000000

The second (SP ) shell descriptor


The first set of SP exponent and contract coeffcients

The second SP )shell descriptor


The second SP shell descriptor
<- Mandatory 4 asterisks terminating basis set
<- Mandatory blank space terminating input file

82

Sec. 15: Basis Sets for Extended Systems

15.2

Modifying Basis Sets for PBC Calculations

Before running a PBC job, it is important to ensure that the chosen MOLECULAR basis set i.e., a
basis set developed for atoms/molecules is reasonable for extended systems. (Basis sets are generally
downloaded from the EMSL or a similar ES database see Section 15.2.1.)
WHY?
Molecular basis sets typically contain one or more few diffuse basis functions (bfs) in order
to properly describe atomic tails.
A periodic system in 3-D does not need these tails, which will slow down your jobs.
(They slow the Coulomb near field of the fast multipole method.)[39]
There are are some tails in lower dimensions, but these calculations are not as sensitive.
See also Sections 11.1 and 11.2 and References [40, 41, 42] for additional, more detailed
discussion.

The Gaussian Basis Set FAQ prepared by Mike Towler provides a nice
introduction to the use of gaussian basis sets in PBC calculations.
A copy is also kept at: gusucs:/projects/guscus/Manuals/Towler.pdf
CAUTION:

A basis set properly optimized for previous PBC calculations may not
work as well when applied to a different system.

To address this potential issue:


1. Find an LSDA or GGA planewave calculation with PDOS or band gap data for the
system of interest
2. Run the LSDA/GGA calculation with the modified PBC gaussian basis set in G09
3. Compare the results:
If they are similar, (within 3-5 eV) then the modified PBC basis set is sufficient.
If the gap is too large, and the basis sets for two or more atoms were modified,
the PDOS will usually indicate which basis set should be re-adjusted.
4. Keep in mind that the reference planewave calculation must be of reasonable quality.
In the case of no decent standard, common sense and experience must be employed.
For illustrative purposes, the next two sections include annotated examples of
PBC-optimized basis sets with and without effective core potentials (ECPs),
followed by a step-by-step example for chlorine.

83

Sec. 15: Basis Sets for Extended Systems

15.2.1

Basis Set Databases

Sites from which gaussian-type basis sets may be downloaded prior to modification include:
EMSL https://bse.pnl.gov/bse/portal
Mike Towlers Page http://www.tcm.phy.cam.ac.uk/ mdt26/crystal.html
Crystal Periodic Table http://www.crystal.unito.it/Basis_Sets/Ptable.html

15.2.2

Example 1: Modified PBC Basis Sets with No ECPs

This example contains the basis sets for -SiC (zincblende polytype) used in References [12, 11,
43] and many other papers. As is clear from the arrows, Si p shell exponents are edited as in
Reference [44], but nothing is modified in the C basis set.
MODIFIED Si and C m-6-311G* basis sets

ORIGINAL Si and C 6-311G* basis sets from the EMSL


****
Si
0
S
6
1.00
69379.2300000
10354.9400000
2333.8796000
657.1429500
214.3011300
77.6291680
S
3
1.00
77.6291680
30.6308070
12.8012950
S
1
1.00
3.9268660
S
1
1.00
1.4523430
S
1
1.00
0.2562340
S
1
1.00
0.0942790
P
4
1.00
335.4831900
78.9003660
24.9881500
9.2197110
P
2
1.00
3.6211400
1.4513100
P
1
1.00
0.5049770
P
1
1.00
0.1863170
P
1
1.00
0.0654320
D
1
1.00
0.4500000
****
C
0
S
6
1.00
4563.2400000
682.0240000
154.9730000
44.4553000
13.0290000
1.8277300
SP
3
1.00
20.9642000
4.8033100
1.4593300
SP
1
1.00
0.4834560
SP
1
1.00
0.1455850
D
1
1.00
0.6260000
****

****
S 0
S
6

1.00
69379.2300
10354.9400
2333.87960
657.142950
214.301130
77.6291680
S
3 1.00
77.6291680
30.6308070
12.8012950
S
1 1.00
3.92686600
S
1 1.00
1.45234300
S
1 1.00
0.256234000
S
1 1.00
0.120000000
P
4 1.00
335.483190
78.9003660
24.9881500
9.21971100
P
2 1.00
3.62114000
1.45131000
P
1 1.00
0.504977000
P
1 1.00
0.250000000
P
1 1.00
0.120000000
D
1 1.00
0.450000000
****
C
0
S
6 1.00
4563.24000
682.024000
154.973000
44.4553000
13.0290000
1.82773000
SP 3 1.00
20.9642000
4.80331000
1.45933000
SP 1 1.00
0.483456000
SP 1 1.00
0.145585000
D
1 1.00
0.626000000
****

0.0007570
0.0059320
0.0310880
0.1249670
0.3868970
0.5548880
0.1778810
0.6277650
0.2476230
1.0000000
1.0000000
1.0000000
1.0000000
0.0088660
0.0682990
0.2909580
0.7321170
0.6198790
0.4391480
1.0000000
1.0000000

<---- reset to 0.25

1.0000000

<---- reset to 0.12

1.0000000

0.00196665
0.0152306
0.0761269
0.2608010
0.6164620
0.2210060
0.1146600
0.9199990
-0.00303068

0.0402487
0.2375940
0.8158540

1.0000000

1.0000000

1.0000000

1.0000000

1.0000000

84

0.757000000E-03
0.593200000E-02
0.310880000E-01
0.124967000
0.386897000
0.554888000
0.177881000
0.627765000
0.247623000
1.00000000
1.00000000
1.00000000
1.00000000
0.886600000E-02
0.682990000E-01
0.290958000
0.732117000
0.619879000
0.439148000
1.00000000
1.00000000
1.00000000
1.00000000

0.196665000E-02
0.152306000E-01
0.761269000E-01
0.260801000
0.616462000
0.221006000
0.114660000
0.919999000
-0.303068000E-02

0.402487000E-01
0.237594000
0.815854000

1.00000000

1.00000000

1.00000000

1.00000000

1.00000000

Sec. 15: Basis Sets for Extended Systems

15.2.3

Example 2: Modified Arsenic Basis Set + ECP

Note the modifications marked in the original As basis set (right) downloaded from the EMSL. The
basis set modification for gaussian PBC calculations (left) is discussed in Reference [44] and is
acompanied by the appropriate ECP at the bottom.
MODIFIED As m-pVDZ-PP basis set

ORIGINAL As cc-pVDZ-PP basis set from the EMSL


0
8
1.00
2542.8100000
381.1690000
40.2342000
16.1217000
3.2018900
1.4209600
0.3214430
0.1167350
S
8
1.00 <-------2542.8100000
381.1690000
40.2342000
16.1217000
3.2018900
1.4209600
0.3214430
0.1167350
S
1
1.00
0.3214430
S
1
1.00
0.1167350
S
1
1.00
0.0370000
P
7
1.00 <-------99.5349000
24.1195000
5.8419600
2.5601000
1.0930800
0.3184240
0.1009720
P
7
1.00 <-------99.5349000
24.1195000
5.8419600
2.5601000
1.0930800
0.3184240
0.1009720
P
1
1.00
0.1009720
P
1
1.00
0.0308000
D
7
1.00 <-------113.5090000
36.8872000
13.6893000
5.3896400
2.0804600
0.7375680
0.3078000
D
1
1.00
0.3078000
D
1
1.00
0.1000000
****

As
S

As
S

0.0011370
0.0060550
0.0841250
-0.4052850
0.7129260
0.4733760
0.0180130
<-------- deleted
-0.0037200
<-------- deleted
Goes from 8 to 6 bc of deletions
-0.0003900
-0.0021900
-0.0268530
0.1368780
-0.3204570
-0.3373910
0.6763840
<-------- deleted
0.5349800
<-------- deleted
1.0000000
1.0000000

<--------

set to 0.12

1.0000000
<-------- deleted
Goes from 7 to 6 bc of deletion
0.0038570
-0.0851010
0.4047620
0.5314780
0.1840120
0.0057640
-0.0003520
<-------- deleted
Goes from 7 to 6 bc of deletion
-0.0007720
0.0199410
-0.1072100
-0.1722590
0.0087610
0.5697440
0.5356530
<-------- deleted
1.0000000

<--------

set to 0.12

1.0000000
Goes from 7 to 6 bc of deletion
0.0119800
0.0795440
0.2367550
0.4015340
0.4066860
0.1731620
0.0087300
<-------- deleted

1.00
2542.81000
381.169000
40.2342000
16.1217000
3.20189000
1.42096000
S
6 1.00
2542.81000
381.169000
40.2342000
16.1217000
3.20189000
1.42096000
S
1 1.00
0.321443000
S
1 1.00
0.120000000
P
6 1.00
99.5349000
24.1195000
5.84196000
2.56010000
1.09308000
0.318424000
P
6 1.00
99.5349000
24.1195000
5.84196000
2.56010000
1.09308000
0.318424000
P
1 1.00
0.120000000
D
6 1.00
113.509000
36.8872000
13.6893000
5.38964000
2.08046000
0.737568000
D
1 1.00
0.307800000
****
AS 0
AS-ECP
4
10
G POTENTIAL
1
2
1.00000000
S-G POTENTIAL
2
2
28.72512200
2
6.76768100
P-G POTENTIAL
4
2
45.33106400
2
44.76741500
2
19.53909000
2
18.97347100
D-G POTENTIAL
6
2
51.05715200
2
50.15134000
2
16.10893600
2
14.67222300
2
3.85192700
2
3.81350200
F-G POTENTIAL
2
2
11.94058400
2
17.76116000

1.0000000
1.0000000

0
6

<-------- deleted

85

0.113700000E-02
0.605500000E-02
0.841250000E-01
-0.405285000
0.712926000
0.473376000
-0.390000000E-03
-0.219000000E-02
-0.268530000E-01
0.136878000
-0.320457000
-0.337391000
1.00000000
1.00000000
0.385700000E-02
-0.851010000E-01
0.404762000
0.531478000
0.184012000
0.576400000E-02
-0.772000000E-03
0.199410000E-01
-0.107210000
-0.172259000
0.876100000E-02
0.569744000
1.00000000
0.119800000E-01
0.795440000E-01
0.236755000
0.401534000
0.406686000
0.173162000
1.00000000

0.00000000

370.11402500
9.34929600

99.14210300
198.30788000
28.38307300
56.87146400

-18.48514500
-28.11353000
-1.22389500
-1.34576500
0.10175700
0.17033800

-0.77523000
-2.15725900

Sec. 15: Basis Sets for Extended Systems

15.2.4

Example 3: Step-by-Step Modification for Cl


General Procedure:
1. Reset some of the diffuse functions to a minimum value:
Generally, the minimum exponent for s-type functions should be
less than min = 2/d2 , where d is the smallest distance between two
atoms.
In gaussian, d is expressed in Bohr.
0.15 is a reasonable value. (See Sections 11.1 and 11.2.)
2. Remove any redundancies.

On the left is the original 6-311++G(3df) basis set for chlorine: all exponents with values of
0.15 have been marked with arrows. (Note that in Section 15.2.3, 0.12 is the minimum.) In the
column to the right, the values of the 2 marked exponents have been changed to 0.15.
1st MODIFICATION Cl 6-311++G(3df ) basis set

ORIGINAL Cl 6-311++G(3df ) basis set from the EMSL


Cl
0
S
6
1.00
105819.0000000
15872.0000000
3619.6500000
1030.8000000
339.9080000
124.5380000
S
3
1.00
124.5380000
49.5135000
20.8056000
S
1
1.00
6.5834600
S
1
1.00
2.5646800
S
1
1.00
0.5597630
S
1
1.00
0.1832730
P
5
1.00
589.7760000
139.8490000
45.1413000
16.8733000
6.7411000
P
2
1.00
6.7411000
2.7715200
P
1
1.00
1.0238700
P
1
1.00
0.3813680
P
1
1.00
0.1094370
SP
1
1.00
0.0483000
D
1
1.00
3.0000000
D
1
1.00
0.7500000
D
1
1.00
0.1875000
F
1
1.00
0.7000000
****

Cl
0
S
6
1.00
0.0007380
105819.0000000
0.0057180
15872.0000000
0.0294950
3619.6500000
0.1172860
1030.8000000
0.3629490
339.9080000
0.5841490
124.5380000
S
3
1.00
0.1341770
124.5380000
0.6242500
49.5135000
0.2917560
20.8056000
S
1
1.00
1.0000000
6.5834600
S
1
1.00
1.0000000
2.5646800
S
1
1.00
1.0000000
0.5597630
S
1
1.00
1.0000000
0.1832730
P
5
1.00
0.0023910
589.7760000
0.0185040
139.8490000
0.0813770
45.1413000
0.2215520
16.8733000
0.7725690
6.7411000
P
2
1.00
-1.5722440
6.7411000
0.9923890
2.7715200
P
1
1.00
1.0000000
1.0238700
P
1
1.00
1.0000000
0.3813680
P
1
1.00
1.0000000 <--------------------------------------->
0.1500000
SP
1
1.00
1.0000000
1.0000000
<---------------------->
0.1500000
D
1
1.00
1.0000000
3.0000000
D
1
1.00
1.0000000
0.7500000
D
1
1.00
1.0000000
0.1875000
F
1
1.00
1.0000000
0.7000000
****

86

0.0007380
0.0057180
0.0294950
0.1172860
0.3629490
0.5841490
0.1341770
0.6242500
0.2917560
1.0000000
1.0000000
1.0000000
1.0000000
0.0023910
0.0185040
0.0813770
0.2215520
0.7725690
-1.5722440
0.9923890
1.0000000
1.0000000
1.0000000
1.0000000
1.0000000
1.0000000
1.0000000
1.0000000

1.0000000

Sec. 15: Basis Sets for Extended Systems

Now look for redundancies:


The 1st modification (left column) results in a basis set with P (Sim1) and SP (Sim2) functions
with values of 0.15.
There is also an S function at 0.1832, which is very close, Marked Sim3.
Since they are virtually the same, pull out the SP function. (Marked *** YANKED *** in
the right column.)
Notice a similar logic was used for the As basis set in Section 15.2.3.
1st MODIFICATION Cl 6-311++G(3df ) basis set
Cl
0
S
6
1.00
105819.0000000
15872.0000000
3619.6500000
1030.8000000
339.9080000
124.5380000
S
3
1.00
124.5380000
49.5135000
20.8056000
S
1
1.00
6.5834600
S
1
1.00
2.5646800
S
1
1.00
0.5597630
S
1
1.00
0.1832730
P
5
1.00
589.7760000
139.8490000
45.1413000
16.8733000
6.7411000
P
2
1.00
6.7411000
2.7715200
P
1
1.00
1.0238700
P
1
1.00
0.3813680
P
1
1.00
0.1500000
SP
1
1.00
0.1500000
D
1
1.00
3.0000000
D
1
1.00
0.7500000
D
1
1.00
0.1875000
F
1
1.00
0.7000000
****

0.0007380
0.0057180
0.0294950
0.1172860
0.3629490
0.5841490
0.1341770
0.6242500
0.2917560
1.0000000
1.0000000
1.0000000
1.0000000
0.0023910
0.0185040
0.0813770
0.2215520
0.7725690
-1.5722440
0.9923890
1.0000000
1.0000000
1.0000000
1.0000000
1.0000000
1.0000000
1.0000000
1.0000000

2nd MODIFICATION Cl 6-311++G(3df ) basis set

Cl
0
S
6
1.00
105819.0000000
15872.0000000
3619.6500000
1030.8000000
339.9080000
124.5380000
S
3
1.00
124.5380000
49.5135000
20.8056000
S
1
1.00
6.5834600
S
1
1.00
2.5646800
S
1
1.00
0.5597630
S
1
1.00
<------------------ Sim3 --------------------->
0.1832730
P
5
1.00
589.7760000
139.8490000
45.1413000
16.8733000
6.7411000
P
2
1.00
6.7411000
2.7715200
P
1
1.00
1.0238700
P
1
1.00
0.3813680
P
1
1.00
<----------------- Sim1 ---------------------->
0.1500000
<----------------- Sim2 ---------------->
# SP
1
1.00
1.0000000
<------ Sim2 ------>
#
0.1500000
D
1
1.00
3.0000000
D
1
1.00
0.7500000
D
1
1.00
0.1875000
F
1
1.00
0.7000000
****

0.0007380
0.0057180
0.0294950
0.1172860
0.3629490
0.5841490
0.1341770
0.6242500
0.2917560
1.0000000
1.0000000
1.0000000
1.0000000
0.0023910
0.0185040
0.0813770
0.2215520
0.7725690
-1.5722440
0.9923890
1.0000000
1.0000000
1.0000000
1.0000000

(*** YANKED ***)


1.0000000 (*** YANKED ***)

1.0000000
1.0000000
1.0000000
1.0000000

A contribution from Professor Edwards Brothers at Texas A&M-Qatar


Locally access the *gbs files via:
guscus:/projects/Manuals/examples/Cl-ori.gbs or Cl-mod.gbs
Last Modified April 19, 2012

87

Sec. 15: Basis Sets for Extended Systems

15.3

Using the EMSL

The EMSL site is very easy to use. The key features of the homepage are shown below.
1. Use the periodic table (red arrow) to select
one (or more) elements.
2. The program window (green arrow) allows
selction of the appropriate format for common ES codes.
3. The basis set window (blue arrow)for choosing the basis set.
4. Information about the basis set (purple arrow).

15.3.1

Example: Ge

The process for acquiring the Ge 6-311G* basis set for use in gaussian is illustrated in Figure 18.
Specifically:
1. Ensure Gaussian94 is the ES code format selected (red oval).
2. Click Ge (green oval).
3. Select 6-311G* in the basis set window (blue oval).
Notice that information about the basis set chosen appears in the bottom section (purple rectangle).

Figure 18: The process for acquiring the Ge 6-311G* basis set in gaussian format.

88

Sec. 15: Basis Sets for Extended Systems

15.4

Converting cry to gbs Files: gbsutil

After downloading gaussian basis sets from Mike Towlers or the Crystal web sites, they must be
converted into the gaussian format. Notice the differences in format, below, for Scandium.
ORIGINAL Crystal09 (cry) Basis Set

CONVERTED gaussian09 (gbs) Basis Set

Sc_864-11G*_harrison_2006

! Sc_864-11G*_harrison_2006
! N. M. Harrison, B. Montanari, Ling Ge, 2006, unpublished.
! It is being used for Sc@C82 and Sc@C82@SWNT
! (single-wall carbon nanotube).
Sc
0
S
8
1.0
208000.0000000000
2.2500000000E-04
29700.0000000000
1.9270000000E-03
6280.0000000000
1.1094000000E-02
1642.0000000000
4.9970000000E-02
494.6400000000
1.7014000000E-01
170.6200000000
3.6880000000E-01
66.6200000000
4.0290000000E-01
27.7200000000
1.4490000000E-01
SP
6
1.0
499.4000000000
-5.5800000000E-03 8.5100000000E-03
118.5300000000
-7.3800000000E-02 6.0210000000E-02
39.0100000000
-1.1600000000E-01 2.1290000000E-01
15.2000000000
2.4930000000E-01 3.8470000000E-01
6.5110000000
6.9850000000E-01 4.0280000000E-01
1.9980000000
3.2300000000E-01 1.8300000000E-01
SP
4
1.0
25.0900000000
1.6000000000E-03 -3.3100000000E-02
9.6200000000
-1.3600000000E-01 -7.1300000000E-02
3.9790000000
-7.0590000000E-01 1.4650000000E-01
1.6120000000
1.0180000000
1.4520000000
SP
1
1.0
0.7800000000
1.0
1.0
SP
1
1.0
0.3900000000
1.0
1.0
D
3
1.0
3.9400000000
1.6000000000E-01
1.0720000000
3.1300000000E-01
0.3940000000
4.0600000000E-01
****

21 6
0 0 8 2. 1.
208000.
29700.
6280.0
1642.0
494.64
170.62
66.62
27.72
0 1 6 8. 1.
499.4
118.53
39.01
15.20
6.511
1.998
0 1 4 8. 1.
25.09
9.62
3.979
1.612
0 1 1 2. 1.
0.780
0 1 1 0. 1.
0.390
0 3 3 1. 1.
3.940
1.072
0.394

0.000225
0.001927
0.011094
0.04997
0.17014
0.3688
0.4029
0.1449
-0.00558
-0.0738
-0.1160
0.2493
0.6985
0.323
0.0016
-0.1360
-0.7059
1.018

0.00851
0.06021
0.2129
0.3847
0.4028
0.183
-0.0331
-0.0713
0.1465
1.452

1.

1.

1.

1.

0.160
0.313
0.406

N. M. Harrison, B. Montanari, Ling Ge, 2006, unpublished.


It is being used for Sc@C82 and Sc@C82@SWNT
(single-wall carbon nanotube).

The Sc_864-11G*_harrison_2006 Crystal basis set *.cry on the left was converted to a gaussianformatted *.gbs file using the gbsutil script written by Cris Diaconu.
To use this script:
1. Move all of the information at the bottom of the *.cry file to the TOP
2. Comment out all non-basis set data using exclamation points:
The basis set description line (already at the top).
All references and notes information moved from the bottom in Step 1.
3. Remove ALL extra spaces at the top or bottom, either by deletion or !
4. Run the script:
[sgu1@login2]$ ./gbsutil Sc-864-11G*.cry Sc-864-11G*.gbs

Download the original Sc.cry file at the link above, or copy it locally, along
with the Sc.gbs file from: guscus:/projects/guscus/Manuals/examples/.
The gbsutil script is too long to include in Section 13, so a copy is available
at guscus:/projects/guscus/Manuals/scripts/gbsutil.

89

16

Backing Up Your Data

Given that the state-of-the-art filesystems can crash and there are monthly purges of /shared.scratch/
on all Rice clusters (See Section 12) it is a good idea to back up all data you might want. Especially
since PBC jobs tend to run long, the gjf , out, chk and all BS and PDOS dat files may be of import
later. The easiest and fasted way to accomplish routine backups is via the rsync command: rsync
-aHVhu, where
a - archive, archive mode; same as rlptgoD (no -H)
H - hard links, preserve hard links
V - verbose, increase verbosity
h - human readable, output numbers in a human readable format

For more information,


check man rsync
rsync help OR
the Official rsync Page
for advanced scripts and
more.

u - update, skip files that are newer on the receiver

16.1

Using rsync: Examples

(1) Assume user sgu1 has directories for each of the clusters on guscus, e.g.:

[sgu1@guscus ~]$ ls
Bluebiou
Davinci
STIC
Sugar

1. cd to the directory corresponding to the cluster to be backed up,


e.g.: cd STIC
2. Type rsync -aHvhu sgu1@stic:/shared.scratch/sgu1/ ./
3. Using the format above will mirror sgu1s directories in
/shared.scratch/ on STIC

(2) Alternatively, an exclude file may be used. This is useful to prevent backing up all *err files,
pdos.d directories, large chk files for unfinished jobs and anything else not needing to be saved.
[sgu1@guscus ~]$ vi xclude
tmp/
*.chk
*err
fort*
mkpdos.log
pdos.d/
zpratl*

1. Create a text file in the home directory, e.g., xclude


2. Add the names of the files and/or directories for which
backups are undesirable on separate lines.
3. The tmp/ directory is not backed up as it contains
gaussian scratch files and should be purged regularly.
4. For completed jobs, use the bzip2 command to zip and
compress the chk files for transfer and storage.

The rsync command to use is now:


rsync -aHvhu -
-exclude-from /users/sgu1/xclud sgu1@stic:/shared.scratch/sgu1/ ./

90

Sec. 16: Backing Up Your Data

The output from adding the -


-exclude-from /users/sgu1/xclud option to the rsync command
to back up a STIC directory with subdirectories AlAs-wu2PBE, CdSe-wu, GaN-wu, InP-B3LYP
and MgO is shown below.
[sgu1@guscus STIC]$ rsync -aHvhu --exclude-from /users/sgu1/xclud sgu1@stic:/shared.scratch/sgu1/
sgu1@stics password:
receiving file list ... done
AlAs-wu2PBE/
AlAs-wu2PBE_x.out
AlAs-wuPBE/band.dat
AlAs-wu2PBE/bandk.dat
AlAs-wu2PBE/pdos.legend.txt
CdSe-wu/
CdSe-wu/OPT/
CdSe-wu/OPT/CdSe-wu_o.out
CdSe-wu/OPT/band.dat
CdSe-wu/OPT/bandk.dat
CdSe-wu/OPT/pdos.dat
CdSe-wu/OPT/pdos.eps
CdSe-wu/OPT/pdos.gpt
CdSe-wu/OPT/pdos.png
CdSe-wu/OPT/pdos.legend.txt
GaN-wu/LSDA/XTAL/
GaN-wu/LSDA/XTAL/README
GaN-wu/LSDA/OPT/GaN-w2-LSDAo.chk.bz2
GaN-wu/LSDA/OPT/GaN-w2-LSDAo.out
GaN-wu/LSDA/OPT/band.dat
GaN-wu/LSDA/OPT/bandk.dat
InP-B3LYP/
InP-B3LYP/InP-z-B3LYPx.chk.bz2
InP-B3LYP/InP-z-B3LYPx.gjf
InP-B3LYP/InP-z-B3LYPx.out
InP-B3LYP/InP-z-B3LYPx.pbs
InP-B3LYP/band.dat
InP-B3LYP/bandk.dat
InP-B3LYP/pdos.dat
InP-B3LYP/pdos.legend.txt
MgO/
MgO/HSE/XTAL/
MgOHSE/XTAL/deleteme
MgO/HSE/OPT/
MgO/HSE/OPT/MgO-rs_o.chk.bz2
MgO/HSE/OPT/MgO-rs_o.gjf
MgO/HSE/OPT/MgO-rs_o.out
MgO/HSE/OPT/MgO-rs_o.pbs
MgO/HSE/OPT/pdos.dat
MgO/HSE/OPT/pdos.legend.txt
MgO/TPSS/
MgO/TPSS/MgO-TPSSx.chk.bz2
MgO/TPSS/MgO-TPSSx.gjf
MgO/TPSS/MgO-TPSSx.out
MgO/TPSS/Readme-2-this-is-weird
Si-TPSS/Si-d-TPSSx.out

Notice that none of the files or directories specified in the xclud file on the previous page are downloaded, while non-gaussian-generated files including text (README, deleteme, etc.), image
(eps, png), Gnuplot (gpt), and BS/PDOS dat files are all copied recursively.
rsync cmds as aliases are very convenient, e.g., in the .bashrc file:
alias stics=rsync -aHvhu

-
-exclude-from /users/sgu1/xclud sgu1@stic:/shared.scratch/sgu1/ ./

91

References
[1] J. K. Ellis, M. J. Lucero, and G. E. Scuseria, 99, 26190 (2011).
[2] E. N. Economou, The Physics of Semiconductors Essentials and Beyond, Springer, Berlin,
2010.
[3] H. Matthieu, D. Auvergne, P. Merle, and K. C. Rustagi, Phys. Rev. B 12, 5846 (1975).
[4] A. Joullie, B. Girault, A. M. Joullie, and A. Zien-Eddine, Phys. Rev. B 25, 7830
(1982).
[5] J. M. Tao, J. P. Perdew, V. N. Staroverov, and G. E. Scuseria, Phys. Rev. Lett. 91,
146401 (2003).
[6] V. N. Staroverov, G. E. Scuseria, J. Tao, and J. P. Perdew, J. Chem. Phys. 119,
12129 (2003).
[7] T. M. Henderson, A. F. Izmaylov, G. Scalmani, and G. E. Scuseria, J. Chem. Phys.
131, 044108 (2009), Specifically, the HSEh parameterization of HSE06[8, 9], called by the
gaussian keyword HSEh1PBE.
[8] J. Heyd, G. E. Scuseria, and M. Ernzerhof, J. Chem. Phys. 124, 219906 (2006).
[9] J. Heyd, G. E. Scuseria, and M. Ernzerhof, J. Chem. Phys. 124, 219906 (2006).
[10] J. Heyd, G. E. Scuseria, and M. Ernzerhof, J. Chem. Phys. 118, 8207 (2003).
[11] T. M. Henderson, A. F. Izmaylov, G. E. Scuseria, and A. Savin, J. Theor. Comput.
Chem. 4, 1254 (2008).
[12] T. M. Henderson, A. F. Izmaylov, G. E. Scuseria, and A. Savin, J. Chem. Phys. 127,
221103 (2007).
[13] O. A. Vydrov and G. E. Scuseria, J. Chem. Phys. 125, 234109 (2006).
[14] J. P. Perdew, A. Ruzsinszky, G. I. Csonka, O. A. Vydrov, G. E. Scuseria, L. A.
Constantin, X. Zhou, and K. Burke, Phys. Rev. Lett. 100, 136406 (2008), See also the
2009 Erratum in Reference[15].
[15] J. P. Perdew, A. Ruzsinszky, M. Ernzerhof, G. I. Csonka, O. A. Vydrov, G. E.
Scuseria, L. A. Constantin, X. Zhou, and K. Burke, Phys. Rev. Lett. 102, 039902
(2009).
[16] J. Tao, J. P. Perdew, V. N. Staroverov, and G. E. Scuseria, Phys. Rev. Lett. 91,
146401 (2003).
[17] R. Armiento and A. E. Mattsson, Phys. Rev. B 72, 085108 (2005).
[18] L. Schimk, J. Harl, and G. Kresse, Phys. Rev. B 72, 085108 (2005).
[19] P. Haas, F. Tran, P. Blaha, and K. Schwarz, Phys. Rev. B 83, 205117 (2011).

92

REFERENCES

[20] F. Tran and P. Blaha, Phys. Rev. Lett. 102, 226401 (2009).
[21] J. P. Perdew and K. Schmidt, in Density Functional Theory and Its Applications to Materials, edited by V. V. et al., American Institute of Physics, New York, 2001.
[22] S. H. Vosko, L. Wilk, and M. Nusair, Can. J. Phys 58, 1200 (1980).
[23] J. P. Perdew and Y. Wang, Phys. Rev. B 45, 13244 (1992).
[24] Y. Zhao and D. G. Truhlar, J. Chem. Phys. 125, 194101 (2006).
[25] J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 77, 3865 (1996), E78, 1396
(1997), Ref. [?].
[26] J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 78, 1396 (1997).
[27] J. P. Perdew, in Electronic Structure of Solids 91, edited by P. Ziesche and H. Eschrig,
p. 11, Akademie Verlag, Berlin, 1991.
[28] J. P. Perdew and Y. Wang, Phys. Rev. B 45, 13244 (1992).
[29] J. P. Perdew, A. Ruzsinszky, G. I. Csonka, L. A. Constantin, and J. Sun, Phys. Rev.
Lett. 103, 026403 (2009), See also the Erratum[30], Phys. Rev. Lett., 106, 179902 (2011).
[30] J. P. Perdew, A. Ruzsinszky, G. I. Csonka, L. A. Constantin, and J. Sun, Phys. Rev.
Lett. 106, 179902 (2011).
[31] J. Sun, M. Marsman, G. I. Csonka, A. Ruzsinszky, P. Hao, Y.-S. Kim, G. Kresse,
and J. P. Perdew, Phys. Rev. B 84, 035117 (2011).
[32] Z. Wu and R. E. Cohen, Phys. Rev. B 73, 235116 (2006).
[33] P. J. Stephens, F. J. Devlin, C. F. Chabalowski, and M. J. Frisch, J. Phys. Chem. ,
11623 (1994).
[34] M. Ernzerhof and G. E. Scuseria, J. Chem. Phys. 110, 5029 (1999).
[35] C. Adamo and V. Barone, J. Chem. Phys. 110, 6158 (1999).
[36] Y. Zhao, N. E. Schultz, and D. G. Truhlar, J. Chem. Phys. 123, 19410 (2005).
[37] Y. Zhao and D. G. Truhlar, J. Phys. Chem. A 110, 13126 (2006).
[38] Y. Zhao and D. G. Truhlar, Theor. Chem. Acc. 120, 215 (2008).
[39] M. C. Strain, G. E. Scuseria, and M. J. Frisch, Science 271, 51 (1996).
[40] T. M. Henderson, J. Paier, and G. E. Scuseria, Physica Status Solidi B 248, 767 (2011).
[41] B. G. Janesko, T. M. Henderson, and G. E. Scuseria, Phys. Chem. Chem. Phys. 11,
443 (2009).
[42] J. Paier, C. V. Diaconu, G. E. Scuseria, M. Guidon, J. VandeVondele, and J. Hutter, Phys. Rev. B 80, 174114 (2009).

93

REFERENCES

[43] M. J. Lucero, T. M. Henderson, and G. E. Scuseria, J. Phys. Condens. Matter 24,


145504 (2012).
[44] J. Heyd, J. E. Peralta, G. E. Scuseria, and R. L. Martin, J. Chem. Phys. 123, 174101
(2005).

94

You might also like