To calculate an electronic structure with an arbitrary spin orientation in the non-collinear DFT, OpenMX Ver. 3.8 provides two kinds of constraint functionals which give a penalty unless the difference between the calculated spin orientation and the initial one is zero [13]. The constraint DFT for the non-collinear spin orientation is available by the following keywords:
scf.Constraint.NC.Spin on # on|on2|off, default=off
scf.Constraint.NC.Spin.v 0.5 # default=0.0(eV)
You can introduce the penalty functional by either 'on' or 'on2' for the keyword
'scf.Constraint.NC.Spin'. By 'on', the spin direction is
constrained at the initial orientation, but the magnitude of the spin moment can vary
so that the total energy can be stabilized. On the other hand, by 'on2',
the spin direction and the magnitude of the spin moment are constrained at the initial
setting by the keyword 'Atoms.SpeciesAndCoordinates'.
The keyword 'scf.Constraint.NC.Spin.v' gives
a magnitude which determines the strength of constraint when the constraint
is introduced. The constraint is applied on each atom by specifying a flag as follows:
<Atoms.SpeciesAndCoordinates
1 Cr 0.00000 0.00000 0.00000 7.0 5.0 -20.0 0.0 1 off
2 Cr 0.00000 2.00000 0.00000 7.0 5.0 20.0 0.0 1 off
Atoms.SpeciesAndCoordinates>
The '1' in the 10th column means that the constraint is applied,
and '0' no constraint. The method constrains only the spin orientation.
Therefore, the magnitude of spin can vary. Also the constraint scheme
is compatible with the LDA+U calculation explained in the Section 'LDA+U'.
As an illustration of this method,
the dependence of the total energy and magnetic moment in a chromium
dimer on the relative angle between two local spins is shown
in Fig. 30. You can trace the calculation using an input file
'Cr2_CNC.dat' in the directory 'work'.
![]() |
2016-04-03