The Definitive Guide to G09 PBC Calculations
Transcription
The Definitive Guide to G09 PBC Calculations
Solid State Calculations Using gaussian: The Definitive Guide to G09 PBC Calculations April 25, 2012 Contents 1 Conventions Used in this Document 1.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Additional Input Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Using the ICSD: Starting Structures 2.1 Performing A Search . . . . . . . . . . . 2.2 Saving the cif Files . . . . . . . . . . . . 2.3 A Sample cif File . . . . . . . . . . . . . 2.4 Opening the cif File in GaussView . . . 2.5 Saving a Job File Derived from a cif File 6 6 7 . . . . . 8 9 12 14 16 17 . . . . . . . . . 18 18 19 19 19 20 22 22 23 25 . . . . . 26 26 27 27 28 29 . . . . 30 30 30 31 32 6 Spin-Orbit Calculations 6.1 Example 1: Ge with ECP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Example 2: Hg with ECP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 35 7 Dispersion Calculations 36 . . . . . 3 PBC Input Files 3.1 A Sample Input File . . . . . . . . . . . . 3.2 PBC Single Point Energy Calculations . . 3.2.1 Link 0 Commands . . . . . . . . . 3.2.2 The Route: Lines 1-3 . . . . . . . . 3.2.3 Title and Coordinate Specifications 3.3 Geometry Optimizations . . . . . . . . . . 3.3.1 Line-By-Line Description . . . . . . 3.4 Constrained Geometry Optimizations . . 3.5 Restarts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Antiferromagnetic Guess Calculations 4.1 Input . . . . . . . . . . . . . . . . . . . . . . 4.2 Example 1: H Triplet → Singlet . . . . . . . 4.3 Output File Info . . . . . . . . . . . . . . . 4.4 Example 2: Cr Triplet → Singlet . . . . . . 4.5 Example 3: LaTiO3 Ti Quintuplet → Singlet 5 Variable Magnetic Moment Calculations 5.1 Input . . . . . . . . . . . . . . . . . . . . 5.2 Output . . . . . . . . . . . . . . . . . . . 5.3 Example 1: Linear Monostrand of Pd . . 5.4 Example 2: Uranium Nitrides . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Running Band Structure and PDOS Jobs 8.1 The Usual Case: PDOS and BS Simultaneously 8.2 PDOS Only . . . . . . . . . . . . . . . . . . . . 8.2.1 Input Example . . . . . . . . . . . . . . 8.2.2 PDOS Output . . . . . . . . . . . . . . . 8.3 Band Structure Only . . . . . . . . . . . . . . . 8.3.1 Example Input File . . . . . . . . . . . . 8.3.2 Output Files . . . . . . . . . . . . . . . . 8.4 Obtaining BS/PDOS Later . . . . . . . . . . . . 8.5 Detailed Description of BS/PDOS IOps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 37 39 39 39 40 40 40 41 42 9 Symmetry 9.1 A Sample band.inp File . . . . . . . 9.2 Determining the SG for 3-D Systems 9.3 2-D Slabs/Films . . . . . . . . . . . . 9.4 1-D Monolayers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 44 45 47 47 10 Plotting BS and PDOS 10.1 A Basic PDOS Plot . . . . . . . . 10.2 A Sample PDOS *.gpt File . . . 10.3 Plotting Band Structure . . . . . 10.3.1 Using gpband to Plot BS 10.3.2 Default gpband Output . 10.3.3 Annotated Default gp File 10.3.4 Modified BS Output . . . 10.4 Locating k-Points . . . . . . . . . 10.4.1 Easy Indirect Gaps . . . . 10.4.2 Special Gaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 48 49 50 50 50 51 52 53 53 53 . . . . . . 54 54 56 57 57 57 57 . . . . . 58 59 59 60 60 61 . . . . . . . . . . . . . . . . . . . . 11 Increasing the Accuracy and Efficiency of PBC 11.1 Practical Tips for G09 PBC Calculations . . . . 11.2 Diffuse Functions . . . . . . . . . . . . . . . . . 11.3 All PBC Keywords . . . . . . . . . . . . . . . . 11.3.1 Description . . . . . . . . . . . . . . . . 11.3.2 Options . . . . . . . . . . . . . . . . . . 11.3.3 Availability . . . . . . . . . . . . . . . . 12 Submitting Jobs at Rice 12.1 Modules: General Procedure 12.2 What You See: Logging In . 12.3 Module Commands . . . . . 12.3.1 Module Avail . . . . 12.3.2 Module Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3.3 Module List . . . . . . . . . . . . . 12.3.4 Module Unload . . . . . . . . . . . 12.3.5 Modules & Submission . . . . . . . 12.4 G09 Modules Available on STIC . . . . . . 12.4.1 Applications Modules on STIC . . 12.5 Modules Available on Group Workstations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 61 62 63 64 13 Scripts 13.1 PBS Submission Scripts (Rice-Specific) . . . . . . . . . . . . 13.1.1 STIC Serial Job PBS Submission Script . . . . . . . 13.1.2 STIC Parallel (Linda) Job PBS Submission Script . . 13.1.3 DaVinci Parallel (Linda) Job PBS Submission Script 13.1.4 BioU Serial Job PBS Submission Script . . . . . . . . 13.2 PDOS Vertical Template . . . . . . . . . . . . . . . . . . . . 13.3 PDOS Horizontal Template . . . . . . . . . . . . . . . . . . 13.4 Band Structure: gpband Default . . . . . . . . . . . . . . . 13.5 Band Structure: Modified AlSb (HISS) gpt File . . . . . . . 13.6 BS and PDOS Multiplot Example . . . . . . . . . . . . . . . 13.6.1 Header and Multiplot Set-Up . . . . . . . . . . . . . 13.6.2 Band Structure Plot . . . . . . . . . . . . . . . . . . 13.6.3 Band Structure Plot–II . . . . . . . . . . . . . . . . . 13.6.4 The Rotated PDOS Plot-I . . . . . . . . . . . . . . . 13.6.5 The Rotated PDOS Plot-II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 66 66 67 68 69 70 71 72 73 74 74 75 76 77 78 14 PBC Functionals 14.1 Scuseria Functionals . . . 14.2 Just-For-Solids Functionals 14.3 (Semi)Local Functionals . 14.4 Global Hybrids . . . . . . 14.5 Functional Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 80 80 81 81 81 15 Basis Sets for Extended Systems 15.1 Example: The 6-311G Basis Set for Fluorine . . . . . . . . . 15.2 Modifying Basis Sets for PBC Calculations . . . . . . . . . . 15.2.1 Basis Set Databases . . . . . . . . . . . . . . . . . . 15.2.2 Example 1: Modified PBC Basis Sets with No ECPs 15.2.3 Example 2: Modified Arsenic Basis Set + ECP . . . 15.2.4 Example 3: Step-by-Step Modification for Cl . . . . . 15.3 Using the EMSL . . . . . . . . . . . . . . . . . . . . . . . . 15.3.1 Example: Ge . . . . . . . . . . . . . . . . . . . . . . 15.4 Converting cry to gbs Files: gbsutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 82 83 84 84 85 86 88 88 89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Backing Up Your Data 16.1 Using rsync: Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 90 90 1 Conventions Used in this Document The following conventions will be used throughout: • KEYWORDS when discussed in the text will be in Bold face font • IOps when discussed in the text will be in red. • Input and Output files for/from a G09 job, when discussed in the text, will be in green. • External URL links will be in blue. • Internal links to sections or files within this pdf file will be in a darker, navy blue. • Directory paths on GUSCUS or any other machine will appear in, violet2. • sgu1 is an imaginary Scuseria Group User with an ID in the style that Rice uses, which is typically 3 initials from your name followed by a number. sgu1 appears in several examples... 1.1 Examples Generally, the EXAMPLES will be in monospace font and indented, e.g. Like this and thus ready to use for a G09 job. Types of examples to expect include: 1. INPUT and or the ROUTES 2. OUTPUT and or the cmd line commands to watch/work-up a job 3. Scripts (PBS, etc.) if small enough, will be included in Section 13 of this document or accessible locally by SCP from guscus:/projects/guscus/Manuals/scripts/. 4. Small Basis Sets for illustrative purposes will be included in Section 15. Links or paths to a database, if one exists, will also be listed in this section. Note that the basis sets are generally not small since we are not limited to H, He, Li and Be in the 21st century. All of these files should be immediately useable via cut-N-paste from this document. Acrobat Reader should allow this, Evince does not always work. If not, there will always be some template, somewhere. (But Acrobat works pretty much most of the time.) 6 Sec. 1: Conventions Used in this Document 1.2 Additional Input Examples Please note that there are numerous additional examples of PBC jobs that are small enough to run relatively quickly. Many of these may be taken from the Heyd 2005 paper on HSE, (#265). The unmodified (HSE03) input files and basis sets from this paper are located at online. Simply replace the route line below in those *.com files, with the recommended route in Sections 3.2.2-3.2.3). %chk= file.chk #p HSEh1PBE/GenECP Int(Grid=UltraFine) Pop=Regular FMM=(print) IOp1=timestamp IOp(5/13=1,5/33=1) SCF=(NoVarAcc,NoIncFock,Tight) A local version of the sc40 test set, implementing the above HSE-for-PBC route and including all basis sets is located at: guscus:/projects/guscus/Manuals/examples/sc40 Last Modified March 26, 2012 7 2 Using the ICSD: Starting Structures The ICSD Web database is located at icsd.fiz-karlsruhe.de. For Rice users free access is available via IP address at icsd.fiz-karlsruhe.de.ezproxy.rice.edu. • The red rectangle in the center shows you how you are logged in. If it does not show that you are logged in through Rice then you have access to the full database. You cannot access the full database at home, or remotely, since the license is via IP address.) • The orange arrow to the right indicates how you can log in, and personalize your account. This feature allows you to save your searches, which is very handy. • The yellow rectangle to the right shows you all of the options available for the different searches. Chemistry is the most frequently used option. • NOTE: The contents of the center section change, depending upon the chosen option, while the choices to the far left and right remain the same. 8 Sec. 2: Using the ICSD: Starting Structures 2.1 Performing A Search Once you have logged in, you should see a page similar to that depicted in Figure 1. Go to the left column and click “Chemistry,”as is delineated by the red arrow. Figure 1: The ICSD page once you have logged in and are ready to begin a search. Once you have clicked on “Chemistry” you will be provided with an empty form, as in Figure 2. 1. Type in the element/compound/alloy/system you are interested in the line marked by thered arrow This example is for bcc Cr. 2. Enter the number of elements in the system.orange arrow. (In this case “1”.) 3. Hit “Run Query” on the left. green arrow. Figure 2: The ICSD page once you have logged in and are ready to begin a search. Notice that the lower right of Figure 2 has saved searches, indicated by the blue arrow in the lower left corner. You can save your searches and recall them as necessary. 9 Sec. 2: Using the ICSD: Starting Structures The various crystal structures for your system available in the database then appear, as in the Cr example discussed and in Figure 3, below. 1. It is better to use the most recent and/or highest quality structures, but in this example, the “High Quality Data only” option does not reduce the number of structures. (See the red arrow to the far left.) 2. The ICSD generally reports only the Hermann-Mauguin notation (HMN) to report the symmetry elements in the space groups. See the orange arrow to the left. (The space group in HMN and as number(s) are in the *.cif files.) • The 4th column has the Structure Type, which is also listed in the band.inp file names. So, since, we know we want bcc-Cr and it is a metal like W (Tungsten) select the Im3̄m structure. • - BUT - what if you do not know that much? Refer to Section ?? for more information on determining symmetry in various dimensions. 3. Simply select the structure(s) with the space group(s) you need. See the Green arrow. 4. Click “Export Selected Data” at the top, right, as indicated by the blue arrow. 10 Sec. 2: Using the ICSD: Starting Structures Figure 3: Some of the many crystal structures available for Cr on the ICSD. Note that if the “Show Detailed View” button is clicked once the structure has been selected (purple arrow of Figure 3), that significantly more information about the structure appears, as shown in Figure 4. 1. The structure is a Jmol animation with free rotation in and out of the ICSD window/tab. 2. The Experimental section summarizes what can be found in the articles of the Bibliography section. 3. The Warnings and Comments may be helpful in determining the quality of the structure 4. Once satisfied, click the Export CIF File button. (Circled in red.) 11 Sec. 2: Using the ICSD: Starting Structures Figure 4: The detailed view for Cr cif file ID #44731. 2.2 Saving the cif Files The Export Selected Data page is depicted in Figure 5. 1. Enter the name of the cif file(s) in the form (circled in red.) 2. Click either “Single CIF FIle” or Multiple CIF Files to export. (red arrows.) • In the Cr example, there will be only one file saved, with the name Cr_bcc.cif • If multiple files are selected, they are saved as a zip file, with the filenames Cr_bccX.cif , with X= 1, 2, 3, ... once they are extracted. 12 Sec. 2: Using the ICSD: Starting Structures 3. Notice that there are two other formats: *.csv and *.xls, if tabulated data is desired. Figure 5: The Export Selected Data page for Cr cif file ID #44731. NOTE: GaussView can read *.cif files as is, so once they are downloaded, you are ready to go! Last Modified April 10, 2012 13 Sec. 2: Using the ICSD: Starting Structures 2.3 A Sample cif File This file has truncated symmetry equivalent positions. (See guscus:/projects/guscus/Manuals/Cr_44731.cif for the full file) #(C) 2012 by Fachinformationszentrum Karlsruhe. All rights reserved. data_44731-ICSD _database_code_ICSD 44731 _audit_creation_date 2000-12-16 _audit_update_record 2006-04-01 _chemical_name_systematic ’Chromium - alpha’ _chemical_formula_structural Cr _chemical_formula_sum Cr1 _chemical_name_structure_type W _exptl_crystal_density_diffrn 7.19 _cell_measurement_temperature 293. _publ_section_title ; The absorption and refraction corrections and the lattice constants of chromium ; loop_ _citation_id _citation_journal_full _citation_year _citation_journal_volume _citation_page_first _citation_page_last _citation_journal_id_ASTM primary ’Zhurnal Eksperimental’noi i Teoreticheskoi Fiziki’ 1964 47 476 479 ZETFA7 loop_ _publ_author_name ’Straumanis, M.E.’ ’Weng, C.-C.’ _cell_length_a 2.88494(7) _cell_length_b 2.88494 _cell_length_c 2.88494 _cell_angle_alpha 90. _cell_angle_beta 90. _cell_angle_gamma 90. _cell_volume 24.01 _cell_formula_units_Z 2 _symmetry_space_group_name_H-M ’I m -3 m’ _symmetry_Int_Tables_number 229 14 Sec. 2: Using the ICSD: Starting Structures loop_ _symmetry_equiv_pos_site_id _symmetry_equiv_pos_as_xyz 1 ’z, y, -x’ 2 ’y, x, -z’ 3 ’x, z, -y’ 4 ’z, x, -y’ 5 ’y, z, -x’ 6 ’x, y, -z’ 7 ’z, -y, x’ 8 ’y, -x, z’ 9 ’x, -z, y’ 10 ’z, -x, y’ 11 ’y, -z, x’ 12 ’x, -y, z’ 13 ’-z, y, x’ 14 ’-y, x, z’ 15 ’-x, z, y’ 16 ’-z, x, y’ 17 ’-y, z, x’ 18 ’-x, y, z’ 19 ’-z, -y, -x’ 20 ’-y, -x, -z’ (TRUNCATED) . . . 96 ’x+1/2, y+1/2, z+1/2’ loop_ _atom_type_symbol _atom_type_oxidation_number Cr0+ 0 loop_ _atom_site_label _atom_site_type_symbol _atom_site_symmetry_multiplicity _atom_site_Wyckoff_symbol _atom_site_fract_x _atom_site_fract_y _atom_site_fract_z _atom_site_B_iso_or_equiv _atom_site_occupancy _atom_site_attached_hydrogens Cr1 Cr0+ 2 a 0 0 0 . 1. 0 #End of data_44731-ICSD 15 Sec. 2: Using the ICSD: Starting Structures 2.4 Opening the cif File in GaussView Figure 6: The GaussView main console. 1. On the menu bar, select FILE → OPEN (See Figure 6.) 2. A window will appear as in the left of Figure 7 3. Select in the File type window “Crystallographic Information Files (*.cif)” 4. Go to the directory you want and select the cif file you want 5. The file name should appear in parentheses in the first box e.g., “BaTiO3.cif” 6. Click the blue Open button to the left and GaussView will open the structure 7. A new window will open with the crystal structure inside the box defined by the lattice parameters. (See the right image of Figure 7.) • Note that the lower left corner contains information about the number of atoms, and electrons as well as the charge and multiplicity. • The information to the right will change upon selection of atoms or bonds. 8. Manipulate the file as you wish and then save. Figure 7: GaussView for cif files. Left: The window to select and open a cif file in your directory. Right: The periodic system with cell axes and atoms constructed from the cif file by GaussView. 16 Sec. 2: Using the ICSD: Starting Structures 2.5 Saving a Job File Derived from a cif File Figure 8: The Calculation Menu to set up and save a gjf file. 1. On the menu bar, select CALCULATE → Gaussian Calculation Setup... (See Figure 8.) 2. If you have already save a calculation scheme, you may do this, instead. 3. A window will appear as in Figure 9 4. All requisite keywords/IOps discussed in Section 3 are input via the Additional Keywords line. 5. Paths to basis sets or ECPs can be added via the Add. Input tab to the far right. 6. Store the file first by hitting the Retain button at the bottom (5th ) from the left. 7. Save it as a *.gjf file by going to the main window under FIle → Save. Figure 9: GaussView window for setting up a job. 17 3 PBC Input Files The example below contains the minimal input file you will need for running a PBC job. Copying the route and using it should ensure that any small test PBC job will run reasonably smoothly. 3.1 A Sample Input File %chk=CdS-wu_x.chk #p HSEh1pbe/GenECP Int(Grid=UltraFine) pop=regular fmm=(print) IOp1=timestamp IOp(5/13=1,5/33=1,5/181=10,5/184=186) SCF=(NoVarAcc,NoIncFock,Tight) CdS-Wurzite (hexagonal) using basis set from JJ Sowa xtal Solid State Sciences 2005 7 73 78 0 1 Cd S Cd S Tv Tv Tv 0.00000000 0.00000000 2.06825000 2.06825000 4.13650000 -2.06825000 0.00000000 2.38820939 2.38820939 1.19410469 1.19410469 0.00000000 3.58231408 0.00000000 0.00000000 2.53193200 3.35800000 5.88993200 0.00000000 0.00000000 6.71600000 @/projects/guscus/basis/cd-heyd.gbs/N @/projects/guscus/basis/s-mHeyd2005.gbs/N Quick File Description 1. Link 0 commands: checkpoint file specification (%mem etc., added in *.pbs files) 2. The route 3. The title line(s) 4. Charge and multiplicity specifications 5. Coordinates (for a unit cell, now, not a molecule) 6. Three translation vectors, labeled by Tv 7. The basis set specification 18 Sec. 3: PBC Input Files 3.2 PBC Single Point Energy Calculations A detailed description of each line and/or section of the input file in Section 3.1 is provided in the subsections that follow. Most requirements parallel what is normally used for molecular calculations. (See the Gaussian09 Online Users Manual.) 3.2.1 Link 0 Commands 1. A checkpoint, *.chk file is vital: PBC jobs run long, are prone to crash, and are necessary for BS/PDOS calculations. 2. %mem, %NProcShared, scratch file names/locations and other commands will be added via the various PBS scripts and are not necessarily PBC-related – other than that memory requirements will be much larger than those of molecules, and running in parallel becomes especially useful. 3.2.2 The Route: Lines 1-3 1. #p – Requests more verbose print-out. *ALWAY* use. 2. HSEh1PBE – Functional specification • HSEh1PBE is the HSE06h version of HSE – the most current and accurate “flavor” of HSE. USE THIS FOR HSE. • Frequently used functionals are SVWN5, PBE, TPSS, PBEsol, and HISS. • All other functionals, the appropriate keywords and/or IOps are tabulated in the Functionals section, Section 14. • References for the various functionals are also in Section 14 or may be found locally as bib file at guscus:/projects/guscus/Manuals/functionals.bib. 3. GenECP – Basis set specification: read in a basis set and and an ECP • GenECP is equivalent to the combination of Gen and Pseudo=Read. • If no ECP is required, use the keyword, Gen. 4. Int(Grid=Ultrafine) – always use, period. • To make valid energy comparisons among two or more jobs, the same grid must be used and the Ultrafine grid is generally better for PBC calculations... • Note that there are numerous ways to specify this grid: consult the G09 Keyword page to see the other variations. (G09 input is essentially free-format, so case usually DOES NOT matter.) 5. Pop=Regular – molecular orbital printing and several types of population analysis. • Absolutely necessary for computing Band Structure and PDOS: leaving it out will result in much distress. Section 8.1. 19 Sec. 3: PBC Input Files • Using the Pop=FULL option will result in an... overly large file. 6. FMM=Print and IOp1=timestamp are useful for debugging and timings • Odds are, you will use these at some point: put them in your template and be glad later. 7. Other important PBC IOps: (Check the G09 IOps Page for more details. These are all Overlay 5 → Direct link to Overlay 5) • 5/13=1 – continue running even in spite of non-convergence, ILSW flag ON • 5/33=1 – eigenvalues and MOs printed at end • 5/181=10 – run a PDOS calculation (See Section 8.2.) • 5/184=### – look for a band.inp file of space group ### and compute the band structure. – e.g., 186 = Wurtzite/hexagonal; 216 = Zincblende; 227 = Diamond, ... – See Sections 8.3 and 9.1. 8. The SCF settings are key for both energy calculations and optimizations. Again,this is the minimal route for a PBC job. See the specific keyword pages for more details. • NoVarAcc – Do not use the default of modest integral accuracy early in direct SCF, switching to full accuracy later on. • NoIncFock – Prevents the use of incremental Fock matrix formation, and it is the default for conventional SCF • Tight – SCF=Tight, should be default: SCF details. – Note that "tight" varies by Gaussian version for PBC, so explicitly stating this is a safety measure. – If in doubt, check your output file. – There is a definite difference between HSE03 and HSE06. 3.2.3 Title and Coordinate Specifications Notice that very little differs from a molecular file specification... 1. Line 4 starts the Title Section • Cannot exceed five (5) lines and must be preceded and followed by a blank line. • Do not use @ # ! - _ \ or any control characters (especially Ctrl-G) • Use for “notes” e.g., recording the name, symmetry, ICSD ID and lattice parameters of the compound, etc.. 2. Charge and multiplicity specifications • Charge is the number to the left, multiplicity the number to the right. 20 Sec. 3: PBC Input Files • For a neutral singlet, will usually see 0 1, but be aware of an older notation using commas: 0,1 3. The unit cell coordinates. • xyz Cartesian coordinates • Usually from a *.cif file downloaded from a database, like the ICSD, see Section 2. • Can be aprimitive, the full unit cell or a supercell. NOTE: • Databases generally provide the unit cell, not the primitive cell. 4. The translation vectors always follow the cell coordinates • Labeled by Tv, or numerically as -2. • Correspond to the x, y and z directions, respectively. • Note that these directions/planes do not necessarily correlate with those for various Miller Indices of interest: when going from 3-D to a 2-D slab or 1-D monolayer, simply deleting one (or two) of the rows from the bulk structure may not result in the desired lower dimensional structure. • Always followed by a blank line. 5. The basis set specification using a path • The/N prevents the basis set from being printed at the beginning if the output file • Alternatively, the basis set and/or ECP can be added to the end of the file, as in molecular calculations 6. There are cases where additional specifications may be added to a file. For examples, review the sample input files in Sections 4, 5, and 6. This example, with the complete input file (including both basis sets) and the corresponding output file is provided locally at: guscus:/projects/guscus/Manuals/examples/CdS-wu/. Last modified March 26, 2012 21 Sec. 3: PBC Input Files 3.3 Geometry Optimizations Note that both the lattice parameters *and* the atomic positions are relaxed within a gaussian PBC optimization. Below is an example route for a PBC Optimization: %chk=CdS-wu_x.chk #p HSEh1pbe/GenEcp Int(Grid=UltraFine) Pop=Regular FMM=(Print) IOp1=timestamp IOpp(5/13=1,5/33=1,5/181=10,5/184=186) SCF=(NoVarAcc,NoIncFock,Tight) Opt Guess=(Read,Fock) 3.3.1 Line-By-Line Description 1. Keep the SCF=(NoVarAcc,NoIncFock,Tight) specification. 2. Add the keyword Opt 3. PBC optimizations benefit greatly from an initial guess, hence; Guess=(Read,Fock). • Why Guess=(Read,Fock) and not just Guess=(Read)? • According to Dr. Cristian V. Diaconu, reading from the Fock matrix is better because: “Guess=Read uses the Fock matrix if NMtPBC in the chk file is the same as that of the current calculation, otherwise, it uses the MO coefficients, folded in the unit cell. The latter is good for weakly-interacting molecular solids, but becomes increasingly bad as the inter-cell interaction increases. For nonmolecular solids I suggest always using Guess=(Read,Fock).” 4. The *chk files can become very, very large (hundreds of MB or even a tens of GB) • If running a big job, back up the *chk file periodically. A corrupted checkpoint file is an extremely sad thing • The STIC/DaVinci/BlueBioU file systems can and *will* corrupt checkpoint files – such is the price of cutting-edge computing. 22 Sec. 3: PBC Input Files 3.4 Constrained Geometry Optimizations This information originates from an email exchange between Rich Martin from LANL and Dr. Fernando R. Clemente of Gaussian Technical Support. Check Section 11.3 for notes on additional PBC keyword usage. The best way to apply constraints in these geometry optimizations would be to use the keyword Opt=ModRedundant, symbolic Z-matrices would not work well for PBC optimizations. The trick in applying constraints to PBC geometry optimizations is to get the correct numbering right. Note that the translation vectors count for the purpose of atom numbering even though they are obviously not atoms and thus their numbers cannot be used directly to apply a constraint. So, for example, if one wants to freeze the length of a translation vector, the constraint would be to freeze the interatomic distance between an atom in the origin cell and the same atom in the contiguous cell along the direction of the translation vector of interest. In a 3-D periodic calculation, there are 8 cells to consider, the origin cell (O) and seven contiguous cells (one along each one of the three translation vector, T1, T2 and T3, plus the four contiguous cells along the diagonals, T1+T2, T1+T3, T2+T3, and T1+T2+T3). The following shows how these cells are ordered for atom numbering purposes: Cell Start End O 1 T3 N+1 T2 2N+1 T2+T3 3N+1 T1 4N+1 T1+T3 5N+1 T1+T2 6N+1 T1+T2+T3 7N+1 N 2N 3N 4N 5N 6N 7N 8N where N is the number of entries in the input file, that is the number of "real" atoms plus the three translation vectors. For instance, in the input file you sent here, you have 12 atoms plus the three translation vectors, that makes N=15. If you were to freeze the length of the first translation vector (T1), you could freeze, for instance, the interatomic distance between atom 1 (in cell O) and atom 61 (same atom but in cell T1). In your case, I see that you would like to constrain the lengths of T1 and T2 to be the same, not just freeze the length. Unfortunately, the redundant internal set does not allow to impose the identity condition between two coordinates. However, for this particular case, it would still be possible to do what you are trying here. In order to keep the lengths of T1 and T2 equal during the optimization, you could freeze the angle between an atom in cell T1, the same atom in cell O, and the same atom in cell T1+T2. This angle 23 Sec. 3: PBC Input Files should bisect the angle between T1-O-T2. So, given that your translation vectors form an angle of 90 degrees, the T1-O-T1+T2 angle should be frozen to be 45.0 degrees, exactly at the bisection (which implies that the two translation vectors will be equal in length). Below is an example of how to do this for your input file. #p uTPSStpss/Gen PBC=(nkpoint=2000) pop=regular SCF=(convergence=7,maxcycles=64,NoVarAcc) Guess=(Read,Fock) OPT=modredun V4O8 tetragonal rutile 0 5 V O O V V V O O O O O O Tv Tv Tv A 61 1 31 90.0 F A 61 1 91 45.0 F (high temperature); 1.27880629 0.27860530 1.81959437 3.48744003 2.73205066 0.52341693 4.48764102 3.73225165 -0.47678407 2.94665196 2.19126259 1.06420500 4.55460000 0.00000000 0.00000000 4.44482660 0.95052300 3.32683050 2.18167660 0.08147340 2.34462340 3.21367300 3.57577700 1.31262700 1.06368050 1.19946950 3.46261950 0.00000000 4.55460000 0.00000000 Towler V and O basis; -0.22374016 0.87756065 0.96076224 1.19205909 3.77512190 2.35932265 0.09075828 2.67382109 3.46062345 0.00755669 2.59061950 3.54382505 0.00000000 0.00000000 5.70280000 ! T1-O-T2 angle 90 deg. ! T1-O-T1+T2 angle bisects above angle @v_towler.bas @o_towler.bas Last Modified March 29, 2012 24 Sec. 3: PBC Input Files 3.5 Restarts For both energy calculations and optimizations, adding Restart is sufficient, i.e., • Energy Calculation: SCF=(NoVarAcc,NoIncFock,Tight,Restart) • Optimization: SCF=(NoVarAcc,NoIncFock,Tight) OPT=Restart See also Section 3.4 for instructions on how to run constrained geometry optimizations Last modified March 27, 2012 25 4 Antiferromagnetic Guess Calculations The "Antiferromagnetic Guess" or "Spin-Flip" code for PBCS "flips" the spin density for a given set of atoms. It is useful for generating AFM (antiferromagnetic) guesses from FM (ferromagnetic) calculations. NOTE: For version G09-b1-pbc-2.3 the IOps are: 1. 5/150=1 turn on the AFM guess 2. 5/150=0 turn off the AFM guess (default) 3. AGAIN: These IOps change by version, so check before running. 4.1 Input If the AFM guess is turned on, a list of atoms whose spin densities are to be flipped should be specified after a blank line from the input file. This is best accomplished by running a two-part calculation using Link 1. (See Section 4.2 for more details.) 1. The first part of the input file should be the "unflipped" system 2. Add a blank space 3. Add –Link1– 4. The new route will include Guess=(Read,Fock), IOp(5/150=1) and NoSymm. The NoSymm keyword prevents the reorientation and causes all computations to be performed in the input orientation. 5. Add the new spin multiplicity, e.g., 0 3 → 0 1 6. Input the coordinates again (could Geom=Allchk be used) 7. Input ONE (1) blank line after the last Tv 8. Add the list of atoms that will be spin flipped • Specify according to the atom numbers • Apparently vertically specified (See 4.5.) 26 Sec. 4: Antiferromagnetic Guess Calculations 4.2 Example 1: H Triplet → Singlet In the following example, the comments are actually *in* the G09 input file. %chk=H.chk #p PBEPBE/cc-pvtz PBE H note this starts out as a triplet and will be flipped 0,3 H H TV 0.0000 0.000 0.0000 0.0000 0.000 1.1000 0.0000 0.000 2.2000 --Link1-%chk=H.chk #p PBEPBE/cc-pvtz Guess={Read,Fock} IOp(5/150=1) NoSymm PBE H note that the total spin multiplicity is now 1 0,1 H H TV 0.0000 0.000 0.0000 0.0000 0.000 1.1000 0.0000 0.000 2.2000 ! LIST OF ATOMS WHERE THE SPIN SHOULD BE FLIPPED ! Note only 1 linee between the Tv and the atom list 1 4.3 Output File Info At the beginning of the SCF, the output file should contain the following message: "AfmFkG: AFM guess by flipping spin density" followed by the list of atoms and basis sets involved in the spin flipping. The input and output files – with comments – are located locally at: guscus:/projects/guscus/Manuals/AFMGuess/Example1-H. 27 Sec. 4: Antiferromagnetic Guess Calculations 4.4 Example 2: Cr Triplet → Singlet %chk=Cr.chk #p PBEPBE/LANL2DZ PBE Cr 0,3 Cr Cr TV 0.0000 0.000 0.0000 0.0000 0.000 2.4000 0.0000 0.000 4.8000 --Link1-%chk=Cr.chk #p PBEPBE/LANL2DZ guess=read IOp(5/150=1) PBE Cr ! ! **** note that total spin multiplicity here is 1. ! 0,1 Cr 0.0000 0.000 0.0000 Cr 0.0000 0.000 2.4000 TV 0.0000 0.000 4.8000 !LIST OF ATOMS WHERE THE SPIN SHOULD BE FLIPPED 1 Information from the output file: [sgu1@gw Example2-Cr]$ grep "SCF D" *.log SCF Done: E(UPBE-PBE) = -172.513542291 SCF Done: E(UPBE-PBE) = -172.571323846 A.U. after A.U. after 55 cycles 30 cycles 1st line: Converged SCF energy corresponding to that of the triplet. 2nd line: Converged SCF energy corresponding to that of the singlet arising post spin-flip. A sample version of the input and output with comments is located locally at: guscus:/projects/guscus/Manuals/AFMGuess/Example2-Cr. 28 Sec. 4: Antiferromagnetic Guess Calculations 4.5 Example 3: LaTiO3 Ti Quintuplet → Singlet In the following example, the comments are actually *in* the G09 input file. Notice the free-format of the G09 input files... %chk=LTO.chk #p UPBEpbe/GEN pseudo=read Int=Grid=Ultrafine iop(5/13=1,5/33=1,3/18=1,3/65=-25) GFInput pop=regular SCF=tight Ferro magnetic LaTiO3 Spin UP for all Ti atoms 2,8,9,10 0,5 La,0,3.0649514287,-2.2692554128,-1.580103775 Ti,0,0.27940315,-2.4932384439,-3.5559414972 O,0,-2.2052614311,0.2766559378,-1.5802918116 O,0,1.4815133703,-0.890960693,-3.3214858263 La,0,-2.5045921227,2.8229404289,2.3702238711 La,0,0.2660765836,0.0554120936,2.3713792713 La,0,0.2942660209,0.4982535617,-1.5812458804 Ti,0,0.2793469199,-2.490041081,0.3961952352 Ti,0,-2.5196374746,0.2743011984,-3.5568557237 Ti,0,-2.5197041276,0.2775004992,0.3952969214 O,0,2.7656449004,0.277038938,2.3704292974 O,0,0.5937990896,-2.4894430993,2.3716929806 O,0,-0.0334301204,3.0431335943,-1.5815593191 O,0,-0.922206137,1.443200864,0.6296615465 O,0,-1.3188302628,-1.3219594526,4.112984379 O,0,1.8777073771,1.8772833843,0.1591920659 O,0,-0.9211487908,1.4446548897,4.1116294151 O,0,1.4825626149,-0.8895175017,0.1604564175 O,0,1.8791897066,1.8756333904,-3.322861073 O,0,-1.3173586107,-1.3236264087,0.6309382415 TV,0,5.5997593459,-0.0013274988,-0.0004424492 TV,0,0.0016897946,5.5337445538,-0.0022507369 TV,0,-0.0001024768,0.0064109731,7.9042794351 ! used basis sets @2_mod_SVP_Ti.gbs, SVP_O.gbs, 2_SVP_La.gbs get from Fadwa El-Mellouhi ! [email protected] %-------------------------------------------------%chk=LTO.chk #p UPBEpbe/GEN pseudo=read Int=Grid=Ultrafine Guess(Read,Fock) IOp(5/13=1,5/33=1,3/18=1,3/65=-25,5/150=1) GFInput pop=regular SCF=tight AntiFerromagnetic state will be obtained from the previous run by activating the IOP 5/150=1 indicating to flip spin for the Ti atoms. Atoms 8 and 9 will have spin DOWN while 2 and 10 will keep spin UP. 0,1 La,0,3.0649514287,-2.2692554128,-1.580103775 Ti,0,0.27940315,-2.4932384439,-3.5559414972 O,0,-2.2052614311,0.2766559378,-1.5802918116 O,0,1.4815133703,-0.890960693,-3.3214858263 La,0,-2.5045921227,2.8229404289,2.3702238711 La,0,0.2660765836,0.0554120936,2.3713792713 La,0,0.2942660209,0.4982535617,-1.5812458804 Ti,0,0.2793469199,-2.490041081,0.3961952352 Ti,0,-2.5196374746,0.2743011984,-3.5568557237 Ti,0,-2.5197041276,0.2775004992,0.3952969214 O,0,2.7656449004,0.277038938,2.3704292974 O,0,0.5937990896,-2.4894430993,2.3716929806 O,0,-0.0334301204,3.0431335943,-1.5815593191 O,0,-0.922206137,1.443200864,0.6296615465 O,0,-1.3188302628,-1.3219594526,4.112984379 O,0,1.8777073771,1.8772833843,0.1591920659 O,0,-0.9211487908,1.4446548897,4.1116294151 O,0,1.4825626149,-0.8895175017,0.1604564175 O,0,1.8791897066,1.8756333904,-3.322861073 O,0,-1.3173586107,-1.3236264087,0.6309382415 TV,0,5.5997593459,-0.0013274988,-0.0004424492 TV,0,0.0016897946,5.5337445538,-0.0022507369 TV,0,-0.0001024768,0.0064109731,7.9042794351 ! basis sets @2_mod_SVP_Ti.gbs @Basis/SVP_O.gbs @2_SVP_La.gbs 9 8 Local versions of the input and output files (with comments) are located at: guscus:/projects/guscus/Manuals/AFMGuess/Example3-LTO. Last Modified March 28, 2012 29 5 Variable Magnetic Moment Calculations The Variable Magnetic Moment (VMM) code is similar to that of the AFM Guess. For version G09-b1-pbc-2.3 the IOps are: 1. 5/150=-1 turn on the VMM code 2. 5/150=0 turn off the VMM guess (default) 3. NOTE: These IOps change by version – please check before running. 5.1 Input 1. The first part of the input file should be the "unflipped" system 2. Specify orbitals of interest, e.g., 5D 7F in Example ?? 3. Add a blank space 4. Add –Link1– 5. The new route will include Guess=(Read,Fock), IOp(5/150=-1) 6. Input the coordinates again (could Geom=Allchk be used?) 5.2 Output For final energy information: [sgu1@gw VMM]$ grep "SCF D" test.log SCF Done: E(US-VWN5) = -254.423823192 SCF Done: E(US-VWN5) = -254.500741669 A.U. after A.U. after 37 cycles 16 cycles To watch job progress, type: [sgu1@gw VMM]$ grep -A5 "VMM N" test.log which then provides the following information: VMM NIter= 20 Fermi level: -5.23345194178 Magnetic moment = 1.588292 Bohr magneton per unit cell Eferm= -5.233452 NE= 36 Er0= 0.00D+00 Er1=-7.11D-15 ZInLT1: VMM Cor=Cln Er=-1.60D+01 Sum= -209.923914275660400 ZInLT1: VMM Cor=Yes Er=-4.55D-13 Sum= -410.884531549023800 End of ZIntLT. Tue Mar 27 12:52:16 2012 0.03 cpu seconds. 30 Sec. 5: Variable Magnetic Moment Calculations 5.3 Example 1: Linear Monostrand of Pd NOTE: The reference data is taken from Dr. Juan Peralta’s calculations run with GDV-F.02. At the time of this writing, we used G09-B1. Please exercise caution if using older or newer versions. Files are accessible locally at: guscus:/projects/guscus/Manuals/VMM/Example1-Pd %chk=Pd.ccpvtzpp.SVWN5.5.V06.chk #p USVWN5/Gen Pseudo=read 5D 7F IOp1=timestamp SCF=(Conver=8,MaxCycle=300,CDIIS,NoIncFock,NoVarAcc) iop(5/33=1,5/13=1) PBC(NCellMin=120) Pd linear monostrand SVWN5 / 0,5 Pd Pd Tv multipl = 5 old example from Juan Peralta .000000 0.000 0.0 .00000 .000000 0.000 3.000 0.0 6.0000 ! basis set information provide in input file on ! guscus:/projects/guscus/Manuals/VMM/Example1-Pd ! Notice only one blank line between last Tv and --Link1-! --Link1-%mem=2500Mb %nproc=4 %chk=Pd.ccpvtzpp.SVWN5.5.V06.chk #p USVWN5/Gen Pseudo=read 5D 7F SCF=Tight Guess=Read IOp1=timestamp IOp(5/33=1,5/150=-1,5/13=1) scf=(conver=8,maxcycle=300,CDIIS,DAMP) PBC(NCellMin=120) Pd linear monostrand SVWN5 / 0,5 Pd Pd Tv multipl = 5 .000000 0.000 0.0 .00000 .000000 0.000 3.000 0.0 6.000 ! basis set information provide in input file on ! guscus:/projects/guscus/Manuals/VMM/Example1-Pd 31 Sec. 5: Variable Magnetic Moment Calculations 5.4 Example 2: Uranium Nitrides In the following example, the comments are actually *in* the G09 input file. This is somewhere in the Refractories directory. M. Lucero and V. Barone... This example is being specially prepared in order to optimize all aspects of your learning experience. Relevant files will be placed in: guscus:/projects/guscus/Manuals/VMM/Example2-UNx. Last Modified March 27, 2012 32 6 Spin-Orbit Calculations The key is to use a gdv version that has Spin-Orbit Coupling implemented and to use IOp(3/117=1). As of April 1, 2012, G09-B1 and gdv-H11 may be used with confidence, although gdv-H13 has been tested. 6.1 Example 1: Ge with ECP → The following job was run using gdv-H13. → This uses... IOps 5/193=1 and 5/155=3: Contact Irek W. Bulik for more information. %subst l302 .. %KJob l302 #p USVWN5/Gen Pseudo=Read 5d 7F IOp1=tstamp gfprint iop(3/117=1) NosSmm Bulk Ge with ECP spin-orbit. This is the "molecular" calculation only to generate the intracell SO matrix elements in the cell 0. @Ge.cell.geom ! Coordinates, basis sets and ECP are all online @Ge.bas @Ge-SO.ecp --Link1-%subst l502 .. #p USVWN5/Gen Pseudo=Read 5d 7F IOp1=tstamp SCF(maxcycle=60,conver=5) PBC(cellrange=60,NKPoint=1000) IOp(5/193=1) IOp(5/155=3) ! ! ! ! Bulk Ge with ECP spin-orbit. This is the PBC part. After a regular PBC calculation GDV will read the SO matrices from the previous (molecular) calculation for the 0-0 cell, add it to the Fock matrix, transform to k-space and diagonalize. @Ge.cell.geom ! Coordinates, basis sets and ECP are all online @Ge.bas @Ge-SO.ecp 33 Sec. 6: Spin-Orbit Calculations The output file provides the magnitude of the coupling via the cmd line: grep − A300 SCF D00 [sgu1@gw test-Ge-con]$ SCF Done: E(US-VWN5) NFock= 8 Spin-orb: E(2nd v) = TOTAL E(US-VWN5) grep -A3 "SCF D" Ge.SVWN5.SO.log = -588.414562597 A.U. after Conv=0.19D-05 -V/T= 2.4479 -0.270861610394E-02 A.U. = -588.417271213 A.U. 8 cycles Relevant job files may be accessed locally at: /projects/guscus/Manuals/Spin-Orbit/RECP-SO/test-pbc-3/testGe-con/ 34 Sec. 6: Spin-Orbit Calculations 6.2 Example 2: Hg with ECP → The following job was run using gdv-H13 %subst l302 .. %KJob l302 #p NoSymm UHF/Gen Pseudo=read 5d 7F SCF=NoVarAcc test IOp(3/117=1) Hg with ECP spin-orbit. This is the "molecular" calculation only to generate the intracell SO matrix elements in the cell 0. 0 1 Hg 0.0000 0.0000 0.0000 ! (12s12p9d3f2g)/[6s6p4d3f2g] basis set from Ref 37. ! The basis set and ECP are online in the full input file. . . . The output file provides the magnitude of the coupling: [sgu1@gw test-Hg-atom]$ grep -A3 "SCF D" SCF Done: E(UHF) = -152.532937892 NFock= 23 Conv=0.12D-07 Spin-orb: E(2nd v) = -0.155018692641 TOTAL E(UHF) = -152.687956585 *.log A.U. after 23 cycles -V/T= 3.9834 A.U. A.U. Relevant job files may be accessed locally at: /projects/guscus/Manuals/Spin-Orbit/RECP-SO/test-pbc-3/ttestHg-atom Last Modified March 29, 2012 35 7 Dispersion Calculations How to run Irek’s 2- and 3-body code based This example is being specially prepared in order to optimize all aspects of your learning experience. If you need immediate assistance, please contact Irek W. Bulik. Examples will eventually be locally available in: guscus:/projects/guscus/Manuals/Dispersion/. Last Modified March 23, 2012 36 8 Running Band Structure and PDOS Jobs Generally, it is easier to run PDOS and band structure calculations at the same time – if it becomes apparent that one part of the data is not needed, the extraneous output can always be deleted. Nevertheless, be aware that band structure and PDOS data tend to complement each other much of the time. 8.1 The Usual Case: PDOS and BS Simultaneously For the example route below, both PDOS and band data will be computed for the HSE single point energy calculation of a monolayer of MoS2 .[1] %chk=monohse.chk #p HSEh1PBE/GenECP Int(Grid=UltraFine) pop=regular FMM=print IOp1=timestamp iop(5/13=1,5/33=1) SCF=(NoVarAcc,NoIncFock,Tight) IOp(5/181=10,5/184=194) NOTE: 1. Both band structure and projected densities of states data will be produced at the end of this SPE calculation. • If this had been an optimization, band structure data would appear at the end of each opt cycle. • Some PDOS data files appear during an energy calculation (see Section 8.2 but all files do not appear until the job completes. 2. The IOp 5/181=10 indicates that G09 should calculate the PDOS. 3. The IOp 5/184=194 indicates that the k-path and labels for space group 194 (hexagonal) have been provided in the band.inp file. • The band.inp files are described in Section 9.1 and located locally at guscus:/projects/guscus/Manuals/binps/. • A band.inp file with the correct symmetry (see Section 9 must be copied, renamed and placed in the same directory as your job. 4. The monolayer is a 2-D system, so a modified band.inp file was used for this calculation. 5. Ensure that your pbs or other submission file has the following line at the very end: mkpdos -bias-from ‘‘$InpBase.out’’ -f -v >& mkpdos.log 37 Sec. 8: Running Band Structure and PDOS Jobs Relevant files for data work-up include: 1. G09 input and output files: *.gjf and *.out (See Section 3.) 2. The basis set file: mos_cvd.gbs (See Section 15.) 3. Band-relevant files: band.dat and bandk.dat (See Section 8.3.) 4. PDOS-relevant files: pdos.dat and pdos.legend.txt (See Section 8.2.) 5. A multiplot gnuplot file both.gpt that produces the plot. (See Section 13.6.) All relevant files to reproduce the plot in Figure 10 may be copied from: guscus:/projects/guscus/Manuals/examples/MoS2mono See Section 10 for explicit details on using Gnuplot for BS/PDOS plots. 12 10 8 Energy (eV) 12 Ss Sp Sd Mos Mop Mod Total 10 8 6 6 4 4 2 2 MoS2 Monolayer SPE 0 EF HSE Gap 2.33 eV (D) −2 −2 −4 −4 −6 −6 −8 −8 Γ M K Γ K−Path 1 2 3 4 5 6 PDOS (states/eV/unit cell) Figure 10: An example of BS and PDOS as plotted using multiplot. The data is from the HSE SP calc of an MoS2 monolayer, with a calculated direct band gap Eg of 2.33 eV. (See #386, Appl. Phys. Lett. 99, 261908 (2011).) Last updated: April 16, 2012 38 Sec. 8: Running Band Structure and PDOS Jobs 8.2 PDOS Only PDOS only jobs are fairly straightforward: 1. Add IOp 5/181=10 to the route. 2. Place the following command at the end of your *.gjf or *pbs file: mkpdos − bias − from 0 $InpBase.out0 − f − v > & mkpdos.log 8.2.1 Input Example %chk=Si-dia_o.chk #p HSE1PBE/Gen Pop=Regular Int(Grid=UltraFine) FMM=Print IOp1=timestamp IOp(5/13=1,5/33=1) SCF(NoVarAcc,NoIncFock,Tight) IOp(5/181=10,5/184=227) OPT Guess=(Read,Fock) 8.2.2 PDOS Output Several PDOS-related files will appear once a job has finished. NOTE: A job will appear to be running until all PDOS-related files finish writing. These files include: • pdos.dat – contains the data to plot Useful. • pdos.legend.txt – Legend for orbital populations on specific nuclei. Useful. • fort.121 – appears as the job runs and indicates that PDOS will be calculated. • zpratl-pdos.inp – a file necessary for the calculation, appears as jobs runs. • mkpdos.log – describes what happened during the PDOS calculation. • pdos.d – additional data that may be deleted at the end. 2.5 PDOS (states/eV/unit cell) 2 Sis Sip Sid Total Fermi level Si (dia) HSE OPT Eg = 1.22 eV (I) Expt. = 1.17 eV (I) 1.5 1 0.5 0 -10 -8 -6 -4 -2 0 2 Energy (eV) 4 6 8 Figure 11: HSE opt of Si (dia) – horizontal. 39 10 Figure 12: HSE opt of Si (dia) – vertical. Sec. 8: Running Band Structure and PDOS Jobs 8.3 Band Structure Only Band structure jobs are also easy to run and set up, but require some knowledge of the symmetry of the system because of the necessary band.inp files. The band.inp files will be discussed in detail in Subsection 9.1. 8.3.1 Example Input File (This is for BS only, no PDOS) %chk=AlSb_x.chk #p HSEh1PBE/GenECP Int(Grid=Ultrafine) fmm=(print) pop=regular IOp1=timestamp iop(5/13=1,5/33=1) SCF=(NoVarAcc,NoIncFock,Tight) IOp(5/181=200,5/184=227) To properly use IOp 5/184 in your route: 1. The number of the space group for your system needs to be input as the 5/184 argument in the route of the input file. e.g., IOp(5/184=227) indicates an FCC system with space group number 227. 2. To ensure that PDOS is turned off, at IOp(5/181=200) 3. The band.inp file, containing the appropriate K-path and coordinates for the Brillouin zone for that space group must also be copied from the /binps directory (where ever it is) into the running directory of your job and re-namedband.inp. 4. NOTE: the name of the band.inp must be lower case. 5. If the band.inp file is not present, the band structure code will choke, as the default is to look for a band.inp file that will have the coordinates and K-path for the specified space group. See Section 9.1 for a detailed explanation/example of the band.inp files. 8.3.2 Output Files In addition to the *.out and *.chk files that are necessary for processing the BS data, two (2) new files are produced: 1. band.dat This contains everything you need to plot band structure. The last 6 lines of the file (tail -6 band.dat) provide the number of electrons, the HOCO and LUCO values, the indirect gap (after scaling) and mGap1/MGap1. 2. bandk.dat This is in the work-up, but it is not as large as band.dat and is not necessary once a gnuplot file has been set up. Last updated: March 26, 2012 40 Sec. 8: Running Band Structure and PDOS Jobs 8.4 Obtaining BS/PDOS Later If a *chk file is available for either an opt or energy calculation, band structure and PDOS can be calculated “after the fact.” This requires a truly minimal input file assuming pop=regular was used in the job that generate the *chk file: %chk=AlN_x.chk #p HSEh1PBE/ChkBas Geom=AllCheck Guess=(Read,Fock) IOp1=timestamp iop(5/13=1,5/33=1) IOp(5/181=10,5/184=227,5/14=20) ChkBas reads the basis set information from the *chk file Geom=AllCheck takes the title, charge, multiplicity and coordinates from the *chk file. IOp 5/14=20 uses the BS data from the already computed real-space Fock matrix. These 4 lines are sufficient to produce, in this case, both PDOS and BS for a FCC system in space group 227. • To turn off PDOS, which should usually run automatically as it is in most *pbs scripts, (See Section 13) change the PDOS IOp to IOp(5/181=200). • This “restart” is much faster than re-doing a full energy calculation, but is generally not instant unless it is PDOS only. • This usually works, but if the *chk file was corrupted or there was not band.inp file in place for the restart from an good *chk file, all sorts of weirdness will ensue. Last updated: March 26, 2012 41 Sec. 8: Running Band Structure and PDOS Jobs 8.5 Detailed Description of BS/PDOS IOps IOp IOp 5/181 Arguments 0 1 2 10 20 00 200 IOp 5/184 EE 00 00 99 00 00 FF 00 01 02 03 10 20 30 KK KK 00 0 SpG 1-228 IOp 5/183 0 -1 Table 1: IOps for BS and PDOS Explanation The PDOS IOp Should produce PDOS on every atom and orbital Read pdos.inp once file is produced Do NOT read pdos.inp Run DOS/PDOS (Default) Perform projection group for ea. atom AOT atom type Produce files for the DOS (CVD says default ???) Turn off PDOS The BS IOp E window for band range1 print bands within EE eV of Fermi Level2 no window, plot all possible bands k-Path Determination Default, same as 21 (???) k-path from band.inp replaces k-path from library3 k-path from band.inp appended to k-path from library4 ignore k-path from band.inp4 labels from band.inp replace labels from library4 labels from band.inp appended to labels from library4 ignore labels from band.inp4 Number of k-Points Sampled use KK*1000 k-points for sampling the path Special: 0 same as 2 (2000 k-points) [DEFAULT]4,5 Space group specification Space group #, band.inp file in working directory The Auto BS IOp = EE KK FF Defaults No band structure NOTE: This is not final... THIS SECTION IS A WORK IN PROGRESS. If you need immediate assistance, please contact Melissa Lucero. Last updated: March 24, 2012 42 9 Symmetry To run band structure jobs, the argument of IOp (5/184=SG) is the space group number (SG) of the system. Formally, the “space group number” refers to the unique numbers (1-230) assigned to all space group types, as defined by the International Union of Crystallography. • Groups within the same crystal system or point group have consecutive numbers, otherwise, the numbering is arbitrary. • Not all space groups are represented by known compounds. To locate the appropriate *.inp file: 1. Note that the files are named first by the SG that would complete the argument of IOp (5/184=SG), then the prototype, followed finally by packing type e.g., 186_MoS2-hex.inp. (For more information, refer Section 9.1.) 2. Copy and rename the *.inp file with the appropriate SG to band.inp in the running directory 3. This enables gaussian to read the k-path and label the high symmetry points. 4. Recall that band.inp files are stored locally in guscus:/projects/guscus/Manuals/binps/ Other instances where knowing the SG is helpful: 1. When the conventional/crystallographic unit cells are large, creating a smaller primitive is useful and requires knowledge of the SG before and after the cell size is reduced. 2. If a supercell is created (e.g., for doping), then the symmetry changes must be noted. NOTE: There are numerous systems to designate symmetry, so familiarity with the more common systems will prove helpful when information other than SG is provided. Currently Available Information: • A sample band.inp file – Section 9.1 • 3-D (Bulk) systems – Section 9.2 • 2-D Slabs/films/monolayers – Section 9.3 • 1-D Chains – Section 9.4 • Creating supercells and primitives – Section under construction • Other symmetry designations – Section under construction • List of additional resources – Section under construction 43 Sec. 9: Symmetry 9.1 A Sample band.inp File Below is an example of the band.inp copied from 227-Diamond-fcc.inp in the /binps directory [needs a path] and renamed band.inp. Notice that other symmetry designations in addition to space group are listed; nevertheless, G09 uses the SPACE GROUP as the argument to IOp(5/184). ! ! ! ! ! ! ! ! C Diamond A4 Fd bar3 FCC Pearson Symbol: cF8 Strukturbericht Designation: A4 Space Group: Fdbar3m Number: 227 Others: Si, Ge, Sn Reference: Ashcroft and Mermin, p. 76 KLABELS: GM 0 K 3/8 L 1/2 U 5/8 W 1/2 X 1/2 0 3/8 1/2 1/4 1/4 0 0 3/4 1/2 5/8 3/4 1/2 KPATH: GM X W K GM L U W L K|U X IMPORTANT: • This external band.inp file is necessary because the internal library cannot always correctly identify the symmetry, especially for space groups lower than 200. (The band structure code looks for the band.inp file by default.) • More importantly, band.inp files allow the path to be changed as necessary to match the literature or, in the case of optimizations where the symmetry has changed, re-run the job with the correct space group and path • Again, the band.inp template files are in the /binps directory on guscusgw and are named (1) according to space group and lattice and/or (2) labeled to indicate any modifications or use in publications. • Notice that fractions or decimal representations can be used, e.g., 1/2 or 0.5 for the coordinates. Last updated: March 26, 2012 44 Sec. 9: Symmetry 9.2 Determining the SG for 3-D Systems NOTE: The following suggestions and/or instructions generally apply to undoped systems and any other of relatively high symmetry. Lower symmetry or esoteric systems may require more extensive effort. The space group of crystal structure is usually included in the *.cif (or, less frequently *.pdf ) file downloaded from a database, e.g., the ICSD or the AMS. The space groups are numbers ranging from 1-230, as is seen to the far left column of Figure 13, which contains also the “short symbols” to the far right, another commonly used symmetry designation. Other means of acquiring SG information: 1. The literature – the computational or experimental methods section(s) will include mention the SG, or at least the “short symbol” designations. 2. The Energy Materials site maintained by Curtarolo’s group at Duke provides an online converter at ACONVASP Online. 3. Similarly, the Aflow Library is a searchable database of band structures and related properties, containing: • The DFT+U band structure (fully-optimized) plotted alongside the PDOS. • A JMol animation of the primitive cell used for the calculation. (Depending upon the browser and OS, the coordinates may be extracted from JMol.) • Effective masses, electron mobilities, lattice parameters before and after optimization, etc. 4. The Prototype list online at the The Navy Crystallographic site. 5. The Prototype list file in the guscus:/projects/gusucus/Manuals/ directory 6. The Bilbao Crystallographic Server has numerous utilities that are updated, periodically, e.g., • CELLTRAN will transform unit cells • TRANSTRU transforms structures • Any of the other “Structure Utlities” 7. Google (No joke.) 8. Materials-specfic GUIs such as Materials Studio, Vesta, XcrysDen, etc., that will determine symmetry and convert to any of a number of primitive cell types. 45 Sec. 9: Symmetry Figure 13: Table of Space Groups in 3-D. The SGs used as the argument for IOp 5/184 are located in the far left column, as numbers 1-230. The other common system, the “International Short System” designations, are an abbreviated version of Hermman-Mauguin notation and form the column to the far right. Other systems such as the Pearson for Struckturbericht designations are as not universally applicable, and are thus not as widely used. (From: en.wikipedia.org/wiki/Space_group) 46 Sec. 9: Symmetry 9.3 2-D Slabs/Films Generally, the initial “space group” of your system in terms of how g09 identifies the point group is in the *.cif file downloaded from a database, e.g., the ICSD or the AMS. Other means of acquiring this information include: 1. The literature – the papers you start with 2. The ACONVASP Online site (Curtarolo’s group at Duke) 3. The 2-D Space Groups Table (See Figure 14) 4. Materials software like Materials Studio, Vesta, etc. Figure 14: 2D-Brillouin Zones. (a) Square, with lattice constant a, (b) Rectangular, with lattice contants α1 , α2 , and, (c) Hexagonal with lattice constant a. (Taken from: Economou, 2010, Ref. [2]) 9.4 1-D Monolayers Generally, the initial “space” group of your system is in the *.cif file downloaded from a database. Other means of acquiring this information: 1. The literature 2. Non-Gaussview software Last updated: March 28, 2012 47 10 Plotting BS and PDOS 10.1 A Basic PDOS Plot Density of states plots are generally *MUCH* easier to work-up than BS data: simply use the pdos.dat, pdos.legend.txt files generated by your job output and a *.gpt template file. The pdos.dat file for am MgInS2 LSDA OPT looks like this: # E/eV -42.0000 -41.9800 -41.9600 -41.9400 -41.9200 -41.9000 -41.8800 -41.8600 -41.8400 -41.8200 -41.8000 -41.7800 -41.7600 -41.7400 -41.7200 -41.7000 -41.6800 -41.6600 -41.6400 -41.6200 . . . 0 Mg S a 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 Mg P a 0.0000 0.0000 0.0000 0.0000 0.0006 0.0026 0.0097 0.0335 0.1067 0.3143 0.8543 2.1437 4.9656 10.6178 20.9583 38.1885 64.2341 99.7368 142.9556 189.1489 0 In S a 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0001 -0.0001 -0.0003 -0.0004 -0.0007 -0.0009 -0.0012 0 In P a 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0001 -0.0002 -0.0003 -0.0005 -0.0008 -0.0011 -0.0014 0 In D a 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 S S a 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0004 0.0009 0.0018 0.0036 0.0066 0.0111 0.0172 0.0246 0.0326 0 S P a 0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0001 -0.0004 -0.0011 -0.0027 -0.0063 -0.0136 -0.0268 -0.0488 -0.0821 -0.1274 -0.1827 -0.2417 0 S D a 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0002 0.0003 0.0005 0.0007 0.0011 0.0014 Total a 0.0000 0.0000 0.0000 0.0000 0.0006 0.0026 0.0097 0.0334 0.1066 0.3139 0.8534 2.1413 4.9601 10.6060 20.9350 38.1460 64.1627 99.6258 142.7966 188.9385 and the pdos.legend.txt looks like this: 1 2 3 4 5 6 7 8 9 10 E(eV) 0 Mg S a 0 Mg P a 0 InS a 0 In P a 0 In D a 0 S S a 0 S P a 0 S D a Total a where the different orbitals for each atom are listed followed by the Total electron density. This helps you determine the color scheme of your gnuplot output. This *gpt template file is provided at: guscus:/projects/guscus/Manuals/examples/pdos.gpt Additional templates are located in Sections 13.2 and 13.3.. 48 Sec. 10: Plotting BS and PDOS 10.2 A Sample PDOS *.gpt File To use this template: 1. Replace the argument for stub with the name of your PDOS *.dat file: e.g., stub = ’MgInSlda’ → stub = ’YourPDOS’ 2. Adjust the color scheme according the the pdos.legend.txt file, which will determine the legend/key. (This is illustrated in the last eight (8) lines in the example below.) reset # Avoids ugliness in Gnuplot if something went wrong in the previous compilation # Below are optional short-cuts to help annotate your PDOS output bas tit = ’Towler Mg, CVD S, Crystal In ’ = ’DIRECT Mg_8In_{16}S_{32}: ’. xc . ’/’ . bas . ’ Fully-Relaxed XTAL Gap_I=Gap_D=2.5 eV’ set title tit stub = ’MgInSlda.’ # This is the name of your #.dat file HOCO = 0 LUCO = 4.1252 set xrange [-5.0:8.0] # range of x-axis will vary by system set yrange [-2:80] # range of y-axis will vary by system # Line styles and color set style line 1 lt 0 set style line 2 lt 1 set style line 3 lt 2 set style line 4 lt 1 set style line 5 lt 1 set style line 6 lt 1 set style line 7 lt 1 set style line 8 lt 1 set style line 9 lt 1 set style line 10 lt 3 scheme lc rgbcolor "black" lc rgbcolor "magenta" lc rgbcolor "magenta" lc rgbcolor "red" lc rgbcolor "blue" lc rgbcolor "cyan’ lc rgbcolor "green" lc rgbcolor "gray" lc rgbcolor "orange" lc rgbcolor "orange" pt pt pt pt pt pt pt pt pt pt 0 2 1 1 1 5 2 3 4 5 ps ps ps ps ps ps ps ps ps ps 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 set xlabel ’Energy (eV)’ set ylabel ’DOS (states/eV/unit cell)’ set xtics 0.5 set ytics 5.0 #set mxtics 5 set arrow 1 from HOCO, graph 0 to HOCO, graph 1 nohead lc rgbcolor "dark-red" lw 1.5 set label 1 ’Fermi level’ at HOCO, graph 1 right rotate offset character 1, character -1 fa(x) = x fb(x) = 0 # The actual commands to plot your data plot 0 w l lt 0 notitle, \ stub . ’dat’ using 1:(fa($10)) w l ls 1 title ’Total’, \ stub . ’dat’ using 1:(fa($2)) w l ls 2 title ’Mg_s’ , \ stub . ’dat’ using 1:(fa($3)) w l ls 3 title ’Mg_p’ , \ stub . ’dat’ using 1:(fa($4)) w l ls 5 title ’In_s’ , \ stub . ’dat’ using 1:(fa($5)) w l ls 6 title ’In_p’ , \ stub . ’dat’ using 1:(fa($6)) w l ls 7 title ’In_d’ , \ stub . ’dat’ using 1:(fa($7)) w l ls 8 title ’S_s’, \ stub . ’dat’ using 1:(fa($8)) w l ls 9 title ’S_p’, \ stub . ’dat’ using 1:(fa($9)) w l ls 10 title ’S_d’ This sample pdos *gpt file is provided at: guscus:/projects/guscus/Manuals/examples/pdos.gpt See also: Sections 13.2 and 13.3. 49 Sec. 10: Plotting BS and PDOS 10.3 Plotting Band Structure Currently, the easiest way to plot band structure data is to use the gpband Perl script written by Dr. Cristian Diaconu. As it is to large to include in Section 13, the gpband script is stored at guscus:/projects/guscus/Manuals/scripts/gpband. 10.3.1 Using gpband to Plot BS 1. Place a copy of gpbandon each machine where gaussian PBC code will be run. 2. Run gpband in the job’s working directory: gpband band.dat • The files that are processed include band.dat bandk.dat and the *.out, hence the admonition to run gpband in the job’s working directory. • Note the numerous annotations within the script, describing the program and how the band*.dat files are arranged. • Of the many options, gpband nameoffile.dat seems to work the best, but feel free to explore. 3. Copy the gnuplot and *.dat files to your desktop to plot the data. (There is no Gnuplot on most Rice clusters.) 4. gpband prepares a basic gp file that runs to produce eps output – see Figure 15. • The default color scheme is most likely not what will be used in the final plot. • The lowest gap is generally plotted, but may be adjusted for aesthetic reasons. • Labels, I-bars, additional lines and comments must be added by hand. 10.3.2 Default gpband Output 20 10 Energy (eV) 0 −10 −20 −30 −40 Γ X W K Γ L U W K|U X k path 50 Figure 15: The band structure for AlSb optimized using HISS. The command gpband band.dat produced a Gnuplot file, band-p.gp, ran it and created band.eps (to the left) automatically. Notice the default energy scale (taken from the gaussian PBC code defaults) is intentionally large and that the color scheme has each band coded in different linestyles and/or colors. Sec. 10: Plotting BS and PDOS 10.3.3 Annotated Default gp File Annotated sections of the gp file that produced Figure 15. (The full script is in Section 13.4.) x1_GM = 0.000000 x2_X = 0.862114 x3_W = 1.293143 x4_K = 1.597934 x5_GM = 2.512322 x6_L = 3.258914 x7_U = 3.786839 x8_W = 4.091633 x9_K = 4.396424 x10_X = 4.701213 [Header and other non-band-related content deleted...] These are the values and labels of the high-symmetry k-points: * Their ordering was specified in the band.inp file * They will be used in the next section of the gp file as x-tic labels * The values correspond to all x-coordinates. set xtics ( "{/Symbol G}" x1_GM, "X" x2_X, "W" x3_W, "K" x4_K, "{/Symbol G}" x5_GM, "L" x6_L, "U" x7_U, "W" x8_W, "K | U" x9_K, "X" x10_X ) E0 cHOCO HOCO cLUCO LUCO EF mGap MGap iGap = = = = = = = = = 10.371738 10 10.371738 11 12.420518 10.371738 3.058369 8.405779 2.048780 E(y) = y - E0 set set set . . set arrow arrow arrow . arrow These are the x-tic labels: easily modified. Unscaled energy of the Valence Band Max (VBM). COLUMN where the HOCO is located. Unscaled energy of the Highest Occ. Crystal Orbital (HOCO. COLUMN where the LUCO is located. Unscaled energy of the Lowest Unocc. Crystal Orbital (LUCO. The VBM redefined as the Fermi Level Next highest gap after the indirect gap Next highest gap after the mgap The indirect gap # energy shifting function Scales the energies so that EF = 0 1 from x1_GM, graph 0 to x1_GM, graph 1 nohead lt -1 2 from x2_X, graph 0 to x2_X, graph 1 nohead lt -1 3 from x3_W, graph 0 to x3_W, graph 1 nohead lt -1 10 from x10_X, graph 0 to x10_X, graph 1 nohead lt -1 set arrow 11 \ from graph 0, first E(HOCO) \ to graph 1, first E(HOCO) nohead lt 19 Arrow for Fermi Level/VBM set arrow 12 \ from graph 0, first E(LUCO) \ to graph 1, first E(LUCO) nohead lt 20 Arrow for CBM set yrange [*:*] plot \ data data data data data data data data data data data data data data data data data data Horizontal k-path lines. (Truncated list to save space) using using using using using using using using using using using using using using using using using using 1:(E($19)) t "27" with l ls 18, \ 1:(E($18)) t "26" with l ls 17, \ 1:(E($17)) t "25" with l ls 16, \ 1:(E($16)) t "24" with l ls 15, \ 1:(E($15)) t "23" with l ls 14, \ 1:(E($14)) t "22" with l ls 13, \ 1:(E($13)) t "21" with l ls 12, \ 1:(E($12)) t "20" with l ls 11, \ 1:(E($11)) t "19" with l ls 10, \ 1:(E($10)) t "18" with l ls 9, \ 1:(E($9)) t "17" with l ls 8, \ 1:(E($8)) t "16" with l ls 7, \ 1:(E($7)) t "15" with l ls 6, \ 1:(E($6)) t "14" with l ls 5, \ 1:(E($5)) t "13" with l ls 4, \ 1:(E($4)) t "12" with l ls 3, \ 1:(E($3)) t "11" with l ls 2, \ 1:(E($2)) t "10" with l ls 1 Default y-axis range Plotting the data... 51 Sec. 10: Plotting BS and PDOS 10.3.4 Modified BS Output The gp file in Section 10.3.3 has been modified in the following ways to produce Figure 16: • The scale of the y-axis is now from -7 to 10, so it is easier to see the “camel-back” structure of AlSb. • The valence band are all colored red. • The conduction bands are all labeled in blue • The Fermi Level E = 0 is now labeled and the energy denoted as a horizontal black line • The conduction band maximum is depicted as a dashed orange line. • The favored, indirect transition from Γ to somewhere near X is marked by both an arrow and a green I-bar. • The slightly higher in energy direct gap is marked only with an I-bar. • Structure analysis, e.g., locating points on the bands that are not along the high-symmetry k-lines for energy comparisons. Mining the data in the band*.dat files will be discussed in Section 10.4. 10 8 6 Energy (eV) 4 2 2.33 eV (I) 2.05 eV (I) 0 ï2 ï4 Figure 16: The band structure for AlSb optimized using HISS. The predicted indirect transition Eind occurs at 2.05 eV (compare to EF 1.69 eV for LT exp.[3]). The direct gap, Edir =2.33 eV, also compares favorably to 2.84 experiment.[4] ï6 K X W K K L U W K|U X All files necessary to produce this plot and that of Figure 15 are locally available at guscus:/projects/guscus/Manuals/examples/AlSb-HISS. The full gp files are also listed in Sections 10.3.4 and 13.5. 52 Sec. 10: Plotting BS and PDOS 10.4 Locating k-Points This section is for locating points so that arrows can be drawn in Gnuplot to mark direct and indirect transitions. Not all points of import are located on the lines corresponding to the symmetry points specified in the path of the band.inp file, so this becomes something of an art. 10.4.1 Easy Indirect Gaps This should be the easy case for an indirect gap from one k-point to another. 1. Search band.dat file for energy via grep 2. Also need to do the reverse case. 10.4.2 Special Gaps This should be the more complex cases for 1. an indirect gap between one k-point and a point in between two others 2. direct gaps that are not on any high-symmetry points 3. locating the coordinates of various minima or maxima for comparison This example is being specially prepared in order to optimize all aspects of your learning experience. If you need immediate assistance, please contact Melissa Lucero. Last updated: March 26, 2012 53 11 11.1 Increasing the Accuracy and Efficiency of PBC Jobs Practical Tips for G09 PBC Calculations Contributed by Professor Gustavo E. Scuseria for the 2009 Guide. For Starters: Read the Gaussian 09 manual entries for Molecule Specifications and the keywords: PBC and FMM. (The input file information in Section 3 has more information for PBC. Perhaps an FMM section would be useful...) What not to do: If you want to put your computer system on its knees, try B3LYP with a diffuse basis set on your favorite 3D system, e.g., diamond. 1. The near-field portion of the FMM without symmetry included will be very costly. 2. Symmetry is not implemented, yet, but we are working on it and even when it is, doping and disorder lower the symmetry, anyway. 3. The HFx (Hartree Fock exchange) portion with diffuse basis functions (bfs), a full-range 1/r potential, and default cutoffs will take forever, and it is almost guaranteed that a single iteration will exceed your patience. Hybrids: Any with full (global) or long-range 1/r potential are significantly more expensive (1020x or even more) than short-range hybrids like HSE that were designed with solids in mind. Be extremely careful if you want to do a PBC full or long-range hybrid. Dimensionality: 3D calculations are more expensive than 2D, which are, in turn, much more expensive than 1D. If you are not familiar with the PBC code and how to tune up its options, we recommend that you start playing in 1D and move your way up to 2D/3D slowly. Diffuse bfs: They may be needed in some specific cases and for some specific properties but in general, it is a good idea to carefully analyze whether your chosen MOLECULAR basis set (i.e., a basis set that was developed for atoms/molecules and usually contain fairly diffuse bfs to describe atomic tails) is really needed for your PERIODIC system, which does not have any density tail (well... it does if you are doing 1D or 2D, but not in 3D). Linear dependencies: Our PBC code does not suffer from linear dependencies, i.e., if you use a dense basis on a dense system and you end up with product bfs that are almost linearly dependent (overlap matrix eigenvalue at some k-point below a certain threshold), the code will remove the offending linear combination. However, there may be cases where the overall accuracy is affected because of 1. Aggressive thresholds 2. A sloppy (or not accurate enough) xc quadrature grid, or, 3. A sloppy (or not accurate enough) Brillouin zone (k-point) integration grid. In these cases, the SCF will die with some error message (with the cause not trivially identifiable form the error message) being a combination of the above. 54 Sec. 11: Increasing the Accuracy and Efficiency of PBC Jobs bf Exponents: As a practical matter, bfs with exponents smaller than 0.10-0.15 are problematic and usually not needed. Removing them (i.e., adapting a molecular basis for an efficient periodic calculation) is not required in our code (our numerics are usually robust enough to deal with them) but it will surely make your calculations much faster and your life much easier on thresholds. Metals: Tread very carefully if your system is metallic. Metal calculations are tricky and costly. 1. Integration in k-point space is arduous. There are several options that can be tried here if one has convergence problems in the SCF. A radical solution is to start from a finite temperature calculation at ca. 1000 K and then try to cool off the system some or converge ILT (or similar) from there. 2. Most PW calculations on metals are done at finite temperature, otherwise convergence is rather difficult to achieve even with PW codes. 3. Diffuse and polarization functions are generally important for metals. Your cpu time will go up because to achieve convergence you will need a larger basis than for semiconductors or insulators and lots of k-points.¡ Semiconductors and Insulators: If you feel that your calculations are slow, there is plenty of room of improvement by playing with many of the accuracy thresholds (explained in detail in Izmaylov’s piece). The record for this type improvement may be the InAs case finely-tuned by Ed Brothers: he was able to achieve a 20x speed-up by tuning thresholds (from default values) with a minimal loss of accuracy for the band gap (less than 0.01 eV) Density Fitting Gaussian provides the density fitting approximation for pure DFT calculations. The desired fitting basis set is specified as a third component of the model chemistry, as in this example: #p BLYP/6-31G(d)/Auto Note that the slashes are required when a density fitting basis set is specified. See the Basis Sets entry in the Gaussian manual for more information. CPU Time Monitor your cpu time with flags like #p and IOp1=timestamp, which will increase cpu time printing and allow you to spot portions that are particularly expensive and amenable to improvement by fine-tuning thresholds. See Section 3. Last Modified March 23, 2012 55 Sec. 11: Increasing the Accuracy and Efficiency of PBC Jobs 11.2 Diffuse Functions Contributed by Dr. Cristian V. Diaconu with comments from Drs. Artur F. Izmaylov, and Ionut D. Prodan for the October 2009 version of this guide. • NMtPBC is determined for k = 0. Unfortunately, the convergence of the Bloch sums with the numberof cells depends on k for the Bloch sum form currently used in Gaussian. This is usually not a problem; however, for diffuse functions, this may become a huge problem. The number of cells may increase toward k = ±π. While the number of cells is enough at k = 0, it may not be enough as k = ±π, and Gaussian will die with the error: Possibly not enough cells included in PBC. Numerical problems in PBC. If this happens the only way around it is to increase the number of cells by forcing a larger range: PBC=(CellRange=N). See the PBC keyword page. -OR- use less-diffuse basis functions, since the calculations become prohibitively expensive with diffuse functions anyway. • Due to the same problem of the form of the Bloch functions, the norms of the Bloch functions become exponentially small when the exponents become small (norm ca. exp(−k 2 /a). The norms are also k-dependent, so even if the near linear dependencies are eliminated at k = 0, the norms of the Bloch functions may still be too small at other values of k. This condition leads to warnings from subroutine ZFrmV2 of the form: ZFrmV2: there are 14 very small orbitals for k= 617 kxyz= 7 15 3. The only solution to this problem is to prune the diffuse basis functions (especially the p-type). Gaussian removes the culprits, (see Section ?? but when this happens the basis functions are too diffuse and is usually associated with the previous problem (not enough cells included in PBC) or Gaussian dies with an error of the following type: -------------------- ATTENTION-------------------Total charge is not ZERO --- -0.002902253251 -------------------- ATTENTION-------------------There is a problem with the total charge. • There is also a problem with 5d/6d basis sets. See the Basis Sets entry in the Gaussian Õ09 manual. This problem can be exacerbated for periodic calculations, especially when using a 5d basis set as a 6done, thus having an extra s-type function that can be nearly linear dependent with the existing s-type functions. This is true the other way, too: a 6d basis set may assume to have an extra s-type functions from the d-type shells. • The rule of thumb for diffuse functions: the smallest exponent for s-type functions should be larger than about αmin = 2/d2 , where d is the smallest distance between two atoms. The exponent input in Gaussian is in Bohr −2 , so use d in Bohr. 56 Sec. 11: Increasing the Accuracy and Efficiency of PBC Jobs 11.3 All PBC Keywords This page contains the entirety of the PBC keyword page at Gaussian.com as of March 28, 2012. 11.3.1 Description The PBC keyword allows you to specify options for Periodic Boundary Conditions jobs. Note: PBC is turned on simply by including translation vectors in the input structure, and this keyword is used only to control how PBC calculations are performed. If you do not need any of these options, you do not have to include the keyword PBC to perform a PBC calculation. 11.3.2 Options GammaOnly Do just the Γ point (k = 0) rather than full k-integration. NKPoint=N Do approximately N k-points. CellRange=N Go out N Bohr in each direction in setting up image cells. NCellMin=N Include at least N cells. NCellMax=N Include at most N cells in any part of the calculation. NCellDFT=N Include at least N cells in DFT XC quadrature. NCellXC is synonymous. NCellK=N Include at least N cells in exact exchange. • By default, if exact exchange is included, then this is twice the number of cells used for overlap-related quantities and XC quadrature. 11.3.3 Availability HF and DFT energy and optimizations. Not valid with SCRF or Charge. For periodic systems of any reasonable size, acceptable performance may only be feasible by using a pure DFT functional in combination with density fitting. Last modified March 27, 2012 57 12 Submitting Jobs at Rice The module system is employed on Scuseria Group workstations as well as on the shared computational resources at Rice: BlueBioU, DaVinci and STIC. (An older machine, SUG@R is also available, but is is non-ideal for PBC jobs.) A “condo” of Scuseria-Group-Only nodes exists on each of the Rice clusters. Normally, it is more efficient to use the guscus condo (see Section 13), but change the queue name to “common,” for access to the public nodes. Figure 17: STIC, BlueBioU, DAVinCI, and SUG@R. STIC - Shared Tightly Integrated Cluster. An Intel Nahalem computing cluster. BlueBioU - Primarily for biocomputing. An IBM Power 7 System. press release DAVinCI - Data Analysis and Visualization Cyber-Infrastructure. x86-64 hybrid.press release SUG@R - Shared University Grid @ Rice An older Intel Xeon compute cluster. For general information, see the Getting Started documentation. 58 Sec. 12: Submitting Jobs at Rice 12.1 Modules: General Procedure For the examples in this section, sgu1 is an imaginary Scuseria Group user with a login ID of the type that Rice usually sets up: typically 2-3 initials from your name and a number. The following is the procedure for STIC, but the procedure works the same on all Rice computers. 1. Login via ssh 2. Source the .bashrc file containing the Gaussian paths in it: source /projects/guscus/.bashrc 3. cd to shared.scratch, e.g., cd /shared.scratch/sgu1 4. Type “module avail” to see what modules are available (See Section 12.3.1) for the output.) -OR5. Type “module list” to confirm which modules are already loaded. (See Section 12.3.3) 6. Type “module load gdv-h11-hiss-and-pbc.2.3” to load the module for PBC calculations (See Section 12.3.2.) 7. Check to see that the module loaded successfully by typing “module list” (See Section 12.3.3) 8. Run the script to create the *.pbs file (See Section 13 for the necessary scripts.) 9. Type ’qsub *.pbs’ to submit your job 10. Type ’qstat’ to see that your job was submitted and is in the queue you want it to be in... 12.2 What You See: Logging In # THIS IS STEP 1a [mylaptop:~] scucserian% ssh [email protected] # THIS STEP 1b [email protected]’s password: # Below is what will appear once you log into STIC: Last login: Tue Mar 13 12:23:58 2012 from worf.rice.edu ----------------------------------------------------------------------Ken Kennedy Institute for Information Technology, Rice University ============================================== Unauthorized access is prohibited. STIC.RICE.EDU Questions and Problem Reports -> http://helpdesk.rice.edu Documentation and User News -> http://rcsg.rice.edu/stic ----------------------------------------------------------------------****************IMPORTANT******************* NOTICE TO COMP422 and COMP322 USERS!! DO NOT RUN JOBS ON THE LOGIN NODES. # SERIOUSLY, never, EVER run jobs on a login node ******************************************** -bash-3.2$ source . /projects/guscus/.bashrc -bash-3.2$ cd /shared.scratch/sgu1 # THIS IS STEP 2 # THIS IS STEP 3 Last Modified March 27, 2012 59 Sec. 12: Submitting Jobs at Rice 12.3 12.3.1 Module Commands Module Avail Typing “module avail” will allow you to see which modules are currently available on the machine you have logged into, as in the example, below: [sgu1@login1 sgu1]$ module avail The gaussian-related codes are listed in the top section, which includes G09, all usable gdv versions and the Portland Group compilers. The bottom section lists various applications that may be of use, like matlab. For PBC jobs, the module you should load is gdv-h11-hiss-and-pbc.2.3. • The g09- series are actual g09 versions, not development versions of the gaussian code. • The gdv- series are developement versions of gaussian. • The most stable for PBC, with the most features and options is gdv-h11-hiss-and-pbc.2.3. USE THIS unless otherwise instructed. • gdv-h11-sol has PBEsol incorporated in it, but no PBC features like BS, PDOS, AFM, VMM, SO or Dispersion. 60 Sec. 12: Submitting Jobs at Rice 12.3.2 Module Load To LOAD a module, simply type “module load module name,” [sgu1@login1 sgu1]$ module load gdv-h11-hiss-and-pbc.2.3 12.3.3 Module List To CONFIRM the module was loaded, or LIST modules already loaded, type: “module list” [sgu1@login1 sgu1]$ module list Currently Loaded Modulefiles: 1) pgi-10 2) gdv-h11 3) gdv-h11-hiss-and-pbc.2.3 Notice that at least 3 files are loaded. The module you want usually has the highest number. 12.3.4 Module Unload To UNLOAD a module, type “module unload ModuleName”, confirm with “module list” [sgu1@login1 sgu1]$ module unload gdv-h11-hiss-and-pbc.2.3 [sgu1@login1 sgu1]$ module list No Module Files Currently Loaded 12.3.5 Modules & Submission Put it all together: Load/confirm modules, submit job and check the queue as in Section 12.1. [mjl3@login1 mjl3]$ module load gdv-h11-hiss-and-pbc.2.3 [mjl3@login1 mjl3]$ module list Currently Loaded Modulefiles: 1) pgi-10 2) gdv-h11 3) gdv-h11-hiss-and-pbc.2.3 [mjl3@login1 mjl3]$ pbcscript PBCjobFile.gjf 10 [mjl3@login1 mjl3]$ qsub PCBInputFile.pbs [mjl3@login1 mjl3]$ qstat | grep guscus 346944.sticman 346954.sticman 348858.sticman 349052.sticman 349056.sticman LiMoS2-hse11_o LiMoS2-pbe_o 20 n2-ksghf PCBInputFile mjl3 mjl3 ks19 rmi1 sgu1 190:28:0 187:12:3 235:00:3 04:32:08 00:02:08 R R R R R guscus guscus guscus guscus guscus Last Modified March 27, 2012 61 Sec. 12: Submitting Jobs at Rice 12.4 G09 Modules Available on STIC The availability on the other machines will vary, but will tend to have the same versions of the more recent codes. Source /projects/guscus/.bashrc and then type ’module avail’ to see the list below... Table 2: Gaussian Modules Currently Available (as of March 27, 2012) on STIC Module G09 Versions g09-b1 g09-b1-linda g09-b1-pbc-2.3 g09-b1-pbc-2.3.t g09-c1 g09-c1-linda G09 Development gdv-g1 gdv-h1 gdv-h1-D gdv-h1-extra-HISS gdv-h10 gdv-h11 gdv-h11-hiss-and-pbc.2.3 gdv-h11-ib3 gdv-h11-sol gdv-h12p gdv-h12p-D gdv-h13 PGI Compilers pgi-10 pgi-10.9 pgi-11 Description Notes This is previous G09 When in doubt use this Runs in parallel STIC, use 4 nodes A version of the PBC code not sure This PBC code works Used for publications Latest G09 Use at own risk Latest G09 in parallel Timings are weird Ancient Very Old Very Old Old for HISS Old Old RECENT Irek’s working version PBEsol New New Latest Needed for some calcs; don’t use Don’t use Daniel’s? Don’t use unless checking data Probably not used by anyone *NO* PBC so not useful Use this. Has HISS and PBC1 Don’t use No BS/PDOS, but PBEsol works Ask Irek Ask Irek Ask Irek Oldest Old Latest Check which version loads w/code Check which version loads w/code Check which version loads w/code [1] This version will eventually also include PBEsol, Irek’s dispersion code, any new Bulik functionals and any other code that is to be used by many, PBC or not. This will be the version that will be kept current. Last Modified March 27, 2012 62 Sec. 12: Submitting Jobs at Rice 12.4.1 Applications Modules on STIC Source /projects/guscus/.bashrc and then type ’module avail’ to see the list below... Table 3: Applications Modules Currently Available on STIC (As of March 27, 2012), sorted according to potential interest to the Scuseria Group. Module gaussian/g09-c1-linda intel/2011.0.13(default) intel/3.2.1.015 jdk/1.6.0_12 matlab/2008b(default) matlab/2009b matlab/2011a pgi/9.0.4 pgi/10.9 python3/3.2.1 R/2.11.1-gcc siesta/3.0-rc2 Description Parallel G09 compiler compiler Jason’s PQT code Check w/Irek Check w/Irek Check w/Irek Check w/Irek Can we use this? openmpi/1.3.3-gcc openmpi/1.3.3-intel openmpi/1.3.3-pgi openmpi/1.4.4-gcc openmpi/1.4.4-intel(default) openmpi/1.4.4-pgi 63 Module Notes amber/11 Bio FF code cilk++/8503 cmake/2.8.5 comsol/3.5a comsol/4.0a comsol/4.1 fftw/3.2.2-intel globus/5.0.4-xsede gmt/4.5.3 gromacs/4.5.5 Bio visualizer hdf5/1.8.4p1 hdf5/1.8.8(default) hpctoolkit/2011-05-16 hypre/2.0.0-intel lammps/20Aug11 lumerical/6.5.5(default) lumerical/7.5.1 lumerical/7.5.3 mvapich/1.2rc1-intel namd/2.7 namd/2.8 netcdf/4.1.1 papi/3.7.0 opencl/2.5rc2 slog2sdk/1.2.6 totalview/8.7.0 totalview/8.9.2 turnin/2.0 turnin/2.1 turnin/3.0(default) Sec. 12: Submitting Jobs at Rice 12.5 Modules Available on Group Workstations You need to source /projects/guscus/.bashrc and then type ’module avail’ to see the list below. To run gnuplot and others APPS, type ’module load Apps’ Table 4: Modules Currently Available on Workstations (as of March 27, 2012) Module Description Notes Applications Apps numerous apps like gnuplot type ’module load Apps’ GaussView/5.0.9 load a G09 module, then type ’module load GaussView’ G09 Versions g09-b1 This is previous G09 When in doubt use this g09-c1 Latest G09 Use at own risk g09-c1-linda Latest G09 in parallel Timings are weird G09 Development ’module load gdv-x’ x=gdv ver. gdv-f2 Before time Remote chance will need gdv-g1 Ancient Needed for some calcs; don’t use gdv-h1 Very Old Don’t use gdv-h10 Old Probably not used by anyone gdv-h11 Old *NO* PBC so not useful gdv-h11-ib3 Irek’s Local development gdv-h12p New Ask Irek gdv-h13 Latest Ask Irek G09 PBC Code Any of these ∼ STIC? ’module load g09-y’ y=g09 ver. g09-b1-extra-dosj Very Old experimental PBC? g09-b1-extra3 -pbc-2.devel Old experimental PBC g09-b1-pbc-2.3t This PBC code works Used for publications g09-b1-pbc-2.3 An older version not sure g09-b1-pbc-2.3.5 Old experimental PBC ? PGI Compilers ’module load pgi-z’ z=pgi ver. pgi-7.2 Older Check which version loads w/code pgi-10 Older Check which version loads w/code pgi-10.8 Older Check which version loads w/code pgi-10.9 Old Check which version loads w/code pgi-11 Latest on STIC Check which version loads w/code pgi-11.9 Latest Newer than that on STIC Last Modified March 27, 2012 64 13 Scripts The scripts provided herein are optimized for quick cut-N-paste. Alternatively, local users may copy them from: guscus:/projects/guscus/Manuals/scripts Questions, comments or better implementations are welcome. Please feel free to contact Melissa Lucero. The scripts are broken into three groups: 1. PBS submission scripts → Section 13.1. (a) STIC see Sections 13.1.1 (serial) and 13.1.2 (parallel) (b) DaVinci see Section 13.1.3 (parallel) (c) BlueBioU aka BioU see Section 13.1.4 (serial) (d) All of the above scripts are locally available at guscus:/projects/guscus/Manuals/scripts. 2. BS and PDOS Gnuplot Scripts (a) The gpband perl script is too large to include, copy from in guscus:/projects/guscus/Manuals/scripts. A “How-To” explaining how to use it may be in order... (b) PDOS A straightforward example → from Section 10.2 • Cut-N-Paste templates from Sections 13.2 and 13.3 • -OR- at guscus:/projects/guscus/Manuals/examples/Si-pdos/. (c) BS The example used in Section ?? • Pared down here, in Section ?? • -OR- at guscus:/projects/guscus/Manuals/examples/band.gpt (d) A Multiplot script with both BS and PDOS aligned vertically. → Section 13.6 • • • • Produces the example in Section 8.1 Heavily annotated Broken into smaller pieces for Cut-N-Pase The original is located at: guscus:/projects/guscus/Manuals/examples/MoS2mono/ 3. Other Gnuplot Scripts → a work in progress • Other gnuplot data representations • Stacks, histograms, bars Note: The script content may vary slightly as the OS for each cluster is updated and or with new gdv/G09 versions. If in doubt, please feel free to contact Irek W. Bulik or Melissa J. Lucero. Last Modified March 29, 2012 65 Sec. 13: Scripts 13.1 PBS Submission Scripts (Rice-Specific) 13.1.1 STIC Serial Job PBS Submission Script cmd line input: ./sticpbs-serial InputFile.gjf walltime (in days) e.g., [sgu1@login2]$ ./stic-serial.sh SiC.gjf 10 #!/bin/bash set -o errexit set -o pipefail # exit on errors # or failure in a pipe if [ $# -eq 0 ]; then cat <<EOF USAGE: ${0##*/} Input NNodes WallTime_in_days EOF exit 1 fi Inp=$1 # test if we got needed data if [ -z "$Inp" ]; then echo "No Input File Specified" exit 1 fi if [ -z "$2" ]; then echo "Wall Time Not Specified" exit 1 fi WALLTIME=$(( 24 * $2 )):00:00 InpBase=${Inp%.*} SubFile=$InpBase.pbs #Prepare submission script cat <<EOFPBS >$SubFile #!/bin/bash #PBS -N $InpBase #PBS -V #PBS -m n #PBS -r n #PBS -o $InpBase.pbserr #PBS -j oe #PBS -l nodes=1:ppn=12,walltime=$WALLTIME #PBS -l mem=24000mb #PBS -q guscus InpBase=$InpBase TIMEFORMAT="TIMING: %3R %3U %3S" # Format for bash time builtin GAUSS_SCRDIR=/shared.scratch/\$USER/tmp/\$PBS_JOBID export GAUSS_SCRDIR \${GAUSS_MEMDEF:=2415919104} cd \$PBS_O_WORKDIR exec &>$InpBase.err set -x trap "rm -rf \$GAUSS_SCRDIR" EXIT mkdir -p \$GAUSS_SCRDIR # print commands before executing # clean up at exit df -h uname -a printenv time \$GAU <<EOGJF >"\$InpBase.out" %mem=23500mb EOFPBS cat $Inp >> $SubFile echo "EOGJF" >> $SubFile cat << EOF >> $SubFile echo \$? mkpdos -bias-from "\$InpBase.out" -f -v >& mkpdos.log # Required to run PDOS, comment out if no PBC code EOF This script may also be found at guscus:/projects/guscus/Manuals/scripts/stic-serial.sh 66 Sec. 13: Scripts 13.1.2 STIC Parallel (Linda) Job PBS Submission Script cmd line input: ./script InputFile.gjf # nodes (4 is best) walltime (in days) e.g., [sgu1@login1]$ ./stic-linda.sh InP.gjf 4 10 #!/bin/bash set -o errexit set -o pipefail # exit on errors # or failure in a pipe if [ $# -eq 0 ]; then cat <<EOF USAGE: ${0##*/} Input NNodes WallTime_in_days EOF exit 1 fi Inp=$1 NNodes=$3 if [ -z "$Inp" ]; then # test if we got needed data echo "No Input File Specified" exit 1 fi if [ -z "$2" ]; then echo "Wall Time Not Specified" exit 1 fi if [ -z "$NNodes" ]; then echo "Number Of Nodes Not Specified" exit 1 fi WALLTIME=$(( 24 * $2 )):00:00 InpBase=${Inp%.*} SubFile=$InpBase.pbs #Prepare submission script cat <<EOFPBS >$SubFile #!/bin/bash #PBS -N $InpBase #PBS -V #PBS -m n #PBS -r n #PBS -o $InpBase.pbserr #PBS -j oe #PBS -l nodes=$NNodes:ppn=12,walltime=$WALLTIME #PBS -l mem=24000mb #PBS -q guscus InpBase=$InpBase TIMEFORMAT="TIMING: %3R %3U %3S" # Format for bash time builtin GAUSS_SCRDIR=/shared.scratch/\$USER/tmp/\$PBS_JOBID export GAUSS_SCRDIR \${GAUSS_MEMDEF:=2415919104} cd \$PBS_O_WORKDIR exec &>$InpBase.err set -x trap "rm -rf \$GAUSS_SCRDIR" EXIT mkdir -p \$GAUSS_SCRDIR # print commands before executing # clean up at exit df -h uname -a printenv LINDA_WORKERS=\$(cat \$PBS_NODEFILE |sort -u |tr ’\n’ ’,’ |sed ’s/,$//’) time \$GAU <<EOGJF >"\$InpBase.out" %nprocsh=6 %mem=23500mb %LindaWorkers=\$LINDA_WORKERS EOFPBS cat $Inp >> $SubFile echo "EOGJF" >> $SubFile cat << EOF >> $SubFile echo \$? EOF This script may also be found at guscus:/projects/guscus/Manuals/scripts/stic-linda.sh 67 Sec. 13: Scripts 13.1.3 DaVinci Parallel (Linda) Job PBS Submission Script cmd line input: ./script InputFile.gjf walltime (in days) e.g., [sgu1@login1]$ ./davy-linda.sh AlN.gjf 10 #!/bin/bash set -o errexit set -o pipefail # exit on errors # or failure in a pipe if [ $# -eq 0 ]; then cat <<EOF USAGE: ${0##*/} INPut NNODES EOF exit 1 fi INP=$1 NNODES=$2 # test if we got needed data if [ -z "$INP" ]; then echo "No Input File Specified" exit 1 fi if [ -z "$NNODES" ]; then echo "Number Of Nodes Not Specified" exit 1 fi INPBASE=${INP%.*} #Prapare submission script SUBFILE=$INPBASE.pbs cat <<EOFPBS >$SUBFILE #!/bin/bash #PBS -N $INPBASE #PBS -V #PBS -m n #PBS -r n #PBS -o $INPBASE.pbserr #PBS -j oe #PBS -l nodes=$NNODES:ppn=12,pmem=4000mb #PBS -q parallel INPBASE=$INPBASE TIMEFORMAT="TIMING: %3R %3U %3S" # Format for bash time builtin GAUSS_SCRDIR=/scratch/\$USER/tmp/\$PBS_JOBID export GAUSS_SCRDIR : \${GAUSS_MEMDEF:=2415919104} cd \$PBS_O_WORKDIR exec &>$INPBASE.err set -x trap "rm -rf \$GAUSS_SCRDIR" EXIT mkdir -p \$GAUSS_SCRDIR # print commands before executing # clean up at exit df -h uname -a printenv LINDA_WORKERS=\$(cat \$PBS_NODEFILE |sort -u |tr ’\n’ ’,’ |sed ’s/,$//’) time \$GAU <<EOGJF >"\$INPBASE.out" %nprocsh=12 %mem=42GB %LindaWorkers=\$LINDA_WORKERS EOFPBS cat $INP >> $SUBFILE echo "EOGJF" >> $SUBFILE cat << EOF >> $SUBFILE echo \$? EOF This script may be obtained at: guscus:/projects/guscus/Manuals/davinci-linda.sh 68 Sec. 13: Scripts 13.1.4 BioU Serial Job PBS Submission Script cmd line input: ./script InputFile.gjf walltime (in days) e.g., [sgu1@login2]$ ./biou-serial.sh ZnS.gjf 10 #!/bin/bash set -o errexit set -o pipefail # exit on errors # or failure in a pipe #if [ $# -eq 0 ]; then # cat <<EOF #USAGE: # ${0##*/} Input NNodes WallTime_in_days #EOF # exit 1 #fi Inp=$1 # test if we got needed data if [ -z "$Inp" ]; then echo "No Input File Specified" exit 1 fi #if [ -z "$2" ]; then # echo "Wall Time Not Specified" # exit 1 #fi #if [ -z "$NNodes" ]; then # echo "Number Of Nodes Not Specified" # exit 1 #fi #WALLTIME=$(( 24 * $2 )):00:00 InpBase=${Inp%.*} SubFile=$InpBase.pbs #Prepare submission script cat <<EOFPBS >$SubFile #!/bin/bash #PBS -N $InpBase #PBS -V #PBS -m n #PBS -r n #PBS -o $InpBase.pbserr #PBS -j oe #PBS -l nodes=1:ppn=128,walltime=24:00:00 #PBS -l mem=24000mb #PBS -q serial InpBase=$InpBase TIMEFORMAT="TIMING: %3R %3U %3S" # Format for bash time builtin GAUSS_SCRDIR=/shared.scratch/\$USER/tmp/\$PBS_JOBID export GAUSS_SCRDIR \${GAUSS_MEMDEF:=17179869184} cd \$PBS_O_WORKDIR exec &>$InpBase.err set -x trap "rm -rf \$GAUSS_SCRDIR" EXIT mkdir -p \$GAUSS_SCRDIR # print commands before executing # clean up at exit df -h uname -a printenv time \$GAU <<EOGJF >"\$InpBase.out" %mem=23500mb EOFPBS cat $Inp >> $SubFile echo "EOGJF" >> $SubFile cat << EOF >> $SubFile echo \$? mkpdos -bias-from "\$InpBase.out" -F -v >& mkpdos.log EOF Download this script locally from: guscus:/projects/guscus/Manuals/biou-serial.sh 69 Sec. 13: Scripts 13.2 PDOS Vertical Template This minimal example produces a vertical PDOS plot, with the valence band at the bottom and the conduction band populations at the top, as in the figure below. Copy the gpt file and relevant data for Si from guscus:/projects/guscus/Manuals/examples/Si-pdos. reset set term postscript portrait enhanced dashed lw 2.0 color ’Times-Roman’ 20 # DEFINE INPUT AND OUTPUT set output ’output.ps’ # name of output file data = ’pdos.dat’ # dat file # DEFINE PLOT RANGES set lmargin 5.5 set rmargin 0.5 set yrange [-10.0:10.0] # THESE WILL CHANGE BASED ON YOUR SYSTEM set xrange [-0.03:2.5] # LEAVES A LITTLE SPACE TO SEE IF BASIS SET IS OKAY set ylabel ’Energy (eV)’ offset 1.3,0 set xlabel ’PDOS (states/eV/unit cell)’ set ytics 2.0 # THIS IS BASED ON A SMALL UNIT CELL, ADJUST AS NECESSARY set xtics 0.5 # ARROWS # The gray baseline along the y-axis set arrow 1 from 0, graph 0 to 0, graph 1 nohead lc rgb ’dark-gray’ lw 1.0 # LABELS -- Depending upon OS and Gnuplot version, may be Helvetica-Italic set label 1 ’{/Helvetica-oblique=18 E_{F}}’ at 2.55,0 tc rgb ’dark-red’ set label 2 at 1.5,2.2 ’{/Helvetica=22 Si (dia) }’ tc rgb ’royalblue’ set label 3 at 1.5,1.6 ’{/Helvetica=16 HSE OPT}’ tc rgb ’navy’ set label 4 at 1.50,1.0 ’{/Helvetica-oblique=16 E_{g} }{/Helvetica=16 = 1.22 eV (I)}’ tc rgb ’navy’ set label 5 at 1.5,0.4 ’{/Helvetica=16 Exp. = 1.17 eV (I)}’ tc rgb ’dark-red’ set key at 2.40,9.50 right # X-coord of Upper Left Corner and Y-coord of Upper Right Corner # LINE STYLES -set style set style set style set style set style set style set style set style set style set style use as many as necessary line 1 lt 1 lw 2.0 lc rgbcolor ’black’ line 2 lt 3 lw 1.5 lc rgbcolor ’red’ line 3 lt 1 lw 1.5 lc rgbcolor ’forest-green’ line 4 lt 1 lw 1.5 lc rgbcolor ’blue’’ line 5 lt 1 lw 1.0 lc rgbcolor ’royalblue’ line 6 lt 1 lw 1.0 lc rgbcolor ’gold’ line 7 lt 1 lw 1.0 lc rgbcolor ’plum’ line 8 lt 2 lw 1.0 lc rgbcolor ’sea-green’ line 9 lt 1 lw 1.0 lc rgbcolor ’gray50’ line 10 lt 0 lc rgbcolor ’white’ # PLOT THE DATA -- FIRST LINE IS DASHED BLACK LINE FOR FERMI LEVEL plot 0 w l lt 2 lw 2.0 lc rgb ’black’ not,\ data using 2:1 w l ls 2 t ’Q_{/Helvetica-oblique s}’,\ data using 3:1 w l ls 3 t ’Q_{/Helvetica-oblique p}’,\ data using 4:1 w l ls 4 t ’Q_{/Helvetica-oblique d}’,\ data using 5:1 w l ls 1 t ’Total’ 70 Sec. 13: Scripts 13.3 PDOS Horizontal Template This minimal example produces a horizontal PDOS plot, with the valence band to the left. the Fermi level in the center, and the conduction band populations to the right, as in the figure below. Copy the gpt file and relevant data for Si from guscus:/projects/guscus/Manuals/examples/Si-pdos. reset set term postscript eps enhanced dashed dl 2.0 color ’Times-Roman’ 20 # INPUT AND OUTPUT set output ’pdos.eps’ # name of output file data = ’pdos.dat’ # dat file # PLOT RANGES set lmargin 5.5 set xrange [-10.0:10.0] set yrange [-0.1:2.5] # Allows view of baseline set xlabel ’Energy (eV)’ set ylabel ’PDOS (states/eV/unit cell)’ offset 1.3,0 set xtics 2.0 set ytics 0.5 # ARROWS and LABELS set arrow 1 from 0, graph 0 to 0, graph 1 nohead lc rgb ’dark-gray’ lw 1.0 set label 1 ’Fermi level’ at 0, graph 1 right rotate offset character 1, character -1 tc rgb ’navy’ set label 2 at -9,2.3 ’{/Helvetica=20 Si (dia) }’ tc rgb ’dark-red’ set label 3 at -9,2.1 ’{/Helvetica=16 HSE OPT}’ tc rgb ’navy’ set label 4 at -9,1.9 ’{/Helvetica-Italic=16 E_{g} = }{/Helvetica=16 1.22 eV (I)}’ tc rgb ’navy’ set label 5 at -9,1.7 ’{/Helvetica=16 Expt. = 1.17 eV (I)}’ tc rgb ’red’ set key at 9.7,2.45 right # Plot the data... plot 0 w l lt 1 lw 3.0 lc data using 1:2 w l data using 1:3 w l data using 1:4 w l data using 1:5 w l rgb ’gray’ not,\ ls 3 t ’Q_{/Helvetica-Italic s}’,\ ls 2 t ’Q_{/Helvetica-Italic p}’,\ ls 4 t ’Q_{/Helvetica-Italic d}’,\ ls 1 t ’Total’ 71 2.5 Si (dia) 2 Sis Sip Sid Total Fermi level Add more colors or styles as required line 1 lt 1 lw 2.0 lc rgbcolor ’black’ line 2 lt 1 lw 1.5 lc rgbcolor ’blue’ line 3 lt 2 lw 1.0 lc rgbcolor ’green’ line 4 lt 4 lw 2.0 lc rgbcolor ’red’ line 5 lt 1 lw 1.0 lc rgbcolor ’royalblue’ line 6 lt 4 lw 1.0 lc rgbcolor ’forest-green’ line 7 lt 1 lw 1.0 lc rgbcolor ’gold’ line 8 lt 2 lw 0.8 lc rgbcolor ’forest-green’ line 9 lt 1 lw 1.0 lc rgbcolor ’khaki’ line 10 lt 0 lc rgbcolor ’white’ PDOS (states/eV/unit cell) # LINE STYLES -set style set style set style set style set style set style set style set style set style set style HSE OPT Eg = 1.22 eV (I) Expt. = 1.17 eV (I) 1.5 1 0.5 0 -10 -8 -6 -4 -2 0 2 Energy (eV) 4 6 8 10 Sec. 13: Scripts 13.4 Band Structure: gpband Default The default gpband script for HSE optimized AlSb. (Discussed inSections 10.3.2 and 10.3.3.) #! /usr/bin/gnuplot reset set encoding iso_8859_1 set terminal postscript eps enhanced color dl 2 "Times-Roman,18" set output ’band.eps’ set lmargin 5.5 set rmargin 4 set macros unset key unset colorbox set xlabel "k path" set ylabel "Energy (eV)" offset 1.5,0 data = ’band.dat’ x1_GM = 0.000000 x2_X = 0.862114 x3_W = 1.293143 x4_K = 1.597934 x5_GM = 2.512322 x6_L = 3.258914 x7_U = 3.786839 x8_W = 4.091633 x9_K = 4.396424 x10_X = 4.701213 set xtics ( "{/Symbol G}" x1_GM, "X" x2_X, "W" x3_W, "K" x4_K, "{/Symbol G}" x5_GM, "L" x6_L, "U" x7_U, "W" x8_W, "K | U" x9_K, "X" x10_X ) E0 cHOCO HOCO cLUCO LUCO EF mGap MGap iGap = = = = = = = = = 10.371738 10 10.371738 11 12.420518 10.371738 3.058369 8.405779 2.048780 E(y) = y - E0 set set set set set set set set set set arrow arrow arrow arrow arrow arrow arrow arrow arrow arrow # energy shifting function 1 from x1_GM, graph 0 to x1_GM, graph 1 nohead lt -1 2 from x2_X, graph 0 to x2_X, graph 1 nohead lt -1 3 from x3_W, graph 0 to x3_W, graph 1 nohead lt -1 4 from x4_K, graph 0 to x4_K, graph 1 nohead lt -1 5 from x5_GM, graph 0 to x5_GM, graph 1 nohead lt -1 6 from x6_L, graph 0 to x6_L, graph 1 nohead lt -1 7 from x7_U, graph 0 to x7_U, graph 1 nohead lt -1 8 from x8_W, graph 0 to x8_W, graph 1 nohead lt -1 9 from x9_K, graph 0 to x9_K, graph 1 nohead lt -1 10 from x10_X, graph 0 to x10_X, graph 1 nohead lt -1 set arrow 11 \ from graph 0, first E(HOCO) to graph 1, first E(HOCO) nohead lt 19 set arrow 12 \ from graph 0, first E(LUCO) to graph 1, first E(LUCO) nohead lt 20 set yrange [*:*] plot \ data data data data data data data data data data data data data data data data data data using using using using using using using using using using using using using using using using using using 1:(E($19)) t "27" with l ls 18, \ 1:(E($18)) t "26" with l ls 17, \ 1:(E($17)) t "25" with l ls 16, \ 1:(E($16)) t "24" with l ls 15, \ 1:(E($15)) t "23" with l ls 14, \ 1:(E($14)) t "22" with l ls 13, \ 1:(E($13)) t "21" with l ls 12, \ 1:(E($12)) t "20" with l ls 11, \ 1:(E($11)) t "19" with l ls 10, \ 1:(E($10)) t "18" with l ls 9, \ 1:(E($9)) t "17" with l ls 8, \ 1:(E($8)) t "16" with l ls 7, \ 1:(E($7)) t "15" with l ls 6, \ 1:(E($6)) t "14" with l ls 5, \ 1:(E($5)) t "13" with l ls 4, \ 1:(E($4)) t "12" with l ls 3, \ 1:(E($3)) t "11" with l ls 2, \ 1:(E($2)) t "10" with l ls 1 72 Sec. 13: Scripts 13.5 Band Structure: Modified AlSb (HISS) gpt File The modified gp file that produced Figure 16 in Section 10.3.4. reset set terminal postscript eps enhanced color dl 2 "Helvetica,18" set output ’AlSb-hiss2.eps’ data = ’AlSb-hiss.dat’ set rmargin 4 unset key set ylabel "Energy (eV)" offset 1.5,0 x1_GM = 0.000000 x2_X = 0.862114 x3_W = 1.293143 x4_K = 1.597934 x5_GM = 2.512322 x6_L = 3.258914 x7_U = 3.786839 x8_W = 4.091633 x9_K = 4.396424 x10_X = 4.701213 set xtics ( "{/Symbol G}" x1_GM, "X" x2_X, "W" x3_W, "K" x4_K, "{/Symbol G}" x5_GM, "L" x6_L, "U" x7_U, "W" x8_W, "K | U" x9_K, "X" x10_X ) E0 cHOCO HOCO cLUCO LUCO EF mGap MGap iGap UCO2 = = = = = = = = = = 10.371738 10 10.371738 11 12.420518 10.371738 3.058369 8.405779 2.048780 12.700369 E(y) = y - E0 # energy shifting function # LINE STYLES set style set style set style set style set style set set set set set set set set set set arrow arrow arrow arrow arrow arrow arrow arrow arrow arrow line line line line line 1 2 3 4 5 lt lt lt lt lt 4 1 1 1 1 lw lw lw lw lw 0.7 1.0 2.5 2.5 2.5 lc lc lc lc lc rgbcolor rgbcolor rgbcolor rgbcolor rgbcolor ’dark-turquoise’ ’black’ ’black’ ’red’ ’blue’ #k-point Vertical LINESS # BORING BANDS thin black line # BANDS OF INTEREST thicker black line c # VB Max ...................... # CB Min ----------------- 1 from x1_GM, graph 0 to x1_GM, graph 1 nohead ls 1 2 from x2_X, graph 0 to x2_X, graph 1 nohead ls 1 3 from x3_W, graph 0 to x3_W, graph 1 nohead ls 1 4 from x4_K, graph 0 to x4_K, graph 1 nohead ls 1 5 from x5_GM, graph 0 to x5_GM, graph 1 nohead ls 1 6 from x6_L, graph 0 to x6_L, graph 1 nohead ls 1 7 from x7_U, graph 0 to x7_U, graph 1 nohead ls 1 8 from x8_W, graph 0 to x8_W, graph 1 nohead ls 1 9 from x9_K, graph 0 to x9_K, graph 1 nohead ls 1 10 from x10_X, graph 0 to x10_X, graph 1 nohead ls 1 # I-Bars and set arrow set arrow set arrow # Labels set label set label set label Transition Arrows 11 from 0.735264,0 to 0.735264,E(LUCO) size 0.2,90 heads lw 2.5 lc rgb ’green’ front 13 from x5_GM,0 to 0.735264,E(LUCO) heads lw 1.5 front 15 from x6_L,0 to 3.258914,E(UCO2) size 0.2,90 heads lw 2.5 lc rgb ’magenta’ front 1 ’{/Helvetica-Oblique=28 E_{F}}’ at 4.7,0.00 tc rgbcolor ’dark-red’ 2 ’{2.05 eV (I)}’ at 0.9,0.6 3 ’{2.33 eV (I)}’ at 3.3, 0.8 set yrange [-7:10] plot 0 w l lt E(LUCO) w l lt data using data using data using data using data using data using data using data using data using data using data using data using data using data using data using data using data using data using -1 not,\ 2 lc rgbcolor "orange" not, \ 1:(E($19)) t "27" with l ls 5, \ 1:(E($18)) t "26" with l ls 5, \ 1:(E($17)) t "25" with l ls 5, \ 1:(E($16)) t "24" with l ls 5, \ 1:(E($15)) t "23" with l ls 5, \ 1:(E($14)) t "22" with l ls 5, \ 1:(E($13)) t "21" with l ls 5, \ 1:(E($12)) t "20" with l ls 5, \ 1:(E($11)) t "19" with l ls 5, \ 1:(E($10)) t "18-occ" with l ls 4, \ 1:(E($9)) t "17-occ" with l ls 4, \ 1:(E($8)) t "16-occ" with l ls 4, \ 1:(E($7)) t "15-occ" with l ls 4, \ 1:(E($6)) t "14-occ" with l ls 4, \ 1:(E($5)) t "13-occ" with l ls 4, \ 1:(E($4)) t "12-occ" with l ls 4, \ 1:(E($3)) t "11-occ" with l ls 4, \ 1:(E($2)) t "10-occ" with l ls 4 73 Sec. 13: Scripts 13.6 BS and PDOS Multiplot Example This gnuplot script is modified gpband output → gpband will *not* produce this file. Note that the length of this template necessitates that it be broken into sections. Simply concatenate the parts discussed in the following pages to obtain a working script or scp the full version located at guscus:/projects/guscus/Manuals/scripts/both.gpt The Annoted Sections of the Gnuplot File: Chunk 1: Header, Section 13.6.1 Chunk 2: BS plot data-I: Set-up, Section 13.6.2 Chunk 3: BS plot data-II: Plotting, Section 13.6.3 Chunk 4: PDOS plot data-I: Set-up, Section 13.6.4 Chunk 5: PDOS plot data-II: Plotting, Section 13.6.5 13.6.1 Header and Multiplot Set-Up # TERMINAL SET-UP reset set encoding iso_8859_1 set terminal postscript eps enhanced lw 2 color # SET INPUT AND OUTPUT FILE NAMES set output ’both.eps’ data = ’band.dat’ # SET MARGINS, AXES and DECORATIONS set lmargin 5.5 set rmargin 0 set xlabel "K-Path" set ylabel "Energy (eV)" offset 1.3,0 unset key unset colorbox # SET MULTIPLOT # --> 1 ROW, 2 COLUMNS, NO TITLE set multiplot layout 1,2 74 "Times-Roman,16" Sec. 13: Scripts 13.6.2 Band Structure Plot # X-TIC LABELS AND INFORMATION GENERATED BY gpband x1_GM = 0.000000 x2_M = 0.969907 x3_K = 1.529883 x4_GM = 2.649834 set xtics ( "{/Symbol G}" x1_GM, "M" x2_M, "K" x3_K, "{/Symbol G}" x4_GM ) # RELEVANT ENERGY DATA E0 = -6.22565 # The cHOCO = 10 HOCO = -6.225650 cLUCO = 11 LUCO = -3.900374 EF = -6.225650 mGap = 2.325276 MGap = 4.138425 iGap = 2.325276 E(y) = y - E0 highest energy of the valence band # The column containing the HOCO in the band.dat file # The Highest Occupied Crystal Orbital # The column containing the LUCO in the band.dat file # The Lowest Unoccupied Crystal Orbital # The unscaled Fermi energy, same as E0 for now # The minimum gap # The next gap # The indirect gap # The energy shifting (scaling) function # LINE STYLES & EXTRA COLORS FOR LABELING VARIOUS BANDS WHEN NECESSARY # -----> Note, there are more in the actual gpt file on guscus... set set set set set set set set set set set set set set set style style style style style style style style style style style style style style style line line line line line line line line line line line line line line line 1 lt 4 lw 0.5 lc rgbcolor ’dark-turquoise’ 2 lt 1 lw 1.0 lc rgbcolor ’black’ 3 lt 1 lw 2.5 lc rgbcolor ’black’ 4 lt 1 lw 1.5 lc rgbcolor ’red’ 5 lt 1 lw 1.5 lc rgbcolor ’blue’ 6 lt 1 lw 1.0 lc rgbcolor ’orange’ 7 lt 1 lw 1.0 lc rgbcolor ’yellow’ 8 lt 1 lw 1.0 lc rgbcolor ’forest-green’ 9 lt 4 lw 1.0 lc rgbcolor ’sea-green’ 10 lt 1 lw 2.0 lc rgbcolor ’green’ 11 lt 1 lw 1.0 lc rgbcolor ’cyan’ 12 lt 1 lw 1.0 lc rgbcolor ’magenta’ 13 lt 1 lw 1.0 lc rgbcolor ’dark-salmon’ 14 lt 1 lw 1.0 lc rgbcolor ’gray50’ 15 lt 0 lc rgbcolor ’white’ 75 Sec. 13: Scripts 13.6.3 Band Structure Plot–II # SET VERTICAL set arrow 1 set arrow 2 set arrow 3 set arrow 4 # LOWEST VBMx VBMy CBMx CBMy LINES FOR HIGH-SYMMETRY POINTS from x1_GM, graph 0 to x1_GM, graph from x2_M, graph 0 to x2_M, graph 1 from x3_K, graph 0 to x3_K, graph 1 from x4_GM, graph 0 to x4_GM, graph 1 nohead ls 1 nohead ls 1 nohead ls 1 1 nohead ls 1 GAP INFOR (NOT PRODUCED BY gpband) = 1.529883 = -6.225650-E0 # prescaled,scaled = 1.529883 = -3.900374-E0 # prescaled,scaled set arrow 5 from VBMx,VBMy to VBMx,CBMy heads size .2,90 ls 10 front set arrow 6 from VBMx,VBMy to CBMx,CBMy heads front set arrow 7 from 0,first E(LUCO) to 5.3, first E(LUCO) nohead ls 9 set yrange [-8:12] set ytics -8,2,12 # Determine by hand, gpband gives [*:*] # PLOT THE BANDS - Range from gpband (ls 5=blue, ls 4=red) plot 0 w l lt 1 lw 3.0 lc rgb ’gray’ not, \ data using 1:(E($24)) t "37" with l ls 5, \ data using 1:(E($23)) t "36" with l ls 5, \ data using 1:(E($22)) t "35" with l ls 5, \ data using 1:(E($21)) t "34" with l ls 5, \ data using 1:(E($20)) t "33" with l ls 5, \ data using 1:(E($19)) t "32" with l ls 5, \ data using 1:(E($18)) t "31" with l ls 5, \ data using 1:(E($17)) t "30" with l ls 5, \ data using 1:(E($16)) t "29" with l ls 5, \ data using 1:(E($15)) t "28" with l ls 5, \ data using 1:(E($14)) t "27" with l ls 5, \ data using 1:(E($13)) t "26" with l ls 5, \ data using 1:(E($12)) t "25" with l ls 5, \ data using 1:(E($11)) t "24" with l ls 5, \ data using 1:(E($10)) t "23-occ" with l ls 4, \ data using 1:(E($9)) t "22-occ" with l ls 4, \ data using 1:(E($8)) t "21-occ" with l ls 4, \ data using 1:(E($7)) t "20-occ" with l ls 4, \ data using 1:(E($6)) t "19-occ" with l ls 4, \ data using 1:(E($5)) t "18-occ" with l ls 4, \ data using 1:(E($4)) t "17-occ" with l ls 4, \ data using 1:(E($3)) t "16-occ" with l ls 4, \ data using 1:(E($2)) t "15-occ" with l ls 4 76 Sec. 13: Scripts 13.6.4 The Rotated PDOS Plot-I # SET UP PDOS PLOT pdosdata = ’pdos.dat’ set rmargin 5.5 set lmargin 0 unset xlabel unset ylabel set xlabel ’PDOS (states/eV/unit cell)’ unset ytics unset xtics set xrange [*:*] # Use until you know your system, overwritten by line below. set xrange [-0.1:6] # Adjust as is necessary set xtics 1,1,6 set y2range [-8:12] set y2tics -8,2,12 set y2tics (-8, -6, -4, -2, ’{/Times-ItalicBold E_F}’ 0, 2, 4, 6, 8, 10, 12) set key # GAP LABELS FOR PDOS SIDE unset arrow unset label # I-BAR set arrow 1 from 2,E(HOCO) to 2,E(LUCO) heads size .3,90 ls 10 lw 2 front # ARROW set arrow 2 from 2,0 to 2,E(LUCO) heads lw 0.8 front # LABEL: SYSTEM & CALCULATION TYPE set label 1 at 3,0.5 ’{/Helvetica=14 MoS_{2} Monolayer SPE}’ tc rgb ’navy’ # LABEL: FUNCTIONAL AND BAND GAP set label 2 at 3,-0.5 ’{/Helvetica=14 HSE Gap 2.33 eV (D)}’ tc rgb ’dark-red’ 77 Sec. 13: Scripts 13.6.5 The Rotated PDOS Plot-II # PDOS PLOT COLORS set style line 1 lt 1 lw 1.5 lc rgbcolor ’black’ set style line 2 lt 1 lw 1.0 lc rgbcolor ’skyblue’ set style line 3 lt 2 lw 1.0 lc rgbcolor ’blue’ set style line 4 lt 1 lw 1.0 lc rgbcolor ’blue’ set style line 5 lt 4 lw 1.0 lc rgbcolor ’royalblue’ set style line 6 lt 4 lw 1.0 lc rgbcolor ’forest-green’ set style line 7 lt 1 lw 1.0 lc rgbcolor ’spring-green’ set style line 8 lt 2 lw 0.8 lc rgbcolor ’forest-green’ set style line 9 lt 4 lw 1.0 lc rgbcolor ’dark-magenta’ set style line 10 lt 4 lw 1.0 lc rgbcolor ’red’ set style line 11 lt 1 lw 1.0 lc rgbcolor ’red’ set style line 12 lt 4 lw 1.0 lc rgbcolor ’brown’ set style line 13 lt 1 lw 1.0 lc rgbcolor ’gold’ set style line 14 lt 1 lw 1.0 lc rgbcolor ’orange’ set style line 15 lt 4 lw 1.0 lc rgbcolor ’goldenrod’ set style line 16 lt 1 lw 1.0 lc rgbcolor ’dark-green’ set style line 17 lt 1 lw 1.0 lc rgbcolor ’dark-khaki’ set style line 18 lt 1 lw 1.0 lc rgbcolor ’navy’ set style line 19 lt 1 lw 1.0 lc rgbcolor ’plum’ set style line 20 lt 1 lw 1.0 lc rgbcolor ’pink’ set style line 21 lt 1 lw 1.0 lc rgbcolor ’khaki’ set style line 22 lt 1 lw 1.0 lc rgbcolor ’sea-green’ set style line 23 lt 3 lw 1.0 lc rgbcolor ’green’ set style line 24 lt 1 lw 1.0 lc rgbcolor ’cyan’ set style line 25 lt 1 lw 1.0 lc rgbcolor ’magenta’ set style line 26 lt 1 lw 1.0 lc rgbcolor ’#ab00ab’ set style line 27 lt 1 lw 0.7 lc rgbcolor ’#00abff’ set style line 28 lt 3 lw 0.7 lc rgbcolor ’#00abff’ set style line 29 lt 0 lc rgbcolor ’white’ # PLOT THE PDOS DATA; SET UP THE LEGEND/KEY plot 0 w l lt pdosdata using pdosdata using pdosdata using pdosdata using pdosdata using pdosdata using pdosdata using unset multiplot 1 lw 3.0 lc rgb ’gray’ not,\ 2:1 w l ls 13 t ’S_{/Helvetica-Italic s}’,\ 3:1 w l ls 14 t ’S_{/Helvetica-Italic p}’,\ 4:1 w l ls 15 t ’S_{/Helvetica-Italic d}’,\ 5:1 w l ls 28 t ’Mo_{/Helvetica-Italic s}’,\ 6:1 w l ls 27 t ’Mo_{/Helvetica-Italic p}’,\ 7:1 w l ls 26 t ’Mo_{/Helvetica-Italic d}’,\ 8:1 w l ls 1 t ’Total’ # ALWAYS USE THIS FOR A MULTIPLOT PLOT 78 Sec. 13: Scripts 79 14 14.1 PBC Functionals Scuseria Functionals Table 5: Functionals developed in the Scuseria Group sorted according to type. Note that availability is variable. SR=Short -range, MR=Middle-range, and LR=Long-range. Keyword and/or IOp Acronym(s) Global Hybrids TPSSh TPSSh SR Screened Hybrids HSEh1HSE HSE1PBE HSE2PBE MR Screened Hybrids 3/74=-61 3/74=-56 3/74=-62 3/74=-57 LR Screened Hybrids LC-wPBE Citation(s) [5, 6] G09-B1 and higher HSE, HSE06H HSE, HSE06 HSE03 [7, 8, 9] [8, 9] [10] Use this *always* HISS, HISSb [11] HISS, HISSb HISS-a HISS-a [11] [12] [12] Use this! G09-B, gdv-h11 (PBC) Use this gdv-h1 (PBC) Don’t use; gdv-h11 (PBC) Don’t use; gdv-h1 (PBC) LC-ωPBE [13] G09-B1 and higher Semilocal PBEPBE + 3/74=5050 PBEsol TPSSTPSS TPSS 14.2 Availability/Notes [14, 15] [16] gdv-h11-sol; no PBC, yet... Just-For-Solids Functionals Table 6: Functionals developed explicitly for solids, discussed and compared in the literature, but not necessarily implemented widely. (Not an exhaustive list.) Keyword and/or IOp Acronym(s) Citation(s) Availability/Notes — — — — PBEPBE + 3/74=5050 AMO5 HSEsol HTBS MBJLDA PBEsol [17] [18] [19] [20] [14, 15] Not available Not available Not available Not available gdv-h11-sol; no PBC, yet... 80 Sec. 14: PBC Functionals 14.3 (Semi)Local Functionals Table 7: Functionals commonly encountered by the solid state theoretician that are known not to work well, but continue to be used, anyway. Arranged roughly according to the rungs of the functional Jacob’s Ladder.[21] Keyword and/or IOp Acronym(s) Citation(s) SVWN5 LSDA [22] LSDA M06L PBEPBE PW91 PW92 TPSSTPSS revTPSS WC LSDA, LDA M06L PBE PW91 PW92 TPSS revTPSS WC [23] [24] [25, 26] [27] [28] [16] [29, 30, 31] [32] 14.4 Availability/Notes G09-B1 and higher “...use the LSDA with SVWN5” Never use Use this rather than PW91 Less-clean version of PBE Not sure what this is Jian-Min says “eh.” Not sure about any of this Global Hybrids OMG, why? Seriously, see the commentary by GES in Section 11.1. Table 8: Global hybrid functionals that have been applied to the extended systems. Note: expect to expend extensive amounts of CPU time. Keyword and/or IOp Acronym(s) Citation(s) Availability/Notes B3LYP PBEh1PBE M06 M06HF M062X TPSSh B3LYP PBEh,PBE0 M06 M06HF M062X TPSSh [33] [34, 35] [36] [37] [38] [5, 6] G09-B1 and higher PBE hybrid → HSE Truhlar Suite Variation of above Variation of above Not sure which 14.5 Functional Bibliography For LaTex users, a BibTex file, functionals.bib file with all of the citations used here and more is provided at guscus:/projects/guscus/Manuals/functionals.bib. Last Modified March 26, 2012 81 15 Basis Sets for Extended Systems The format for PBC basis sets is the same as that for molecular basis sets. See the G09 Basis Set and Gen/GenECP pages for more details. Generally, the basis sets will be called externally via Gen/GenECP(or Pseudo=Read) or by specifying the path to the basis set preceded by an @ and terminated with a /N to prevent writing to the output file. (As in Section 3) The anatomy of a G09 basis set file is as follows: Type/Constraint α1 α2 α3 ... αn nGauss d1µ d2µ d3µ dnµ ScaleFactor # # # # # The the “Shell Descriptor Line” n primitive gaussian specifications αk exponent and dkµ contraction coefficient. n total primitive gaussian lines. 1. The shell descriptor line contains: the shell type, the number of primitive gaussians, and the scale factor. • The type/constraint specification is for shells: S, P, D, DP, SPD, F, G... for s-, p-, d−, dp... shells, respectively. • NGauss specifies the number of primitive gaussian shells (the degree of contraction) for the shell being defined. • Scale Factor (#) refers to the shell scale factor, e.g. if #=2, all primitive exponents are scaled by 2. 2. The remaining lines are primitive gaussian specifications • There are nGauss of them • Each line defines the exponents αk and dkµ contraction coefficients. • Comments are made using an exclamation point 15.1 Example: The 6-311G Basis Set for Fluorine **** F 0 S 6 1.00 11427.1000000 1722.3500000 395.7460000 115.1390000 33.6026000 4.9190100 SP 3 1.00 55.4441000 12.6323000 3.7175600 SP 1 1.00 1.1654500 SP 1 1.00 0.3218920 **** <—- Mandatory blank space after Tv’s <—- 4 asterisks after blank space (Mandatory) <—- Indicates this is a Fluorine basis set The first shell (S) descriptor line The first (S) exponent and contract coeffcients The second ... 0.00180093 0.0137419 0.0681334 0.2333250 0.5890860 0.2995050 0.1145360 0.9205120 -0.00337804 0.0354609 0.2374510 0.8204580 1.0000000 1.0000000 1.0000000 1.0000000 The second (SP ) shell descriptor The first set of SP exponent and contract coeffcients The second SP )shell descriptor The second SP shell descriptor <—- Mandatory 4 asterisks terminating basis set <—- Mandatory blank space terminating input file 82 Sec. 15: Basis Sets for Extended Systems 15.2 Modifying Basis Sets for PBC Calculations Before running a PBC job, it is important to ensure that the chosen MOLECULAR basis set i.e., a basis set developed for atoms/molecules is reasonable for extended systems. (Basis sets are generally downloaded from the EMSL or a similar ES database – see Section 15.2.1.) WHY? Molecular basis sets typically contain one or more few diffuse basis functions (bfs) in order to properly describe atomic tails. • A periodic system in 3-D does not need these tails, which will slow down your jobs. (They slow the Coulomb near field of the fast multipole method.)[39] • There are are some tails in lower dimensions, but these calculations are not as sensitive. • See also Sections 11.1 and 11.2 and References [40, 41, 42] for additional, more detailed discussion. The Gaussian Basis Set FAQ prepared by Mike Towler provides a nice introduction to the use of gaussian basis sets in PBC calculations. A copy is also kept at: gusucs:/projects/guscus/Manuals/Towler.pdf CAUTION: → A basis set properly optimized for previous PBC calculations may not work as well when applied to a different system. To address this potential issue: 1. Find an LSDA or GGA planewave calculation with PDOS or band gap data for the system of interest 2. Run the LSDA/GGA calculation with the modified PBC gaussian basis set in G09 3. Compare the results: • If they are similar, (within 3-5 eV) then the modified PBC basis set is sufficient. • If the gap is too large, and the basis sets for two or more atoms were modified, the PDOS will usually indicate which basis set should be re-adjusted. 4. Keep in mind that the reference planewave calculation must be of reasonable quality. In the case of no decent standard, common sense and experience must be employed. For illustrative purposes, the next two sections include annotated examples of PBC-optimized basis sets with and without effective core potentials (ECPs), followed by a step-by-step example for chlorine. 83 Sec. 15: Basis Sets for Extended Systems 15.2.1 Basis Set Databases Sites from which gaussian-type basis sets may be downloaded prior to modification include: EMSL https://bse.pnl.gov/bse/portal Mike Towler’s Page http://www.tcm.phy.cam.ac.uk/ mdt26/crystal.html Crystal Periodic Table http://www.crystal.unito.it/Basis_Sets/Ptable.html 15.2.2 Example 1: Modified PBC Basis Sets with No ECPs This example contains the basis sets for β-SiC (zincblende polytype) used in References [12, 11, 43] and many other papers. As is clear from the arrows, Si p− shell exponents are edited as in Reference [44], but nothing is modified in the C basis set. MODIFIED Si and C m-6-311G* basis sets ORIGINAL Si and C 6-311G* basis sets from the EMSL **** Si 0 S 6 1.00 69379.2300000 10354.9400000 2333.8796000 657.1429500 214.3011300 77.6291680 S 3 1.00 77.6291680 30.6308070 12.8012950 S 1 1.00 3.9268660 S 1 1.00 1.4523430 S 1 1.00 0.2562340 S 1 1.00 0.0942790 P 4 1.00 335.4831900 78.9003660 24.9881500 9.2197110 P 2 1.00 3.6211400 1.4513100 P 1 1.00 0.5049770 P 1 1.00 0.1863170 P 1 1.00 0.0654320 D 1 1.00 0.4500000 **** C 0 S 6 1.00 4563.2400000 682.0240000 154.9730000 44.4553000 13.0290000 1.8277300 SP 3 1.00 20.9642000 4.8033100 1.4593300 SP 1 1.00 0.4834560 SP 1 1.00 0.1455850 D 1 1.00 0.6260000 **** **** S 0 S 6 1.00 69379.2300 10354.9400 2333.87960 657.142950 214.301130 77.6291680 S 3 1.00 77.6291680 30.6308070 12.8012950 S 1 1.00 3.92686600 S 1 1.00 1.45234300 S 1 1.00 0.256234000 S 1 1.00 0.120000000 P 4 1.00 335.483190 78.9003660 24.9881500 9.21971100 P 2 1.00 3.62114000 1.45131000 P 1 1.00 0.504977000 P 1 1.00 0.250000000 P 1 1.00 0.120000000 D 1 1.00 0.450000000 **** C 0 S 6 1.00 4563.24000 682.024000 154.973000 44.4553000 13.0290000 1.82773000 SP 3 1.00 20.9642000 4.80331000 1.45933000 SP 1 1.00 0.483456000 SP 1 1.00 0.145585000 D 1 1.00 0.626000000 **** 0.0007570 0.0059320 0.0310880 0.1249670 0.3868970 0.5548880 0.1778810 0.6277650 0.2476230 1.0000000 1.0000000 1.0000000 1.0000000 0.0088660 0.0682990 0.2909580 0.7321170 0.6198790 0.4391480 1.0000000 1.0000000 <---- reset to 0.25 1.0000000 <---- reset to 0.12 1.0000000 0.00196665 0.0152306 0.0761269 0.2608010 0.6164620 0.2210060 0.1146600 0.9199990 -0.00303068 0.0402487 0.2375940 0.8158540 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 84 0.757000000E-03 0.593200000E-02 0.310880000E-01 0.124967000 0.386897000 0.554888000 0.177881000 0.627765000 0.247623000 1.00000000 1.00000000 1.00000000 1.00000000 0.886600000E-02 0.682990000E-01 0.290958000 0.732117000 0.619879000 0.439148000 1.00000000 1.00000000 1.00000000 1.00000000 0.196665000E-02 0.152306000E-01 0.761269000E-01 0.260801000 0.616462000 0.221006000 0.114660000 0.919999000 -0.303068000E-02 0.402487000E-01 0.237594000 0.815854000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 Sec. 15: Basis Sets for Extended Systems 15.2.3 Example 2: Modified Arsenic Basis Set + ECP Note the modifications marked in the original As basis set (right) downloaded from the EMSL. The basis set modification for gaussian PBC calculations (left) is discussed in Reference [44] and is acompanied by the appropriate ECP at the bottom. MODIFIED As m-pVDZ-PP basis set ORIGINAL As cc-pVDZ-PP basis set from the EMSL 0 8 1.00 2542.8100000 381.1690000 40.2342000 16.1217000 3.2018900 1.4209600 0.3214430 0.1167350 S 8 1.00 <-------2542.8100000 381.1690000 40.2342000 16.1217000 3.2018900 1.4209600 0.3214430 0.1167350 S 1 1.00 0.3214430 S 1 1.00 0.1167350 S 1 1.00 0.0370000 P 7 1.00 <-------99.5349000 24.1195000 5.8419600 2.5601000 1.0930800 0.3184240 0.1009720 P 7 1.00 <-------99.5349000 24.1195000 5.8419600 2.5601000 1.0930800 0.3184240 0.1009720 P 1 1.00 0.1009720 P 1 1.00 0.0308000 D 7 1.00 <-------113.5090000 36.8872000 13.6893000 5.3896400 2.0804600 0.7375680 0.3078000 D 1 1.00 0.3078000 D 1 1.00 0.1000000 **** As S As S 0.0011370 0.0060550 0.0841250 -0.4052850 0.7129260 0.4733760 0.0180130 <-------- deleted -0.0037200 <-------- deleted Goes from 8 to 6 bc of deletions -0.0003900 -0.0021900 -0.0268530 0.1368780 -0.3204570 -0.3373910 0.6763840 <-------- deleted 0.5349800 <-------- deleted 1.0000000 1.0000000 <-------- set to 0.12 1.0000000 <-------- deleted Goes from 7 to 6 bc of deletion 0.0038570 -0.0851010 0.4047620 0.5314780 0.1840120 0.0057640 -0.0003520 <-------- deleted Goes from 7 to 6 bc of deletion -0.0007720 0.0199410 -0.1072100 -0.1722590 0.0087610 0.5697440 0.5356530 <-------- deleted 1.0000000 <-------- set to 0.12 1.0000000 Goes from 7 to 6 bc of deletion 0.0119800 0.0795440 0.2367550 0.4015340 0.4066860 0.1731620 0.0087300 <-------- deleted 1.00 2542.81000 381.169000 40.2342000 16.1217000 3.20189000 1.42096000 S 6 1.00 2542.81000 381.169000 40.2342000 16.1217000 3.20189000 1.42096000 S 1 1.00 0.321443000 S 1 1.00 0.120000000 P 6 1.00 99.5349000 24.1195000 5.84196000 2.56010000 1.09308000 0.318424000 P 6 1.00 99.5349000 24.1195000 5.84196000 2.56010000 1.09308000 0.318424000 P 1 1.00 0.120000000 D 6 1.00 113.509000 36.8872000 13.6893000 5.38964000 2.08046000 0.737568000 D 1 1.00 0.307800000 **** AS 0 AS-ECP 4 10 G POTENTIAL 1 2 1.00000000 S-G POTENTIAL 2 2 28.72512200 2 6.76768100 P-G POTENTIAL 4 2 45.33106400 2 44.76741500 2 19.53909000 2 18.97347100 D-G POTENTIAL 6 2 51.05715200 2 50.15134000 2 16.10893600 2 14.67222300 2 3.85192700 2 3.81350200 F-G POTENTIAL 2 2 11.94058400 2 17.76116000 1.0000000 1.0000000 0 6 <-------- deleted 85 0.113700000E-02 0.605500000E-02 0.841250000E-01 -0.405285000 0.712926000 0.473376000 -0.390000000E-03 -0.219000000E-02 -0.268530000E-01 0.136878000 -0.320457000 -0.337391000 1.00000000 1.00000000 0.385700000E-02 -0.851010000E-01 0.404762000 0.531478000 0.184012000 0.576400000E-02 -0.772000000E-03 0.199410000E-01 -0.107210000 -0.172259000 0.876100000E-02 0.569744000 1.00000000 0.119800000E-01 0.795440000E-01 0.236755000 0.401534000 0.406686000 0.173162000 1.00000000 0.00000000 370.11402500 9.34929600 99.14210300 198.30788000 28.38307300 56.87146400 -18.48514500 -28.11353000 -1.22389500 -1.34576500 0.10175700 0.17033800 -0.77523000 -2.15725900 Sec. 15: Basis Sets for Extended Systems 15.2.4 Example 3: Step-by-Step Modification for Cl General Procedure: 1. Reset some of the diffuse functions to a minimum value: • Generally, the minimum exponent for s-type functions should be less than αmin = 2/d2 , where d is the smallest distance between two atoms. • In gaussian, d is expressed in Bohr. • 0.15 is a reasonable value. (See Sections 11.1 and 11.2.) 2. Remove any redundancies. On the left is the original 6-311++G(3df) basis set for chlorine: all exponents with values of 0.15 have been marked with arrows. (Note that in Section 15.2.3, 0.12 is the minimum.) In the column to the right, the values of the 2 marked exponents have been changed to 0.15. 1st MODIFICATION Cl 6-311++G(3df ) basis set ORIGINAL Cl 6-311++G(3df ) basis set from the EMSL Cl 0 S 6 1.00 105819.0000000 15872.0000000 3619.6500000 1030.8000000 339.9080000 124.5380000 S 3 1.00 124.5380000 49.5135000 20.8056000 S 1 1.00 6.5834600 S 1 1.00 2.5646800 S 1 1.00 0.5597630 S 1 1.00 0.1832730 P 5 1.00 589.7760000 139.8490000 45.1413000 16.8733000 6.7411000 P 2 1.00 6.7411000 2.7715200 P 1 1.00 1.0238700 P 1 1.00 0.3813680 P 1 1.00 0.1094370 SP 1 1.00 0.0483000 D 1 1.00 3.0000000 D 1 1.00 0.7500000 D 1 1.00 0.1875000 F 1 1.00 0.7000000 **** Cl 0 S 6 1.00 0.0007380 105819.0000000 0.0057180 15872.0000000 0.0294950 3619.6500000 0.1172860 1030.8000000 0.3629490 339.9080000 0.5841490 124.5380000 S 3 1.00 0.1341770 124.5380000 0.6242500 49.5135000 0.2917560 20.8056000 S 1 1.00 1.0000000 6.5834600 S 1 1.00 1.0000000 2.5646800 S 1 1.00 1.0000000 0.5597630 S 1 1.00 1.0000000 0.1832730 P 5 1.00 0.0023910 589.7760000 0.0185040 139.8490000 0.0813770 45.1413000 0.2215520 16.8733000 0.7725690 6.7411000 P 2 1.00 -1.5722440 6.7411000 0.9923890 2.7715200 P 1 1.00 1.0000000 1.0238700 P 1 1.00 1.0000000 0.3813680 P 1 1.00 1.0000000 <---------------------------------------> 0.1500000 SP 1 1.00 1.0000000 1.0000000 <----------------------> 0.1500000 D 1 1.00 1.0000000 3.0000000 D 1 1.00 1.0000000 0.7500000 D 1 1.00 1.0000000 0.1875000 F 1 1.00 1.0000000 0.7000000 **** 86 0.0007380 0.0057180 0.0294950 0.1172860 0.3629490 0.5841490 0.1341770 0.6242500 0.2917560 1.0000000 1.0000000 1.0000000 1.0000000 0.0023910 0.0185040 0.0813770 0.2215520 0.7725690 -1.5722440 0.9923890 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 Sec. 15: Basis Sets for Extended Systems Now look for redundancies: • The 1st modification (left column) results in a basis set with P (Sim1) and SP (Sim2) functions with values of 0.15. • There is also an S function at 0.1832, which is very close, Marked Sim3. • Since they are virtually the same, pull out the SP function. (Marked *** YANKED *** in the right column.) • Notice a similar logic was used for the As basis set in Section 15.2.3. 1st MODIFICATION Cl 6-311++G(3df ) basis set Cl 0 S 6 1.00 105819.0000000 15872.0000000 3619.6500000 1030.8000000 339.9080000 124.5380000 S 3 1.00 124.5380000 49.5135000 20.8056000 S 1 1.00 6.5834600 S 1 1.00 2.5646800 S 1 1.00 0.5597630 S 1 1.00 0.1832730 P 5 1.00 589.7760000 139.8490000 45.1413000 16.8733000 6.7411000 P 2 1.00 6.7411000 2.7715200 P 1 1.00 1.0238700 P 1 1.00 0.3813680 P 1 1.00 0.1500000 SP 1 1.00 0.1500000 D 1 1.00 3.0000000 D 1 1.00 0.7500000 D 1 1.00 0.1875000 F 1 1.00 0.7000000 **** 0.0007380 0.0057180 0.0294950 0.1172860 0.3629490 0.5841490 0.1341770 0.6242500 0.2917560 1.0000000 1.0000000 1.0000000 1.0000000 0.0023910 0.0185040 0.0813770 0.2215520 0.7725690 -1.5722440 0.9923890 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 2nd MODIFICATION Cl 6-311++G(3df ) basis set Cl 0 S 6 1.00 105819.0000000 15872.0000000 3619.6500000 1030.8000000 339.9080000 124.5380000 S 3 1.00 124.5380000 49.5135000 20.8056000 S 1 1.00 6.5834600 S 1 1.00 2.5646800 S 1 1.00 0.5597630 S 1 1.00 <------------------ Sim3 ---------------------> 0.1832730 P 5 1.00 589.7760000 139.8490000 45.1413000 16.8733000 6.7411000 P 2 1.00 6.7411000 2.7715200 P 1 1.00 1.0238700 P 1 1.00 0.3813680 P 1 1.00 <----------------- Sim1 ----------------------> 0.1500000 <----------------- Sim2 ----------------> # SP 1 1.00 1.0000000 <------ Sim2 ------> # 0.1500000 D 1 1.00 3.0000000 D 1 1.00 0.7500000 D 1 1.00 0.1875000 F 1 1.00 0.7000000 **** 0.0007380 0.0057180 0.0294950 0.1172860 0.3629490 0.5841490 0.1341770 0.6242500 0.2917560 1.0000000 1.0000000 1.0000000 1.0000000 0.0023910 0.0185040 0.0813770 0.2215520 0.7725690 -1.5722440 0.9923890 1.0000000 1.0000000 1.0000000 1.0000000 (*** YANKED ***) 1.0000000 (*** YANKED ***) 1.0000000 1.0000000 1.0000000 1.0000000 A contribution from Professor Edwards Brothers at Texas A&M-Qatar Locally access the *gbs files via: guscus:/projects/Manuals/examples/Cl-ori.gbs or Cl-mod.gbs Last Modified April 19, 2012 87 Sec. 15: Basis Sets for Extended Systems 15.3 Using the EMSL The EMSL site is very easy to use. The key features of the homepage are shown below. 1. Use the periodic table (red arrow) to select one (or more) elements. 2. The program window (green arrow) allows selction of the appropriate format for common ES codes. 3. The basis set window (blue arrow)for choosing the basis set. 4. Information about the basis set (purple arrow). 15.3.1 Example: Ge The process for acquiring the Ge 6-311G* basis set for use in gaussian is illustrated in Figure 18. Specifically: 1. Ensure Gaussian94 is the ES code format selected (red oval). 2. Click Ge (green oval). 3. Select 6-311G* in the basis set window (blue oval). Notice that information about the basis set chosen appears in the bottom section (purple rectangle). Figure 18: The process for acquiring the Ge 6-311G* basis set in gaussian format. 88 Sec. 15: Basis Sets for Extended Systems 15.4 Converting cry to gbs Files: gbsutil After downloading gaussian basis sets from Mike Towler’s or the Crystal web sites, they must be converted into the gaussian format. Notice the differences in format, below, for Scandium. ORIGINAL Crystal09 (cry) Basis Set CONVERTED gaussian09 (gbs) Basis Set Sc_864-11G*_harrison_2006 ! Sc_864-11G*_harrison_2006 ! N. M. Harrison, B. Montanari, Ling Ge, 2006, unpublished. ! It is being used for Sc@C82 and Sc@C82@SWNT ! (single-wall carbon nanotube). Sc 0 S 8 1.0 208000.0000000000 2.2500000000E-04 29700.0000000000 1.9270000000E-03 6280.0000000000 1.1094000000E-02 1642.0000000000 4.9970000000E-02 494.6400000000 1.7014000000E-01 170.6200000000 3.6880000000E-01 66.6200000000 4.0290000000E-01 27.7200000000 1.4490000000E-01 SP 6 1.0 499.4000000000 -5.5800000000E-03 8.5100000000E-03 118.5300000000 -7.3800000000E-02 6.0210000000E-02 39.0100000000 -1.1600000000E-01 2.1290000000E-01 15.2000000000 2.4930000000E-01 3.8470000000E-01 6.5110000000 6.9850000000E-01 4.0280000000E-01 1.9980000000 3.2300000000E-01 1.8300000000E-01 SP 4 1.0 25.0900000000 1.6000000000E-03 -3.3100000000E-02 9.6200000000 -1.3600000000E-01 -7.1300000000E-02 3.9790000000 -7.0590000000E-01 1.4650000000E-01 1.6120000000 1.0180000000 1.4520000000 SP 1 1.0 0.7800000000 1.0 1.0 SP 1 1.0 0.3900000000 1.0 1.0 D 3 1.0 3.9400000000 1.6000000000E-01 1.0720000000 3.1300000000E-01 0.3940000000 4.0600000000E-01 **** 21 6 0 0 8 2. 1. 208000. 29700. 6280.0 1642.0 494.64 170.62 66.62 27.72 0 1 6 8. 1. 499.4 118.53 39.01 15.20 6.511 1.998 0 1 4 8. 1. 25.09 9.62 3.979 1.612 0 1 1 2. 1. 0.780 0 1 1 0. 1. 0.390 0 3 3 1. 1. 3.940 1.072 0.394 0.000225 0.001927 0.011094 0.04997 0.17014 0.3688 0.4029 0.1449 -0.00558 -0.0738 -0.1160 0.2493 0.6985 0.323 0.0016 -0.1360 -0.7059 1.018 0.00851 0.06021 0.2129 0.3847 0.4028 0.183 -0.0331 -0.0713 0.1465 1.452 1. 1. 1. 1. 0.160 0.313 0.406 N. M. Harrison, B. Montanari, Ling Ge, 2006, unpublished. It is being used for Sc@C82 and Sc@C82@SWNT (single-wall carbon nanotube). The Sc_864-11G*_harrison_2006 Crystal basis set *.cry on the left was converted to a gaussianformatted *.gbs file using the gbsutil script written by Cris Diaconu. To use this script: 1. Move all of the information at the bottom of the *.cry file to the TOP 2. Comment out all non-basis set data using exclamation points: • The basis set description line (already at the top). • All references and notes information moved from the bottom in Step 1. 3. Remove ALL extra spaces at the top or bottom, either by deletion or ! 4. Run the script: [sgu1@login2]$ ./gbsutil Sc-864-11G*.cry Sc-864-11G*.gbs Download the original Sc.cry file at the link above, or copy it locally, along with the Sc.gbs file from: guscus:/projects/guscus/Manuals/examples/. The gbsutil script is too long to include in Section 13, so a copy is available at guscus:/projects/guscus/Manuals/scripts/gbsutil. 89 16 Backing Up Your Data Given that the state-of-the-art filesystems can crash and there are monthly purges of /shared.scratch/ on all Rice clusters (See Section 12) it is a good idea to back up all data you might want. Especially since PBC jobs tend to run long, the gjf , out, chk and all BS and PDOS dat files may be of import later. The easiest and fasted way to accomplish routine backups is via the rsync command: rsync -aHVhu, where a - archive, archive mode; same as rlptgoD (no -H) H - hard links, preserve hard links V - verbose, increase verbosity h - human readable, output numbers in a human readable format For more information, check man rsync rsync –help –OR– the Official rsync Page for advanced scripts and more. u - update, skip files that are newer on the receiver 16.1 Using rsync: Examples (1) Assume user sgu1 has directories for each of the clusters on guscus, e.g.: [sgu1@guscus ~]$ ls Bluebiou Davinci STIC Sugar 1. cd to the directory corresponding to the cluster to be backed up, e.g.: cd STIC 2. Type rsync -aHvhu sgu1@stic:/shared.scratch/sgu1/ ./ 3. Using the format above will mirror sgu1’s directories in /shared.scratch/ on STIC (2) Alternatively, an exclude file may be used. This is useful to prevent backing up all *err files, pdos.d directories, large chk files for unfinished jobs and anything else not needing to be saved. [sgu1@guscus ~]$ vi xclude tmp/ *.chk *err fort* mkpdos.log pdos.d/ zpratl* 1. Create a text file in the home directory, e.g., “xclude” 2. Add the names of the files and/or directories for which backups are undesirable on separate lines. 3. The tmp/ directory is not backed up as it contains gaussian scratch files and should be purged regularly. 4. For completed jobs, use the bzip2 command to zip and compress the chk files for transfer and storage. The rsync command to use is now: rsync -aHvhu --̇exclude-from /users/sgu1/xclud sgu1@stic:/shared.scratch/sgu1/ ./ 90 Sec. 16: Backing Up Your Data The output from adding the --̇exclude-from /users/sgu1/xclud option to the rsync command to back up a STIC directory with subdirectories AlAs-wu2PBE, CdSe-wu, GaN-wu, InP-B3LYP and MgO is shown below. [sgu1@guscus STIC]$ rsync -aHvhu --exclude-from /users/sgu1/xclud sgu1@stic:/shared.scratch/sgu1/ sgu1@stic’s password: receiving file list ... done AlAs-wu2PBE/ AlAs-wu2PBE_x.out AlAs-wuPBE/band.dat AlAs-wu2PBE/bandk.dat AlAs-wu2PBE/pdos.legend.txt CdSe-wu/ CdSe-wu/OPT/ CdSe-wu/OPT/CdSe-wu_o.out CdSe-wu/OPT/band.dat CdSe-wu/OPT/bandk.dat CdSe-wu/OPT/pdos.dat CdSe-wu/OPT/pdos.eps CdSe-wu/OPT/pdos.gpt CdSe-wu/OPT/pdos.png CdSe-wu/OPT/pdos.legend.txt GaN-wu/LSDA/XTAL/ GaN-wu/LSDA/XTAL/README GaN-wu/LSDA/OPT/GaN-w2-LSDAo.chk.bz2 GaN-wu/LSDA/OPT/GaN-w2-LSDAo.out GaN-wu/LSDA/OPT/band.dat GaN-wu/LSDA/OPT/bandk.dat InP-B3LYP/ InP-B3LYP/InP-z-B3LYPx.chk.bz2 InP-B3LYP/InP-z-B3LYPx.gjf InP-B3LYP/InP-z-B3LYPx.out InP-B3LYP/InP-z-B3LYPx.pbs InP-B3LYP/band.dat InP-B3LYP/bandk.dat InP-B3LYP/pdos.dat InP-B3LYP/pdos.legend.txt MgO/ MgO/HSE/XTAL/ MgOHSE/XTAL/deleteme MgO/HSE/OPT/ MgO/HSE/OPT/MgO-rs_o.chk.bz2 MgO/HSE/OPT/MgO-rs_o.gjf MgO/HSE/OPT/MgO-rs_o.out MgO/HSE/OPT/MgO-rs_o.pbs MgO/HSE/OPT/pdos.dat MgO/HSE/OPT/pdos.legend.txt MgO/TPSS/ MgO/TPSS/MgO-TPSSx.chk.bz2 MgO/TPSS/MgO-TPSSx.gjf MgO/TPSS/MgO-TPSSx.out MgO/TPSS/Readme-2-this-is-weird Si-TPSS/Si-d-TPSSx.out Notice that none of the files or directories specified in the xclud file on the previous page are downloaded, while non-gaussian-generated files including text (README, deleteme, etc.), image (eps, png), Gnuplot (gpt), and BS/PDOS dat files are all copied recursively. rsync cmds as aliases are very convenient, e.g., in the .bashrc file: alias stics=’rsync -aHvhu --̇exclude-from /users/sgu1/xclud sgu1@stic:/shared.scratch/sgu1/ ./’ 91 References [1] J. K. Ellis, M. J. Lucero, and G. E. Scuseria, 99, 26190 (2011). [2] E. N. Economou, The Physics of Semiconductors Essentials and Beyond, Springer, Berlin, 2010. [3] H. Matthieu, D. Auvergne, P. Merle, and K. C. Rustagi, Phys. Rev. B 12, 5846 (1975). [4] A. Joullie, B. Girault, A. M. Joullie, and A. Zien-Eddine, Phys. Rev. B 25, 7830 (1982). [5] J. M. Tao, J. P. Perdew, V. N. Staroverov, and G. E. Scuseria, Phys. Rev. Lett. 91, 146401 (2003). [6] V. N. Staroverov, G. E. Scuseria, J. Tao, and J. P. Perdew, J. Chem. Phys. 119, 12129 (2003). [7] T. M. Henderson, A. F. Izmaylov, G. Scalmani, and G. E. Scuseria, J. Chem. Phys. 131, 044108 (2009), Specifically, the HSEh parameterization of HSE06[8, 9], called by the gaussian keyword HSEh1PBE. [8] J. Heyd, G. E. Scuseria, and M. Ernzerhof, J. Chem. Phys. 124, 219906 (2006). [9] J. Heyd, G. E. Scuseria, and M. Ernzerhof, J. Chem. Phys. 124, 219906 (2006). [10] J. Heyd, G. E. Scuseria, and M. Ernzerhof, J. Chem. Phys. 118, 8207 (2003). [11] T. M. Henderson, A. F. Izmaylov, G. E. Scuseria, and A. Savin, J. Theor. Comput. Chem. 4, 1254 (2008). [12] T. M. Henderson, A. F. Izmaylov, G. E. Scuseria, and A. Savin, J. Chem. Phys. 127, 221103 (2007). [13] O. A. Vydrov and G. E. Scuseria, J. Chem. Phys. 125, 234109 (2006). [14] J. P. Perdew, A. Ruzsinszky, G. I. Csonka, O. A. Vydrov, G. E. Scuseria, L. A. Constantin, X. Zhou, and K. Burke, Phys. Rev. Lett. 100, 136406 (2008), See also the 2009 Erratum in Reference[15]. [15] J. P. Perdew, A. Ruzsinszky, M. Ernzerhof, G. I. Csonka, O. A. Vydrov, G. E. Scuseria, L. A. Constantin, X. Zhou, and K. Burke, Phys. Rev. Lett. 102, 039902 (2009). [16] J. Tao, J. P. Perdew, V. N. Staroverov, and G. E. Scuseria, Phys. Rev. Lett. 91, 146401 (2003). [17] R. Armiento and A. E. Mattsson, Phys. Rev. B 72, 085108 (2005). [18] L. Schimk, J. Harl, and G. Kresse, Phys. Rev. B 72, 085108 (2005). [19] P. Haas, F. Tran, P. Blaha, and K. Schwarz, Phys. Rev. B 83, 205117 (2011). 92 REFERENCES [20] F. Tran and P. Blaha, Phys. Rev. Lett. 102, 226401 (2009). [21] J. P. Perdew and K. Schmidt, in Density Functional Theory and Its Applications to Materials, edited by V. V. et al., American Institute of Physics, New York, 2001. [22] S. H. Vosko, L. Wilk, and M. Nusair, Can. J. Phys 58, 1200 (1980). [23] J. P. Perdew and Y. Wang, Phys. Rev. B 45, 13244 (1992). [24] Y. Zhao and D. G. Truhlar, J. Chem. Phys. 125, 194101 (2006). [25] J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 77, 3865 (1996), E78, 1396 (1997), Ref. [?]. [26] J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 78, 1396 (1997). [27] J. P. Perdew, in Electronic Structure of Solids 91, edited by P. Ziesche and H. Eschrig, p. 11, Akademie Verlag, Berlin, 1991. [28] J. P. Perdew and Y. Wang, Phys. Rev. B 45, 13244 (1992). [29] J. P. Perdew, A. Ruzsinszky, G. I. Csonka, L. A. Constantin, and J. Sun, Phys. Rev. Lett. 103, 026403 (2009), See also the Erratum[30], Phys. Rev. Lett., 106, 179902 (2011). [30] J. P. Perdew, A. Ruzsinszky, G. I. Csonka, L. A. Constantin, and J. Sun, Phys. Rev. Lett. 106, 179902 (2011). [31] J. Sun, M. Marsman, G. I. Csonka, A. Ruzsinszky, P. Hao, Y.-S. Kim, G. Kresse, and J. P. Perdew, Phys. Rev. B 84, 035117 (2011). [32] Z. Wu and R. E. Cohen, Phys. Rev. B 73, 235116 (2006). [33] P. J. Stephens, F. J. Devlin, C. F. Chabalowski, and M. J. Frisch, J. Phys. Chem. , 11623 (1994). [34] M. Ernzerhof and G. E. Scuseria, J. Chem. Phys. 110, 5029 (1999). [35] C. Adamo and V. Barone, J. Chem. Phys. 110, 6158 (1999). [36] Y. Zhao, N. E. Schultz, and D. G. Truhlar, J. Chem. Phys. 123, 19410 (2005). [37] Y. Zhao and D. G. Truhlar, J. Phys. Chem. A 110, 13126 (2006). [38] Y. Zhao and D. G. Truhlar, Theor. Chem. Acc. 120, 215 (2008). [39] M. C. Strain, G. E. Scuseria, and M. J. Frisch, Science 271, 51 (1996). [40] T. M. Henderson, J. Paier, and G. E. Scuseria, Physica Status Solidi B 248, 767 (2011). [41] B. G. Janesko, T. M. Henderson, and G. E. Scuseria, Phys. Chem. Chem. Phys. 11, 443 (2009). [42] J. Paier, C. V. Diaconu, G. E. Scuseria, M. Guidon, J. VandeVondele, and J. Hutter, Phys. Rev. B 80, 174114 (2009). 93 REFERENCES [43] M. J. Lucero, T. M. Henderson, and G. E. Scuseria, J. Phys. Condens. Matter 24, 145504 (2012). [44] J. Heyd, J. E. Peralta, G. E. Scuseria, and R. L. Martin, J. Chem. Phys. 123, 174101 (2005). 94