PBC Guide

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 94

Solid State Calculations Using gaussian:

The Denitive 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 Specications . . . . . . . . . . . . . . . . . . . 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: LaTiO
3
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 Modied 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 Eciency of PBC Jobs 54
11.1 Practical Tips for G09 PBC Calculations . . . . . . . . . . . . . . . . . . . . 54
11.2 Diuse 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-Specic) . . . . . . . . . . . . . . . . . . . . . 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: Modied 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 PlotII . . . . . . . . . . . . . . . . . . . . . . . . . . 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: Modied PBC Basis Sets with No ECPs . . . . . . . . . 84
15.2.3 Example 2: Modied Arsenic Basis Set + ECP . . . . . . . . . . . . 85
15.2.4 Example 3: Step-by-Step Modication 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 les 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 les within this pdf le 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 les 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 unmodied (HSE03) input les and basis sets from this paper are located at online.
Simply replace the route line below in those *.com les, 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 Modied March 26, 2012
7
2 Using the ICSD: Starting Structures
The ICSD Web database is located at icsd.z-karlsruhe.de. For Rice users free access is
available via IP address at icsd.z-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 dierent
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 les.)
The 4
th
column has the Structure Type, which is also listed in the band.inp le
names. So, since, we know we want bcc-Cr and it is a metal like W (Tungsten)
select the Im

