Skip to main content

Spectrum simulations with TD(A)-DFT

Project description

# LeoX - Light emission and exciton diffusion in organic molecules

made-with-python license down maint commit

A package for absorption and fluorescence spectrum simulations using the nuclear ensemble method along with TD(A)-DFT. Estimation of singlet exciton properties (Förster radius, lifetime, diffusion length). Long-range separation parameter tuning. Stochastic conformational search. Interfaces with the Gaussian (09 or 16) package.

Table of Contents

Cite as:

de Sousa, L. E., Bueno, F. T., e Silva, G. M., da Silva Filho, D. A., & de Oliveira Neto, P. H. (2019). Fast predictions of exciton diffusion length in organic materials. Journal of Materials Chemistry C, 7(14), 4066-4071.

What does this program do?

  1. Spectrum simulation:
    • Calculates Absorption and Fluorescence spectrum simulations using TD(A)-DFT.
    • Calculations include vibrational contributions to the spectra.
    • Optionally, they may also include solvent effects either by PCM or by a state specific solvation model.
  2. Exciton properties:
    • Calculates Förster radius for transfers between two molecules of equal or different type.
    • Calculates fluorescence lifetimes.
    • Calculates singlet exciton diffusion lengths.
  3. Extra features:
    • Tunes the w parameter of long-range separated functionals.
    • Extracts last geometry from Gaussian log file.
    • Runs a stochastic coformational search algorithm.

What is necessary to use it?

  • The program requires that the Gaussian quantum chemistry software (G09 or G16) be installed, as it interfaces with it.

  • The first step for running spectrum calculations or conformational searches is providing a Gaussian log file for a frequency calculation in the S0 state, if the goal is computing an absorption spectrum, or S1 state, if the objective is calculating a fluoresence spectrum. All frequencies must be real.

  • To obtain estimates for Förster radius, fluorescence lifetimes and singlet exciton diffusion lengths, it is necessary to first perform both absorption and emission spectra calculations for the molecule of interest.

How to install it?

Run:

pip install LeoX

Alternatively, clone the repository to your computer. Inside the LeoX folder, run:

pip install .

Depending on the operating system, the commands above may need to be replace by

pip3 install LeoX or pip3 install .

Once installed, you should be able to run the program from any folder by just using the lx command.

How to use it?

  1. For spectrum simulations:

    • Create a folder for your project. Add the log file for the frequency calculation to your folder. Run the lx command. Choose option 1 and follow the instructions to select the parameters of the calculation.
    • Add a bash script file to the folder to control execution. This file depends on which batch system you use. Examples for users of slurm or task spooler (ts) are presented here.
    • Run the lx command again, choose option 2 and follow the instructions. Once the calculations are running, you may use option 4 to check the progress or option 9 to abort.
    LeoX1
    • Once all calculations are done, run the lx command and choose option 3. Follow the instructions to set the parameters and the spectrum will be generated.
    LeoX2
    • After the spectrum is generated, a file with the extension .lx will be created. For absorption spectra, the file will be named "cross_section.lx", whereas for fluorescence spectra, the file will be named "differential_rate.lx"
    • It is possible to generate a spectrum with partially concluded calculations. Option 3 can be used multiple times without overwriting the previously generated spectrum. Each time a spectrum is generated, it will have a number at the beginning of the file name, such as "2cross_section.lx".
    • Each spectrum file is expected to have three columns as indicated below, where the third column can be used to estimate if the amount of sampled geometries are enough for accurate spectrum simulation.
    LeoX3
  2. For exciton properties:

    • For exciton properties, you must first calculate the fluorescence and absorption spectra of the donor and acceptor molecules of interest to you.
    • Once this is done, copy the spectra to a folder and inside this folder run the lx command. Choose option 5. Follow the instructions to set the calculation parameters, exemplified below.
    LeoX4
    • The correction for short distances takes into account the transition dipole moment of the donor molecule, extracted directly from the Gaussian log. Details can be obtained in the indicated published paper.
    • A file called ld.lx will be generated with all the information.
    Captura de Tela 2021-12-06 às 01 13 13
    • Importantly, diffusion length estimates are only sensible if donor and acceptor molecules are of the same kind. To calculate the Förster radius for transfers between different molecules, you must provide the fluorescence spectrum of the donor molecule and the absorption spectrum of the acceptor molecule. The fluorescence lifetime shown will correspond to that of the donor molecule.
  3. For conformational searches:

    • Create a folder. Add a frequency Gaussian .log file. Include also a bash script file according to your batch system (follow examples for slurm and task spooler here).
    • Run the lx command in the folder and choose option 6. Follow the instructions to set the calculation parameters.
    • Answer the queries to determine the parameters of the conformational search (level of theory, initial temperature, temperature step, number of rounds, number of sampled geometries at each round).
    • Once the search starts running, the file conformation.lx will show the conformations found thus far, along with the average energies and Boltzmann populations at 300 K of each.
    • After the search is over, a folder named Conformers is created with the geometries of each conformer written to a gaussian input file that can be used for further optimization.
  4. For range separation parameter tuning:

    • Create a folder. Add either a Gaussian .log file or .com file (for any kind of calculation). Include also a bash script file according to your batch system (follow examples for slurm and task spooler here).
    • Run the lx command in the folder and choose option 7. Follow the instructions to set the calculation parameters.
    • You may choose between a relaxed on unrelaxed tuning procedure. In the case of the former, geometry optimizations are run for each range separation parameter value. In the case of unrelaxed tuning, the geometry provided in the .log or .com file will be used for all calculations.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

leox-0.8.2.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

LeoX-0.8.2-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file leox-0.8.2.tar.gz.

File metadata

  • Download URL: leox-0.8.2.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for leox-0.8.2.tar.gz
Algorithm Hash digest
SHA256 623bdd3bd65dd0563ed834657b743bafb5daf7439f9a1e58d2119d7da7bcb32f
MD5 c66042c2e538fdcb5abe049efb3caac8
BLAKE2b-256 3de425cc5d112bf4bb8ea1f22f32df4b19c1bd28543d02f496d632f79613dda3

See more details on using hashes here.

File details

Details for the file LeoX-0.8.2-py3-none-any.whl.

File metadata

  • Download URL: LeoX-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 29.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for LeoX-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ca71867dd04640cbdb2718bd9de2c3ab087c4a4d56c1f72007110c684eaadd9d
MD5 41111f50b5d9b77b405d651eb6055c47
BLAKE2b-256 2b0cfe5572b2f0959e02d80d4e712b84e13aba1908da23a9508538093f2f6a7d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page