Fermi Surfaces with Siesta
Siesta is not really optimal for systems with small, highly-symmetric, unit cells, but it is still possible to use it to generate the copper Fermi surface shown in the other examples. A minimum c2x version of 2.34a is required below.
LatticeConstant 1.0 Ang %block LatticeVectors -1.766923 0.000000 1.766923 0.000000 1.766923 1.766923 -1.766923 1.766923 0.000000 %endblock LatticeVectors NumberOfAtoms 1 NumberOfSpecies 1 %block ChemicalSpeciesLabel 1 29 Cu %endblock ChemicalSpeciesLabel AtomicCoordinatesFormat Fractional %block AtomicCoordinatesAndAtomicSpecies 0.000000 0.000000 0.000000 1 %endblock AtomicCoordinatesAndAtomicSpecies %block kgrid_Monkhorst_Pack 9 0 0 0.000000 0 9 0 0.000000 0 0 9 0.000000 %endblock kgrid_Monkhorst_Pack
The above suffices for the self-consistent part of the calculation, and unfortunately Siesta does not reduce the kpoint grid by anything more than inversion symmetry, so the 9x9x9 grid results in rather a lot of kpoints.
For the finer grid used for the non self-consistent calculation, again Siesta does not support symmetry, but it is possible to ask it to calculate on a pre-symmetrised list of kpoints. This list can be generated with c2x, so, before running the above calculation, one can type:
$ c2x -M=45,45,45 --fdf_bp copper.fdf >> copper.fdf
This will append to
copper.fdf a section starting
# generated by c2x as a 45x45x45 grid, 2300 points after symmetrisation BandLinesScale ReciprocalLatticeVectors %block BandPoints 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.022222222
$ curl -O http://nninc.cnf.cornell.edu/psp_files/Cu.psf
Then Siesta can then be run as usual
$ siesta < copper.fdf > out.log
and c2x can then process the
.bands file (from 2.34a
it automatically detects whether a
.bands file is in
Castep or Siesta format):
$ c2x --bxsf siesta.bands siesta.bxsf $ xcrysden --bxsf siesta.bxsf &
Back to visualising Fermi surfaces.