delta_scf
Perform a Delta-SCF calculation for excited states.
This runs Delta-SCF based on a excitation specified by the excitation keyword.
For example, we can compute the HOMO-LUMO excited state (which is the default) of ethene using the input:
dft(
structure( molecule = ethene )
ao = '6-31G*'
xc = PBE
ansatz = u
delta_scf()
)
Options
average
-
Optionally compute state using Slater's transition method (
average = 'density'
). This builds the density with half an electron in each of the ground-state and excited orbitals during the SCF procedure.- The type is string
- The default is none
excitation
-
Orbitals from which the electron is taken and moved to, specified by orbital number relative to overall initial HOMO. That is:
HOMO = 0,
LUMO = 1,
such that the HOMO-LUMO excitation can be written explicitly as:dft( structure( molecule = ethene ) ao = '6-31G*' xc = PBE ansatz = u delta_scf( excitation = [0, 1] ) )
Requires unrestricted SCF to work (
ansatz = u
).For systems with unpaired electrons, the orbital indices are the same across both alpha and beta spin. Hence orbital 0 may only be occupied for one spin. An example where an unpaired electron undergoes only a spin flip but no energy excitation is given by:
dft( structure( formula = H ) ao = '6-31G*' xc = PBE ansatz = u delta_scf( excitation = [0, 0] occupied_spin = alpha spin_flip = true ) )
- The type is [int]
- The default is [0, 1]
occupied
-
Deprecated in favour of excitation
This option is deprecated.
- The type is string
- The default is HOMO
occupied_spin
-
Spin of the orbital from which the electron is taken
- The type is string
- The default is beta
- The value must be one of:
alpha
- Spin alphabeta
- Spin beta
spin_flip
-
Specify whether or not to flip the spin of the excited electron
- The type is bool
- The default is false
use_mom
-
Override for the mom switch in
dft()
. Indelta_scf
, the maximum overlap method is strongly recommended, thus the default is true in this case. When usingdelta_scf()
, the mom keyword ofdft()
is ignored and thisuse_mom
flag is used instead.- The type is bool
- The default is true
virtual
-
Deprecated in favour of excitation
This option is deprecated.
- The type is string
- The default is LUMO
virtual_spin
-
Deprecated in favour of spin_flip
This option is deprecated.
- The type is string
- The default is alpha