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 6
1.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Additional Input Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Using the ICSD: Starting Structures 8


2.1 Performing A Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Saving the cif Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 A Sample cif File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Opening the cif File in GaussView . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 Saving a Job File Derived from a cif File . . . . . . . . . . . . . . . . . . . . 17

3 PBC Input Files 18


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

4 Antiferromagnetic Guess Calculations 26


4.1 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Example 1: H Triplet → Singlet . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Output File Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4 Example 2: Cr Triplet → Singlet . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5 Example 3: LaTiO3 Ti Quintuplet → Singlet . . . . . . . . . . . . . . . . . . 29

5 Variable Magnetic Moment Calculations 30


5.1 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3 Example 1: Linear Monostrand of Pd . . . . . . . . . . . . . . . . . . . . . . 31
5.4 Example 2: Uranium Nitrides . . . . . . . . . . . . . . . . . . . . . . . . . . 32

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

7 Dispersion Calculations 36

2
8 Running Band Structure and PDOS Jobs 37
8.1 The Usual Case: PDOS and BS Simultaneously . . . . . . . . . . . . . . . . 37
8.2 PDOS Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.2.1 Input Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.2.2 PDOS Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.3 Band Structure Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.3.1 Example Input File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.3.2 Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.4 Obtaining BS/PDOS Later . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.5 Detailed Description of BS/PDOS IOps . . . . . . . . . . . . . . . . . . . . . 42

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

10 Plotting BS and PDOS 48


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

11 Increasing the Accuracy and Efficiency of PBC Jobs 54


11.1 Practical Tips for G09 PBC Calculations . . . . . . . . . . . . . . . . . . . . 54
11.2 Diffuse Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
11.3 All PBC Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
11.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
11.3.2 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
11.3.3 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

12 Submitting Jobs at Rice 58


12.1 Modules: General Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
12.2 What You See: Logging In . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
12.3 Module Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
12.3.1 Module Avail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
12.3.2 Module Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3
12.3.3 Module List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
12.3.4 Module Unload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
12.3.5 Modules & Submission . . . . . . . . . . . . . . . . . . . . . . . . . . 61
12.4 G09 Modules Available on STIC . . . . . . . . . . . . . . . . . . . . . . . . . 62
12.4.1 Applications Modules on STIC . . . . . . . . . . . . . . . . . . . . . 63
12.5 Modules Available on Group Workstations . . . . . . . . . . . . . . . . . . . 64

13 Scripts 65
13.1 PBS Submission Scripts (Rice-Specific) . . . . . . . . . . . . . . . . . . . . . 66
13.1.1 STIC Serial Job PBS Submission Script . . . . . . . . . . . . . . . . 66
13.1.2 STIC Parallel (Linda) Job PBS Submission Script . . . . . . . . . . . 67
13.1.3 DaVinci Parallel (Linda) Job PBS Submission Script . . . . . . . . . 68
13.1.4 BioU Serial Job PBS Submission Script . . . . . . . . . . . . . . . . . 69
13.2 PDOS Vertical Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
13.3 PDOS Horizontal Template . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
13.4 Band Structure: gpband Default . . . . . . . . . . . . . . . . . . . . . . . . 72
13.5 Band Structure: Modified AlSb (HISS) gpt File . . . . . . . . . . . . . . . . 73
13.6 BS and PDOS Multiplot Example . . . . . . . . . . . . . . . . . . . . . . . . 74
13.6.1 Header and Multiplot Set-Up . . . . . . . . . . . . . . . . . . . . . . 74
13.6.2 Band Structure Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
13.6.3 Band Structure Plot–II . . . . . . . . . . . . . . . . . . . . . . . . . . 76
13.6.4 The Rotated PDOS Plot-I . . . . . . . . . . . . . . . . . . . . . . . . 77
13.6.5 The Rotated PDOS Plot-II . . . . . . . . . . . . . . . . . . . . . . . 78

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

15 Basis Sets for Extended Systems 82


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

4
16 Backing Up Your Data 90
16.1 Using rsync: Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5
1 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.)

6
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

7
2 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.

8
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 Im3̄m 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 win-
dow/tab.

2. The Experimental section summarizes what can be found in the articles of the Bibli-
ography 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 Eksperimental’noi 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 (TRUNCATED)
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’

. . .

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
3 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 0.00000000 2.38820939 0.00000000
S 0.00000000 2.38820939 2.53193200
Cd 2.06825000 1.19410469 3.35800000
S 2.06825000 1.19410469 5.88993200
Tv 4.13650000 0.00000000 0.00000000
Tv -2.06825000 3.58231408 0.00000000
Tv 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 Func-
tionals 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 non-
molecular 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 N
T3 N+1 2N
T2 2N+1 3N
T2+T3 3N+1 4N
T1 4N+1 5N
T1+T3 5N+1 6N
T1+T2 6N+1 7N
T1+T2+T3 7N+1 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 (high temperature); Towler V and O basis;

0 5
V 1.27880629 4.44482660 -0.22374016
O 0.27860530 0.95052300 0.87756065
O 1.81959437 3.32683050 0.96076224
V 3.48744003 2.18167660 1.19205909
V 2.73205066 0.08147340 3.77512190
V 0.52341693 2.34462340 2.35932265
O 4.48764102 3.21367300 0.09075828
O 3.73225165 3.57577700 2.67382109
O -0.47678407 1.31262700 3.46062345
O 2.94665196 1.06368050 0.00755669
O 2.19126259 1.19946950 2.59061950
O 1.06420500 3.46261950 3.54382505
Tv 4.55460000 0.00000000 0.00000000
Tv 0.00000000 4.55460000 0.00000000
Tv 0.00000000 0.00000000 5.70280000

A 61 1 31 90.0 F ! T1-O-T2 angle 90 deg.


