Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Kaspar

Pages: [1]
1
I am trying to do a test of how large my unit cell has to be in the direction normal to the surface for the surfaces not to "see" each other when the periodic calculations are performed. In my calculations I also have a molecule some distance from the surface, so what I actually want to avoid is that the molecule sees the surface from the periodic image.

I got some (to me) curious results, which make me doubt my procedure.
I varied the normal direction vector (vector_c) between 20 and 38 A. When it is 20 A, there is only 2.35 A between the molecule and the periodic image, but when I am comparing the total energy of the system for different sizes of the unit cell, I get basically the same for all sizes of unit cell. I had expected a difference!
Is it possible that 2.35 A distance to the periodic image is far enough that they do not "see" each other?

The following is the output of the attached script. The last point did not converge in the standard 99 iterations, which is why the energy is different from the trend.

20 vector_c, energy = -26623.0088858
22 vector_c, energy = -26622.5073079
24 vector_c, energy = -26622.5012136
26 vector_c, energy = -26622.5004979
28 vector_c, energy = -26622.5001226
30 vector_c, energy = -26622.499761
32 vector_c, energy = -26622.4996665
34 vector_c, energy = -26622.4994036
36 vector_c, energy = -26622.499307
38 vector_c, energy = -26618.9210823

Did I misunderstand something about this type of convergence test or about how the calculation is actually performed?

Thank you for any comments.

2
Hi all,

I have done DOS and Transmission calculations on bulk Si in different directions (100) and (110). The results show that Si has a transmission gap and DOS gap for (110) as expected (though only 0.7 eV, even though I am using MGGA functional ??), but for (100) there is no transmission gap even though there is a DOS gap.
How can I have finite transmission for bulk Si for energies around the Fermi level?

3
Hi all,
I have a question regarding some transmission+DOS calculations I have done on a couple of different structures.

First, I am working with a Cu/Si interface. Deep inside the Si, there should naturally be a band gap. As far as my intuition goes, that should create a transmission gap in the whole structure because states in that energy range in the Cu cannot propagate once they reach the Si, correct?
The transmission gap is significantly smaller than the bulk Si band gap, but I guess that it is because of the systematic error with DFT calculations and band gaps.

Nevertheless I see a finite DOS for all energies. I am guessing that this is because of induced states from the Cu (metal induced gap states) that reach several atomic layers into the Si part. So the DOS is calculated by adding up all states in the whole structure for each energy, but because there is bulk Si in the structure, some states will not propagate because of the band gap. Any thoughts?

Now a more serious problem. I also calculate transmission+DOS for Bulk Si along different directions.
I do see a band gap, but no transmission gap ! How can that be possible? I can see how some states would not conduct, but not how I can have transmission without states. Especially for bulk Si where there should definitely be a band gap and transmission gap?

Thanks for any thoughts!

4
I have read the post about using 25, 50 or even 100 k-points in the z-direction when doing transmission and DOS calculations on devices.
But what about when doing calculations on a bulk structure?

I am calculating DOS and Transmission on Si for different surfaces (100, 110, and 111) for simple unit cells.
I want to compare this with the DOS and transmission for a block of silicon with one dopant in (Eg. 100 Si atoms with one B or P atom)

