fermisurfaces/IFermi

Query

Closed this issue · 2 comments

Is there a way to view/display Fermi surface in repeated reciprocal unit cell? I have hexagonal Billion zone and have a very tiny iso-energy surface (tiny pocket) at H point (one of the corner of the BZ). Viewing it on one BZ does not show how the full pocket looks like. Was wondering if you have command lines or something I can change in my source files to achieve this.

Thank you and best regards

utf commented

Hi @krmtenzin, there is a new feature in the version of IFermi on GitHub (will be released onto PyPi soon). You can now plot extended surfaces, although currently the additional Brillouin zone edges won't be displayed. See the following code. Specifically, the trim_to_first_bz option:

from pymatgen.io.vasp.outputs import Vasprun
from ifermi.surface import FermiSurface
from ifermi.interpolate import FourierInterpolator
from ifermi.plot import FermiSurfacePlotter, show_plot

# load VASP calculation outputs
vr = Vasprun("vasprun.xml")
bs = vr.get_band_structure()

interpolator = FourierInterpolator(bs)
dense_bs = interpolator.interpolate_bands()

fs = FermiSurface.from_band_structure(
    dense_bs,
    mu=-1.2,
    wigner_seitz=True,
    trim_to_first_bz=False,
)
fs_plotter = FermiSurfacePlotter(fs)
plot = fs_plotter.get_plot()
show_plot(plot)