A 61 1 91 45.0 F ! 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
4 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 (antiferromag-
netic) 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 0.0000 0.000 0.0000
H 0.0000 0.000 1.1000
TV 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 0.0000 0.000 0.0000
H 0.0000 0.000 1.1000
TV 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 0.0000 0.000 0.0000
Cr 0.0000 0.000 2.4000
TV 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 A.U. after 55 cycles
SCF Done: E(UPBE-PBE) = -172.571323846 A.U. after 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
5 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 A.U. after 37 cycles
SCF Done: E(US-VWN5) = -254.500741669 A.U. after 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 Peralta’s 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 / multipl = 5 old example from Juan Peralta

0,5
Pd .000000 .00000 .000000
Pd 0.000 0.000 3.000
Tv 0.0 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 / multipl = 5

0,5
Pd .000000 .00000 .000000
Pd 0.000 0.000 3.000
Tv 0.0 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
6 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]$ grep -A3 "SCF D" Ge.SVWN5.SO.log


SCF Done: E(US-VWN5) = -588.414562597 A.U. after 8 cycles
NFock= 8 Conv=0.19D-05 -V/T= 2.4479
Spin-orb: E(2nd v) = -0.270861610394E-02 A.U.
TOTAL E(US-VWN5) = -588.417271213 A.U.

Relevant job files may be accessed locally at:


/projects/guscus/Manuals/Spin-Orbit/RECP-SO/test-pbc-3/test-
Ge-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" *.log


SCF Done: E(UHF) = -152.532937892 A.U. after 23 cycles
NFock= 23 Conv=0.12D-07 -V/T= 3.9834
Spin-orb: E(2nd v) = -0.155018692641 A.U.
TOTAL E(UHF) = -152.687956585 A.U.

Relevant job files may be accessed locally at:


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

Last Modified March 29, 2012

35
7 Dispersion Calculations
How to run Irek’s 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
8 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 12
Ss
Sp
10 Sd 10
Mos
Mop
8 Mod 8
Total
6 6

4 4
Energy (eV)

2 2
MoS2 Monolayer SPE
0 EF
HSE Gap 2.33 eV (D)

−2 −2

−4 −4

−6 −6

−8 −8
Γ M K Γ 1 2 3 4 5 6
K−Path 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
Sis
Fermi level

Si (dia) Sip
HSE OPT Sid
2 Total
Eg = 1.22 eV (I)
PDOS (states/eV/unit cell)

Expt. = 1.17 eV (I)


1.5

0.5

0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Energy (eV)

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

39
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

Table 1: IOps for BS and PDOS


IOp Arguments Explanation
IOp 5/181 The PDOS IOp
0 Should produce PDOS on every atom and orbital
1 Read pdos.inp once file is produced
2 Do NOT read pdos.inp
10 Run DOS/PDOS (Default)
20 Perform projection group for ea. atom AOT atom type
00 Produce files for the DOS (CVD says default ???)
200 Turn off PDOS
IOp 5/184 The BS IOp
EE E window for band range1
00 00 print bands within EE eV of Fermi Level2
99 00 00 no window, plot all possible bands
FF k-Path Determination
00 Default, same as 21 (???)
01 k-path from band.inp replaces k-path from library3
02 k-path from band.inp appended to k-path from library4
03 ignore k-path from band.inp4
10 labels from band.inp replace labels from library4
20 labels from band.inp appended to labels from library4
30 ignore labels from band.inp4
KK Number of k-Points Sampled
KK 00 use KK*1000 k-points for sampling the path
0 Special: 0 same as 2 (2000 k-points) [DEFAULT]4,5
SpG Space group specification
1-228 Space group #, band.inp file in working directory
IOp 5/183 The Auto BS IOp
= EE KK FF
0 Defaults
-1 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
9 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 0 0
K 3/8 3/8 3/4
L 1/2 1/2 1/2
U 5/8 1/4 5/8
W 1/2 1/4 3/4
X 1/2 0 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 coordi-
nates.

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 un-