I have done a convergence test on a bulk Si unit cell which showed that 8,8,8 k-points was fine. Now since the unit cell of the cleaved structures is not cubic but eg. 3.8 x 3.8 x 5.3, I use 8x8x6 k-points. (please tell me if this is wrong)
For the block of Si with a dopant in, the dimensions are 7.7 x 7.7 x 27, so I believe that I could use 4x4x2 and have same resolution.
(By mistake I actually used 8x8x6 also for the block calculations, but I don't think results could be wrong, right? I showed convergence already at 8x8x8 for the unit cell and this is higher resolution)

The question is that, the DOS plot for the undoped unit cell, cleaved in any surface orientation, looks way less detailed, and the band gap is severely off ( ~ 0.7 eV band gap) even though I use MGGA. There are some peaks spaced 1.3 eV apart around Ef, which makes me  believe that they are the real band edges.
Do I need 25 - 100 k-points in the c ( or z ) direction also for bulk/unit cell calculations?

5
Hi all,

Because I use gnuplot to plot my DOS and transmission plots, I use the log file to access these quantities automatically with a bash script. I therefore almost never use the VNL plotting tool where the .nc file is used. Just now, however, I noticed that the DOS plotted by the VNL plotter is exactly twice the values reported in the log file. The shape is exactly the same, only all values are twice as high plotted from the .nc file.

Is this well known? If so, what is the reason, and which one is right?

6
Hi all,

I was wondering if someone could tell me what the default exchange_correlation is? When I look at this page http://www.quantumwise.com/documents/manuals/latest/ReferenceManual/index.html/ref.exchangecorrelation.html is looks like an XC must be specified, but I noticed (by coincidence!) that in some of my scripts, no exchange_correlation is explicitly set in the .py script.

When I go to the Scripter, I can see that LDA is the one that is selected by default, and if I change that to eg. MGGA, then the appropriate line shows up in the .py script. Does this mean that LDA is the default XC when nothing is specified ?

Thank you for any thoughts.

7
Hi all,

I am having a strange problem with a series of calculations I am doing.
I have a couple of different systems for which I only vary a few things in the geometry between each simulation. I have not had any problems, but suddenly this one simulation freezes just after the message (in the log file)
Code
 Left Electrode Calculation [Started .... 2013] 

I have looked very carefully and compared with it's "sister" calculations but I can see nothing that should cause this. The geometry is essentially identical (except for the variations that I am investigating in the first place) and all the calculators are set up identically. But I guess it doesn't even make it to the calculator part.
When I compare with the successful calculations, the next line in the log file should output
 
Code
Checkpoint Handler
Filename : ...... .nc
Interval : ... h
and then begin with calculating eigenvalues.

Also, it does not give any errors, it just stops there. I have tried to restart it with the same result.

I can supply the log file and .py script if necessary.
I am using 12.8.2, running in parallel on 8 nodes. But again, that too is the same for all the successfully running calculations.


Thank you for any suggestions/ideas

Best regards, Kaspar

8
Dear all,

I recently tried my luck with running parallel calculations. Taking up 2 full 8-core nodes with one process per node (as per suggested by Parallel Guide) I got a massive speed up from more than a week on my local computer to less than 8 hours !

Now my question is; it seems that the output files - both the log file and the .nc file - get twice the output written to them when running the calculation as I described. I have a hunch that output gets n-fold written for n processes? This is not a major problem, but a minor nuisance since the log file gets a bit more messy and the size of the .nc file, which is already sizeable, is increased.

Is there a way to avoid this or is it an inherent feature of parallel calculations?

Thank you all!
Kaspar

9
Dear Forum,

I am a little confused about how to properly use the nlread function.
I have done a major calculation on a quite big system (120 atoms) which took days on my computer :), but I would like to redo the DOS and transmission.
I got this example of how to load the "device configuration" from the .nc file that was saved to along the way

Code
device_configuration = nlread('file.nc', DeviceConfiguration)[-1]

I am not quite sure why the object type/name is DeviceConfiguration. Where can I see a list of suitable names usable for nlread?
I would expect it to be 'device_configuration' since that is how it got saved in the original script (the standard when doing the script out the the Script Generator), or otherwise 'Device Configuration' as shown in the the VNL window when clicking on my .nc file.
Otherwise, I can refer to the object handle eg. 'gID000', right?

Lastly I do not know what the [-1] means. I learned that nlread gets a list (array?) and so you need to specify the element that you want to use, but how can that be [-1] ? In the VNL window I have two objects, 'Device Configuration' and 'Density of States'  (the one I wish to redo). I would expect that the device configuration would be [ 0 ] and DOS would be [1]. Is this correct/wrong?

Thank you a lot!

Kaspar

Pages: [1]