The program generates Configuration Interaction (CI) wavefunctions, facilitating the description of intricate electronic structures within the system. It formulates expressions for couplings and dibatic energy, utilizing both one-electron and two-electron integral expressions. This flexible approach accommodates arbitrary multiplicities and a specified number of electrons, allowing for a comprehensive analysis.
Key features of the program include:
- Couplings and Dibatic Energy Expressions: The program derives expressions for couplings and dibatic energy, shedding light on transitions and interactions between electronic states. These expressions are derived from one-electron and two-electron integral components.
- Multiplicities and Subsystem Configuration: Users can define not only the multiplicity of the entire system but also the multiplicities of the subsystems. This allows for the exploration of diverse electronic scenarios and interactions, encompassing complex interactions between subsystems.
- Subsystem Order and Interaction Sign: The program allows users to specify subsystem order and the sign of mutual interactions, providing customization for studying various electronic structures.
The program operates by generating configuration state functions through a branching diagram approach, focusing on a given spin state characterized by
-
Configuration State Function Generation:
The program employs branching diagrams to generate configuration state functions. These functions encapsulate the electronic configurations of the system, considering the spin characteristics denoted by
$S^2$ and$S_z$ . The branching diagrams illustrate the arrangement of electrons within the system. - Electron Configuration and Qubit Operators: Users can configure the distribution of electrons across spatial orbitals/sites. Based on the electron's spin and orbital information, the program generates qubit operators using Pauli matrices. These operators facilitate the creation and annihilation of electrons, capturing the underlying electronic transitions.
-
Coupling Evaluation:
The program evaluates couplings between different electronic states using the derived configuration state functions. The coupling is computed as:
$$\langle \Psi \vert H \vert\Phi\rangle = \substack{\displaystyle \langle C_{s_{1},a_{1}} \otimes...\otimes C_{s_{n},a_{n}} \vert \mathbf{O_{1}}\vert C^{\dagger}_{s_{1},a_{1}}\otimes...\otimes C^{\dagger}_{s_{n},a_{n}} \rangle \\ \displaystyle + \frac{1}{2} \langle C_{s_{1},a_{1}} \otimes...\otimes C_{s_{n},a_{n}} \vert \mathbf{O_{2}}\vert C^{\dagger}_{s_{1},a_{1}}\otimes...\otimes C^{\dagger}_{s_{n},a_{n}} \rangle } $$ Here,$C_{s_i,a_i}$ represents an electron operator for the$i$ -th electron with spin$s_i$ at site$a_i$ , and$\mathbf{O_1}$ and$\mathbf{O_2}$ denote the operators for electron creation and annihilation. The coupling is evaluated using symbolic Python operations.
pip install git+https://github.com/roehr-lab/SymbolicCI.gitTo evaluate the coupling expression use program SymbolicCI-Coupling.py
SymbolicCI-Coupling.pyPrior to initiating the coupling calculation program, it is recommended to visit the following website: [https://roehr-lab.github.io/im1.html]. This webpage offers a user-friendly interface to explore and configure the spin chain arrangement that you intend to evaluate. The process involves the following steps:
- Enter the desired number of electrons for your system.
- Utilize the sliders provided for "final S," "Pathway of S," and "Final M."
- The website will dynamically display the constructed many-electron spin state corresponding to your chosen configuration.
As an illustrative example, consider the evaluation of couplings between specific states. To facilitate this, ensure that you take note of the values associated with "final S," "Pathway of S," and "Final M" for both the Bra and Ket states of interest. These values will be instrumental in configuring the coupling calculation program accurately. By leveraging this interactive tool, you can effectively tailor the coupling calculations to your desired spin chain configurations, enhancing the precision and relevance of your analysis.
This is the branching diagram of two singlet subsystem combination giving Singlet. This will serve the spin configuration for
This is the branching diagram of two triplet subsystem combination giving Singlet. This will serve the spin configuration for
After selecting the spin configuration for the Bra and Ket of the wave function the spatial orbital for each electron is selected.
Once the selection of spatial orbitals is finalized, the program proceeds with an iterative process that encompasses various components crucial for the evaluation. This iterative process involves the following key steps:
- Bra and Ket Determinants
- One-Electron Symbolic Operator:
- Two-Electron Symbolic Operators:
Throughout this iterative process, the program systematically combines these components to evaluate relevant expressions, such as energies or couplings, based on the selected spatial orbitals and the many-electron states defined by the Bra and Ket determinants.
The coupling terms are printed out. (Note that example coupling has two electron integrals only. So no One electron integral terms are printed)
The package includes an additional script for comprehensive analysis:
Apart from the previously mentioned functionalities, this package also provides a script designed to calculate couplings among all possible states across all singlet multiplicities within the slipped stack trimer system. This calculation considers both longitudinal (x) and transverse (y) axis slipping configurations. The various states that are considered include local excitons, charge transfer states, and paired triplets with singlet multiplicity.
The usage of this script involves providing command line arguments in the following format:
TrimerCalculate.sh ethene.xyz 0.7 0.0This command initiates the execution of two Python scripts, "SymbolicCI-TrimerCoupling.py" and "SymbolicCI-TrimerPlot.py," sequentially. Here's a breakdown of their roles:
SymbolicCI-TrimerCoupling.py: This script takes three command line arguments: 1. An XYZ file containing the monomer's structure. 2. The amount of slipped stacking along the x-axis (in angstroms). 3. The amount of slipped stacking along the y-axis (in angstroms).
The script's tasks encompass: - Constructing a trimer structure based on the provided monomer's XYZ file and the specified slipped stacking values. - Conducting initial electronic structure calculations on the trimer. - Transforming the integrals used in electronic structure calculations.
SymbolicCI-TrimerPlot.py: This script is responsible for calculating dibatic couplings and plotting them on an energy plot. Its functions include: - Calculating dibatic couplings using data obtained from electronic structure calculations. - Creating a plot to visualize the calculated couplings in terms of energy.
By sequentially executing these scripts with the provided command line arguments, a series of analyses and calculations regarding the electronic structure and coupling properties of the slipped stack trimer system are performed. These scripts collectively contribute to a more comprehensive understanding of the system's characteristics and interactions.
Required python packages:
- pytorch
- numpy, scipy, matplotlib
- sympy
- pip 10+
- pyscf
- Anurag Singh







