Author Topic: Dhoosing a singelt open shell state  (Read 32357 times)

ym21d@fsu.edu

  • Jr. Member
  • **
  • Posts: 18
  • Karma: +0/-0
Dhoosing a singelt open shell state
« on: August 08, 2025, 05:30:08 PM »
Hello,

I'm trying to run calculations on carbenes and azirines in the singlet open shell state. I'm finding the information in the manual and tutorial rather confusing. Could anyone help me with this?

Thank you,
Yael

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 612
  • Karma: +0/-0
Re: Dhoosing a singelt open shell state
« Reply #1 on: August 09, 2025, 12:53:58 AM »
Hi,

in the graphical user interface TmoleX click on the 'Molecular Attributes' button (the red one if you start from a fresh input) and select Multiplicity -> Singlet(UHF) before generating start orbitals. That's it.

If you use the command line version there are two options:

  • if you use define to generate the input, you will also get to a menu named

     OCCUPATION NUMBER & MOLECULAR ORBITAL DEFINITION MENU

    In there one usually just enters eht to generate start orbitals. The default for singlets is in most cases a closed shell system, and define will print something like:

    AUTOMATIC OCCUPATION NUMBER ASSIGNMENT ESTABLISHED !
     FOUND CLOSED SHELL SYSTEM !
     HOMO/LUMO-SEPARATION :  0.077019
     ORBITAL  SYMMETRY      ENERGY     DEFAULT
     (SHELL)    TYPE                 OCCUPATION
        70    70a          -0.41877      2
        71    71a          -0.40421      2
        72    72a          -0.38303      2
        73    73a          -0.38188      2
        74    74a          -0.30486      0
        75    75a          -0.30197      0
        76    76a          -0.28211      0

     DO YOU ACCEPT THIS OCCUPATION ?  DEFAULT=y


    If you hit Enter here or y, you will get a singlet closed shell input. So do not say yes but n or no.

    DO YOU ACCEPT THIS OCCUPATION ?  DEFAULT=y

    n
     YOU HAVE TO ASSIGN OCCUPATION NUMBERS MANUALLY
     >> UHF << : ALPHA AND BETA SHELLS  (a,b)
     >> RHF << : CLOSED AND OPEN SHELLS (c,o)

     OCCUPATION NUMBER ASSIGNMENT MENU  ( #e=146  #c=0  #o=0)

     s         : CHOOSE UHF SINGLET OCCUPATION
     t         : CHOOSE UHF TRIPLET OCCUPATION
     u <int>   : CHOOSE UHF WITH <int> UNPAIRED ELECTRONS
     uf <int>  : AS u, BUT ALLOW FRACTIONAL OCCUPATION NUMBERS
    ...


    The first option is what you want.

    So just enter

    s

    and the usual * to proceed.

    Note that UHF stands for unrestricted Hartree-Fock. For DFT the correct term would be 'UKS' for unrestricted Kohn-Sham DFT, but Turbomole uses 'uhf' for both, HF and DFT so as not to make life unnecessarily complicated.

    One could write at length about the difference and exact meaning of ‘open shell’ and ‘unrestricted’, but most people understand both terms to mean the same thing.

  • you write or let write an input without using the define program. In that case, just add $uhf to the control file and start a calculation. Just like define the first energy calculation will try to find an occupation automatically - and would also by default find a closed shell singlet state. $uhf forces it to unrestricted, hence to open shell case.

    Example:

    $coord    file=coord
    $atoms
        basis =def2-SV(P)
    $uhf
    $dft
        functional   pbe
    $rij
    $end




ym21d@fsu.edu

  • Jr. Member
  • **
  • Posts: 18
  • Karma: +0/-0
Re: Dhoosing a singelt open shell state
« Reply #2 on: August 11, 2025, 05:06:13 PM »
Thank you for helping, but I am a bit confused. I am using the command line option. When I type "uhf" in the OCCUPATION NUMBER ASSIGNMENT MENU, it says:
uhf
 i/o-error : input variable is not integer
 WARNING : <rdebbs> could not read properly from string
f
 UHF OCCUPATION WITH   0 UNPAIRED ELECTRONS ESTABLISHED

This, then, would not be open shell.

If I need to assign occupation numbers manually, then I'm not sure how to do that. How do I know which orbitals I want to have unpaired electrons. In my case, I'm working with an azirine or carbene. I imagine for azirine I might want the highest orbital to have unpaired electrons since this, I would think, would be the double bond. I'm not sure how to indicate that in define, though. For the carbene, I don't even know which orbital I would want to be unpaired.

Thank you,
Yael

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 612
  • Karma: +0/-0
Re: Dhoosing a singelt open shell state
« Reply #3 on: August 11, 2025, 06:08:19 PM »
Hi,

the menu is showing what to enter:

Code: [Select]
OCCUPATION NUMBER ASSIGNMENT MENU  ( #e=146  #c=0  #o=0)

 s         : CHOOSE UHF SINGLET OCCUPATION

The menu describes what to enter to select this option. So in this case, just enter a small letter s to select a singlet. uhf is not printed in this menu, so it is not an option to enter.

I'd really recommend to use TmoleX. The graphical user interface is running under Windows, MacOS and Linux. So you can pick the one for your desktop. From TmoleX it is possible to submit Turbomole jobs to a cluster or a remote Linux system or a queuing system - hence you do not actually need to run Turbomole on your local machine (most likely a notebook nowadays).

Quote
I imagine for azirine I might want the highest orbital to have unpaired electrons since this, I would think, would be the double bond. I'm not sure how to indicate that in define, though. For the carbene, I don't even know which orbital I would want to be unpaired.

What you are describing is your expectation of what you will get as a result. Where the unpaired electron is located is not a matter of the input, just a possible output as result. Again, TmoleX also helps to visualize the molecular orbitals after the calculation in the Results panel. There you will be able to visually inspect where the HOMO (highest occupied molecular orbital) is located.

The input orbitals and where they are localized should (and in most cases will) not have an effect on the DFT calculation. DFT generates a start density from your input and then solves the Kohn-Sham equations self-consistently - this will result in a converged final total density (and energy) with the correct electronic state. Ideally what you see as a difference when starting from different input settings is a different number of SCF steps that are required to reach convergence. But they all should give the same final result.

OK, let's be realistic: The algorithm will deliver what the algorithm is supposed to deliver. There are still a lot of approximations and constraints, DFT will only be able to describe what DFT is capable to describe - and there are plenty of cases where it will fail or give worse results than it usually does on average.

What is important to decide when generating the input:
  • If the number of electrons is even, and if you have a non-symmetric input structure, decide whether to stick to closed shell or open shell occupation. Closed shell is the default for 'normal' stable molecules and results in a stable singlet.
  • If the number of electrons is even, but you want to check if a triplet is more stable, you could
    • nevertheless run a closed shell calculation, but then perform a stability analysis and check for triplet instability (see manual, search for $scfinstab keyword and the triplet option)
    • start with a triplet occupation, this will always be a unrestricted/open-shell calculation
    • start with singlet or triplet unrestricted/open-shell and allow the algorithm to change the spin/multiplicity by activating Fermi thermal smearing (See manual, SCF options: " By the command $fermi you can switch on smearing of occupation numbers, and thus automatically optimize occupations and spin." Fermi is also available as option in TmoleX.
  • If the number of electrons is odd, an unrestricted/open-shell is the only option anyway. But here you can also either decide what spin state to stick to (select doublet, quadruplet, ...) or also switch on Fermi thermal smearing to allow the algorithm to change the spin state during the optimization.

ym21d@fsu.edu

  • Jr. Member
  • **
  • Posts: 18
  • Karma: +0/-0
Re: Dhoosing a singelt open shell state
« Reply #4 on: August 11, 2025, 07:24:51 PM »
Thank you for all of the information,

In my molecule, the number of electrons is even, but I want to be able to calculate the reaction barrier in the open shell singlet state.
      I tried doing the calculation on a model molecule. I calculated the energy of a methylene carbene in the closed shell singlet state and I also did the calculation again this time selecting s in the OCCUPATION NUMBER ASSIGNMENT MENU.

I got the same energy either way, so that makes me think that I'm doing something wrong.

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 612
  • Karma: +0/-0
Re: Dhoosing a singelt open shell state
« Reply #5 on: August 14, 2025, 01:51:46 PM »
Running an unrestricted calculation just opens the possibility to get different spatial orbitals for alpha and beta spins.

But this only happens if the energy is decreased. If you take a simple and stable molecule, closed shell and open shell singlet calculations give the same result and same total energy. Simplest way to check that after an unrestricted/open-shell calculation is to look at the orbital energies of alpha and beta. If they are the same, the closed shell approximation works perfectly well too.