This protocol facilitates the construction of excitonic Hamiltonians for the efficient calculation of both optical absorption spectra and the more complex optoelectronic properties of bulk molecular materials. Our technique breaks down extremely computationally intensive quantum chemical calculations on bulk molecular materials into much more manageable calculations of single molecules that are performed using common quantum chemical software. Our method can help computationally guide the design of optoelectronic devices using organic materials such as photovoltaic cells or optical switches for fiber optic communications.
New users should carefully follow the procedure as described including the suggested filenaming convention and should check that each step has been completed without error before moving on. For the splitting of a multi-molecular system into individual molecules, use the Python 2.7 script getMonomers. py to generate files that contain the Cartesian coordinates for atoms in individual molecules that compose the system.
Specify the name of the file that contains the geometry of the system and the number of atoms in each individual molecule that makes up the system using the command as indicated. To generate ground state point charges for atoms in individual molecules, set up a plain text file called chargeOptions. txt with the options for Gaussian density functional theory calculation of the atomic point charges in the ground state of an electrically neutral molecule.
To obtain a reasonably accurate charge distribution for transitions with charge transfer character, use a long range corrected density functional, a sufficiently large basis set that includes at least depolarization functions on non-hydrogen atoms, a superfine integration grid, and a very tight self-consistent field convergence criterion. Include the Nosymm keyword in the input file to ensure that the atomic coordinates in the Gaussian output file are written in input orientation. Set up the Gaussian input files for all of the individual molecules that make up the system using the parameters in the file chargeOptions.
txt using the indicated Bash script. Then run the Gaussian calculations specifying the output filename to be the same as the input. com filename but with the extension log.
Use the Python 2.7 script getCHelpG. py to extract the CHelpG atomic point charges from the Gaussian output files with the extension log. To calculate the excitation energies and transition densities of individual molecules in the material in the presence of an electrostatic environment, set up a plain text file named monomerOptions.
txt with a parameter set as for the calculation of the atomic point charges and with a low threshold for printing eigenvector components ideally to at least the order of one times 10 to the negative five. Set up the Gaussian input files for the calculation of the excitation energies and transition densities of all of the individual molecules in the material in the presence of an electrostatic environment represented by the point charges on all other molecules in the material and name the file monomer_n_wCh. com where n is the monomer number.
Then run the Gaussian calculations specifying the output filename to be the same as the input. com filename but with the extension log. The calculation will also save a checkpoint file with the same filename but with the extension chk.
For excitation energy extraction for bright states of individual molecules that make up the system from the Gaussian output files, copy the excitation energies for the bright excited states of individual monomers from the Gaussian output files with the extension log to a plain text file called all_energies.txt. In the file all_energies. txt, keep only the column that contains the numerical values of the excitation energies.
To calculate the excitonic couplings for all pairs of molecules that make up the molecular system, first use the form check utility from the indicated Bash script to convert the checkpoint files to human readable format. Use the Python 2.7 script switchSign. py that takes the name of the Gaussian output file with the extension log and the number of excited states n included in the calculation as input parameters.
Use the Multiwfn multi-functional wavefunction analyzer to write the transition density cube file based on the Gaussian formatted checkpoint file with the extension fchk and the processed Gaussian output file with the extension log2. To efficiently generate setup files with Multiwfn processing options for all fchk files in the current directory, use the makeOpt. sh Bash script.
The files will have the same names as the fchk files with the extension opt. Then generate the transition density cube files in a single batch using the indicated Bash script and convert the cub files to files that explicitly specify the coordinates of the centers of all cubes on the grid and the values of the transition density inside the cube using the cubeFormat. py Python 2.7 script.
Run the command as indicated to use the fcub files to calculate the excitonic couplings between all pairs of molecules in the system using the transition density cube method. Once the calculations are complete, create an empty file called all_couplings. txt and use the Bash script as indicated to combine all of the excitonic couplings into a single file.
To set up the excitonic Hamiltonian, use the setUpHam. py Python 2.7 script and the indicated terminal command to combine the excited state energies in the all_energies. txt file and the excitonic couplings in the all_couplings.
txt file into a single file that contains the complete excitonic Hamiltonian matrix. Here, the optical absorption spectrum of an aggregate of six YLD 124 molecules obtained from a cross-grained Monte Carlo simulation that was used to calculate the excitonic Hamiltonian of the molecules is shown. In this table, the Hamiltonian for this system constructed as demonstrated can be observed.
Because there are six molecules with only a single bright excited state for each molecule, a six by six excitonic Hamiltonian was generated resulting in six transitions. The exciton model and TDDFT spectra calculated using the WB97X density functional with the G31G*basis set also have similar shapes as characterized by Pearson's product-moment correlation coefficient. Excitonic Hamiltonians constructed using our protocol can be parameterized with any quantum chemical method allowing study of how approximations for specific methods affect the computation accuracy for various optoelectronic parameters.
We have used this method to model the optical absorption spectra and the first hyperpolarizabilities of molecular aggregates with efforts ongoing to accurately model the properties of bulk molecular solids.