Tag Type Default value Description
Spin.SpinPolarised boolean False Should this be a spin polarised calculation?
Spin.FixSpin boolean False Constrain the spin to initial values TODO does this constrain the spin on each atom, or just the total spin?
Spin.NeUP real 0.00 Numer of electrons initialised to the spin up state
Spin.NeDN real 0.00 Numer of electrons initialised to the spin down state
Spin.Magn real 0.00 Total magnetic moment of system (i.e. NeUP - NeDN)

Use cases

Basic spin polarised calculation

In order to turn on spin polarisation in Conquest you need to set the tag: Spin.SpinPolarised True.

If none of the other spin-related tags are set, the default behaviour of CQ is to assume half of the electrons to be spin up and half to be spin down. This is equivalent to setting Spin.Magn 0.00

Specifying total magnetic moment of system

You can specify the total magnetic moment of the system by setting the Spin.Magn tag. For example if you want your Fe system with 16 electrons to start with all the electrons in the spin up state, and none in the spin down state, you’d set: Spin.Magn 16.00

To start the system in an antiferromagnetic state you can set Spin.Magn 0.00, which would initialise half of the electrons in your system to the spin up and half to the spin down state. TODO: What’s the default arrangement of these AFM spins?

If you want to constrain the spin to the initial spin setup (i.e. forcing it to remain in the initial spin state), you can set Spin.FixSpin True.

Finally, you can set the number of electrons in each spin channel manually using the Spin.NeUP and Spin.NeDN tags. Note that these must of course sum to the total number of electrons in the system.

Initialising spin per atom - development ongoing

In many magnetic systems you might want to set the initial magnetic moments on individual atoms (for example to achieve a specific antiferromagnetic ordering).

At present the method to do this requires you to define two species (and therefore requires two .ion files) for each magnetic species. For example you might set:

## Atomic Information
%block ChemicalSpeciesLabel
1       55.845          Fe1
2       55.845          Fe2
%endblock ChemicalSpeciesLabel

%block Fe1
Atom.ValenceCharge 8.00
Atom.SpinNeUp 5.00
Atom.SpinNeDn 3.00
Atom.NumberOfSupports 15
Atom.SupportFunctionRange 8.4
Atom.InvSRange 8.4
%endblock Fe1

%block Fe2
Atom.ValenceCharge 8.00
Atom.SpinNeUp 3.00
Atom.SpinNeDn 5.00
Atom.NumberOfSupports 15
Atom.SupportFunctionRange 8.4
Atom.InvSRange 8.4
%endblock Fe2

in your Conquest_input file. Note that the .ion files would then have to be named Fe1.ion and Fe2.ion, and that the structure file must reflect these duplicate species.

For example, for antiferromagnetic bcc iron you might have:

5.423514  0.000000  0.000000
0.000000  5.423514  0.000000
0.000000  0.000000  5.423514
2
0.000000  0.000000  0.000000   1
0.500000  0.500000  0.500000   2

NOTE At present, the total number of up- and down-spin electrons in the whole system is not calculated automatically, so you still need to specify Spin.NeUP and Spin.NeDN, as above.