Recently, I try to use atk-11.2.0. However, when I test spin-polarized ZGNR, I cannot get the
spin up and spin down bands. In vnl, I can only find a band picture. The band is the same with spin unpolarized band whatever the intial spin is set AF or FM. Why is this? I have tested other systems, same case is presented. The script is posted as follows:
# -------------------------------------------------------------
# Bulk configuration
# -------------------------------------------------------------
# Set up lattice
vector_a = [10.0, 0.0, 0.0]*Angstrom
vector_b = [0.0, 19.3063, 0.0]*Angstrom
vector_c = [0.0, 0.0, 2.46100171044]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)
# Define elements
elements = [Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
Hydrogen, Hydrogen]
# Define coordinates
cartesian_coordinates = [[ 5. , 13.2053 , 0. ],
[ 5. , 6.101 , 0. ],
[ 5. , 6.81143 , 1.23050086],
[ 5. , 8.23229 , 1.23050086],
[ 5. , 8.94272 , 0. ],
[ 5. , 10.36358 , 0. ],
[ 5. , 11.07401 , 1.23050086],
[ 5. , 12.49487 , 1.23050086],
[ 5. , 14.3063 , 0. ],
[ 5. , 5. , 0. ]]*Angstrom
# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
cartesian_coordinates=cartesian_coordinates
)
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = LDABasis.SingleZetaPolarized
numerical_accuracy_parameters = NumericalAccuracyParameters(
grid_mesh_cutoff=150.0*Hartree,
)
calculator = LCAOCalculator(
basis_set=basis_set,
numerical_accuracy_parameters=numerical_accuracy_parameters,
)
bulk_configuration.setCalculator(calculator)
# -------------------------------------------------------------
# Initial State
# -------------------------------------------------------------
initial_spin = InitialSpin(scaled_spins=[1.0, -1.0, -1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0])
bulk_configuration.setCalculator(
calculator,
initial_spin=initial_spin,
)
bulk_configuration.update()
nlsave('analysis.nc', bulk_configuration)
nlprint(bulk_configuration)
# -------------------------------------------------------------
# Bandstructure
# -------------------------------------------------------------
bandstructure = Bandstructure(
configuration=bulk_configuration,
route=['G', 'Z'],
points_per_segment=20,
bands_above_fermi_level=All
)
nlsave('analysis.nc', bandstructure)