Example: DOS and transmission: Aluminium¶
As an example of a non-self-consistent Green’s function calculation, we will look at the density of states (DOS) and transmission of an infinite 1D chain of Aluminum atoms.
The final resulting DOS and transmission are shown in the following figure:
As would be expected for a 1D system, the DOS shows Van Hove singularities at the band edges. Apart from oscillations due to the finite size of the system in ADF, the transmission only reaches integer values. Between approximately -0.35 and -0.15 Hartree, only the sigma channel contributes to the transmission. Above -0.15 Hartree also the two pi channels start to contribute.
#!/bin/sh
# As an example of a non-self-consistent Green's function calculation, we will
# look at the density of states (DOS) and transmission of an infinite 1D chain
# of Aluminum atoms.
# First we need to perform a single-point calculation with ADF on a principal
# layer, consisting, in this case, of four atoms. Since bulk Aluminum has an FCC
# structure with a lattice constant of 4.05 Angstrom, the nearest neighbor
# distance is approximately 2.83 Angstrom. green requires SYMMETRY NOSYM, so we
# have the following input file for the principal layer:
AMS_JOBNAME=layer $AMSBIN/ams <<eor
System
atoms
Al -4.290000 0.000000 0.000000
Al -1.430000 0.000000 0.000000
Al 1.430000 0.000000 0.000000
Al 4.290000 0.000000 0.000000
end
end
Task SinglePoint
Engine ADF
basis
core Large
type DZP
end
scf
converge 1.0e-8
end
symmetry NOSYM
title Principal layer
xc
lda SCF VWN
end
EndEngine
eor
# The bulk contact geometry consists of three principal layers:
AMS_JOBNAME=bulk $AMSBIN/ams <<eor
System
atoms
Al -15.730000 0.000000 0.000000 adf.f=left
Al -12.870000 0.000000 0.000000 adf.f=left
Al -10.010000 0.000000 0.000000 adf.f=left
Al -7.150000 0.000000 0.000000 adf.f=left
Al -4.290000 0.000000 0.000000 adf.f=center
Al -1.430000 0.000000 0.000000 adf.f=center
Al 1.430000 0.000000 0.000000 adf.f=center
Al 4.290000 0.000000 0.000000 adf.f=center
Al 7.150000 0.000000 0.000000 adf.f=right
Al 10.010000 0.000000 0.000000 adf.f=right
Al 12.870000 0.000000 0.000000 adf.f=right
Al 15.730000 0.000000 0.000000 adf.f=right
end
end
Task SinglePoint
Engine ADF
fragments
left layer.results/adf.rkf
center layer.results/adf.rkf
right layer.results/adf.rkf
end
scf
accelerationmethod LISTi
converge 1.0e-10
end
symmetry NOSYM
title Bulk
xc
lda SCF VWN
end
EndEngine
eor
# Notice that we have increased the number of SCF iterations. The combination of
# SYMMETRY NOSYM with a 1D chain of metal atoms generally leads to convergence
# problems. This is the main reason why the principal layer consists of only
# four atoms. Fortunately, for larger 3D contacts, the convergence is generally
# better.
# From the bulk TAPE21 file green can calculate the self-energies of the left
# and right contacts. As discussed in the introduction, the self-energy of the
# left contact needs the center and right fragments of the bulk calculation, and
# the self-energy of the right contact needs the center and left fragments.
# Since we need a self-energy matrix for every energy for which we want to
# calculate the DOS and transmission, already here we have to specify the energy
# range. We take 1000 points between -0.4 and 0 Hartree.
$AMSBIN/green <<eor
SURFACE bulk.results/adf.rkf
FRAGMENTS center right
END
EPS -0.4 0 1000
ETA 1e-6
eor
mv SURFACE left.kf
$AMSBIN/green <<eor
SURFACE bulk.results/adf.rkf
FRAGMENTS center left
END
EPS -0.4 0 1000
ETA 1e-6
eor
mv SURFACE right.kf
# Since we want to calculate the DOS and transmission of bare aluminum, we can
# reuse the bulk.t21 file for the extended molecule. We couple the left self-
# energy to the 'left' fragment and the right self-energy to the 'right'
# fragment in bulk.t21. Since we performed restricted ADF calculations, there is
# no difference between spin-A and spin-B and we can omit spin-B from the
# calculation.
$AMSBIN/green <<eor
DOS bulk.results/adf.rkf
TRANS bulk.results/adf.rkf
EPS -0.4 0 1000
ETA 1e-6
LEFT left.kf
FRAGMENT left
END
RIGHT right.kf
FRAGMENT right
END
NOSAVE DOS_B, TRANS_B
eor
# As would be expected for a 1D system, the DOS shows Van Hove singularities at
# the band edges. Apart from oscillations due to the finite size of the system
# in ADF, the transmission only reaches integer values. Between approximately
# -0.35 and -0.15 Hartree, only the sigma channel contributes to the
# transmission. Above -0.15 Hartree also the two pi channels start to
# contribute.
echo ""
echo "Contents of DOS_A:"
cat DOS_A
echo "END"
echo ""
echo "Contents of TRANS_A:"
cat TRANS_A
echo "END"