# Fermi Surfaces

XCrysDen can plot Fermi
surfaces if presented with a `.bxsf`

file. From version
2.34, c2x can generate such files. An alternative visualisation
program, which can also read `.bxsf`

files, is
FermiSurfer. It is used
in the Quantum Espresso example below.

XCrysDen needs band eigenvalues on a regular grid across the whole unit cell, and the grid must include the origin. DFT codes generally use symmetry to reduce the number of kpoints at which they need to perform calculations, and so the main work of c2x is to take eigenvalues from a reduced set of kpoints and to use the symmetry operations to regenerate the full grid.

High quality Fermi surfaces need a fine grid, and thus many k-points. Arguably this is best achieved through sophisticated interpolation schemes, such as that used by Wannier90. However, there is still some utility in cruder approaches...

Most DFT codes can find the electronic groundstate using a (relatively) small number of kpoints, and then freeze the resulting charge density, and hence potential, and calculate eigenvalues more rapidly using this frozen potential.

- Fermi surfaces with Abinit
- Fermi surfaces with CASTEP
- Fermi surfaces with Elk
- Fermi surfaces with Quantum Espresso
- Fermi surfaces with Siesta
- Fermi surfaces with VASP

Note that c2x makes no attempt to re-order bands to take account of crossings. However, if one is considering the Fermi surface formed by all bands together, this is of no consequence at all.