3m 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 signicantly 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 satised, 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 le 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 le(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 le saved, with the name Cr_bcc.cif
If multiple les are selected, they are saved as a zip le, with the lenames
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 le ID #44731.
NOTE:
GaussView can read *.cif les as is,
so once they are downloaded, you are ready to go!
Last Modied April 10, 2012
13
Sec. 2: Using the ICSD: Starting Structures
2.3 A Sample cif File
This le has truncated symmetry equivalent positions.
(See guscus:/projects/guscus/Manuals/Cr_44731.cif for the full le)
#(C) 2012 by Fachinformationszentrum Karlsruhe. All rights reserved.
data_44731-ICSD
_database_code_ICSD 44731
_audit_creation_date 2000-12-16
_audit_update_record 2006-04-01
_chemical_name_systematic Chromium - alpha
_chemical_formula_structural Cr
_chemical_formula_sum Cr1
_chemical_name_structure_type W
_exptl_crystal_density_diffrn 7.19
_cell_measurement_temperature 293.
_publ_section_title
;
The absorption and refraction corrections and the lattice constants of
chromium
;
loop_
_citation_id
_citation_journal_full
_citation_year
_citation_journal_volume
_citation_page_first
_citation_page_last
_citation_journal_id_ASTM
primary Zhurnal Eksperimentalnoi i Teoreticheskoi Fiziki 1964 47 476 479
ZETFA7
loop_
_publ_author_name
Straumanis, M.E.
Weng, C.-C.
_cell_length_a 2.88494(7)
_cell_length_b 2.88494
_cell_length_c 2.88494
_cell_angle_alpha 90.
_cell_angle_beta 90.
_cell_angle_gamma 90.
_cell_volume 24.01
_cell_formula_units_Z 2
_symmetry_space_group_name_H-M I m -3 m
_symmetry_Int_Tables_number 229
14
Sec. 2: Using the ICSD: Starting Structures
loop_
_symmetry_equiv_pos_site_id
_symmetry_equiv_pos_as_xyz (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 le you want
5. The le name should appear in parentheses in the rst 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 dened 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 le as you wish and then save.
Figure 7: GaussView for cif les. Left: The window to select and open a cif le in your
directory. Right: The periodic system with cell axes and atoms constructed from the cif
le 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 le.
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 le rst by hitting the Retain button at the bottom (5
th
) from the left.
7. Save it as a *.gjf le 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 le 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 le specication (%mem etc., added in *.pbs les)
2. The route
3. The title line(s)
4. Charge and multiplicity specications
5. Coordinates (for a unit cell, now, not a molecule)
6. Three translation vectors, labeled by Tv
7. The basis set specication
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 le 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 le is vital: PBC jobs run long, are prone to crash, and are necessary
for BS/PDOS calculations.
2. %mem, %NProcShared, scratch le 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 specication
HSEh1PBE is the HSE06h version of HSE the most current and accurate avor 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 le at guscus:/projects/guscus/Manuals/functionals.bib.
3. GenECP Basis set specication: 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=Ultrane) always use, period.
To make valid energy comparisons among two or more jobs, the same grid must be used
and the Ultrane 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 le.
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 ag 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 le 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 specic 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 le.
There is a denite dierence between HSE03 and HSE06.
3.2.3 Title and Coordinate Specications
Notice that very little diers from a molecular le specication...
1. Line 4 starts the Title Section
Cannot exceed ve (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 specications
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 le 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 specication using a path
The/N prevents the basis set from being printed at the beginning if the output le
Alternatively, the basis set and/or ECP can be added to the end of the le, as in
molecular calculations
6. There are cases where additional specications may be added to a le. For examples, review
the sample input les in Sections 4, 5, and 6.
This example, with the complete input le (including both basis sets)
and the corresponding output le is provided locally at:
guscus:/projects/guscus/Manuals/examples/CdS-wu/.
Last modied 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) specication.
2. Add the keyword Opt
3. PBC optimizations benet 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 le is the same as
that of the current calculation, otherwise, it uses the MO coecients, 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 les can become very, very large (hundreds of MB or even a tens of GB)
If running a big job, back up the *chk le periodically. A corrupted checkpoint le
is an extremely sad thing
The STIC/DaVinci/BlueBioU le systems can and *will* corrupt checkpoint les 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 le, that is the number of "real" atoms plus the three
translation vectors.
For instance, in the input le 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 rst 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 le.
#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 Modied March 29, 2012
24
Sec. 3: PBC Input Files
3.5 Restarts
For both energy calculations and optimizations, adding Restart is sucient, 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 modied March 27, 2012
25
4 Antiferromagnetic Guess Calculations
The "Antiferromagnetic Guess" or "Spin-Flip" code for PBCS "ips" 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 o 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 ipped should be
specied after a blank line from the input le. This is best accomplished by running a two-part
calculation using Link 1. (See Section 4.2 for more details.)
1. The rst part of the input le should be the "unipped" 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 ipped
Specify according to the atom numbers
Apparently vertically specied (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 le.
%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 le 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 ipping.
The input and output les 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 le:
[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
1
st
line: Converged SCF energy corresponding to that of the triplet.
2
nd
line: Converged SCF energy corresponding to that of the singlet arising post spin-ip.
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: LaTiO
3
Ti Quintuplet Singlet
In the following example, the comments are actually *in* the G09 input le.
Notice the free-format of the G09 input les...
%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 les (with comments) are located at:
guscus:/projects/guscus/Manuals/AFMGuess/Example3-LTO.
Last Modied 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 o the VMM guess (default)
3. NOTE: These IOps change by version please check before running.
5.1 Input
1. The rst part of the input le should be the "unipped" 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 nal 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 Peraltas calculations run
with GDV-F.02. At the time of this writing, we used G09-B1. Please exercise
caution if using older or newer versions. Files are accessible locally at:
guscus:/projects/guscus/Manuals/VMM/Example1-Pd
%chk=Pd.ccpvtzpp.SVWN5.5.V06.chk
#p USVWN5/Gen Pseudo=read 5D 7F IOp1=timestamp
SCF=(Conver=8,MaxCycle=300,CDIIS,NoIncFock,NoVarAcc)
iop(5/33=1,5/13=1) PBC(NCellMin=120)
Pd linear monostrand SVWN5 / 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 le.
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 les will be placed in:
guscus:/projects/guscus/Manuals/VMM/Example2-UNx.
Last Modied 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 condence, 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 le provides the magnitude of the coupling via the cmd line: grep A3

SCF D

[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 les 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 le 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 les may be accessed locally at:
/projects/guscus/Manuals/Spin-Orbit/RECP-SO/test-pbc-3/ttest-
Hg-atom
Last Modied March 29, 2012
35
7 Dispersion Calculations
How to run Ireks 2- and 3-body code based
This example is being specially prepared in order to
optimize all aspects of your learning experience.
If you need immediate assistance, please contact Irek W. Bulik.
Examples will eventually be locally available in:
guscus:/projects/guscus/Manuals/Dispersion/.
Last Modied 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 MoS
2
.[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 les appear during an energy calculation (see Section 8.2 but all les
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 le.
The band.inp les are described in Section 9.1 and located locally at
guscus:/projects/guscus/Manuals/binps/.
A band.inp le 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 modied band.inp le was used for this calculation.
5. Ensure that your pbs or other submission le 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 les for data work-up include:
1. G09 input and output les: *.gjf and *.out (See Section 3.)
2. The basis set le: mos_cvd.gbs (See Section 15.)
3. Band-relevant les: band.dat and bandk.dat (See Section 8.3.)
4. PDOS-relevant les: pdos.dat and pdos.legend.txt (See Section 8.2.)
5. A multiplot gnuplot le both.gpt that produces the plot. (See Section 13.6.)
All relevant les 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.
8
6
4
2
0
2
4
6
8
10
12
M K
E
n
e
r
g
y

(
e
V
)
KPath
1 2 3 4 5 6
8
6
4
2
E
F
2
4
6
8
10
12
PDOS (states/eV/unit cell)
MoS
2
Monolayer SPE
HSE Gap 2.33 eV (D)
S
s
S
p
S
d
Mo
s
Mo
p
Mo
d
Total
Figure 10: An example of BS and PDOS as plotted using multiplot. The data is from the
HSE SP calc of an MoS
2
monolayer, with a calculated direct band gap E
g
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 le:
mkpdos bias from

$InpBase.out

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 les will appear once a job has nished. NOTE: A job will appear to be
running until all PDOS-related les nish writing. These les include:
pdos.dat contains the data to plot Useful.
pdos.legend.txt Legend for orbital populations on specic nuclei. Useful.
fort.121 appears as the job runs and indicates that PDOS will be calculated.
zpratl-pdos.inp a le 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.
0
0.5
1
1.5
2
2.5
-10 -8 -6 -4 -2 0 2 4 6 8 10
P
D
O
S

(
s
t
a
t
e
s
/
e
V
/
u
n
i
t

c
e
l
l
)
Energy (eV)
F
e
r
m
i

l
e
v
e
l
Si (dia)
HSE OPT
E
g
= 1.22 eV (I)
Expt. = 1.17 eV (I)
Si
s
Si
p
Si
d
Total
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 les. The band.inp les 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 le. e.g., IOp(5/184=227) indicates an FCC system with space group
number 227.
2. To ensure that PDOS is turned o, at IOp(5/181=200)
3. The band.inp le, 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 le is not present, the band structure code will choke, as the default is to
look for a band.inp le that will have the coordinates and K-path for the specied space
group.
See Section 9.1 for a detailed explanation/example of the band.inp les.
8.3.2 Output Files
In addition to the *.out and *.chk les that are necessary for processing the BS data, two (2) new
les are produced:
1. band.dat This contains everything you need to plot band structure. The last 6 lines of the
le (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 le 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 le 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 le assuming pop=regular was used
in the job that generate the *chk le:
%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 le
Geom=AllCheck takes the title, charge, multiplicity and coordinates from the *chk le.
IOp 5/14=20 uses the BS data from the already computed real-space Fock matrix.
These 4 lines are sucient to produce, in this case, both PDOS and BS for a FCC system in space
group 227.
To turn o 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 le was corrupted or there was not band.inp le in place
for the restart from an good *chk le, 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 le 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 les for the DOS (CVD says default ???)
200 Turn o PDOS
IOp 5/184 The BS IOp
EE E window for band range
1
00 00 print bands within EE eV of Fermi Level
2
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 library
3
02 k-path from band.inp appended to k-path from library
4
03 ignore k-path from band.inp
4
10 labels from band.inp replace labels from library
4
20 labels from band.inp appended to labels from library
4
30 ignore labels from band.inp
4
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 specication
1-228 Space group #, band.inp le in working directory
IOp 5/183 The Auto BS IOp
= EE KK FF
0 Defaults
-1 No band structure
NOTE: This is not nal...
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 dened 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 le:
1. Note that the les are named rst by the SG that would complete the argument of IOp
(5/184=SG), then the prototype, followed nally by packing type e.g., 186_MoS2-hex.inp.
(For more information, refer Section 9.1.)
2. Copy and rename the *.inp le 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 les 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 le Section 9.1
3-D (Bulk) systems Section 9.2
2-D Slabs/lms/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 le 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 le by default.)
More importantly, band.inp les 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 les are in the /binps directory on guscusgw and
are named (1) according to space group and lattice and/or (2) labeled to indicate
any modications 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 eort.
The space group of crystal structure is usually included in the *.cif (or, less frequently *.pdf ) le
downloaded from a database, e.g., the ICSD or the AMS.
The space groups are numbers ranging from 1-230, as is seen to the far left column of Figure 13, which
contains also the short symbols to the far right, another commonly used symmetry designation.
Other means of acquiring SG information:
1. The literature the computational or experimental methods section(s) will include mention
the SG, or at least the short symbol designations.
2. The Energy Materials site maintained by Curtarolos group at Duke provides an online con-
verter at ACONVASP Online.
3. Similarly, the Aow 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.)
Eective 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 le 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-specc 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 identies the point group is
in the *.cif le downloaded from a database, e.g., the ICSD or the AMS. Other means of acquiring
this information include:
1. The literature the papers you start with
2. The ACONVASP Online site (Curtarolos group at Duke)
3. The 2-D Space Groups Table (See Figure 14)
4. Materials software like Materials Studio, Vesta, etc.
Figure 14: 2D-Brillouin Zones. (a) Square, with lattice constant a, (b) Rectangular, with
lattice contants
1
,
2
, and, (c) Hexagonal with lattice constant a. (Taken from: Economou,
2010, Ref. [2])
9.4 1-D Monolayers
Generally, the initial space group of your system is in the *.cif le 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 les generated by your job output and a *.gpt template le.
The pdos.dat le for am MgInS
2
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 dierent 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 le 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 le:
e.g., stub = MgInSlda stub = YourPDOS
2. Adjust the color scheme according the the pdos.legend.txt le, 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 le is provided at:
guscus:/projects/guscus/Manuals/examples/pdos.gpt
See also: Sections 13.2 and 13.3.
49
Sec. 10: Plotting BS and PDOS
10.3 Plotting Band Structure
Currently, the easiest way to plot band structure data is to use the gpband Perl script written by
Dr. Cristian Diaconu. As it is to large to include in Section 13, the gpband script is stored at
guscus:/projects/guscus/Manuals/scripts/gpband.
10.3.1 Using gpband to Plot BS
1. Place a copy of gpbandon each machine where gaussian PBC code will be run.
2. Run gpband in the jobs working directory: gpband band.dat
The les that are processed include band.dat bandk.dat and the *.out, hence the
admonition to run gpband in the jobs working directory.
Note the numerous annotations within the script, describing the program and how the
band*.dat les 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 les to your desktop to plot the data. (There is no Gnuplot on
most Rice clusters.)
4. gpband prepares a basic gp le that runs to produce eps output see Figure 15.
The default color scheme is most likely not what will be used in the nal 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
40
30
20
10
0
10
20
X W K L U W K | U X
E
n
e
r
g
y

(
e
V
)
k path
Figure 15: The band struc-
ture for AlSb optimized using
HISS. The command gpband
band.dat produced a Gnuplot
le, band-p.gp, ran it and cre-
ated band.eps (to the left) auto-
matically. Notice the default en-
ergy scale (taken from the gaus-
sian PBC code defaults) is inten-
tionally large and that the color
scheme has each band coded in
dierent linestyles and/or colors.
50
Sec. 10: Plotting BS and PDOS
10.3.3 Annotated Default gp File
Annotated sections of the gp le that produced Figure 15. (The full script is in Section 13.4.)
x1_GM = 0.000000
x2_X = 0.862114
x3_W = 1.293143
x4_K = 1.597934
x5_GM = 2.512322
x6_L = 3.258914
x7_U = 3.786839
x8_W = 4.091633
x9_K = 4.396424
x10_X = 4.701213
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 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
[Header and other non-band-related content deleted...]
These are the values and labels of the high-symmetry k-points:
* Their ordering was specied in the band.inp le
* They will be used in the next section of the gp le as x-tic labels
* The values correspond to all x-coordinates.
These are the x-tic labels: easily modied.
Unscaled energy of the Valence Band Max (VBM).
COLUMN where the HOCO is located.
Unscaled energy of the Highest Occ. Crystal Orbital (HOCO.
COLUMN where the LUCO is located.
Unscaled energy of the Lowest Unocc. Crystal Orbital (LUCO.
The VBM redened as the Fermi Level
Next highest gap after the indirect gap
Next highest gap after the mgap
The indirect gap
Scales the energies so that E
F
= 0
Horizontal k-path lines.
(Truncated list to save space)
Arrow for Fermi Level/VBM
Arrow for CBM
Default y-axis range
Plotting the data...
51
Sec. 10: Plotting BS and PDOS
10.3.4 Modied BS Output
The gp le in Section 10.3.3 has been modied 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 les will be discussed in
Section 10.4.
6
4
2
0
2
4
6
8
10
X W K L U W K l U X
E
n
e
r
g
y

(
e
V
)
E
F
2.05 eV (I)
2.33 eV (I)
Figure 16: The band struc-
ture for AlSb optimized
using HISS. The predicted
indirect transition E
ind
oc-
curs at 2.05 eV (compare to
1.69 eV for LT exp.[3]). The
direct gap, E
dir
=2.33 eV, also
compares favorably to 2.84
experiment.[4]
All les necessary to produce this plot and that of Figure 15 are locally
available at guscus:/projects/guscus/Manuals/examples/AlSb-HISS.
The full gp les 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 specied in the path of the band.inp
le, 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 le 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 Eciency 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 Specications and the keywords:
PBC and FMM. (The input le 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 diuse
basis set on your favorite 3D system, e.g., diamond.
1. The near-eld 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 diuse basis functions (bfs), a full-range
1/r potential, and default cutos 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 signicantly 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.
Diuse bfs: They may be needed in some specic cases and for some specic 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 diuse 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 suer 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 oending linear combination. However, there may be cases where the overall
accuracy is aected 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 identiable form the error message) being a combination of the above.
54
Sec. 11: Increasing the Accuracy and Eciency 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 ecient
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
nite temperature calculation at ca. 1000 K and then try to cool o the system some
or converge ILT (or similar) from there.
2. Most PW calculations on metals are done at nite temperature, otherwise convergence
is rather dicult to achieve even with PW codes.
3. Diuse and polarization functions are generally important for metals. Your cpu time will
go up because to achieve convergence you will need a larger basis than for semiconductors
or insulators and lots of k-points.
Semiconductors and Insulators: If you feel that your calculations are slow, there is plenty of
room of improvement by playing with many of the accuracy thresholds (explained in detail in
Izmaylovs piece). The record for this type improvement may be the InAs case nely-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 tting approximation for pure DFT calculations.
The desired tting basis set is specied 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 tting basis set is specied. See the Basis
Sets entry in the Gaussian manual for more information.
CPU Time Monitor your cpu time with ags 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 ne-tuning thresholds. See Section 3.
Last Modied March 23, 2012
55
Sec. 11: Increasing the Accuracy and Eciency of PBC Jobs
11.2 Diuse 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 diuse 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-diuse basis
functions, since the calculations become prohibitively expensive with diuse 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 diuse basis functions (especially the p-type).
Gaussian removes the culprits, (see Section ?? but when this happens the basis functions are
too diuse 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 diuse functions: the smallest exponent for s-type functions should be
larger than about
min
= 2/d
2
, 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 Eciency 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 tting.
Last modied 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 ecient 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 le 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 conrm 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 le (See Section 13 for the necessary scripts.)
9. Type qsub *.pbs to submit your job
10. Type qstat to see that your job was submitted and is in the queue you want it to be in...
12.2 What You See: Logging In
# THIS IS STEP 1a [mylaptop:~] scucserian% ssh sgu1@stic.rice.edu
# THIS STEP 1b sgu1@stic.rcsg.rice.edus password:
# Below is what will appear once you log into STIC:
Last login: Tue Mar 13 12:23:58 2012 from worf.rice.edu
-----------------------------------------------------------------------
Ken Kennedy Institute for Information Technology, Rice University
==============================================
Unauthorized access is prohibited.
STIC.RICE.EDU
Questions and Problem Reports -> http://helpdesk.rice.edu
Documentation and User News -> http://rcsg.rice.edu/stic
-----------------------------------------------------------------------
****************IMPORTANT*******************
NOTICE TO COMP422 and COMP322 USERS!!
DO NOT RUN JOBS ON THE LOGIN NODES. # SERIOUSLY, never, EVER run jobs on a login node
********************************************
-bash-3.2$ source . /projects/guscus/.bashrc # THIS IS STEP 2
-bash-3.2$ cd /shared.scratch/sgu1 # THIS IS STEP 3
Last Modied 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 les are loaded. The module you want
usually has the highest number.
12.3.4 Module Unload
To UNLOAD a module, type module unload ModuleName, conrm 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/conrm 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 Modied 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; dont use
gdv-h1 Very Old Dont use
gdv-h1-D Very Old Daniels?
gdv-h1-extra-HISS Old for HISS Dont 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 PBC
1
gdv-h11-ib3 Ireks working version Dont 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, Ireks dispersion code, any new Bulik
functionals and any other code that is to be used by many, PBC or not. This will be the version
that will be kept current.
Last Modied 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 Jasons 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 tw/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; dont use
gdv-h1 Very Old Dont use
gdv-h10 Old Probably not used by anyone
gdv-h11 Old *NO* PBC so not useful
gdv-h11-ib3 Ireks Local development
gdv-h12p New Ask Irek
gdv-h13 Latest Ask Irek
G09 PBC Code Any of these STIC? module load g09-y y=g09 ver.
g09-b1-extra-dosj Very Old experimental PBC?
g09-b1-extra3
-pbc-2.devel Old experimental PBC
g09-b1-pbc-2.3t This PBC code works Used for publications
g09-b1-pbc-2.3 An older version not sure
g09-b1-pbc-2.3.5 Old experimental PBC ?
PGI Compilers module load pgi-z z=pgi ver.
pgi-7.2 Older Check which version loads w/code
pgi-10 Older Check which version loads w/code
pgi-10.8 Older Check which version loads w/code
pgi-10.9 Old Check which version loads w/code
pgi-11 Latest on STIC Check which version loads w/code
pgi-11.9 Latest Newer than that on STIC
Last Modied 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 Modied March 29, 2012
65
Sec. 13: Scripts
13.1 PBS Submission Scripts (Rice-Specic)
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 gure below. Copy the gpt le 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 gure below. Copy the gpt le 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
set style line 5 lt 1 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 gold
set style line 8 lt 2 lw 0.8 lc rgbcolor forest-green
set style line 9 lt 1 lw 1.0 lc rgbcolor khaki
set style line 10 lt 0 lc rgbcolor white
# Plot the data...
plot 0 w l lt 1 lw 3.0 lc rgb gray not,\
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},\
data using 1:5 w l ls 1 t Total
0
0.5
1
1.5
2
2.5
-10 -8 -6 -4 -2 0 2 4 6 8 10
P
D
O
S

(
s
t
a
t
e
s
/
e
V
/
u
n
i
t

c
e
l
l
)
Energy (eV)
F
e
r
m
i

l
e
v
e
l
Si (dia)
HSE OPT
E
g
= 1.22 eV (I)
Expt. = 1.17 eV (I)
Si
s
Si
p
Si
d
Total
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: Modied AlSb (HISS) gpt File
The modied gp le 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 modied gpband output gpband will *not* pro-
duce this le. 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 PlotII
# 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, HSE06
H
[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] Dont use; gdv-h11 (PBC)
3/74=-57 HISS-a [12] Dont 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 Jacobs 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 le, functionals.bib le with all of the citations used here and more is
provided at guscus:/projects/guscus/Manuals/functionals.bib.
Last Modied 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 le. (As in Section 3) The anatomy of
a G09 basis set le is as follows:
Type/Constraint nGauss ScaleFactor The the Shell Descriptor Line
1 d1 # n primitive gaussian specications
2 d2 # k exponent and
3 d3 # dk contraction coecient.
... #
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 specication is for shells: S, P, D, DP, SPD, F, G... for
s-, p-, d, dp... shells, respectively.
NGauss species the number of primitive gaussian shells (the degree of con-
traction) for the shell being dened.
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 specications
There are nGauss of them
Each line denes the exponents k and dk contraction coecients.
Comments are made using an exclamation point
15.1 Example: The 6-311G Basis Set for Fluorine
****
F 0
S 6 1.00
11427.1000000 0.00180093
1722.3500000 0.0137419
395.7460000 0.0681334
115.1390000 0.2333250
33.6026000 0.5890860
4.9190100 0.2995050
SP 3 1.00
55.4441000 0.1145360 0.0354609
12.6323000 0.9205120 0.2374510
3.7175600 -0.00337804 0.8204580
SP 1 1.00
1.1654500 1.0000000 1.0000000
SP 1 1.00
0.3218920 1.0000000 1.0000000
****
<- Mandatory blank space after Tvs
<- 4 asterisks after blank space (Mandatory)
<- Indicates this is a Fluorine basis set
The rst shell (S) descriptor line
The rst (S) exponent and contract coecients
The second ...
The second (SP) shell descriptor
The rst set of SP exponent and contract coecients
The second SP)shell descriptor
The second SP shell descriptor
<- Mandatory 4 asterisks terminating basis set
<- Mandatory blank space terminating input le
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 diuse 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 eld 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 dierent 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 modied PBC gaussian basis set in G09
3. Compare the results:
If they are similar, (within 3-5 eV) then the modied PBC basis set is sucient.
If the gap is too large, and the basis sets for two or more atoms were modied,
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 eective 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 modication include:
EMSL https://bse.pnl.gov/bse/portal
Mike Towlers Page http://www.tcm.phy.cam.ac.uk/ mdt26/crystal.html
Crystal Periodic Table http://www.crystal.unito.it/Basis_Sets/Ptable.html
15.2.2 Example 1: Modied 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 modied in the C basis set.
ORIGINAL Si and C 6-311G* basis sets from the EMSL
****
Si 0
S 6 1.00
69379.2300000 0.0007570
10354.9400000 0.0059320
2333.8796000 0.0310880
657.1429500 0.1249670
214.3011300 0.3868970
77.6291680 0.5548880
S 3 1.00
77.6291680 0.1778810
30.6308070 0.6277650
12.8012950 0.2476230
S 1 1.00
3.9268660 1.0000000
S 1 1.00
1.4523430 1.0000000
S 1 1.00
0.2562340 1.0000000
S 1 1.00
0.0942790 1.0000000
P 4 1.00
335.4831900 0.0088660
78.9003660 0.0682990
24.9881500 0.2909580
9.2197110 0.7321170
P 2 1.00
3.6211400 0.6198790
1.4513100 0.4391480
P 1 1.00
0.5049770 1.0000000
P 1 1.00
0.1863170 1.0000000 <---- reset to 0.25
P 1 1.00
0.0654320 1.0000000 <---- reset to 0.12
D 1 1.00
0.4500000 1.0000000
****
C 0
S 6 1.00
4563.2400000 0.00196665
682.0240000 0.0152306
154.9730000 0.0761269
44.4553000 0.2608010
13.0290000 0.6164620
1.8277300 0.2210060
SP 3 1.00
20.9642000 0.1146600 0.0402487
4.8033100 0.9199990 0.2375940
1.4593300 -0.00303068 0.8158540
SP 1 1.00
0.4834560 1.0000000 1.0000000
SP 1 1.00
0.1455850 1.0000000 1.0000000
D 1 1.00
0.6260000 1.0000000
****
MODIFIED Si and C m-6-311G* basis sets
****
S 0
S 6 1.00
69379.2300 0.757000000E-03
10354.9400 0.593200000E-02
2333.87960 0.310880000E-01
657.142950 0.124967000
214.301130 0.386897000
77.6291680 0.554888000
S 3 1.00
77.6291680 0.177881000
30.6308070 0.627765000
12.8012950 0.247623000
S 1 1.00
3.92686600 1.00000000
S 1 1.00
1.45234300 1.00000000
S 1 1.00
0.256234000 1.00000000
S 1 1.00
0.120000000 1.00000000
P 4 1.00
335.483190 0.886600000E-02
78.9003660 0.682990000E-01
24.9881500 0.290958000
9.21971100 0.732117000
P 2 1.00
3.62114000 0.619879000
1.45131000 0.439148000
P 1 1.00
0.504977000 1.00000000
P 1 1.00
0.250000000 1.00000000
P 1 1.00
0.120000000 1.00000000
D 1 1.00
0.450000000 1.00000000
****
C 0
S 6 1.00
4563.24000 0.196665000E-02
682.024000 0.152306000E-01
154.973000 0.761269000E-01
44.4553000 0.260801000
13.0290000 0.616462000
1.82773000 0.221006000
SP 3 1.00
20.9642000 0.114660000 0.402487000E-01
4.80331000 0.919999000 0.237594000
1.45933000 -0.303068000E-02 0.815854000
SP 1 1.00
0.483456000 1.00000000 1.00000000
SP 1 1.00
0.145585000 1.00000000 1.00000000
D 1 1.00
0.626000000 1.00000000
****
84
Sec. 15: Basis Sets for Extended Systems
15.2.3 Example 2: Modied Arsenic Basis Set + ECP
Note the modications marked in the original As basis set (right) downloaded from the EMSL. The
basis set modication for gaussian PBC calculations (left) is discussed in Reference [44] and is
acompanied by the appropriate ECP at the bottom.
ORIGINAL As cc-pVDZ-PP basis set from the EMSL
As 0
S 8 1.00
2542.8100000 0.0011370
381.1690000 0.0060550
40.2342000 0.0841250
16.1217000 -0.4052850
3.2018900 0.7129260
1.4209600 0.4733760
0.3214430 0.0180130 <-------- deleted
0.1167350 -0.0037200 <-------- deleted
S 8 1.00 <-------- Goes from 8 to 6 bc of deletions
2542.8100000 -0.0003900
381.1690000 -0.0021900
40.2342000 -0.0268530
16.1217000 0.1368780
3.2018900 -0.3204570
1.4209600 -0.3373910
0.3214430 0.6763840 <-------- deleted
0.1167350 0.5349800 <-------- deleted
S 1 1.00
0.3214430 1.0000000
S 1 1.00
0.1167350 1.0000000 <-------- set to 0.12
S 1 1.00
0.0370000 1.0000000 <-------- deleted
P 7 1.00 <-------- Goes from 7 to 6 bc of deletion
99.5349000 0.0038570
24.1195000 -0.0851010
5.8419600 0.4047620
2.5601000 0.5314780
1.0930800 0.1840120
0.3184240 0.0057640
0.1009720 -0.0003520 <-------- deleted
P 7 1.00 <-------- Goes from 7 to 6 bc of deletion
99.5349000 -0.0007720
24.1195000 0.0199410
5.8419600 -0.1072100
2.5601000 -0.1722590
1.0930800 0.0087610
0.3184240 0.5697440
0.1009720 0.5356530 <-------- deleted
P 1 1.00
0.1009720 1.0000000 <-------- set to 0.12
P 1 1.00
0.0308000 1.0000000
D 7 1.00 <-------- Goes from 7 to 6 bc of deletion
113.5090000 0.0119800
36.8872000 0.0795440
13.6893000 0.2367550
5.3896400 0.4015340
2.0804600 0.4066860
0.7375680 0.1731620
0.3078000 0.0087300 <-------- deleted
D 1 1.00
0.3078000 1.0000000
D 1 1.00
0.1000000 1.0000000 <-------- deleted
****
MODIFIED As m-pVDZ-PP basis set
As 0
S 6 1.00
2542.81000 0.113700000E-02
381.169000 0.605500000E-02
40.2342000 0.841250000E-01
16.1217000 -0.405285000
3.20189000 0.712926000
1.42096000 0.473376000
S 6 1.00
2542.81000 -0.390000000E-03
381.169000 -0.219000000E-02
40.2342000 -0.268530000E-01
16.1217000 0.136878000
3.20189000 -0.320457000
1.42096000 -0.337391000
S 1 1.00
0.321443000 1.00000000
S 1 1.00
0.120000000 1.00000000
P 6 1.00
99.5349000 0.385700000E-02
24.1195000 -0.851010000E-01
5.84196000 0.404762000
2.56010000 0.531478000
1.09308000 0.184012000
0.318424000 0.576400000E-02
P 6 1.00
99.5349000 -0.772000000E-03
24.1195000 0.199410000E-01
5.84196000 -0.107210000
2.56010000 -0.172259000
1.09308000 0.876100000E-02
0.318424000 0.569744000
P 1 1.00
0.120000000 1.00000000
D 6 1.00
113.509000 0.119800000E-01
36.8872000 0.795440000E-01
13.6893000 0.236755000
5.38964000 0.401534000
2.08046000 0.406686000
0.737568000 0.173162000
D 1 1.00
0.307800000 1.00000000
****
AS 0
AS-ECP 4 10
G POTENTIAL
1
2 1.00000000 0.00000000
S-G POTENTIAL
2
2 28.72512200 370.11402500
2 6.76768100 9.34929600
P-G POTENTIAL
4
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 Modication for Cl
General Procedure:
1. Reset some of the diuse functions to a minimum value:
Generally, the minimum exponent for s-type functions should be
less than
min
= 2/d
2
, 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
Cl 0
S 6 1.00
105819.0000000 0.0007380
15872.0000000 0.0057180
3619.6500000 0.0294950
1030.8000000 0.1172860
339.9080000 0.3629490
124.5380000 0.5841490
S 3 1.00
124.5380000 0.1341770
49.5135000 0.6242500
20.8056000 0.2917560
S 1 1.00
6.5834600 1.0000000
S 1 1.00
2.5646800 1.0000000
S 1 1.00
0.5597630 1.0000000
S 1 1.00
0.1832730 1.0000000
P 5 1.00
589.7760000 0.0023910
139.8490000 0.0185040
45.1413000 0.0813770
16.8733000 0.2215520
6.7411000 0.7725690
P 2 1.00
6.7411000 -1.5722440
2.7715200 0.9923890
P 1 1.00
1.0238700 1.0000000
P 1 1.00
0.3813680 1.0000000
P 1 1.00
0.1094370 1.0000000 <--------------------------------------->
SP 1 1.00
0.0483000 1.0000000 1.0000000 <---------------------->
D 1 1.00
3.0000000 1.0000000
D 1 1.00
0.7500000 1.0000000
D 1 1.00
0.1875000 1.0000000
F 1 1.00
0.7000000 1.0000000
****
1
st
MODIFICATION Cl 6-311++G(3df) basis set
Cl 0
S 6 1.00
105819.0000000 0.0007380
15872.0000000 0.0057180
3619.6500000 0.0294950
1030.8000000 0.1172860
339.9080000 0.3629490
124.5380000 0.5841490
S 3 1.00
124.5380000 0.1341770
49.5135000 0.6242500
20.8056000 0.2917560
S 1 1.00
6.5834600 1.0000000
S 1 1.00
2.5646800 1.0000000
S 1 1.00
0.5597630 1.0000000
S 1 1.00
0.1832730 1.0000000
P 5 1.00
589.7760000 0.0023910
139.8490000 0.0185040
45.1413000 0.0813770
16.8733000 0.2215520
6.7411000 0.7725690
P 2 1.00
6.7411000 -1.5722440
2.7715200 0.9923890
P 1 1.00
1.0238700 1.0000000
P 1 1.00
0.3813680 1.0000000
P 1 1.00
0.1500000 1.0000000
SP 1 1.00
0.1500000 1.0000000 1.0000000
D 1 1.00
3.0000000 1.0000000
D 1 1.00
0.7500000 1.0000000
D 1 1.00
0.1875000 1.0000000
F 1 1.00
0.7000000 1.0000000
****
86
Sec. 15: Basis Sets for Extended Systems
Now look for redundancies:
The 1
st
modication (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.
1
st
MODIFICATION Cl 6-311++G(3df) basis set
Cl 0
S 6 1.00
105819.0000000 0.0007380
15872.0000000 0.0057180
3619.6500000 0.0294950
1030.8000000 0.1172860
339.9080000 0.3629490
124.5380000 0.5841490
S 3 1.00
124.5380000 0.1341770
49.5135000 0.6242500
20.8056000 0.2917560
S 1 1.00
6.5834600 1.0000000
S 1 1.00
2.5646800 1.0000000
S 1 1.00
0.5597630 1.0000000
S 1 1.00
0.1832730 1.0000000 <------------------ Sim3 --------------------->
P 5 1.00
589.7760000 0.0023910
139.8490000 0.0185040
45.1413000 0.0813770
16.8733000 0.2215520
6.7411000 0.7725690
P 2 1.00
6.7411000 -1.5722440
2.7715200 0.9923890
P 1 1.00
1.0238700 1.0000000
P 1 1.00
0.3813680 1.0000000
P 1 1.00
0.1500000 1.0000000 <----------------- Sim1 ---------------------->
SP 1 1.00 <----------------- Sim2 ---------------->
0.1500000 1.0000000 1.0000000 <------ Sim2 ------>
D 1 1.00
3.0000000 1.0000000
D 1 1.00
0.7500000 1.0000000
D 1 1.00
0.1875000 1.0000000
F 1 1.00
0.7000000 1.0000000
****
2
nd
MODIFICATION Cl 6-311++G(3df) basis set
Cl 0
S 6 1.00
105819.0000000 0.0007380
15872.0000000 0.0057180
3619.6500000 0.0294950
1030.8000000 0.1172860
339.9080000 0.3629490
124.5380000 0.5841490
S 3 1.00
124.5380000 0.1341770
49.5135000 0.6242500
20.8056000 0.2917560
S 1 1.00
6.5834600 1.0000000
S 1 1.00
2.5646800 1.0000000
S 1 1.00
0.5597630 1.0000000
S 1 1.00
0.1832730 1.0000000
P 5 1.00
589.7760000 0.0023910
139.8490000 0.0185040
45.1413000 0.0813770
16.8733000 0.2215520
6.7411000 0.7725690
P 2 1.00
6.7411000 -1.5722440
2.7715200 0.9923890
P 1 1.00
1.0238700 1.0000000
P 1 1.00
0.3813680 1.0000000
P 1 1.00
0.1500000 1.0000000
# SP 1 1.00 (*** YANKED ***)
# 0.1500000 1.0000000 1.0000000 (*** YANKED ***)
D 1 1.00
3.0000000 1.0000000
D 1 1.00
0.7500000 1.0000000
D 1 1.00
0.1875000 1.0000000
F 1 1.00
0.7000000 1.0000000
****
A contribution from Professor Edwards Brothers at Texas A&M-Qatar
Locally access the *gbs les via:
guscus:/projects/Manuals/examples/Cl-ori.gbs or Cl-mod.gbs
Last Modied 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.
Specically:
1. Ensure Gaussian94 is the ES code format selected (red oval).
2. Click Ge (green oval).
3. Select 6-311G* in the basis set window (blue oval).
Notice that information about the basis set chosen appears in the bottom section (purple rectangle).
Figure 18: The process for acquiring the Ge 6-311G* basis set in gaussian format.
88
Sec. 15: Basis Sets for Extended Systems
15.4 Converting cry to gbs Files: gbsutil
After downloading gaussian basis sets from Mike Towlers or the Crystal web sites, they must be
converted into the gaussian format. Notice the dierences in format, below, for Scandium.
ORIGINAL Crystal09 (cry) Basis Set
Sc_864-11G*_harrison_2006
21 6
0 0 8 2. 1.
208000. 0.000225
29700. 0.001927
6280.0 0.011094
1642.0 0.04997
494.64 0.17014
170.62 0.3688
66.62 0.4029
27.72 0.1449
0 1 6 8. 1.
499.4 -0.00558 0.00851
118.53 -0.0738 0.06021
39.01 -0.1160 0.2129
15.20 0.2493 0.3847
6.511 0.6985 0.4028
1.998 0.323 0.183
0 1 4 8. 1.
25.09 0.0016 -0.0331
9.62 -0.1360 -0.0713
3.979 -0.7059 0.1465
1.612 1.018 1.452
0 1 1 2. 1.
0.780 1. 1.
0 1 1 0. 1.
0.390 1. 1.
0 3 3 1. 1.
3.940 0.160
1.072 0.313
0.394 0.406
N. M. Harrison, B. Montanari, Ling Ge, 2006, unpublished.
It is being used for Sc@C82 and Sc@C82@SWNT
(single-wall carbon nanotube).
CONVERTED gaussian09 (gbs) Basis Set
! Sc_864-11G*_harrison_2006
! N. M. Harrison, B. Montanari, Ling Ge, 2006, unpublished.
! It is being used for Sc@C82 and Sc@C82@SWNT
! (single-wall carbon nanotube).
Sc 0
S 8 1.0
208000.0000000000 2.2500000000E-04
29700.0000000000 1.9270000000E-03
6280.0000000000 1.1094000000E-02
1642.0000000000 4.9970000000E-02
494.6400000000 1.7014000000E-01
170.6200000000 3.6880000000E-01
66.6200000000 4.0290000000E-01
27.7200000000 1.4490000000E-01
SP 6 1.0
499.4000000000 -5.5800000000E-03 8.5100000000E-03
118.5300000000 -7.3800000000E-02 6.0210000000E-02
39.0100000000 -1.1600000000E-01 2.1290000000E-01
15.2000000000 2.4930000000E-01 3.8470000000E-01
6.5110000000 6.9850000000E-01 4.0280000000E-01
1.9980000000 3.2300000000E-01 1.8300000000E-01
SP 4 1.0
25.0900000000 1.6000000000E-03 -3.3100000000E-02
9.6200000000 -1.3600000000E-01 -7.1300000000E-02
3.9790000000 -7.0590000000E-01 1.4650000000E-01
1.6120000000 1.0180000000 1.4520000000
SP 1 1.0
0.7800000000 1.0 1.0
SP 1 1.0
0.3900000000 1.0 1.0
D 3 1.0
3.9400000000 1.6000000000E-01
1.0720000000 3.1300000000E-01
0.3940000000 4.0600000000E-01
****
The Sc_864-11G*_harrison_2006 Crystal basis set *.cry on the left was converted to a gaussian-
formatted *.gbs le using the gbsutil script written by Cris Diaconu.
To use this script:
1. Move all of the information at the bottom of the *.cry le 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 le at the link above, or copy it locally, along
with the Sc.gbs le 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 lesystems 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 les may be of import
later. The easiest and fasted way to accomplish routine backups is via the rsync command: rsync
-aHVhu, where
a - archive, archive mode; same as rlptgoD (no -H)
H - hard links, preserve hard links
V - verbose, increase verbosity
h - human readable, output numbers in a human readable format
u - update, skip les that are newer on the receiver
For more information,
check man rsync
rsync help OR
the Ocial rsync Page
for advanced scripts and
more.
16.1 Using rsync: Examples
(1) Assume user sgu1 has directories for each of the clusters on guscus, e.g.:
[sgu1@guscus ~]$ ls
Bluebiou
Davinci
STIC
Sugar
1. cd to the directory corresponding to the cluster to be backed up,
e.g.: cd STIC
2. Type rsync -aHvhu sgu1@stic:/shared.scratch/sgu1/ ./
3. Using the format above will mirror sgu1s directories in
/shared.scratch/ on STIC
(2) Alternatively, an exclude le may be used. This is useful to prevent backing up all *err les,
pdos.d directories, large chk les for unnished jobs and anything else not needing to be saved.
[sgu1@guscus ~]$ vi xclude
tmp/
*.chk
*err
fort*
mkpdos.log
pdos.d/
zpratl*
1. Create a text le in the home directory, e.g., xclude
2. Add the names of the les and/or directories for which
backups are undesirable on separate lines.
3. The tmp/ directory is not backed up as it contains
gaussian scratch les and should be purged regularly.
4. For completed jobs, use the bzip2 command to zip and
compress the chk les for transfer and storage.
The rsync command to use is now:
rsync -aHvhu - -exclude-from /users/sgu1/xclud sgu1@stic:/shared.scratch/sgu1/ ./
90
Sec. 16: Backing Up Your Data
The output from adding the - -exclude-from /users/sgu1/xclud option to the rsync command
to back up a STIC directory with subdirectories AlAs-wu2PBE, CdSe-wu, GaN-wu, InP-B3LYP
and MgO is shown below.
[sgu1@guscus STIC]$ rsync -aHvhu --exclude-from /users/sgu1/xclud sgu1@stic:/shared.scratch/sgu1/
sgu1@stics password:
receiving file list ... done
AlAs-wu2PBE/
AlAs-wu2PBE_x.out
AlAs-wuPBE/band.dat
AlAs-wu2PBE/bandk.dat
AlAs-wu2PBE/pdos.legend.txt
CdSe-wu/
CdSe-wu/OPT/
CdSe-wu/OPT/CdSe-wu_o.out
CdSe-wu/OPT/band.dat
CdSe-wu/OPT/bandk.dat
CdSe-wu/OPT/pdos.dat
CdSe-wu/OPT/pdos.eps
CdSe-wu/OPT/pdos.gpt
CdSe-wu/OPT/pdos.png
CdSe-wu/OPT/pdos.legend.txt
GaN-wu/LSDA/XTAL/
GaN-wu/LSDA/XTAL/README
GaN-wu/LSDA/OPT/GaN-w2-LSDAo.chk.bz2
GaN-wu/LSDA/OPT/GaN-w2-LSDAo.out
GaN-wu/LSDA/OPT/band.dat
GaN-wu/LSDA/OPT/bandk.dat
InP-B3LYP/
InP-B3LYP/InP-z-B3LYPx.chk.bz2
InP-B3LYP/InP-z-B3LYPx.gjf
InP-B3LYP/InP-z-B3LYPx.out
InP-B3LYP/InP-z-B3LYPx.pbs
InP-B3LYP/band.dat
InP-B3LYP/bandk.dat
InP-B3LYP/pdos.dat
InP-B3LYP/pdos.legend.txt
MgO/
MgO/HSE/XTAL/
MgOHSE/XTAL/deleteme
MgO/HSE/OPT/
MgO/HSE/OPT/MgO-rs_o.chk.bz2
MgO/HSE/OPT/MgO-rs_o.gjf
MgO/HSE/OPT/MgO-rs_o.out
MgO/HSE/OPT/MgO-rs_o.pbs
MgO/HSE/OPT/pdos.dat
MgO/HSE/OPT/pdos.legend.txt
MgO/TPSS/
MgO/TPSS/MgO-TPSSx.chk.bz2
MgO/TPSS/MgO-TPSSx.gjf
MgO/TPSS/MgO-TPSSx.out
MgO/TPSS/Readme-2-this-is-weird
Si-TPSS/Si-d-TPSSx.out
Notice that none of the les or directories specied in the xclud le on the previous page are down-
loaded, while non-gaussian-generated les including text (README, deleteme, etc.), image
(eps, png), Gnuplot (gpt), and BS/PDOS dat les are all copied recursively.
rsync cmds as aliases are very convenient, e.g., in the .bashrc le:
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), Specically, 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