doped 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 Curtarolo’s group at Duke provides an online con-
verter 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 “In-
ternational 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 Struck-
turbericht 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 (Curtarolo’s 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 0 Mg S a 0 Mg P a 0 In S a 0 In P a 0 In D a 0 S S a 0 S P a 0 S D a Total a
-42.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-41.9800 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-41.9600 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-41.9400 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-41.9200 0.0000 0.0006 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0006
-41.9000 0.0000 0.0026 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0026
-41.8800 0.0000 0.0097 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0097
-41.8600 0.0000 0.0335 0.0000 0.0000 0.0000 0.0000 -0.0000 0.0000 0.0334
-41.8400 0.0000 0.1067 -0.0000 -0.0000 0.0000 0.0000 -0.0001 0.0000 0.1066
-41.8200 0.0000 0.3143 -0.0000 -0.0000 0.0000 0.0001 -0.0004 0.0000 0.3139
-41.8000 0.0000 0.8543 -0.0000 -0.0000 0.0000 0.0001 -0.0011 0.0000 0.8534
-41.7800 0.0000 2.1437 -0.0000 -0.0000 0.0000 0.0004 -0.0027 0.0000 2.1413
-41.7600 0.0000 4.9656 -0.0000 -0.0000 -0.0000 0.0009 -0.0063 0.0000 4.9601
-41.7400 -0.0000 10.6178 -0.0001 -0.0001 -0.0000 0.0018 -0.0136 0.0001 10.6060
-41.7200 -0.0000 20.9583 -0.0001 -0.0002 -0.0000 0.0036 -0.0268 0.0002 20.9350
-41.7000 -0.0000 38.1885 -0.0003 -0.0003 -0.0000 0.0066 -0.0488 0.0003 38.1460
-41.6800 -0.0000 64.2341 -0.0004 -0.0005 -0.0000 0.0111 -0.0821 0.0005 64.1627
-41.6600 -0.0000 99.7368 -0.0007 -0.0008 -0.0000 0.0172 -0.1274 0.0007 99.6258
-41.6400 -0.0000 142.9556 -0.0009 -0.0011 -0.0000 0.0246 -0.1827 0.0011 142.7966
-41.6200 -0.0000 189.1489 -0.0012 -0.0014 -0.0000 0.0326 -0.2417 0.0014 188.9385
. . .

and the pdos.legend.txt looks like this:

1 E(eV)
2 0 Mg S a
3 0 Mg P a
4 0 InS a
5 0 In P a
6 0 In D a
7 0 S S a
8 0 S P a
9 0 S D a
10 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 = ’Towler Mg, CVD S, Crystal In ’


tit = ’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 scheme


set style line 1 lt 0 lc rgbcolor "black" pt 0 ps 1.5
set style line 2 lt 1 lc rgbcolor "magenta" pt 2 ps 1.5
set style line 3 lt 2 lc rgbcolor "magenta" pt 1 ps 1.5
set style line 4 lt 1 lc rgbcolor "red" pt 1 ps 1.5
set style line 5 lt 1 lc rgbcolor "blue" pt 1 ps 1.5
set style line 6 lt 1 lc rgbcolor "cyan’ pt 5 ps 1.5
set style line 7 lt 1 lc rgbcolor "green" pt 2 ps 1.5
set style line 8 lt 1 lc rgbcolor "gray" pt 3 ps 1.5
set style line 9 lt 1 lc rgbcolor "orange" pt 4 ps 1.5
set style line 10 lt 3 lc rgbcolor "orange" pt 5 ps 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 job’s 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 job’s 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
Figure 15: The band struc-
10 ture for AlSb optimized using
HISS. The command gpband
0 band.dat produced a Gnuplot
file, band-p.gp, ran it and cre-
Energy (eV)

−10 ated band.eps (to the left) auto-


matically. Notice the default en-
−20 ergy scale (taken from the gaus-
sian PBC code defaults) is inten-
−30 tionally large and that the color
scheme has each band coded in
−40 different linestyles and/or colors.
Γ X W K Γ L U W K|U X
k path

50
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
[Header and other non-band-related content deleted...]
x3_W = 1.293143
x4_K = 1.597934
These are the values and labels of the high-symmetry k-points:
x5_GM = 2.512322
* Their ordering was specified in the band.inp file
x6_L = 3.258914
* They will be used in the next section of the gp file as x-tic labels
x7_U = 3.786839
* The values correspond to all x-coordinates.
x8_W = 4.091633
x9_K = 4.396424
x10_X = 4.701213

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


These are the x-tic labels: easily modified.
"K" x4_K, "{/Symbol G}" x5_GM, "L" x6_L, "U" x7_U,
"W" x8_W, "K | U" x9_K, "X" x10_X )
Unscaled energy of the Valence Band Max (VBM).
E0 = 10.371738
COLUMN where the HOCO is located.
cHOCO = 10
Unscaled energy of the Highest Occ. Crystal Orbital (HOCO.
HOCO = 10.371738
COLUMN where the LUCO is located.
cLUCO = 11
Unscaled energy of the Lowest Unocc. Crystal Orbital (LUCO.
LUCO = 12.420518
The VBM redefined as the Fermi Level
EF = 10.371738
Next highest gap after the indirect gap
mGap = 3.058369
Next highest gap after the mgap
MGap = 8.405779
The indirect gap
iGap = 2.048780
Scales the energies so that EF = 0
E(y) = y - E0 # energy shifting function

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


Horizontal k-path lines.
set arrow 2 from x2_X, graph 0 to x2_X, graph 1 nohead lt -1
(Truncated list to save space)
set arrow 3 from x3_W, graph 0 to x3_W, graph 1 nohead lt -1
. . .
set arrow 10 from x10_X, graph 0 to x10_X, graph 1 nohead lt -1

set arrow 11 \
Arrow for Fermi Level/VBM
from graph 0, first E(HOCO) \
to graph 1, first E(HOCO) nohead lt 19

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

set yrange [*:*]


Default y-axis range
plot \
data using 1:(E($19)) t "27" with l ls 18, \
data using 1:(E($18)) t "26" with l ls 17, \
data using 1:(E($17)) t "25" with l ls 16, \
data using 1:(E($16)) t "24" with l ls 15, \
data using 1:(E($15)) t "23" with l ls 14, \
data using 1:(E($14)) t "22" with l ls 13, \
data using 1:(E($13)) t "21" with l ls 12, \
data using 1:(E($12)) t "20" with l ls 11, \
data using 1:(E($11)) t "19" with l ls 10, \ Plotting the data...
data using 1:(E($10)) t "18" with l ls 9, \
data using 1:(E($9)) t "17" with l ls 8, \
data using 1:(E($8)) t "16" with l ls 7, \
data using 1:(E($7)) t "15" with l ls 6, \
data using 1:(E($6)) t "14" with l ls 5, \
data using 1:(E($5)) t "13" with l ls 4, \
data using 1:(E($4)) t "12" with l ls 3, \
data using 1:(E($3)) t "11" with l ls 2, \
data using 1:(E($2)) t "10" with l ls 1

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

6
Figure 16: The band struc-
4 ture for AlSb optimized
using HISS. The predicted
Energy (eV)

2 indirect transition Eind oc-


2.05 eV (I) 2.33 eV (I) curs at 2.05 eV (compare to
0 EF
1.69 eV for LT exp.[3]). The
ï2 direct gap, Edir =2.33 eV, also
compares favorably to 2.84
ï4 experiment.[4]
ï6

K X W K K L U 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 Increasing the Accuracy and Efficiency of PBC Jobs

11.1 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 (10-
20x 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
Izmaylov’s 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 com-
putational 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.)
-OR-
5. 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.edu’s 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 # THIS IS STEP 2


-bash-3.2$ cd /shared.scratch/sgu1 # THIS IS STEP 3

Last Modified March 27, 2012

59
Sec. 12: Submitting Jobs at Rice

12.3 Module Commands

12.3.1 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 LiMoS2-hse11_o mjl3 190:28:0 R guscus


346954.sticman LiMoS2-pbe_o mjl3 187:12:3 R guscus
348858.sticman 20 ks19 235:00:3 R guscus
349052.sticman n2-ksghf rmi1 04:32:08 R guscus
349056.sticman PCBInputFile sgu1 00:02:08 R 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 Description Notes


G09 Versions
g09-b1 This is previous G09 When in doubt use this
g09-b1-linda Runs in parallel STIC, use 4 nodes
g09-b1-pbc-2.3 A version of the PBC code not sure
g09-b1-pbc-2.3.t This PBC code works Used for publications
g09-c1 Latest G09 Use at own risk
g09-c1-linda Latest G09 in parallel Timings are weird
G09 Development
gdv-g1 Ancient Needed for some calcs; don’t use
gdv-h1 Very Old Don’t use
gdv-h1-D Very Old Daniel’s?
gdv-h1-extra-HISS Old for HISS Don’t use unless checking data
gdv-h10 Old Probably not used by anyone
gdv-h11 Old *NO* PBC so not useful
gdv-h11-hiss-and-pbc.2.3 RECENT Use this. Has HISS and PBC1
gdv-h11-ib3 Irek’s working version Don’t use
gdv-h11-sol PBEsol No BS/PDOS, but PBEsol works
gdv-h12p New Ask Irek
gdv-h12p-D New Ask Irek
gdv-h13 Latest Ask Irek
PGI Compilers
pgi-10 Oldest Check which version loads w/code
pgi-10.9 Old Check which version loads w/code
pgi-11 Latest Check which version loads w/code

[1] This version will eventually also include PBEsol, Irek’s 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 Description Module Notes


gaussian/g09-c1-linda Parallel G09 amber/11 Bio FF code
intel/2011.0.13(default) compiler cilk++/8503
intel/3.2.1.015 compiler cmake/2.8.5
jdk/1.6.0_12 Jason’s PQT code comsol/3.5a
matlab/2008b(default) Check w/Irek comsol/4.0a
matlab/2009b Check w/Irek comsol/4.1
matlab/2011a Check w/Irek fftw/3.2.2-intel
pgi/9.0.4 globus/5.0.4-xsede
pgi/10.9 gmt/4.5.3
python3/3.2.1 gromacs/4.5.5 Bio visualizer
R/2.11.1-gcc Check w/Irek hdf5/1.8.4p1
siesta/3.0-rc2 Can we use this? hdf5/1.8.8(default)
hpctoolkit/2011-05-16
hypre/2.0.0-intel
lammps/20Aug11
openmpi/1.3.3-gcc lumerical/6.5.5(default)
openmpi/1.3.3-intel lumerical/7.5.1
openmpi/1.3.3-pgi lumerical/7.5.3
openmpi/1.4.4-gcc mvapich/1.2rc1-intel
openmpi/1.4.4-intel(default) namd/2.7
openmpi/1.4.4-pgi 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)

63
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; don’t use
gdv-h1 Very Old Don’t use
gdv-h10 Old Probably not used by anyone
gdv-h11 Old *NO* PBC so not useful
gdv-h11-ib3 Irek’s 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 # exit on errors


set -o pipefail # 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 # print commands before executing


trap "rm -rf \$GAUSS_SCRDIR" EXIT # clean up at exit
mkdir -p \$GAUSS_SCRDIR

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 # exit on errors


set -o pipefail # 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 # print commands before executing


trap "rm -rf \$GAUSS_SCRDIR" EXIT # clean up at exit
mkdir -p \$GAUSS_SCRDIR

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 # exit on errors


set -o pipefail # 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 # print commands before executing


trap "rm -rf \$GAUSS_SCRDIR" EXIT # clean up at exit
mkdir -p \$GAUSS_SCRDIR

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 # exit on errors


set -o pipefail # 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 # print commands before executing


trap "rm -rf \$GAUSS_SCRDIR" EXIT # clean up at exit
mkdir -p \$GAUSS_SCRDIR

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 -- use as many as necessary


set style line 1 lt 1 lw 2.0 lc rgbcolor ’black’
set style line 2 lt 3 lw 1.5 lc rgbcolor ’red’
set style line 3 lt 1 lw 1.5 lc rgbcolor ’forest-green’
set style line 4 lt 1 lw 1.5 lc rgbcolor ’blue’’
set style line 5 lt 1 lw 1.0 lc rgbcolor ’royalblue’
set style line 6 lt 1 lw 1.0 lc rgbcolor ’gold’
set style line 7 lt 1 lw 1.0 lc rgbcolor ’plum’
set style line 8 lt 2 lw 1.0 lc rgbcolor ’sea-green’
set style line 9 lt 1 lw 1.0 lc rgbcolor ’gray50’
set style 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

# LINE STYLES -- Add more colors or styles as required


set style line 1 lt 1 lw 2.0 lc rgbcolor ’black’
set style line 2 lt 1 lw 1.5 lc rgbcolor ’blue’
set style line 3 lt 2 lw 1.0 lc rgbcolor ’green’
set style line 4 lt 4 lw 2.0 lc rgbcolor ’red’ 2.5
set style line 5 lt 1 lw 1.0 lc rgbcolor ’royalblue’ Sis
Fermi level

Si (dia) Sip
set style line 6 lt 4 lw 1.0 lc rgbcolor ’forest-green’ HSE OPT Sid
2 Total
set style line 7 lt 1 lw 1.0 lc rgbcolor ’gold’ Eg = 1.22 eV (I)
PDOS (states/eV/unit cell)

set style line 8 lt 2 lw 0.8 lc rgbcolor ’forest-green’ Expt. = 1.17 eV (I)

set style line 9 lt 1 lw 1.0 lc rgbcolor ’khaki’ 1.5


set style line 10 lt 0 lc rgbcolor ’white’
1
# Plot the data...
plot 0 w l lt 1 lw 3.0 lc rgb ’gray’ not,\
0.5
data using 1:2 w l ls 3 t ’Q_{/Helvetica-Italic s}’,\
data using 1:3 w l ls 2 t ’Q_{/Helvetica-Italic p}’,\
data using 1:4 w l ls 4 t ’Q_{/Helvetica-Italic d}’,\ 0
data using 1:5 w l ls 1 t ’Total’ -10 -8 -6 -4 -2 0 2 4 6 8 10
Energy (eV)

71
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 = 10.371738
cHOCO = 10
HOCO = 10.371738
cLUCO = 11
LUCO = 12.420518
EF = 10.371738
mGap = 3.058369
MGap = 8.405779
iGap = 2.048780

E(y) = y - E0 # energy shifting function

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


set arrow 2 from x2_X, graph 0 to x2_X, graph 1 nohead lt -1
set arrow 3 from x3_W, graph 0 to x3_W, graph 1 nohead lt -1
set arrow 4 from x4_K, graph 0 to x4_K, graph 1 nohead lt -1
set arrow 5 from x5_GM, graph 0 to x5_GM, graph 1 nohead lt -1
set arrow 6 from x6_L, graph 0 to x6_L, graph 1 nohead lt -1
set arrow 7 from x7_U, graph 0 to x7_U, graph 1 nohead lt -1
set arrow 8 from x8_W, graph 0 to x8_W, graph 1 nohead lt -1
set arrow 9 from x9_K, graph 0 to x9_K, graph 1 nohead lt -1
set arrow 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 using 1:(E($19)) t "27" with l ls 18, \
data using 1:(E($18)) t "26" with l ls 17, \
data using 1:(E($17)) t "25" with l ls 16, \
data using 1:(E($16)) t "24" with l ls 15, \
data using 1:(E($15)) t "23" with l ls 14, \
data using 1:(E($14)) t "22" with l ls 13, \
data using 1:(E($13)) t "21" with l ls 12, \
data using 1:(E($12)) t "20" with l ls 11, \
data using 1:(E($11)) t "19" with l ls 10, \
data using 1:(E($10)) t "18" with l ls 9, \
data using 1:(E($9)) t "17" with l ls 8, \
data using 1:(E($8)) t "16" with l ls 7, \
data using 1:(E($7)) t "15" with l ls 6, \
data using 1:(E($6)) t "14" with l ls 5, \
data using 1:(E($5)) t "13" with l ls 4, \
data using 1:(E($4)) t "12" with l ls 3, \
data using 1:(E($3)) t "11" with l ls 2, \
data using 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 = 10.371738
cHOCO = 10
HOCO = 10.371738
cLUCO = 11
LUCO = 12.420518
EF = 10.371738
mGap = 3.058369
MGap = 8.405779
iGap = 2.048780
UCO2 = 12.700369

E(y) = y - E0 # energy shifting function

# LINE STYLES
set style line 1 lt 4 lw 0.7 lc rgbcolor ’dark-turquoise’ #k-point Vertical LINESS
set style line 2 lt 1 lw 1.0 lc rgbcolor ’black’ # BORING BANDS thin black line
set style line 3 lt 1 lw 2.5 lc rgbcolor ’black’ # BANDS OF INTEREST thicker black line c
set style line 4 lt 1 lw 2.5 lc rgbcolor ’red’ # VB Max ......................
set style line 5 lt 1 lw 2.5 lc rgbcolor ’blue’ # CB Min -----------------

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


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

# I-Bars and Transition Arrows


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

set yrange [-7:10]

plot 0 w l lt -1 not,\
E(LUCO) w l lt 2 lc rgbcolor "orange" not, \
data using 1:(E($19)) t "27" with l ls 5, \
data using 1:(E($18)) t "26" with l ls 5, \
data using 1:(E($17)) t "25" with l ls 5, \
data using 1:(E($16)) t "24" with l ls 5, \
data using 1:(E($15)) t "23" with l ls 5, \
data using 1:(E($14)) t "22" with l ls 5, \
data using 1:(E($13)) t "21" with l ls 5, \
data using 1:(E($12)) t "20" with l ls 5, \
data using 1:(E($11)) t "19" with l ls 5, \
data using 1:(E($10)) t "18-occ" with l ls 4, \
data using 1:(E($9)) t "17-occ" with l ls 4, \
data using 1:(E($8)) t "16-occ" with l ls 4, \
data using 1:(E($7)) t "15-occ" with l ls 4, \
data using 1:(E($6)) t "14-occ" with l ls 4, \
data using 1:(E($5)) t "13-occ" with l ls 4, \
data using 1:(E($4)) t "12-occ" with l ls 4, \
data using 1:(E($3)) t "11-occ" with l ls 4, \
data using 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* pro-
duce this file. Note that the length of this template necessitates that it be
broken into sections. Simply concatenate the parts discussed in the follow-
ing pages to obtain a working script or scp the full version located at gus-
cus:/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 "Times-Roman,16"

# 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
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 highest energy of the valence band


cHOCO = 10 # The column containing the HOCO in the band.dat file
HOCO = -6.225650 # The Highest Occupied Crystal Orbital
cLUCO = 11 # The column containing the LUCO in the band.dat file
LUCO = -3.900374 # The Lowest Unoccupied Crystal Orbital
EF = -6.225650 # The unscaled Fermi energy, same as E0 for now
mGap = 2.325276 # The minimum gap
MGap = 4.138425 # The next gap
iGap = 2.325276 # The indirect gap

E(y) = y - E0 # 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 style line 1 lt 4 lw 0.5 lc rgbcolor ’dark-turquoise’


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

75
Sec. 13: Scripts

13.6.3 Band Structure Plot–II


# SET VERTICAL LINES FOR HIGH-SYMMETRY POINTS
set arrow 1 from x1_GM, graph 0 to x1_GM, graph 1 nohead ls 1
set arrow 2 from x2_M, graph 0 to x2_M, graph 1 nohead ls 1
set arrow 3 from x3_K, graph 0 to x3_K, graph 1 nohead ls 1
set arrow 4 from x4_GM, graph 0 to x4_GM, graph 1 nohead ls 1

# LOWEST GAP INFOR (NOT PRODUCED BY gpband)


VBMx = 1.529883
VBMy = -6.225650-E0 # prescaled,scaled
CBMx = 1.529883
CBMy = -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] # Determine by hand, gpband gives [*:*]


