Author Topic: Band structure  (Read 3188 times)

0 Members and 1 Guest are viewing this topic.

Offline Summer

  • Regular QuantumATK user
  • **
  • Posts: 9
  • Country: cn
  • Reputation: 0
    • View Profile
Band structure
« on: July 10, 2018, 16:21 »
Dear sir,
I meet a problem when I calculate the band structure of a supercell with different lattice type. For a structure, when its lattice type is unit cell , I can calculate the band structure. However,  when  the lattice type is changed into hexagonal, all the calculated energy band are straight and parallel. Please tell me what caused this phenomenon and how can I get the correct band structure? Thank you!

Offline Petr Khomyakov

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1290
  • Country: dk
  • Reputation: 25
    • View Profile
Re: Band structure
« Reply #1 on: July 10, 2018, 21:05 »
Please post your scripts and describe step-by-step how you changed the lattice type.

Offline Summer

  • Regular QuantumATK user
  • **
  • Posts: 9
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Band structure
« Reply #2 on: July 11, 2018, 11:09 »
The script uses to calculate band structure when its lattice type is hexagonal:
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
    GGABasis.Hydrogen_DoubleZetaPolarized,
    GGABasis.Antimony_DoubleZetaPolarized,
    ]

#----------------------------------------
# Exchange-Correlation
#----------------------------------------
exchange_correlation = GGA.PBE

k_point_sampling = MonkhorstPackGrid(
    na=15,
    nb=15,
    )
numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=k_point_sampling,
    )

calculator = LCAOCalculator(
    basis_set=basis_set,
    exchange_correlation=exchange_correlation,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    )

bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave('band.nc', bulk_configuration)

# -------------------------------------------------------------
# Bandstructure
# -------------------------------------------------------------
bandstructure = Bandstructure(
    configuration=bulk_configuration,
    route=['G', 'M', 'K', 'G'],
    points_per_segment=200,
    bands_above_fermi_level=All
    )
nlsave('band.nc', bandstructure)
 when its lattice type is unit cell, the diffecence of script is the band structure:
# -------------------------------------------------------------
# Bandstructure
# -------------------------------------------------------------
bandstructure = Bandstructure(
    configuration=bulk_configuration,
    route=['G', 'Z'],
    points_per_segment=200,
    bands_above_fermi_level=All
    )
When I create the supercell, its lattice type becomes  unit cell. In Bulk Tools--Lattice Parameters,  keeping Cartesian coordinates constant when changing the lattice, I change the lattice type  from unit cell into hexagonal. Then using the Bluk Tools--Fit Cell to make all the elements in the lattice. But the lattice type becomes unit cell again. So I change it into hexagonal once again. Last make the coordinates from Cartesian into fractional. In fact I  don't know whether this  mesthod is right or not, but I want to get  band structure of the supercell whosh lattice type is hexagonal.
Please tell me what's wrong.Thank you very much!
« Last Edit: July 11, 2018, 11:11 by Summer »

Offline Petr Khomyakov

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1290
  • Country: dk
  • Reputation: 25
    • View Profile
Re: Band structure
« Reply #3 on: July 11, 2018, 14:25 »
In fact I  don't know whether this  mesthod is right or not, but I want to get  band structure of the supercell whosh lattice type is hexagonal.

I guess it depends on the supercell you create by repeating the primitive hexagonal cell.

For N x N x M cell, where N and M are integers,  there should be no change in the lattice type when building the supercell, as the cell is still hexagonal, at least in the 2016 and newer versions of VNL / QuantumATK Nanolab.

For N x K x M cell, where N, K and M are integers, and N<>K,  I do not really see how you can make such a supercell hexagonal, since it is not hexagonal by construction of the supercell lattice vectors.

Offline Summer

  • Regular QuantumATK user
  • **
  • Posts: 9
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Band structure
« Reply #4 on: July 11, 2018, 15:31 »
I seem to understand. Thank you for your help sincerely! :D

Offline Summer

  • Regular QuantumATK user
  • **
  • Posts: 9
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Band structure
« Reply #5 on: July 11, 2018, 16:01 »
Sorry, if I use the Bulk Tools--Supercell to create a supercell, the lattice type of this supecell can only be unit cell? Moreover whether the Bulk Tools--Swap Axes can only use to swap the axes when the lattice type is unit cell? Can I swap the axes when the lattice type is hexagonal? Apologize again for my interruption!

Offline Petr Khomyakov

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1290
  • Country: dk
  • Reputation: 25
    • View Profile
Re: Band structure
« Reply #6 on: July 11, 2018, 16:21 »
Sorry, if I use the Bulk Tools--Supercell to create a supercell, the lattice type of this supecell can only be unit cell?
The lattice type will not change if the supercell created by repetitions is N x N x M for your particular hexagonal lattice type, at least.
« Last Edit: July 11, 2018, 16:34 by Petr Khomyakov »