A study of the electronic structure and vibrational spectrum of 1,4-divinyl-benzene (at the B3LYP/STO-3G level of theory) using Gaussian03W.
During the initial SCF calculation, I ran GaussSum (SCF.py; defaults; PhCCCC_gopt_partial.out) to see whether the calculation was converging. The result is shown below (.png file created using IrfanView from original .ppm file). The line is heading towards zero, which indicates that the SCF is converging.
The progress of the geometry optimisation was also monitored during the calculation. The geometry optimisation proceeded smoothly to an energy minimum as shown by the graph below (GeoOpt.py; defaults; PhCCCC_gopt.out).
Molecular orbital information
I extracted the molecular orbital information from the output file of the geometry optimisation (MO.py; defaults; PhCCCC_gopt.out). Molecular orbital information was written to the orbital_data.txt file in a subdirectory called gausssum0.9. Information on the frontier orbitals is shown below.
MO eV Symmetry 40 L+4 7.42 BG 39 L+3 4.96 AU 38 L+2 3.01 BG 37 L+1 2.46 AU 36 LUMO 1.02 AU 35 HOMO -4.17 BG 34 H-1 -5.31 BG 33 H-2 -5.78 AU 32 H-3 -7.17 BG 31 H-4 -7.82 AG
A density of states diagram was convoluted from the molecular orbital data (MO.py; DOS, start=-15, end=8, FWHM=0.3; PhCCCC_gopt.out). It is shown below. The data used to draw this graph is contained in gausssum0.9/DOS_spectrum.txt.
I wanted to describe each molecular orbital in terms of a percent contribution from the benzene portion, and a percent contribution from the divinyl portion. GaussSum can use Mulliken population analysis to do this (please be aware that Mulliken population analysis has some severe shortcomings). First of all, I needed to make Gaussian output orbital overlap information and information on the molecular orbital coefficients. This required a single point energy calculation with the keywords POP=FULL IOP(9/33=1,9/36=-1).
Next, I created a file called groups.txt in the gausssum0.9 subdirectory, which contained the following lines:
C6H4 1-8,19-20 C=C 9-18
Finally, I used GaussSum to calculate the molecular orbital contributions again (MO.py; defaults; PhCCCC_pop.out, gausssum0.9/groups.txt). This time, orbital_data.txt contained more information (see below for information on the frontier orbitals). The HOMO is about 50/50 C6H4 and divinyl. The so-called 'accurate values' should be ignored, although they are required for UVVis.py to calculate changes in electron density. (Note that these columns are tab-separated and so can be imported easily into spreadsheet software.)
MO eV Symmetry C6H4 C=C Accurate values (for UVVis.py) 38 L+2 3.01 BG 17 83 0.168430209324 0.83157002452 37 L+1 2.46 AU 100 0 0.999818653049 0.000181859510613 36 LUMO 1.02 AU 54 46 0.543282127318 0.456725399153 35 HOMO -4.17 BG 54 46 0.541778503997 0.458228594354 34 H-1 -5.31 BG 100 0 0.999877441172 0.000141570363359 33 H-2 -5.78 AU 15 85 0.154899304133 0.845103027118
The initial DOS spectrum created by GaussSum did not include any of the virtual orbitals. As a result, I wanted to change the start and end point of the spectrum, but I did not want to recalculate all of the contributions of the groups. I set "Use existing orbital_data.txt?" to TRUE, and altered the values of start and end until I was happy (MO.py; start=-15, end=8, FWHM=0.3, "Use existing orbital_data.txt?"=TRUE; PhCCCC_pop.out):
A nicer image can be created using spreadsheet software, or a program such as Microcal Origin, and the file gausssum0.9/DOS_spectrum.txt. The image below was created using Microcal Origin (for Linux, keep an eye on Scigraphica and Grace).
Instead of drawing a DOS curve, you may prefer to use a more straightforward depiction of the breakdown of molecular orbitals between various groups in a molecule. To do so, set "Create originorbs.txt" to TRUE, and rerun GaussSum (MO.py; start=-15, end=8, FWHM=0.3, "Use existing orbital_data.txt?"=TRUE, "Create originorbs.txt?"=TRUE; PhCCCC_pop.out). Origin or Grace may then be used to create the image shown below using the data in gausssum0.9/origin_orbs.txt (it may take some practice - in Origin you need to set the columns XYXY, and plot the four columns using 2-point segments).
The interaction between the two groups can be visualised using a COOP (Crystal Orbital Overlap Population) diagram. This interaction is measured by the degree of positive/negative overlap for a particular molecular orbital. For more information on its use, see the recent paper of Herlem and Lakard listed in the bibliography. The diagram below was created from PhCCCC_pop.out using GaussSum (MO.py; COOP, start=-15, end=8, FWHM=0.3; PhCCCC_pop.out, gausssum0.9/groups.txt).
I calculated the vibrational frequencies of divinylbenzene and their associated IR intensities. GaussSum extracts this information from the log file into gausssum/IRSpectrum.txt (IR_Raman.py; start=0, end=1000, num pts="500", FWHM=3, Scaling factors=(General,1.00); PhCCCC_IR.out):
Normal Modes Mode Label Freq (cm-1) IR act 1 AU 52.7881 0.0323 2 BG 83.9368 0.0 3 AU 148.1571 0.3826 4 BU 178.6727 0.2686
I wished to scale some of the normal modes using random values (this is not a real example! :-). I opened IRSpectrum.txt in Excel, and changed the values for the scaling factors from 1.00 to random values. I resaved IRSpectrum.txt in the same format and location. In IR_Raman.py I chose "Individual scaling factors" and ran GaussSum again (IR_Raman.py; start=0, end=4000, num pts=500, FWHM=5, scaling factors=Individual; PhCCCC_IR.out, gausssum0.9/IRSpectrum.txt). The result is shown below.
I wanted to calculate the UV-Vis absorption spectrum of divinylbenzene. I added the keyword IOP(9/40=2) to the TD-DFT command, to output information on smaller contributions to each electronic transition.
I ran UVVis.py with the default settings (UVVis.py; start=300, end=800, num pts=500, fwhm=3000; PhCCCC_TD.out) but no graph was drawn, and there was a message "There are no peaks in this wavelength range!". I looked at gausssum0.9/UVData.txt and saw that the lowest energy peak was at about 230nm. I ran UVVis.py again, this time using more appropriate values for the start and end of the diagram (UVVis.py; start=170, end=270, num pts=500, fwhm=3000; PhCCCC_TD.out) and the result is shown below (this information is written to gausssum0.9/UVSpectrum.txt).
The file gausssum0.9/UVData.txt is created containing the following information:
No. eV nm Osc.Str. Symmetry 1 5.3351 232.39 0.1695 Singlet-BU 2 5.3747 230.68 0.6789 Singlet-BU 3 6.2152 199.48 0.0 Singlet-AG
Because I ran MO.py earlier using a groups.txt, information about the change in the electron density of various groups in the molecule is also printed in gausssum0.9/UVData.txt. Note that this information is very approximate, as it is calculated on the basis that the squares of the contributions of the various one-electron transitions equals one, which is *not* true, but may be almost true :-).
No. Major contribs Minor contribs C6H4 C=C 1 H-1->L (47%), H->L (-15%), H->L+1 (36%) 76-->71 (-5) 24-->29 (5) 2 H-1->L (13%), H->L (61%) H->L+1 (6%) 62-->58 (-4) 38-->42 (4) 3 H-2->LUMO (62%), H->L+2 (-38%) 30-->40 (10) 70-->60 (-10)