Monday, September 30, 2013

Generating PARCHG

Quick Description:  Partial charge density  is (mathematically) the squared eigenstate for a given k and eigenvalue. For a given band, this is essentially the same as the local density of states. In its final form, the PARCHG file will have units of electrons (charge density * the volume of the unit cell). Summing up the local density of states for the eigenvalues specified at the corresponding band will give the band-decomposed partial charge density. Visually, this allows you to see clouds (isosurfaces) of charge that fall into a specified energy range. If done correctly, the top view of this should be fairly similar (but sharper and cleaner) to what you view via STM.

(example of don't-remember-what-but-it-gives-you-an-idea)

The Point: You need this file to do simulated STS and STM.

Prerequisites: An optimized job with a preconverged WAVECAR. You will need to resubmit, and you may consider creating a new folder for this job using the new atomic coordinates (so change CONTCAR to POSCAR).

Notes: This is a very fast calculation, so the majority of your work has already been done. For more information, check here.

You'll need to add some more lines to your INCAR file, and in particular you care about setting the following lines (which you can just copy/paste into your file):
ISTART = 1
LWAVE=.FALSE.
LPARD=.TRUE.
LCHARG=.TRUE.
EINT=-1 0
NBMOD=-3 
Once you have set these, you're ready to submit a job as you normally would.

In the case shown above, the EINT setting specifies to include electrons who energies ranges from -1 V up to the Fermi energy. The negative sign indicates that you are looking at occupied states of the system (and for unoccupied, you would use a positive number). The NBMOD setting specifies that the Fermi energy is treated as being 0 in energy. These energies refer to the voltage bias that you would have been scanning at, and it is common to use a higher (in absolute magnitude) bias.  In this case, the presumption of the bias would be -1 V, a fairly common parameter, and so the treat the tip as sampling electrons in the range from -1 V to 0 V.

Alternatively, if you specifically want certain "bands", indexed the same way they are in the EIGENVAL file, you would use:
LPARD=.TRUE.  #calculate partial charge density
IBAND= 1 2 3 5 10 20    #indexes of bands to be included in partial charge density
For your specific case you would change EINT or IBAND according to what you need.  And, if you look at the manual link above, you'll see there are other variations as well.

A caveat from Jon: "Now, all that said... there is one additionally confusing thing which I think people generally ignore.  The energies that come out of DFT are the "Kohn-Sham energies" which don't necessarily match the real-life electron energies... though people have found you can re-scale them to match correctly.  We always ignore that (we don't rescale or anything... and without having more information there really isn't a way to do so) - so it's just an extra tidbit of knowledge that you can't really do anything about and it can just sit in the back of your mind and nag at you."

Friday, September 20, 2013

Simulated STM


Quick Description of STM: Scanning Tunneling Microscopy (STM) functions via quantum tunneling. When two conductive materials are brought very close to each other (within a few angstroms), applying a bias voltage between the two materials will allow electrons to tunnel through the vacuum space between them. This flow of electrons is referred to as tunneling current and is dependent on three factors: the vacuum distance, the applied voltage, and the local density of states (LDOS). Because tunneling current exhibits an exponential relationship with distance, the tunneling signal is dominated by the current between the two closest atoms between the materials and thus exhibits atomic-scale resolution. For reduced noise, it is thus ideal to have an atomically sharped tip that scans of the sample of interest. Depending on the bias (positive or negative), electrons will either tunnel from sample to tip or from tip to sample. Functionally, a feedback system is used such that tip-sample distance (measured as height along the z-axis)is readjusted during scanning (a raster over x- and y- axes) of the sample to produce a constant current. In this manner, the topography of the sample is measured, thus enabling atomic-scale imaging of the sample.

The Point: Simulated STM creates an atomic scale image based off of computer-based model system. Generally, we can use simulated STM as a test device for evaluating the accuracy of the model. Should the model reproduce characteristic features displayed in experimental images, we are provided with some level of confirmation for the understanding of our sample system.

Prerequisites: An optimized model with a PARCHG file.

Notes: Traditionally, our lab uses much of the Mathematica code developed by Jon. We can also use VESTA to simply open the PARCHG file. Finally, there is also a nice program called HIVE that I link to at the end.

Mathematica:
  1. Use the function chgData = ReadPARGHG[<filepath>] to read out the charge values 
  2. Display the simulated STM with iso = DispIsoSurf[chgData, .1, SphereScale -> .2]
    • adjust parameters as necessary
  3. Use additional options to make the image more viewable. e.g...
    • maxCell = cell[[1]] + cell[[2]] + cell[[3]];
    • Show[ iso, PlotRange -> {{0, maxCell[[1]]}, {0, maxCell[[2]]},(*z-range:*){Surf[atoms] + .25, Surf[atoms] + 4}}, ImageSize -> 800 ]
VESTA (notes provided by Mark Micklich):
  1. Open CHGCAR
  2. Utilities > 2D Data Display
  3. Press the "Slice" button and confirm "OK"
HIVE and HIVE tutorial (email Danny Vanpoucke for the program and manual):
"The HIVE-STM program is a small piece of software ...to generate STM images based on ... DFT-calculations. Starting from ab-initio VASP calculations, it uses the resulting output to allow the simulation of an STM experiment on your simulated model."


Tips and Tricks: Calculations find that the STM tip must preferably lie ~0.92-2 A away from the surface to image small features such as point defects. According to my random survey of scientists, it's normally about 4-7 A away from the surface where you get the best visualization. And in a scrap on information (from HIVE developer Danny Vanpoucke), you generally want the tip to stay within 15 A of the system. For more information on scanning conditions, you might check out here.