set ytics -8,2,12

# 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 1 lw 3.0 lc rgb ’gray’ not,\


pdosdata using 2:1 w l ls 13 t ’S_{/Helvetica-Italic s}’,\
pdosdata using 3:1 w l ls 14 t ’S_{/Helvetica-Italic p}’,\
pdosdata using 4:1 w l ls 15 t ’S_{/Helvetica-Italic d}’,\
pdosdata using 5:1 w l ls 28 t ’Mo_{/Helvetica-Italic s}’,\
pdosdata using 6:1 w l ls 27 t ’Mo_{/Helvetica-Italic p}’,\
pdosdata using 7:1 w l ls 26 t ’Mo_{/Helvetica-Italic d}’,\
pdosdata using 8:1 w l ls 1 t ’Total’

unset multiplot # ALWAYS USE THIS FOR A MULTIPLOT PLOT

78
Sec. 13: Scripts

79
14 PBC Functionals
14.1 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) Citation(s) Availability/Notes
Global Hybrids
TPSSh TPSSh [5, 6] G09-B1 and higher
SR Screened Hybrids
HSEh1HSE HSE, HSE06H [7, 8, 9] Use this *always*
HSE1PBE HSE, HSE06 [8, 9]
HSE2PBE HSE03 [10]
MR Screened Hybrids
3/74=-61 HISS, HISSb [11] Use this!
G09-B, gdv-h11 (PBC)
3/74=-56 HISS, HISSb [11] Use this gdv-h1 (PBC)
3/74=-62 HISS-a [12] Don’t use; gdv-h11 (PBC)
3/74=-57 HISS-a [12] Don’t use; gdv-h1 (PBC)
LR Screened Hybrids
LC-wPBE LC-ωPBE [13] G09-B1 and higher

