Skip to main content

Add your description here

Project description

tcal: Program for the calculation of transfer integral

Python License: MIT docs

Requirements

  • Python 3.9 or newer
  • NumPy
  • Gaussian 09 or 16

Important notice

  • The path of the Gaussian must be set.

Installation

pip install yu-tcal

Verify Installation

After installation, you can verify by running:

tcal --help

Options

Short Long Explanation
-a --apta Perform atomic pair transfer analysis.
-c --cube Generate cube files.
-g --g09 Use Gaussian 09. (default is Gaussian 16)
-h --help Show options description.
-l --lumo Perform atomic pair transfer analysis of LUMO.
-m --matrix Print MO coefficients, overlap matrix and Fock matrix.
-o --output Output csv file on the result of apta.
-r --read Read log files without executing Gaussian.
-x --xyz Convert xyz file to gjf file.
--napta N1 N2 Perform atomic pair transfer analysis between different levels. N1 is the number of level in the first monomer. N2 is the number of level in the second monomer.
--hetero N Calculate the transfer integral of heterodimer. N is the number of atoms in the first monomer.
--nlevel N Calculate transfer integrals between different levels. N is the number of levels from HOMO-LUMO. N=0 gives all levels.
--skip N... Skip specified Gaussian calculation. If N is 1, skip 1st monomer calculation. If N is 2, skip 2nd monomer calculation. If N is 3, skip dimer calculation.

How to use

1. Create gjf file

First of all, create a gaussian input file as follows:
ex: xxx.gjf
gjf_file_example
The xxx part is an arbitrary string.

Description of link commands

pop=full: Required to output coefficients of basis functions, overlap matrix, and Fock matrix.
iop(3/33=4,5/33=3): Required to output coefficients of basis functions, overlap matrix, and Fock matrix.

How to create a gjf using Mercury

  1. Open cif file in Mercury.
  2. Display the dimer you want to calculate.
    Anthracene_dimer
  3. Save in mol file or mol2 file.
  4. Open a mol file or mol2 file in GaussView and save it in gjf format.

2. Execute tcal.py

Suppose the directory structure is as follows.

yyy
└── xxx.gjf
  1. Open a terminal.
  2. Go to the directory where the files is located.
cd yyy
  1. Execute the following command.
tcal -a xxx.gjf

3. Visualization of molecular orbitals

  1. Execute the following command.
tcal -cr xxx.gjf
  1. Open xxx.fchk in GaussView.
  2. [Results] → [Surfaces/Contours...] visualize1
  3. [Cube Actions] → [Load Cube]
  4. Open xxx_m1_HOMO.cube and xxx_m2_HOMO.cube. visualize2
  5. Visualize by operating [Surface Actions] → [New Surface]. visualize3
    visualize4

Interatomic transfer integral

For calculating the transfer integral between molecule A and molecule B, DFT calculations were performed for monomer A, monomer B, and the dimer AB. The monomer molecular orbitals $\ket{A}$ and $\ket{B}$ were obtained from the monomer calculations. Fock matrix F was calculated in the dimer system. Finally the intermolecular transfer integral $t^{[1]}$ was calculated by using the following equation:

$$t = \frac{\braket{A|F|B} - \frac{1}{2} (\epsilon_{A}+\epsilon_{B})\braket{A|B}}{1 - \braket{A|B}^2},$$

where $\epsilon_A \equiv \braket{A|F|A}$ and $\epsilon_B \equiv \braket{B|F|B}$.

In addition to the intermolecular transfer integral in general use, we developed an interatomic transfer integral for further analysis $^{[2]}$. By grouping the basis functions $\ket{i}$ and $\ket{j}$ for each atom, the molecular orbitals can be expressed as

$$\ket{A} = \sum^A_{\alpha} \sum^{\alpha}_i a_i \ket{i},$$

$$\ket{B} = \sum^B_{\beta} \sum^{\beta}_j b_j \ket{j},$$

where $\alpha$ and $\beta$ are the indices of atoms, $i$ and $j$ are indices of basis functions, and $a_i$ and $b_j$ are the coefficients of basis functions. Substituting this formula into aforementioned equation gives

$$t = \sum^A_{\alpha} \sum^B_{\beta} \sum^{\alpha}_i \sum^{\beta}_j a^*_i b_j \frac{\braket{i|F|j} - \frac{1}{2} (\epsilon_A + \epsilon_B) \braket{i|j}}{1 - \braket{A|B}^2}$$

Here we define the interatomic transfer integral $u_{\alpha\beta}$ as:

$$u_{\alpha \beta} \equiv \sum^{\alpha}_i \sum^{\beta}_j a^*_i b_j \frac{\braket{i|F|j} - \frac{1}{2} (\epsilon_A + \epsilon_B) \braket{i|j}}{1 - \braket{A|B}^2}$$

References

[1] Veaceslav Coropceanu et al., Charge Transport in Organic Semiconductors, Chem. Rev. 2007, 107, 926-952.
[2] Koki Ozawa et al., Statistical analysis of interatomic transfer integrals for exploring high-mobility organic semiconductors, Sci. Technol. Adv. Mater. 2024, 25, 2354652.

Citation

When publishing works that benefited from tcal, please cite the following article.
Koki Ozawa, Tomoharu Okada, Hiroyuki Matsui, Statistical analysis of interatomic transfer integrals for exploring high-mobility organic semiconductors, Sci. Technol. Adv. Mater., 2024, 25, 2354652.
DOI: 10.1080/14686996.2024.2354652

Example of using tcal

  1. Satoru Inoue et al., Regioisomeric control of layered crystallinity in solution-processable organic semiconductors, Chem. Sci. 2020, 11, 12493-12505.
  2. Toshiki Higashino et al., Architecting Layered Crystalline Organic Semiconductors Based on Unsymmetric π-Extended Thienoacenes, Chem. Mater. 2021, 33, 18, 7379–7385.
  3. Koki Ozawa et al., Statistical analysis of interatomic transfer integrals for exploring high-mobility organic semiconductors, Sci. Technol. Adv. Mater. 2024, 25, 2354652.

Authors

Matsui Laboratory, Research Center for Organic Electronics (ROEL), Yamagata University
Hiroyuki Matsui, Koki Ozawa
Email: h-matsui[at]yz.yamagata-u.ac.jp
Please replace [at] with @

Acknowledgements

This work was supported by JST, CREST, Grand Number JPMJCR18J2.

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

yu_tcal-3.1.0.tar.gz (54.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yu_tcal-3.1.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file yu_tcal-3.1.0.tar.gz.

File metadata

  • Download URL: yu_tcal-3.1.0.tar.gz
  • Upload date:
  • Size: 54.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for yu_tcal-3.1.0.tar.gz
Algorithm Hash digest
SHA256 a61ac530ead5b659bb09e3b6f6c4c0863e5206d8a094dcf1ad901c87a8f82543
MD5 db1a500dc4e2433157c9b031aa4a169f
BLAKE2b-256 3e67cdbadc22730037d37f2f0ee79f0cbbaf3a9f0fa238ed1e8a6bfd7c026207

See more details on using hashes here.

File details

Details for the file yu_tcal-3.1.0-py3-none-any.whl.

File metadata

  • Download URL: yu_tcal-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for yu_tcal-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a972ee3e9d50c8fdb9dd2751098aff1bfa362dacbac7b53a36f834e20dd45269
MD5 19705457a5bf545ff8882cf8b0bd7a55
BLAKE2b-256 84bc752a05355957cc05e8a90094237cb42f0fdec587944fc752529616cd0c31

See more details on using hashes here.

Supported by

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