Here we use CASTEP to calculate the bandstructure of two typical metals. The cell and param files are very similar to the semiconductor examples - the one difference is that we use a finer sampling of the Brillouin Zone with the keyword kpoint_mp_grid. A finer sampling is needed to correctly represent the change in occupancy at the Fermi energy.

 

We need 2 files

Al-bands.cell

! Al.cell
%BLOCK LATTICE_ABC
2.86 2.86 2.86
60 60 60
%ENDBLOCK LATTICE_ABC

%BLOCK POSITIONS_ABS
Al 0 0 0
%ENDBLOCK POSITIONS_ABS

kpoint_mp_grid 12 12 12

%block spectral_kpoint_path
0.5 0.25 0.75 ! W
0.5 0.5 0.5 ! L
0.0 0.0 0.0 ! Gamma
0.5 0.0 0.5 ! X
0.5 0.25 0.75 ! W
0.375 0.375 0.75 ! K
%endblock spectral_kpoint_path

symmetry_generate


Al-bands.param

! Al.param
task spectral ! The TASK keyword instructs CASTEP what to do
spectral_task bandstructure !
xc_functional LDA ! Which exchange-correlation functional to use.
cut_off_energy 500 eV !
opt_strategy speed ! Choose algorithms for best speed

Note

There are 2 ways to use the pseudopotentials:

- Using an external pseudopotential with extention .usp

- Using an internal pseudopotential created by the code during the execution according to type mentioned  in the param file which we will do it in this tutorial.


Execution

For serial calculation

/Al-bands$ castep.serial Al-bands

For parallel calculation

/Al-bands$ mpirun -np 4 castep.mpi Al-bands

 

Plotting

/Al-bands$ dispersion.pl -sym fcc -xg Al-bands.bands

 

We will get the following picture

 

 

 

Note

Aluminium is a metal - there is no gap energy between the occupied and unoccupied states. The bands are close to parabolic (this is particularly noticeable around Gamma) - the electronic structure of aluminium closely follows a nearly-free electron model.

Reference: https://castep-docs.github.io/castep-docs/tutorials/Bands_and_DOS/metals/