Making a Fermi Surface for spin polarized Fe

This tutorial outlines the steps needed to generate a Fermi surface for Fe, using either the ASA program lm or the FP programs lmf.
The Fermi surface drawn on a 2D projection of the Brillouin zone, is a contour plot of the bands at the Fermi level.

This tutorial assumes ~/lm is the top-level directory for the Questaal repository, and that executables lm or lmf (and for plotting, the mcx calculator and fplot) are in your path.

Setup: self-consistent calculation for Fe

With the FP program lmf:
If you don’t want to build an input file from scratch, use one from the Questaal repository and make the density self-consistent:
cp ~/lm/fp/test/ctrl.fe .
lmfa fe -vnsp=2
lmf fe --rs=0 -vnsp=2

Alternatively, repeat the steps for LDA self-consistency (or for the stout-hearted, QSGW self-consistency) in the Fe tutorial; steps are summarized in Command summary.

With the ASA program lm:
Use the following test to obtain an input file and self-consistent density:
~/lm/testing/test.lm --quiet fe

Bands on a regular 2D mesh

Both lmf and lm can generate energy bands in a mesh mode for generating contour plots, i.e. bands on a regular mesh of q points in 2D.

Pick up a q-points file appropriate for Fe from the Questaal repository:

$ cp ~/lm/fp/test/fs.fe .

fs.fe has this structure (see here for syntax):

# vx range n vy range n height band
.5 .5 0 0 1 35 0 0 1 0 1 51 0.00 2:6

Fe is magnetic and bands 2,3,4,5,6 cross the Fermi surface (either majority or minority), so bands 2..6 will be generated. This file is set up to generate mesh of points for bands 2..6 in the rectangle defined by Γ=(0,0,0) in the lower left corner, H=(0,0,1)2π/a at the upper left corner, N=(1/2,1/2,0)2π/a at the lower right corner, and N=(1/2,1/2,1)2π/a at the upper right corner.

Do one of:

 $ lmf fe --band~con~fn=fs
 $ lm  fe --iactiv=no --band~con~fn=fs

Drawing the Fermi surface

To plot the Fermi surface you will need graphics software. This tutorial uses Questaal’s fplot utility, in the contour plotting mode.

bnds.fe consists of 10 blocks of bands, each block on a 2D grid of 35×51 points. Split this file into 10 separate files. Name the first five (down spin) 2d, 3d, 4d, 5d, 6d, and the last five 2u, 3u, 4u, 5u, 6u,

If you have the mcx calculator calculatoryour path, do this with the following command:

   set rf = "-r:open bnds.fe"  (tcsh)
   rf="-r:open bnds.fe"        (bash)
   mcx $rf -w 2d $rf -w 3d $rf -w 4d $rf -w 5d $rf -w 6d $rf -w 2u $rf -w 3u $rf -w 4u $rf -w 5u $rf -w 6u

We will use the fplot utility to draw the Fermi surface Copy the box below into file plot.fs

% var ef=-0.006678 # (or whatever the fermi level is output from your band calculation)
fplot -frme 0,1/sqrt(2),0,1  -x 0,1/sqrt(2) -y 0,1 -tmx .1

  -lt 1,col=0,.1,1 -con {ef} 2u
  -lt 1,col=0,.3,1 -con {ef} 3u
  -lt 1,col=0,.5,1 -con {ef} 4u
  -lt 1,col=0,.7,1 -con {ef} 5u
  -lt 1,col=0,.9,1 -con {ef} 6u

  -lt 2,col=0,.1,1 -con {ef} 2d
  -lt 2,col=0,.3,1 -con {ef} 3d
  -lt 2,col=0,.5,1 -con {ef} 4d
  -lt 2,col=0,.7,1 -con {ef} 5d
  -lt 2,col=0,.9,1 -con {ef} 6d

Generate a postscript file using

fplot -f plot.fs

The postscript file should look like the picture shown below. Compare, e.g. to this paper by Coleman et al: Phys. Rev. B23, 2491 (1981).

Click here to see the image.

Edit This Page