Broken-symmetry DFT

Converging to a broken-symmetry state (single-point calculation)

There are two main ways to converge to a broken-symmetry state in ORCA.

Fe(III)-Fe(III) example:

Here a high-spin S=5/2 Fe(III) ion (d5) couples to another high-spin S=5/2 Fe(III) ion (d5). Note: a realistic system would of course have ligand atoms as well.

For a 2-spin system like this one can use the Brokensym feature:

! BP def2-SVP def2/J UKS
%scf
Brokensym 5,5 # Number of unpaired electrons on site A, number of unpaired electrons on site B
end
*xyz 6 11 # The multiplicity of the high-spin state of Fe3+ Fe3+, S=5 is selected here.
Fe 0.0 0.0 0.0
Fe 0.0 0.0 3.0
*

The more general way of generating broken-symmetry solutions (for any number of spins) is to use the Flipspin/FinalMS procedure where after converging to the high-spin state, the spin density at a local site is flipped and converging to the MS solution is then attempted. Note that if multiple spin-flipping is to be done one does: "Flipspin X,Y,Z" where X,Y,Z are the atom numbers to be flipped. Note here that in the "*xyz line" the spin multiplicity of the ferromagnetic solution is selected. The spin-state (MS value) of the broken-symmetry state is chosen in the %scf block.

! BP def2-SVP def2/J
%scf
Flipspin 0 # Here atom number zero is flipped
FinalMs 0.0 # Here the final broken-symmetry state to converge to is selected (here, MS=0)
end

*xyz 6 11 # The multiplicity of the high-spin state of Fe3+ Fe3+, S=5 is selected here.
Fe 0.0 0.0 0.0
Fe 0.0 0.0 3.0
*

Note that there is no guarantee of the calculation converged to the desired broken-symmetry state. This needs to be checked by inspecting the atomic spin populations or the spin density or analyzing the unrestricted corresponding orbitals. It is also possible that the BS procedure leads to finding a closed-shell S=0 solution (though both alpha and beta sets will still be present) instead of an antiferromagnetically coupled BS solution. This could be an indication that something wrong in the BS procedure or that the BS solution simply does not exist.

Geometry optimizations on the broken-symmetry potential energy surface

It is also possible to optimize the geometry on the broken-symmetry surface.

! BP def2-SVP def2/J Opt

%scf
Flipspin 0
FinalMs 0.0
end
%geom
ReducePrint false
end

ReducePrint false means that the population analysis is printed for each geometry optimization step. This means one can monitor whether one is still on the desired broken-symmetry state during each optimization step.

Restarting/rerunning a BS-DFT calculation

  • If a single-point energy BS-DFT calculation crashed or failed to converge (in either the HS or BS step), one would typically rerun it from the beginning, possibly using the latest orbitals as guess orbitals for the high-spin step. If the calculation failed in the BS step (but was close to convergence) it's possible to restart (see below) although it's usually safer to rerun from beginning.

  • If you want to run a new calculation (e.g. molecular properties) on an already converged broken-symmetry state or restart an almost-converged BS calculation (that failed in the BS step) you don't have go through the Flipspin/Brokensym business. You can simply read in the orbitals from the previous Flipspin/Brokensym BS-DFT calculation using MOREAD and %moinp keywords and make sure to specify the spin multiplicity of the BS-DFT state (not the HS state). It is also important to specify UKS in the simple input in order to be able to converge to the open-shell broken-symmetry singlet state (closed-shell RKS is the default for singlets and results in spin-pairing). To rerun the Fe(III)-Fe(III) example above you would do:

! BP def2-SVP def2/J MOREAD UKS
%moinp "previousorbitals.gbw"
*xyz 6 1 # The multiplicity of the BS-state is now selected here.
Fe 0.0 0.0 0.0
Fe 0.0 0.0 3.0
*

  • If you want to restart a failed geometry optimization on a broken-symmetry surface you should take the last set of coordinates from the old ORCA outputfile and replace the input coordinates. You could then go through the Flipspin/Brokensym procedure or alternatively read in the old orbitals as well. The latter may not always work (depends on where the previous job failed).

! BP def2-SVP def2/J MOREAD UKS OPT
%moinp "previousorbitals.gbw"
%geom
ReducePrint false
end
*xyz 6 1 # The multiplicity of the BS-state is now selected here.
...last set of coordinates...
*