Si bandstructure issues

Hi all! This is my first post on matsci.org, so my apologies if I’m missing anything.

I recently set up Atomate, and I’m running a bandstructure workflow with Si to test my configuration. Here’s the script I’m using to add the workflow:

from pymatgen.core import Structure
from fireworks import LaunchPad
from atomate.vasp.workflows.presets.core import wf_bandstructure

struct = Structure.from_file(*path to Si POSCAR*)
wf = wf_bandstructure(struct)
lpad = LaunchPad.auto_load()
lpad.add_wf(wf)

This seems to run without error. Lattice parameters are reasonable, energy looks well converged, though I am getting higher stresses in the nscf line calculation (50 kbar diagonal, 10 kbar off-diagonal).

The band gap roughly matches the Materials Project value (0.62 vs. 0.61 eV), but my band structure does not resemble the Si bandstructure (mine has direct band gap, X point very different shape).

I’m plotting the bandstructure using this script, provided in the atomate tutorial:

from atomate.vasp.database import VaspCalcDb
from pymatgen.electronic_structure.plotter import DosPlotter, BSPlotter

atomate_db = VaspCalcDb.from_db_file(*PATH_TO_MY_DB_JSON*)

line_bs_entry = atomate_db.collection.find_one({'task_id':17})
bandstructure = atomate_db.get_band_structure(line_bs_entry['task_id'])
bs_plotter = BSPlotter(bandstructure)
bs_plotter.get_plot()

Any ideas why this might be happening? Thank you :]

Hi @KatNykiel,

Welcome! No apologies needed, there’s a lot to learn.

My first guess – is your structure in its primitive setting?

Ideally, to calculate a band structure you would first use SpacegroupAnalyzer like so:

from pymatgen.symmetry.analyzer import SpacegroupAnalyzer
sga = SpacegroupAnalyzer(struct)
struct = sga.get_primitive_standard_structure()

This follows the convention of Setyawan and Curtarolo.

If you do not do this, you may have misleading labels, or band folding if you use a supercell – and this can make indirect transitions look direct.

Perhaps this is something else, but this was my first thought!

Hope this helps,

Matt

1 Like

Matt,

Thank you for your help! You were right, I wasn’t using the primitive unit cell. I re-submitted the workflow with SpacegroupAnalyzer and obtained a more reasonable bandstructure.

Thanks!

Kat

1 Like

Very glad to hear it! Good luck :slight_smile:

Hi, I am having a similar problem but I am using the FHI-aims package. The Si band structure looks direct instead of indirect when the conventional unit cell is used. However, it looks normal with the primitive unit cell. Can anyone help with this please?