next up previous contents
Next: DOS and Q-DOS Up: kkrmanualMar02 Previous: 2D-Slabs   Contents

Semiinfinite hosts - Decimation method

Decimation is a way to simulate semiinfinite bulk systems. A detailed description of the method and references on the numerical implementation are given in K. Wildberger PhD Thesis (1997) Julich Report-3463 December 1997, ISSN 0944-2952.

Figure 1: Form of the Dyson equation, and the principal layer concept each 0 and 1 correspond to an LMMAX x LMMAX matrix (i.e. LMMAX=16 for l=3) The line demonstrates a simple way to find the size of the principal layers which is 5 in this example
=6in =6in
slab.eps

Here the technical implementation in the SKKR method will be given. First step is to calculate the ideal bulk system. We do this by making a bulk calculation but using a Bravais lattice matched in the 2d-geometry to be used later. In technical language we use the two surface Bravais vectors (zero z-component) and the third Bravais vector is the appropriate to produce the 3d-lattice. In this way the k-point construction is matched to the 2d geometry and less numerical problems occur. Examples about this you can find later.

After converging the bulk we use the option "deci-out" and perform one iteration to obtain the file decifile The file has the t-matrices for the specified energy-mesh and the electrostatic potential of the bulk.

The next step is to set up a 2d calculation and use the option DECIMATE in order to impose bulk on the two sides using the information stored previously on "decifile". Since the host t-matrices are read from the file "decifile" and are not stored in the program it is important to have 2 files (with different names), one for each side, this is somehow strange if you impose the same bulk on both sides so that the file "decifile" should be duplicated in a file with a different name. However it is more convenient to treat the two sides as independent.

Important point here is that the energy mesh you used in the bulk calculation to obtain the decifile should be the same in the 2D calculation. Have this in mind in case of DOS calculation, where a new decifile for energy contour without poles close to the real axis should be prepared first.

An example on how to continue the lattice outside your system is given below:

============ Example from the inputcard file =============
NRIGHTHO= 20 NLBASIS= 1
NLEFTHOS= 20 NRBASIS= 1

LEFTBASIS X Y Z NAEZ
0.50000000 0.50000000 -0.50000 1
RIGHBASIS
0.00000000 0.00000000 8.00000 1

-----------------------------
ZPERIODL= 0.50000000 0.50000000 -0.50000000
ZPERIODR= 0.50000000 0.50000000 0.50000000

==========================================================

LEFTBASIS : Corresponds to the left host it is a vector (x,y,z) and an index
ZPERIODL : Corresponds to the left host it is a vector (x,y,z)

The left infinite host lattice can now be constructed by the two vectors adding N*ZPERIODL to LEFTBASIS we should be able to get all the planes of the host that have the 2-d periodicity described by the Bravais vectors. The index in LEFTBASIS gives us the order we have written the different host atoms in the decifile. The maximum number N is NLEFTHOS, and NLBASIS gives the number of different atoms of the host.

NLEFTHOS gives us how many layers we should take into account for the left host this is used for the calculation of the electrostatic potential of the host. Since the host is charge neutral the electrostatic potential contribution converges fast because distant charge neutral complexes (in the case of hosts with more than one atom) give no electrostatic contribution.

The lattice constructed from the above information is also used in the construction of the TB- cluster (TB-structure constants) in the case of 2D geometry. So the information concerning how is the lattice expected to continue is important also for a slab calculation

The 'decifiles' are then input for the decimation calculation and should appear after the codeword


DECIMATION: 		 Used to input the filenames for the t-matrices inthe    decimation method 


two filenames are required as input


The rest of the inputcard for the half-space geometry calculation is exactly the same as for a slab except that we use the running options DECIMATE or DECIMATEONEBULK to do this calculation. Even when we use the option DECIMATEONEBULK that means that the right and left semi-infinite host are the same we should give two different file names. Otherwise if the two host are different the first name refers to the left host and the second name to the right host. Doing two different hosts on both sides is not implemented yet in the current version but this option works correctly for ferro-antiferro configurations.


next up previous contents
Next: DOS and Q-DOS Up: kkrmanualMar02 Previous: 2D-Slabs   Contents
Nikos Papanikolaou 2002-11-08