A Tutorial for Theodore 2.0.2
Total Page:16
File Type:pdf, Size:1020Kb
A Tutorial for TheoDORE 2.0.2 Felix Plasser, Patrick Kimber Loughborough, 2019 Department of Chemistry – Loughborough University Contents 1 Before Starting3 1.1 Introduction . .3 1.2 Notation . .3 1.3 Installation . .3 2 Natural transition orbitals (Turbomole)4 2.1 Input generation . .4 2.2 Transition density matrix (1TDM) analysis . .5 2.3 Plotting of the orbitals . .6 3 Charge transfer number and exciton analysis (Turbomole)9 3.1 Input generation . .9 3.2 Transition density matrix (1TDM) analysis . 10 3.3 Electron-hole correlation plots . 11 4 Interface to the external cclib library (Gaussian 09) 12 4.1 Check the log file . 12 4.2 Input generation . 13 4.3 Transition density matrix (1TDM) analysis . 15 5 Advanced fragment input and double excitations (Columbus) 16 5.1 Fragment preparation using Avogadro . 17 5.2 Input generation . 18 5.3 Transition density matrix (1TDM) analysis . 19 6 Fragment decomposition for a transition metal complex 21 6.1 Input generation . 21 6.2 Transition density matrix analysis and decomposition . 23 7 Domain NTO and conditional density analysis 26 7.1 Input generation . 26 1 7.2 Transition density matrix analysis . 28 7.3 Plotting of the orbitals . 29 8 Attachment/detachment analysis (Molcas - natural orbitals) 31 8.1 Input generation . 31 8.2 State density matrix analysis . 32 8.3 Plotting of the orbitals . 33 9 Contact 34 TheoDORE tutorial 2 1 Before Starting 1.1 Introduction This tutorial is intended to provide an overview over the functionalities of the TheoDORE program package. Various tasks of different complexity are discussed using interfaces to dif- ferent quantum chemistry packages. It is advisable to go through the whole tutorial but it is of course possible to skip some of the later sections. All input files are contained in the EXAMPLES directory in the TheoDORE distribution. They are the same files accessed by the theo_test.bash program. 1.2 Notation The following notation is used: This kind of font indiates what is seen on the screen and the command lines that you should write <ENTER> ! Comments come here Important information related to TheoDORE but not necessarily connected to the current job comes in boxes like this. 1.3 Installation In case of using bash it should suffice to type > source /mypath/TheoDORE_2.0.2/setpaths.bash ! replace /mypath with your actual installation to set up the required THEODIR, PATH and PYTHONPATH environment variables. For more information, see https://sourceforge.net/p/theodore-qc/wiki/Installation/ TheoDORE tutorial 3 2 Natural transition orbitals (Turbomole) As a first step, we will plot the natural transition orbitals (NTOs) in the case of the formalde- hyde dimer computed with RI-CC2 in Turbomole. 2.1 Input generation The input files are taken from the EXAMPLES directory in the TheoDORE distribution > cp -r $THEODIR/EXAMPLES/fa2.ricc2/QC_FILES/ fa2.tutorial Inside the fa2.tutorial directory, run the input program > theoinp Type of job (rtype): [ 1] qcadc - Q-Chem ADC (libwfa output) [ 2] libwfa - General libwfa output [ 3] qctddft - Q-Chem TDDFT [ 4] fchk - Q-Chem fchk file [ 5] colmcscf - Columbus MCSCF [ 6] colmrci - Columbus MR-CI (tden analysis) [ 7] rassi - Molcas RASSI [ 8] nos - Read natural orbitals (Molden format) for sden analysis: Columbus, Molcas, ... [ 9] ricc2 - Turbomole ricc2 [10] escf - Turbomole escf [11] terachem - Terachem (TDDFT) [12] cclib - Use external cclib library: Gaussian, GAMESS, ... [13] orca - ORCA TDDFT (using a Molden file and cclib) [14] adf - ADF (TDDFT) [15] tddftb - DFTB+ - TDDFTB Choice: [9] 9 <ENTER> ! theoinp tries to guess the program used according to the files present Main file to read (rfile): Choice (autocomplete enabled): [ricc2.out] <ENTER> Read binary CCRE0 files? (read_binary): Choice (y/n): [n] <ENTER> ! CCRE0 files are not available in this example *** Warning: in the case of ricc2 you have to delete the line implicit core= x virt= x from the control file before running tm2molden. ! Everything works here but in general one should remember this when using ricc2 MO file (Molden format) -> This file should ideally contain a square invertible coefficient matrix (mo_file): Choice (autocomplete enabled): [molden.input] <ENTER> Analysis of transition density matrices? Choice (y/n): [y] <ENTER> Perform CT number analysis? Choice (y/n): [y] n <ENTER> ! Do not perform a charge transfer number analysis to keep things simple Perform natural transition orbital (NTO) analysis? (comp_ntos): Choice (y/n): [y] <ENTER> TheoDORE tutorial 4 Perform analysis of domain NTOs and conditional densities? (comp_dntos): Choice (y/n): [n] <ENTER> ! See section 7 NTOs as Jmol script? (jmol_orbitals): Choice (y/n): [y] y <ENTER> ! Type "y" if you have the Jmol program available NTOs in Molden format (molden_orbitals): Choice (y/n): [n] y <ENTER> ! Type "y" if you want files in Molden format Use alpha/beta rather then negative/positive to code for hole/particle orbitals? (alphabeta): Choice (y/n): [n] n <ENTER> ! Only for special applications NTOs in Cube file format (requires orbkit) (cube_orbitals): Choice (y/n): [n] <ENTER> ! This option appears only when orbkit is installed Calculation of Particle/Hole density (requires orbkit)? (comp_p_h_dens): Choice (y/n): [n] <ENTER> ! Only with orbkit Calculation of transition densities between ground state and excited states (requires orbkit) (comp_rho0n): Choice (y/n): [n] <ENTER> ! Only with orbkit Perform exciton analysis? Choice (y/n): [y] n <ENTER> Adjust detailed output options? Choice (y/n): [n] <ENTER> Name of input file Choice: [dens_ana.in] <ENTER> Finished: File dens_ana.in written. After going through these steps, the file dens_ana.in with the following content is written: rtype=’ricc2’ rfile=’ricc2.out’ read_binary=False mo_file=’molden.input’ comp_ntos=True comp_dntos=False jmol_orbitals=True molden_orbitals=True alphabeta=False cube_orbitals=False comp_p_h_dens=False comp_rho0n=False prop_list=[’PRNTO’, ’Z_HE’] To learn more about the available keywords check: https: // sourceforge. net/ p/ theodore-qc/ wiki/ Keywords/ 2.2 Transition density matrix (1TDM) analysis To run the 1TDM analysis to produce the NTOs, simply type: > analyze_tden.py After some technical information, you will find the following output summary TheoDORE tutorial 5 state dE(eV) f PRNTO Z_HE ! label of the state / exc. energy / osc. strength / NTO participation ratio -------------------------------------- / effective no. entangled states 1(1)a 4.174 0.000 1.943 2.000 2(1)a 4.192 0.000 1.952 1.999 3(1)a 7.944 0.000 1.849 1.937 4(1)a 8.021 0.164 1.882 1.958 5(1)a 8.755 0.000 1.991 2.012 6(1)a 8.763 0.052 1.998 2.015 2.3 Plotting of the orbitals If you selected to export files in Molden format, one file for each individual state will be present nto_1-1-a.mld nto_2-1-a.mld nto_3-1-a.mld nto_4-1-a.mld nto_5-1-a.mld nto_6-1-a.mld You can visualize them with any program of your choice. TheoDORE tutorial 6 In the case of using Jmol a shortcut is available. To plot all the orbitals in one go, simply type > jmol -n nto_jmol.spt Then Jmol will create .png files for all the orbitals. To look at all these orbitals at once open the file nto.html in a browser. 1-1-a ! state label ! hole/occupied NTO ! particle/virtual NTO 0.556 0.556 ! NTO amplitudes λi 0.394 0.394 2-1-a 0.556 0.556 0.405 0.405 In both cases two NTO pairs are required to describe the transition, in agreement with PRNTO ≈ 2. TheoDORE tutorial 7 Technical note: To get the precise pictures shown here, modify the nto_jmol.spt script load molden.input FILTER "nosort" mo titleformat "" rotate x 90 ! add rotate y 10 ! add ... TheoDORE tutorial 8 3 Charge transfer number and exciton analysis (Turbomole) In this part an analysis of the charge transfer numbers is carried out. This requires dividing the system into fragments, which are analyzed together. Choosing which atoms are grouped into individual fragments and how these fragments are arranged is the first critical step in the charge transfer number analysis. Special care has to be taken when choosing these fragments, and it is often necessary to try different settings. 3.1 Input generation First, it is helpful to look at the molecule using a molecular structure editor (e.g. Avogadro) and display the atom lables. Figure 1: Atom numbering in the formaldehyde dimer. In the present simple case we want to divide our molecule into two fragments, one for each molecule. One fragment will contain the atom indices 1,3,5,7 the other one 2,4,6,8. After deciding on the fragment definition run > theoinp And start out the same as in Section 2.1. Then continue: Perform CT number analysis? Choice (y/n): [y] y <ENTER> ! This time we want to do the CT number analysis Mode for specifying molecular fragments (at_lists): [ 1] Manual input [ 2] Automatic generation by fragment (using python-openbabel) [ 3] Automatic generation for transition metal complexes (using python-openbabel) [ 4] Mixed manual/automatic generation (using python-openbabel) [ 5] Automatic generation by element (using python-openbabel) [ 6] Leave empty and fill out later Choice: 1 <ENTER> ! We use "Manual input" here, for other options see Section 5 Input the indices of the atoms belonging to fragment 1: (separated by spaces) Choice: 1 3 5 7 <ENTER> ! Atom indices according to Figure 1 TheoDORE tutorial 9 Input the indices of the atoms belonging to fragment 2: (separated by spaces) Choice: 2 4 6 8 <ENTER> Input the indices of the atoms belonging to fragment 3: (separated by spaces) Choice:<ENTER> ! Leave empty to quit Checking whether the at_lists definition is valid ... at_lists= [[1, 3, 5, 7], [2, 4, 6, 8]] 2 lists with individual numbers of entries: [4, 4] ! Two fragments with four atoms each 8 total entries, with maximal value 8 Formula for Omega matrix computation 0 - simple, 1 - Mulliken, 2 - Lowdin (Om_formula): Choice: [2] <ENTER> Omega descriptors to be computed: [ 1] Standard set [ 2] Transition metal complex [ 3] None Choice: [1]<ENTER> Print-out of electron/hole populations [ 1] None [ 2] For fragments [ 3] For fragments and individual atoms Choice: [1]1 <ENTER> ! for the symmetric case this analysis does not really help Perform natural transition orbital (NTO) analysis? Choice (y/n): [y]n <ENTER> ! already did that before ..