Semilocal
PBEPBE + 3/74=5050 PBEsol [14, 15] gdv-h11-sol; no PBC, yet...
TPSSTPSS TPSS [16]

14.2 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
— AMO5 [17] Not available
— HSEsol [18] Not available
— HTBS [19] Not available
— MBJLDA [20] Not available
PBEPBE + 3/74=5050 PBEsol [14, 15] 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 Jacob’s Ladder.[21]
Keyword and/or IOp Acronym(s) Citation(s) Availability/Notes
SVWN5 LSDA [22] G09-B1 and higher
“...use the LSDA with SVWN5”
LSDA LSDA, LDA [23] Never use
M06L M06L [24]
PBEPBE PBE [25, 26] Use this rather than PW91
PW91 PW91 [27] Less-clean version of PBE
PW92 PW92 [28] Not sure what this is
TPSSTPSS TPSS [16]
revTPSS revTPSS [29, 30, 31] Jian-Min says “eh.”
WC WC [32] Not sure about any of this

14.4 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 B3LYP [33] G09-B1 and higher
PBEh1PBE PBEh,PBE0 [34, 35] PBE hybrid → HSE
M06 M06 [36] Truhlar Suite
M06HF M06HF [37] Variation of above
M062X M062X [38] Variation of above
TPSSh TPSSh [5, 6] 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 nGauss ScaleFactor The the “Shell Descriptor Line”


