.. tip:: All input files can be downloaded: :download:`Files `. .. tip:: For more information of this section, please refer to these pages: - :doc:`./dft` - :doc:`./tso1` - :doc:`../keywords/scfguess` - :doc:`../keywords/scf` Prediction of the Inverted Singlet-Triplet (IST) Energy Gap Using TSO-DFT ================================================================================ .. contents:: :local: Hund’s rule argues that for the same electron configuration, the term with the highest spin multiplicity is more stable. In the case of electrofluorescence, this means that **the triplet state is more stable than the singlet state.** Define the gap: :math:`\Delta E = E_{S_1} - E_{T_1}` Then, in moste cases, :math:`\Delta E > 0`. However, violations of Hund’s rule have been experimentally observed for a special class of materials, i.e., they have **negative** :math:`\Delta E` or **inverftged singlet-triplet (IST) energy gap**. They are very important for triplet harvesting via reverse intersystem crossing (RISC). In `J. Phys. Chem. Lett. 2026, XX, XX `_, the paper uses `TSO-DFT `_ to calculate excitation energies of molecules containing IST signatures with the B3LYP functional. For more than 34 molecules, TSO-DFT gives relialbe negative :math:`\Delta E > 0`. The paper argues that "The TSO-DFT methodology (with the B3LYP functional), benchmarked against **experimentally reported and theoretically proposed** IST molecules, **shows superior accuracy in predicting negative ΔEST compared to standard EOM-CCSD and ADC(2) methods,** establishing it as a uniquely cost-effective tool for IST emitter design." In this tutorial, we will use Qbics to reproduce one :math:`\Delta E` of this paper. Molecular Structure Optimization --------------------------------- We want to reprocude this molecule: .. figure:: figs/a54.png First we want to optimize the geometry of the molecule. Although there are a lot of ways, the best way is to use `Qbics-MolStar `_. Follow the way below: .. figure:: figs/a56.png The AI system `MolScribe `_ can transform the graph into SMILES then 3D coordinates. Export it to an XYZ file, then we can optimize it with DFT: .. code-block:: :caption: mol.inp :linenos: mol C -1.04156270504793 0.06898020823976 0.09869238425253 C -0.72238817674403 -1.15931457328814 0.67284176885867 C 0.63394793033020 -1.41302316734170 0.46159998923951 C 1.41478346893870 -2.42805267506438 1.00117167387101 N 2.62245417676414 -2.79584357351428 0.63367340475859 C 3.41685931263871 -2.16430942452300 -0.20237887757826 N 3.49473417039696 -0.89689038258302 -0.54452997202527 C 2.52445541954071 -0.00971319464880 -0.49597854021721 C 1.17406324852518 -0.23762406158590 -0.26383605635284 C 0.10653975781569 0.64549780746266 -0.43849152071242 H -2.01697624661691 0.52188693363575 0.10703595430576 H -1.40230168786037 -1.81247909433718 1.18746051037906 H 0.97337005914902 -3.06388117737919 1.76387738499715 H 4.22918260936383 -2.77655184028781 -0.58722807896853 H 2.83678247125013 0.99905528682127 -0.75177723589980 H 0.16805619155599 1.60526292839398 -0.91713278890795 end scf charge 0 spin2p1 1 end basis def2-svp end task opt b3lyp end Run the calculation: .. code-block:: bash $ qbics mol.inp -n 8 > mol.out Here, ``-n 8`` means Qbics will use 8 CPU cores for parallization. You can use any number of CPU cores you want. This file: - ``mol-opt.xyz``: The optimized structure. It can be used for the following calculations. You can view ``mol-opt.xyz`` with `Qbics-MolStar `_: .. figure:: figs/a55.png Ground State (:math:`S_0`) --------------------------------- For the ground state of the moledcule, the input file is: .. code-block:: :caption: s0.inp :linenos: mol C -1.05021810 0.11005247 0.20901148 C -0.72792887 -1.15307286 0.74230658 C 0.63363616 -1.40430001 0.48611827 C 1.36824481 -2.53547328 0.84094269 N 2.64920463 -2.83059178 0.62089769 C 3.54719215 -2.07221189 -0.01173141 N 3.52290245 -0.87107265 -0.59413879 C 2.47246947 -0.05579931 -0.69203622 C 1.16140992 -0.22045975 -0.24340688 C 0.09104098 0.68119251 -0.38705483 H -2.03498639 0.57802698 0.25387230 H -1.40786402 -1.82681691 1.26360528 H 0.81471500 -3.31384208 1.38766742 H 4.54007164 -2.54570028 -0.06114850 H 2.68670958 0.89074036 -1.21044980 H 0.14540060 1.65232848 -0.87945526 end scf charge 0 spin2p1 1 end basis def2-svp end task energy b3lyp end This is a standard file for DFT calculation of the singlet ground state of the molecule. See :doc:`dft` for more information. Run the calculation: .. code-block:: bash $ qbics s0.inp -n 8 > s0.out Here, ``-n 8`` means Qbics will use 8 CPU cores for parallization. You can use any number of CPU cores you want. There will be 2 output files: - ``s0.out``: The output file of the DFT calculation. - ``s0.mwfn``: The wave function file. In ``s1.out``, you will find the energy: .. code-block:: :caption: s1.out :linenos: Final total energy: -417.60299721 Hartree Triplet State (:math:`T_1`) --------------------------------- In the same way, we can calculate the triplet ground state of the molecule. The input file is: .. code-block:: :caption: t1.inp :linenos: mol C -1.05021810 0.11005247 0.20901148 C -0.72792887 -1.15307286 0.74230658 C 0.63363616 -1.40430001 0.48611827 C 1.36824481 -2.53547328 0.84094269 N 2.64920463 -2.83059178 0.62089769 C 3.54719215 -2.07221189 -0.01173141 N 3.52290245 -0.87107265 -0.59413879 C 2.47246947 -0.05579931 -0.69203622 C 1.16140992 -0.22045975 -0.24340688 C 0.09104098 0.68119251 -0.38705483 H -2.03498639 0.57802698 0.25387230 H -1.40786402 -1.82681691 1.26360528 H 0.81471500 -3.31384208 1.38766742 H 4.54007164 -2.54570028 -0.06114850 H 2.68670958 0.89074036 -1.21044980 H 0.14540060 1.65232848 -0.87945526 end scf charge 0 spin2p1 3 end basis def2-svp end task energy b3lyp end Run the calculation: .. code-block:: bash $ qbics t1.inp -n 8 > t1.out In ``t1.out``, you will find the energy: .. code-block:: :caption: t1.out :linenos: Final total energy: -417.49957900 Hartree Usually, the triplet state can be calculated in this way. However, in the case of IST molecules, it is known that **the calculation of triplet state can lead often lead to high-energy solutions.** Therefore, it is recommended that the triplet state calculation should **use the ground state wave function as initial guess.** Thus, we use ``s0.mwfn`` obtained in the last calculation as initial guess (see :doc:`../keywords/scfguess` for more information). The input file is: .. code-block:: :caption: t1-s0guess.inp :linenos: mol C -1.05021810 0.11005247 0.20901148 C -0.72792887 -1.15307286 0.74230658 C 0.63363616 -1.40430001 0.48611827 C 1.36824481 -2.53547328 0.84094269 N 2.64920463 -2.83059178 0.62089769 C 3.54719215 -2.07221189 -0.01173141 N 3.52290245 -0.87107265 -0.59413879 C 2.47246947 -0.05579931 -0.69203622 C 1.16140992 -0.22045975 -0.24340688 C 0.09104098 0.68119251 -0.38705483 H -2.03498639 0.57802698 0.25387230 H -1.40786402 -1.82681691 1.26360528 H 0.81471500 -3.31384208 1.38766742 H 4.54007164 -2.54570028 -0.06114850 H 2.68670958 0.89074036 -1.21044980 H 0.14540060 1.65232848 -0.87945526 end scf charge 0 spin2p1 3 end scfguess type mwfn file s0.mwfn end basis def2-svp end task energy b3lyp end Run the calculation: .. code-block:: bash $ qbics t1-s0guess.inp -n 8 > t1-s0guess.out In ``t1-s0guess.out``, you will find the energy: .. code-block:: :caption: t1-s0guess.out :linenos: Final total energy: -417.51425840 Hartree This energy is lower than the one shown in ``t1.out```, which is what we need. We can also check the orbital occupation in ``t1-s0guess.out``: .. code-block:: :caption: t1-s0guess.out :linenos: 32 1.000 -0.28040102 1.000 -0.25316116 33 1.000 -0.27169404 1.000 -0.24475506 34 1.000 -0.24605069 0.000 -0.18938584 35 1.000 -0.14796951 0.000 -0.07173325 36 0.000 -0.09171801 0.000 -0.06178308 37 0.000 0.01880794 0.000 0.05227252 38 0.000 0.05986264 0.000 0.06209003 So, there are 2 singly occupied orbitals: ``34`` and ``35``. Singlet Excited State (:math:`S_1`) ---------------------------------------- Now we will calculate :math:`S_1`, where the 2 singly occupied orbitals are still ``34`` and ``35``, but they coupled to a singlet state. The input file is .. code-block:: :caption: s1.inp :linenos: :emphasize-lines: 22,23,28-31 mol C -1.05021810 0.11005247 0.20901148 C -0.72792887 -1.15307286 0.74230658 C 0.63363616 -1.40430001 0.48611827 C 1.36824481 -2.53547328 0.84094269 N 2.64920463 -2.83059178 0.62089769 C 3.54719215 -2.07221189 -0.01173141 N 3.52290245 -0.87107265 -0.59413879 C 2.47246947 -0.05579931 -0.69203622 C 1.16140992 -0.22045975 -0.24340688 C 0.09104098 0.68119251 -0.38705483 H -2.03498639 0.57802698 0.25387230 H -1.40786402 -1.82681691 1.26360528 H 0.81471500 -3.31384208 1.38766742 H 4.54007164 -2.54570028 -0.06114850 H 2.68670958 0.89074036 -1.21044980 H 0.14540060 1.65232848 -0.87945526 end scf charge 0 spin2p1 1 type U no_scf tso end scfguess type mwfn file s0.mwfn orb 68 1 1-33 35-170 : 1-169 orb 0 1 34 : 170 end basis def2-svp end task energy b3lyp end For more details about TSO-DFT, please refer to :doc:`./tso1` and :doc:`../keywords/scfguess`. Here we give a brief introduction: - Line 24: We set ``no_scf`` to ``tso`` to use TSO-DFT. - Line 23: TSO-DFT must use unrestricted SCF, so we set ``type`` to ``U``. - Line 28-29: We use the :math:`S_0` state as the initial guess. - Line 30-31: The orbital opartition for calculating :math:`S_1` state. For more details, see :doc:`./tso1`. Briefly, orbitals are partitioned into 2 subspaces as shown below, one is the orbitals removing alpha 34 and beta 170 (the highest one, to ensure the number of alpha and beta orbitals are the same), and this subspace has 68 electrons with the expected spin multiplicity 1. The other subspace is alpha 34 and beta 170, which has 0 electrons. Using this partition, the Aufbau occupation leads to a 34 - Line 30-31: The orbital opartition for calculating :math:`S_1` state. For more details, see :doc:`./tso1`. Briefly, orbitals are partitioned into 2 subspaces as shown below, one is the orbitals removing alpha 34 and beta 170 (the highest one, to ensure the number of alpha and beta orbitals are the same), and this subspace has 68 electrons with the expected spin multiplicity 1. The other subspace is alpha 34 and beta 170, which has 0 electrons. Using this partition, the Aufbau occupation leads to a 34 → 35 singlet excited state. .. figure:: figs/a53.png Run the calculation: .. code-block:: bash $ qbics s1.inp -n 8 > s1.out In ``s1.out``, you will find the output: .. code-block:: :caption: s1.out :linenos: :emphasize-lines: 5,6,8,19 TSO Transition ============== Reference wave function read from: s0.mwfn Reference energy: -417.60299700 Hartree Current energy: -417.51546285 Hartree E(Current)-E(Ref): 2.38192545 eV Transition dipole moment (Debye): -0.44664 -0.97920 0.60661 Oscillator strength: 0.01379 Higher order corrections: Transition quadrupole moment (Debye*Angstrom): Qxx: -1.42726; Qyy: 2.24129; Qzz: 0.10584 Qxy: -1.06345; Qxz: 0.93535; Qyz: -0.77974 Quadrupole correction to oscillator strength: 8.60036E-09 Transition angular momentum (au): 0.00000 0.00000 0.00000 Magnetic dipole correction to oscillator strength: 0.00000E+00 ---- Self Consistent Field Energy Done ------------------ Final total energy: -417.51546285 Hartree Here: - Line 5, 19: The final total energy of the :math:`S_1` state is ``-417.51546285`` Hartree. - Line 6: The excitation energy relative to the ground state. - Line 8: The oscillator strength. The Singlet-Triplet Gap --------------------------------- Now we can calculate the :math:`\Delta E` of the molecule: :math:`\Delta E = E_{S_1} - E_{T_1} = (-417.51546285 - (-417.51425840))*27.21 = -0.033` eV and the oscillator strength of :math:`S_1` state is ``0.01379``. Both the gap and the strength are reproduced successfully! .. figure:: figs/a54.png