Support for plotting individual bands. Specified using the
--plot-indexcommand line option. (@aj-searle)
Fixed high-symmetry points markers.
Fixed serialization issues.
Better handling of integer decimation factors.
Added function to trim band structure to within a energy cutoff.
Improved decimation options.
Publish IFermi on zenodo.
Saving interactive html plots is now possible using the plotly backend with:
ifermi plot --output filename.html.
Fixed interpolation of projections for 1D slices.
Fixed position of high-symmetry labels.
This version completely overhauls the Python API and command-line tools. The major changes are:
Support for projecting properties onto surface faces and isoline segments. The command-line utilities include support for group velocities and spin texture.
New tools for calculating Fermi surface dimensionality and orientation based on the connectivity across periodic boundary conditions.
New tools for calculating Fermi surface properties such as area and for averaging projections across the Fermi surface. This enables the calculation of Fermi velocities.
New visualisation tools for Fermi surfaces and slices with projections. Fermi surfaces can now be colored by the surface properties. Additionally, vector properties can be indicated with arrows. This allows for the visualisation of spin texture.
Command line changes:
IFermi now has a new command line interface. There are two subcommands:
ifermi info: for calculating Fermi surface properties and dimensionalities.
ifermi plot: for visualisation of Fermi surfaces and slices.
FermiSliceobjects now support projections.
Added many analysis functions to the
analysismodule containing algorithms for:
Calculating Fermi surface dimensionality and orientation.
Uniformly sampling isosurfaces and isolines.
Determining the connectivity of isosurfaces and isolines.
Interpolating and smoothing isolines.
FermiSliceclass and related functions moved to
Simplified interpolator and FermiSurface generation api.
Fixed bug where the Fermi surface was not exactly centered in reciprocal space.
Standardized plots for all plotting backends.
Added ability to change viewpoint in static plots.
Documentation overhaul, including new contributors page.
Added example jupyter notebook.
API updated to separate plotting and saving files. Allows composing multiple Fermi surfaces.
Surface decimation and smoothing (@mkhorton).
Fermi level is no longer adjusted from VASP value.
Bug fix for smoothing (@mdforti).
Fixed latex labels in plotly (@mdforti).
Better support for spin polarized materials.