α1 d1µ # n primitive gaussian specifications
α2 d2µ # αk exponent and
α3 d3µ # dkµ contraction coefficient.
... #
αn dnµ # n total primitive gaussian lines.

1. The shell descriptor line contains: the shell type, the number of primitive gaus-
sians, 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 con-
traction) 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


<—- Mandatory blank space after Tv’s
**** <—- 4 asterisks after blank space (Mandatory)
F 0 <—- Indicates this is a Fluorine basis set
S 6 1.00 The first shell (S) descriptor line
11427.1000000 0.00180093 The first (S) exponent and contract coeffcients
1722.3500000 0.0137419 The second ...
395.7460000 0.0681334
115.1390000 0.2333250
33.6026000 0.5890860
4.9190100 0.2995050
SP 3 1.00 The second (SP ) shell descriptor
55.4441000 0.1145360 0.0354609 The first set of SP exponent and contract coeffcients
12.6323000 0.9205120 0.2374510
3.7175600 -0.00337804 0.8204580
SP 1 1.00 The second SP )shell descriptor
1.1654500 1.0000000 1.0000000
SP 1 1.00 The second SP shell descriptor
0.3218920 1.0000000 1.0000000
**** <—- 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 Towler’s 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.
ORIGINAL Si and C 6-311G* basis sets from the EMSL MODIFIED Si and C m-6-311G* basis sets

**** ****
Si 0 S 0
S 6 1.00 S 6 1.00
69379.2300000 0.0007570 69379.2300 0.757000000E-03
10354.9400000 0.0059320 10354.9400 0.593200000E-02
2333.8796000 0.0310880 2333.87960 0.310880000E-01
657.1429500 0.1249670 657.142950 0.124967000
214.3011300 0.3868970 214.301130 0.386897000
77.6291680 0.5548880 77.6291680 0.554888000
S 3 1.00 S 3 1.00
77.6291680 0.1778810 77.6291680 0.177881000
30.6308070 0.6277650 30.6308070 0.627765000
12.8012950 0.2476230 12.8012950 0.247623000
S 1 1.00 S 1 1.00
3.9268660 1.0000000 3.92686600 1.00000000
S 1 1.00 S 1 1.00
1.4523430 1.0000000 1.45234300 1.00000000
S 1 1.00 S 1 1.00
0.2562340 1.0000000 0.256234000 1.00000000
S 1 1.00 S 1 1.00
0.0942790 1.0000000 0.120000000 1.00000000
P 4 1.00 P 4 1.00
335.4831900 0.0088660 335.483190 0.886600000E-02
78.9003660 0.0682990 78.9003660 0.682990000E-01
24.9881500 0.2909580 24.9881500 0.290958000
9.2197110 0.7321170 9.21971100 0.732117000
P 2 1.00 P 2 1.00
3.6211400 0.6198790 3.62114000 0.619879000
1.4513100 0.4391480 1.45131000 0.439148000
P 1 1.00 P 1 1.00
0.5049770 1.0000000 0.504977000 1.00000000
P 1 1.00 P 1 1.00
0.1863170 1.0000000 <---- reset to 0.25 0.250000000 1.00000000
P 1 1.00 P 1 1.00
0.0654320 1.0000000 <---- reset to 0.12 0.120000000 1.00000000
D 1 1.00 D 1 1.00
0.4500000 1.0000000 0.450000000 1.00000000
**** ****
C 0 C 0
S 6 1.00 S 6 1.00
4563.2400000 0.00196665 4563.24000 0.196665000E-02
682.0240000 0.0152306 682.024000 0.152306000E-01
154.9730000 0.0761269 154.973000 0.761269000E-01
44.4553000 0.2608010 44.4553000 0.260801000
13.0290000 0.6164620 13.0290000 0.616462000
1.8277300 0.2210060 1.82773000 0.221006000
SP 3 1.00 SP 3 1.00
20.9642000 0.1146600 0.0402487 20.9642000 0.114660000 0.402487000E-01
4.8033100 0.9199990 0.2375940 4.80331000 0.919999000 0.237594000
1.4593300 -0.00303068 0.8158540 1.45933000 -0.303068000E-02 0.815854000
SP 1 1.00 SP 1 1.00
0.4834560 1.0000000 1.0000000 0.483456000 1.00000000 1.00000000
SP 1 1.00 SP 1 1.00
0.1455850 1.0000000 1.0000000 0.145585000 1.00000000 1.00000000
D 1 1.00 D 1 1.00
0.6260000 1.0000000 0.626000000 1.00000000
**** ****

84
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

As 0
As 0
S 6 1.00
S 8 1.00
2542.81000 0.113700000E-02
2542.8100000 0.0011370
381.169000 0.605500000E-02
381.1690000 0.0060550
40.2342000 0.841250000E-01
40.2342000 0.0841250
16.1217000 -0.405285000
16.1217000 -0.4052850
3.20189000 0.712926000
3.2018900 0.7129260
1.42096000 0.473376000
1.4209600 0.4733760
S 6 1.00
0.3214430 0.0180130 <-------- deleted
2542.81000 -0.390000000E-03
0.1167350 -0.0037200 <-------- deleted
381.169000 -0.219000000E-02
S 8 1.00 <-------- Goes from 8 to 6 bc of deletions
40.2342000 -0.268530000E-01
2542.8100000 -0.0003900
16.1217000 0.136878000
381.1690000 -0.0021900
3.20189000 -0.320457000
40.2342000 -0.0268530
1.42096000 -0.337391000
16.1217000 0.1368780
S 1 1.00
3.2018900 -0.3204570
0.321443000 1.00000000
1.4209600 -0.3373910
S 1 1.00
0.3214430 0.6763840 <-------- deleted
0.120000000 1.00000000
0.1167350 0.5349800 <-------- deleted
P 6 1.00
S 1 1.00
99.5349000 0.385700000E-02
0.3214430 1.0000000
24.1195000 -0.851010000E-01
S 1 1.00
5.84196000 0.404762000
0.1167350 1.0000000 <-------- set to 0.12
2.56010000 0.531478000
S 1 1.00
1.09308000 0.184012000
0.0370000 1.0000000 <-------- deleted
0.318424000 0.576400000E-02
P 7 1.00 <-------- Goes from 7 to 6 bc of deletion
P 6 1.00
99.5349000 0.0038570
99.5349000 -0.772000000E-03
24.1195000 -0.0851010
24.1195000 0.199410000E-01
5.8419600 0.4047620
5.84196000 -0.107210000
2.5601000 0.5314780
2.56010000 -0.172259000
1.0930800 0.1840120
1.09308000 0.876100000E-02
0.3184240 0.0057640
0.318424000 0.569744000
0.1009720 -0.0003520 <-------- deleted
P 1 1.00
P 7 1.00 <-------- Goes from 7 to 6 bc of deletion
0.120000000 1.00000000
99.5349000 -0.0007720
D 6 1.00
24.1195000 0.0199410
113.509000 0.119800000E-01
5.8419600 -0.1072100
36.8872000 0.795440000E-01
2.5601000 -0.1722590
13.6893000 0.236755000
1.0930800 0.0087610
5.38964000 0.401534000
0.3184240 0.5697440
2.08046000 0.406686000
0.1009720 0.5356530 <-------- deleted
0.737568000 0.173162000
P 1 1.00
D 1 1.00
0.1009720 1.0000000 <-------- set to 0.12
0.307800000 1.00000000
P 1 1.00
****
0.0308000 1.0000000
D 7 1.00 <-------- Goes from 7 to 6 bc of deletion
AS 0
113.5090000 0.0119800
AS-ECP 4 10
36.8872000 0.0795440
G POTENTIAL
13.6893000 0.2367550
1
5.3896400 0.4015340
2 1.00000000 0.00000000
2.0804600 0.4066860
S-G POTENTIAL
0.7375680 0.1731620
2
0.3078000 0.0087300 <-------- deleted
2 28.72512200 370.11402500
D 1 1.00
2 6.76768100 9.34929600
0.3078000 1.0000000
P-G POTENTIAL
D 1 1.00
4
0.1000000 1.0000000 <-------- deleted
2 45.33106400 99.14210300
****
2 44.76741500 198.30788000
2 19.53909000 28.38307300
2 18.97347100 56.87146400
D-G POTENTIAL
6
2 51.05715200 -18.48514500
2 50.15134000 -28.11353000
2 16.10893600 -1.22389500
2 14.67222300 -1.34576500
2 3.85192700 0.10175700
2 3.81350200 0.17033800
F-G POTENTIAL
2
2 11.94058400 -0.77523000
2 17.76116000 -2.15725900

85
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.

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

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

86
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


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

Cl 0
Cl 0
S 6 1.00
S 6 1.00
105819.0000000 0.0007380
105819.0000000 0.0007380
15872.0000000 0.0057180
15872.0000000 0.0057180
3619.6500000 0.0294950
3619.6500000 0.0294950
1030.8000000 0.1172860
1030.8000000 0.1172860
339.9080000 0.3629490
339.9080000 0.3629490
124.5380000 0.5841490
124.5380000 0.5841490
S 3 1.00
S 3 1.00
124.5380000 0.1341770
124.5380000 0.1341770
49.5135000 0.6242500
49.5135000 0.6242500
20.8056000 0.2917560
20.8056000 0.2917560
S 1 1.00
S 1 1.00
6.5834600 1.0000000
6.5834600 1.0000000
S 1 1.00
S 1 1.00
2.5646800 1.0000000
2.5646800 1.0000000
S 1 1.00
S 1 1.00
0.5597630 1.0000000
0.5597630 1.0000000
S 1 1.00
S 1 1.00
0.1832730 1.0000000 <------------------ Sim3 --------------------->
0.1832730 1.0000000
P 5 1.00
P 5 1.00
589.7760000 0.0023910
589.7760000 0.0023910
139.8490000 0.0185040
139.8490000 0.0185040
45.1413000 0.0813770
45.1413000 0.0813770
16.8733000 0.2215520
16.8733000 0.2215520
6.7411000 0.7725690
6.7411000 0.7725690
P 2 1.00
P 2 1.00
6.7411000 -1.5722440
6.7411000 -1.5722440
2.7715200 0.9923890
2.7715200 0.9923890
P 1 1.00
P 1 1.00
1.0238700 1.0000000
1.0238700 1.0000000
P 1 1.00
P 1 1.00
0.3813680 1.0000000
0.3813680 1.0000000
P 1 1.00
P 1 1.00
0.1500000 1.0000000 <----------------- Sim1 ---------------------->
0.1500000 1.0000000
SP 1 1.00 <----------------- Sim2 ---------------->
# SP 1 1.00 (*** YANKED ***)
0.1500000 1.0000000 1.0000000 <------ Sim2 ------>
# 0.1500000 1.0000000 1.0000000 (*** YANKED ***)
D 1 1.00
D 1 1.00
3.0000000 1.0000000
3.0000000 1.0000000
D 1 1.00
D 1 1.00
0.7500000 1.0000000
0.7500000 1.0000000
D 1 1.00
D 1 1.00
0.1875000 1.0000000
0.1875000 1.0000000
F 1 1.00
F 1 1.00
0.7000000 1.0000000
0.7000000 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 com-
mon ES codes.

3. The basis set window (blue arrow)for choos-


ing the basis set.

4. Information about the basis set (purple ar-


row).

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 Towler’s 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.
21 6 ! It is being used for Sc@C82 and Sc@C82@SWNT
0 0 8 2. 1. ! (single-wall carbon nanotube).
208000. 0.000225 Sc 0
29700. 0.001927 S 8 1.0
6280.0 0.011094 208000.0000000000 2.2500000000E-04
1642.0 0.04997 29700.0000000000 1.9270000000E-03
494.64 0.17014 6280.0000000000 1.1094000000E-02
170.62 0.3688 1642.0000000000 4.9970000000E-02
66.62 0.4029 494.6400000000 1.7014000000E-01
27.72 0.1449 170.6200000000 3.6880000000E-01
0 1 6 8. 1. 66.6200000000 4.0290000000E-01
499.4 -0.00558 0.00851 27.7200000000 1.4490000000E-01
118.53 -0.0738 0.06021 SP 6 1.0
39.01 -0.1160 0.2129 499.4000000000 -5.5800000000E-03 8.5100000000E-03
15.20 0.2493 0.3847 118.5300000000 -7.3800000000E-02 6.0210000000E-02
6.511 0.6985 0.4028 39.0100000000 -1.1600000000E-01 2.1290000000E-01
1.998 0.323 0.183 15.2000000000 2.4930000000E-01 3.8470000000E-01
0 1 4 8. 1. 6.5110000000 6.9850000000E-01 4.0280000000E-01
25.09 0.0016 -0.0331 1.9980000000 3.2300000000E-01 1.8300000000E-01
9.62 -0.1360 -0.0713 SP 4 1.0
3.979 -0.7059 0.1465 25.0900000000 1.6000000000E-03 -3.3100000000E-02
1.612 1.018 1.452 9.6200000000 -1.3600000000E-01 -7.1300000000E-02
0 1 1 2. 1. 3.9790000000 -7.0590000000E-01 1.4650000000E-01
0.780 1. 1. 1.6120000000 1.0180000000 1.4520000000
0 1 1 0. 1. SP 1 1.0
0.390 1. 1. 0.7800000000 1.0 1.0
0 3 3 1. 1. SP 1 1.0
3.940 0.160 0.3900000000 1.0 1.0
1.072 0.313 D 3 1.0
0.394 0.406 3.9400000000 1.6000000000E-01
1.0720000000 3.1300000000E-01
N. M. Harrison, B. Montanari, Ling Ge, 2006, unpublished. 0.3940000000 4.0600000000E-01
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 gaussian-
formatted *.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)


For more information,
H - hard links, preserve hard links check man rsync
rsync –help –OR–
V - verbose, increase verbosity
the Official rsync Page
h - human readable, output numbers in a human readable format 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.:

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


[sgu1@guscus ~]$ ls e.g.: cd STIC
Bluebiou
Davinci 2. Type rsync -aHvhu sgu1@stic:/shared.scratch/sgu1/ ./
STIC
3. Using the format above will mirror sgu1’s directories in
Sugar
/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


1. Create a text file in the home directory, e.g., “xclude”
tmp/
*.chk 2. Add the names of the files and/or directories for which
*err backups are undesirable on separate lines.
fort*
mkpdos.log 3. The tmp/ directory is not backed up as it contains
pdos.d/ gaussian scratch files and should be purged regularly.
zpratl*
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@stic’s 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 down-
loaded, 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 Mate-
rials, 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. Hut-


ter, 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